[Libva] linux vaapi h.264 encoding haswell hd graphics 4600

Xiang, Haihao haihao.xiang at intel.com
Sun Mar 30 21:27:46 PDT 2014


>
> 
> So, It seems to be bug only with auto generated yuv.

Thanks a lot. We will look into the issue.

> I have did mistake, I need specify YV12
> 
> user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ h264encode -w 1920 -h 1080 --srcyuv /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv -framecount 14315 -f 24 -fourcc YV12 -o ./test.h264
> Source YUV file /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv with 14315 frames
> Source frame is 1920x1080 and will code clip to 1920x1088 with crop
> 
> 
> INPUT:Try to encode H264...
> INPUT: RateControl  : VBR
> INPUT: Resolution   : 1920x1080, 14315 frames
> INPUT: FrameRate    : 24
> INPUT: Bitrate      : 11943936
> INPUT: Slieces      : 1
> INPUT: IntraPeriod  : 30
> INPUT: IDRPeriod    : 60
> INPUT: IpPeriod     : 1
> INPUT: Initial QP   : 26
> INPUT: Min QP       : 0
> INPUT: Source YUV   : FILE:/media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv (fourcc YV12)
> INPUT: Coded Clip   : ./test.h264
> INPUT: Rec   Clip   : Not save reconstructed frame
> 
> 
> libva info: VA-API version 0.35.0
> libva info: va_getDriverName() returns 0
> libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> libva info: Found init function __vaDriverInit_0_35
> libva info: va_openDriver() returns 0
> Use profile VAProfileH264High
> Support rate control mode (0x12):CBR CQP 
> Support VAConfigAttribEncPackedHeaders
> Support packed sequence headers
> Support packed picture headers
> Support packed misc headers
> Support 1 RefPicList0 and 1 RefPicList1
>       -00014314(139799 bytes coded)
> 
> PERFORMANCE:   Frame Rate           : 64.07 fps (14315 frames, 223424 ms (15.61 ms per frame))
> PERFORMANCE:   Compression ratio    : 75:1
> PERFORMANCE:     UploadPicture      : 220689 ms (15.42, 98.78% percent)
> PERFORMANCE:     vaBeginPicture     : 11 ms (0.00, 0.00% percent)
> PERFORMANCE:     vaRenderHeader     : 53 ms (0.00, 0.02% percent)
> PERFORMANCE:     vaEndPicture       : 1682 ms (0.12, 0.75% percent)
> PERFORMANCE:     vaSyncSurface      : 1037 ms (0.07, 0.46% percent)
> PERFORMANCE:     SavePicture        : 1587 ms (0.11, 0.71% percent)
> PERFORMANCE:     Others             : -1635 ms (300032.53, 1922338.54% percent)
> (Multithread enabled, the timing is only for reference)
> 
> Screenshot - everything is good http://yadi.sk/d/Bi9bQjN9LMtXn
> 
> So, It seems to be bug only with auto generated yuv.
> 
> 28.03.2014, 13:52, "Nik Orlov" <nikitos1550 at yandex.ru>:
> > Here I have downloaded yuv420 1920x1080 raw video
> >
> > http://trace.eas.asu.edu/yuv/
> >
> > Big Buck Bunny - 14315 Frames - 24 fps
> >
> > And do some tests
> >
> > user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ./avcenc 1920 1080 /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv ./test.avcenc
> > libva info: VA-API version 0.35.0
> > libva info: va_getDriverName() returns 0
> > libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> > libva info: Found init function __vaDriverInit_0_35
> > libva info: va_openDriver() returns 0
> >  14316/14315 ...
> > done!
> > encode 14315 frames in 115.916801 secondes, FPS is 123.5
> >
> > user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ./avcenc 1920 1080 /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv ./test2.avcenc fb=1000000 mode=0
> > libva info: VA-API version 0.35.0
> > libva info: va_getDriverName() returns 0
> > libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> > libva info: Found init function __vaDriverInit_0_35
> > libva info: va_openDriver() returns 0
> >  52/14315 ...Unrepairable overflow!
> >  14316/14315 ...
> > done!
> > encode 14315 frames in 345.111206 secondes, FPS is 41.5
> >
> > user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ./avcenc 1920 1080 /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv ./test2.avcenc fb=1000000 mode=1
> > libva info: VA-API version 0.35.0
> > libva info: va_getDriverName() returns 0
> > libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> > libva info: Found init function __vaDriverInit_0_35
> > libva info: va_openDriver() returns 0
> >  39/14315 ...Unrepairable overflow!
> >  14316/14315 ...
> > done!
> > encode 14315 frames in 271.048706 secondes, FPS is 52.8
> >
> > user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ./avcenc 1920 1080 /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv ./test2.avcenc fb=1000000 mode=2
> > libva info: VA-API version 0.35.0
> > libva info: va_getDriverName() returns 0
> > libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> > libva info: Found init function __vaDriverInit_0_35
> > libva info: va_openDriver() returns 0
> >  20/14315 ...Unrepairable overflow!
> >  14318/14315 ...
> > done!
> > encode 14315 frames in 272.932495 secondes, FPS is 52.4
> >
> > Than I encoded it via h264encoder
> >
> > user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ h264encode -w 1920 -h 1080 --srcyuv /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv -framecount 14315 -f 24 -o ./test.h264
> > Source YUV file /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv with 14315 frames
> > Source frame is 1920x1080 and will code clip to 1920x1088 with crop
> >
> > INPUT:Try to encode H264...
> > INPUT: RateControl  : VBR
> > INPUT: Resolution   : 1920x1080, 14315 frames
> > INPUT: FrameRate    : 24
> > INPUT: Bitrate      : 11943936
> > INPUT: Slieces      : 1
> > INPUT: IntraPeriod  : 30
> > INPUT: IDRPeriod    : 60
> > INPUT: IpPeriod     : 1
> > INPUT: Initial QP   : 26
> > INPUT: Min QP       : 0
> > INPUT: Source YUV   : FILE:/media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv (fourcc NV12)
> > INPUT: Coded Clip   : ./test.h264
> > INPUT: Rec   Clip   : Not save reconstructed frame
> >
> > libva info: VA-API version 0.35.0
> > libva info: va_getDriverName() returns 0
> > libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> > libva info: Found init function __vaDriverInit_0_35
> > libva info: va_openDriver() returns 0
> > Use profile VAProfileH264High
> > Support rate control mode (0x12):CBR CQP
> > Support VAConfigAttribEncPackedHeaders
> > Support packed sequence headers
> > Support packed picture headers
> > Support packed misc headers
> > Support 1 RefPicList0 and 1 RefPicList1
> >       -00014314(147603 bytes coded)
> >
> > PERFORMANCE:   Frame Rate           : 62.07 fps (14315 frames, 230630 ms (16.11 ms per frame))
> > PERFORMANCE:   Compression ratio    : 59:1
> > PERFORMANCE:     UploadPicture      : 224767 ms (15.70, 97.46% percent)
> > PERFORMANCE:     vaBeginPicture     : 21 ms (0.00, 0.01% percent)
> > PERFORMANCE:     vaRenderHeader     : 67 ms (0.00, 0.03% percent)
> > PERFORMANCE:     vaEndPicture       : 2263 ms (0.16, 0.98% percent)
> > PERFORMANCE:     vaSyncSurface      : 4141 ms (0.29, 1.80% percent)
> > PERFORMANCE:     SavePicture        : 1692 ms (0.12, 0.73% percent)
> > PERFORMANCE:     Others             : -2321 ms (300032.48, 1862275.06% percent)
> > (Multithread enabled, the timing is only for reference)
> >
> > Try to see it with VLC. Some bugs, but not that I have getted with auto generated yuv, maybe I did something wrong?
> >
> > See bug screenshot http://yadi.sk/d/EDTI2RVgLMomM
> >
> > user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ffmpeg -f rawvideo -vcodec rawvideo -s 1920x1080 -r 24 -pix_fmt yuv420p -i /media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv ./test.mp4
> > ffmpeg version N-61874-g57e939d Copyright (c) 2000-2014 the FFmpeg developers
> >   built on Mar 27 2014 11:38:32 with gcc 4.8 (Ubuntu/Linaro 4.8.1-10ubuntu9)
> >   configuration: --enable-libx264 --enable-gpl
> >   libavutil      52. 69.100 / 52. 69.100
> >   libavcodec     55. 55.100 / 55. 55.100
> >   libavformat    55. 35.101 / 55. 35.101
> >   libavdevice    55. 11.100 / 55. 11.100
> >   libavfilter     4.  3.100 /  4.  3.100
> >   libswscale      2.  5.102 /  2.  5.102
> >   libswresample   0. 18.100 /  0. 18.100
> >   libpostproc    52.  3.100 / 52.  3.100
> > [rawvideo @ 0x37afa80] Estimating duration from bitrate, this may be inaccurate
> > Input #0, rawvideo, from '/media/user/d482a1e4-9a55-47ca-b307-72316011289a/home/user/BigBuckBunny_1920_1080_24fps.yuv':
> >   Duration: 00:09:56.46, start: 0.000000, bitrate: 597196 kb/s
> >     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, 597196 kb/s, 24 tbr, 24 tbn, 24 tbc
> > [libx264 @ 0x37b9ec0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
> > [libx264 @ 0x37b9ec0] profile High, level 4.0
> > [libx264 @ 0x37b9ec0] 264 - core 142 r2409 d6b4e63 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
> > Output #0, mp4, to './test.mp4':
> >   Metadata:
> >     encoder         : Lavf55.35.101
> >     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=-1--1, 12288 tbn, 24 tbc
> > Stream mapping:
> >   Stream #0:0 -> #0:0 (rawvideo -> libx264)
> > Press [q] to stop, [?] for help
> > frame=14315 fps= 47 q=-1.0 Lsize=  218487kB time=00:09:56.37 bitrate=3001.2kbits/s
> > video:218324kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.074732%
> > [libx264 @ 0x37b9ec0] frame I:153   Avg QP:18.20  size:201621
> > [libx264 @ 0x37b9ec0] frame P:5301  Avg QP:22.13  size: 27779
> > [libx264 @ 0x37b9ec0] frame B:8861  Avg QP:25.43  size:  5130
> > [libx264 @ 0x37b9ec0] consecutive B-frames: 10.6% 15.6% 15.1% 58.7%
> > [libx264 @ 0x37b9ec0] mb I  I16..4: 19.1% 63.3% 17.7%
> > [libx264 @ 0x37b9ec0] mb P  I16..4:  1.9%  6.7%  0.7%  P16..4: 27.6%  7.8%  5.3%  0.0%  0.0%    skip:50.0%
> > [libx264 @ 0x37b9ec0] mb B  I16..4:  0.2%  0.6%  0.1%  B16..8: 22.6%  1.5%  0.3%  direct: 0.8%  skip:73.9%  L0:40.7% L1:55.2% BI: 4.1%
> > [libx264 @ 0x37b9ec0] 8x8 transform intra:70.2% inter:74.1%
> > [libx264 @ 0x37b9ec0] coded y,uvDC,uvAC intra: 54.0% 59.5% 27.5% inter: 8.2% 8.6% 1.2%
> > [libx264 @ 0x37b9ec0] i16 v,h,dc,p: 25% 19%  4% 52%
> > [libx264 @ 0x37b9ec0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 13% 20%  5%  8% 12%  7%  7%  6%
> > [libx264 @ 0x37b9ec0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 14% 12%  6% 11% 12%  8%  7%  6%
> > [libx264 @ 0x37b9ec0] i8c dc,h,v,p: 53% 19% 17% 11%
> > [libx264 @ 0x37b9ec0] Weighted P-Frames: Y:4.9% UV:3.5%
> > [libx264 @ 0x37b9ec0] ref P L0: 60.9% 17.8% 14.8%  6.3%  0.1%
> > [libx264 @ 0x37b9ec0] ref B L0: 84.8% 13.4%  1.8%
> > [libx264 @ 0x37b9ec0] ref B L1: 94.7%  5.3%
> > [libx264 @ 0x37b9ec0] kb/s:2998.54
> >
> > Try to see it via VLC - everything is good
> > See good screenshot http://yadi.sk/d/1lSpqiFVLMoof
> >
> > 28.03.2014, 11:26, "Xiang, Haihao" <haihao.xiang at intel.com>:
> >
> >>  Can you reproduce this issue with --srcyuv and --fourcc ?
> >>
> >>  Thanks
> >>  Haihao
> >>>   user at video-ubuntu:~/Downloads$ vainfo
> >>>   libva info: VA-API version 0.35.0
> >>>   libva info: va_getDriverName() returns 0
> >>>   libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> >>>   libva info: Found init function __vaDriverInit_0_35
> >>>   libva info: va_openDriver() returns 0
> >>>   vainfo: VA-API version: 0.35 (libva 1.3.0)
> >>>   vainfo: Driver version: Intel i965 driver - 1.3.0
> >>>   vainfo: Supported profile and entrypoints
> >>>         VAProfileMPEG2Simple            : VAEntrypointVLD
> >>>         VAProfileMPEG2Simple            : VAEntrypointEncSlice
> >>>         VAProfileMPEG2Main              : VAEntrypointVLD
> >>>         VAProfileMPEG2Main              : VAEntrypointEncSlice
> >>>         VAProfileH264ConstrainedBaseline: VAEntrypointVLD
> >>>         VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
> >>>         VAProfileH264Main               : VAEntrypointVLD
> >>>         VAProfileH264Main               : VAEntrypointEncSlice
> >>>         VAProfileH264High               : VAEntrypointVLD
> >>>         VAProfileH264High               : VAEntrypointEncSlice
> >>>         VAProfileVC1Simple              : VAEntrypointVLD
> >>>         VAProfileVC1Main                : VAEntrypointVLD
> >>>         VAProfileVC1Advanced            : VAEntrypointVLD
> >>>         VAProfileNone                   : VAEntrypointVideoProc
> >>>         VAProfileJPEGBaseline           : VAEntrypointVLD
> >>>
> >>>   libva-1.3.0 and intel-libva-driver-1.3.0
> >>>
> >>>   28.03.2014, 11:01, "Zhao Yakui" <yakui.zhao at intel.com>:
> >>>>   On Fri, 2014-03-28 at 10:44 +0400, Nik Orlov wrote:
> >>>>>    Hello!
> >>>>>
> >>>>>    I have tested h264encoder with sync mode and without. Time is ok.
> >>>>>    But I have strange bug.
> >>>>>    I`m generating h264 bitstream output like this
> >>>>>    ./h264encode -w 3840 -h 1080 -framecount 2500 -f 25 -o ./test.h264
> >>>>>    I have generated different resolutions, from resolution 1024x768 I
> >>>>>    have such ugly picture.
> >>>>>    At the moment I don`t understand what is it about?
> >>>>   Which version of driver is used in your test?
> >>>>
> >>>>   It seems that it is not encoded as expected.
> >>>>
> >>>>   Will you please try to file a bug on https://bugs.freedesktop.org/ and
> >>>>   select the libva as component?
> >>>>
> >>>>   Thanks.
> >>>>       Yakui
> >>>>>    Screenshots:
> >>>>>    bug1920x1080.jpg     http://yadi.sk/d/ixGQfaKLLM7aU
> >>>>>    bug3840x1080           http://yadi.sk/d/fnZ1TXJSLM7ac
> >>>>>    bug3840x1080_2       http://yadi.sk/d/7NqWLkgLLM7ai
> >>>>>
> >>>>>    Any ideas?
> >>>>>
> >>>>>    27.03.2014, 21:32, "Yuan, Shengquan" <shengquan.yuan at intel.com>:
> >>>>>>    “Frame Rate: 0.06 fps (1 frames, 16500 ms (16500.00 ms per frame))”
> >>>>>>    in your test is calculated by “(total time of app execution)/(total
> >>>>>>    frame)”. “(total time of app execution)” includes app setup, source
> >>>>>>    YUV uploading, frame encoding, coded bitstream saving, app stop,
> >>>>>>    etc. If you only encode 1 frame, the majority time will be “source
> >>>>>>    YUV uploading”.
> >>>>>>
> >>>>>>    There is detailed break-down of the time in the output, but since
> >>>>>>    the application runs with two threads (one is source YUV uploading,
> >>>>>>    another thread is frame encoding), you are not able to get the
> >>>>>>    absolute time of a frame encoding.
> >>>>>>
> >>>>>>    Tips:
> >>>>>>          * If you want to know the accurate time of one frame encoding,
> >>>>>>            use option “-syncmode”, and check the time of
> >>>>>>            “vaBegin/vaRender/vaEnd/vaSyncSurface”
> >>>>>>          * If you want to get the end-to-end encoding fps number, try
> >>>>>>            to encoding thousand of frames with auto-generated YUV
> >>>>>>            source (without –srcyuv), e.g. “h264encode –n 7000”
> >>>>>>
> >>>>>>    Thanks
> >>>>>>    -Austin
> >>>>>>
> >>>>>>    From: Libva [mailto:libva-bounces at lists.freedesktop.org] On Behalf
> >>>>>>    Of Matt Pekar
> >>>>>>    Sent: Thursday, March 27, 2014 9:11 AM
> >>>>>>    To: Nik Orlov
> >>>>>>    Cc: libva at lists.freedesktop.org
> >>>>>>    Subject: Re: [Libva] linux vaapi h.264 encoding haswell hd graphics
> >>>>>>    4600
> >>>>>>
> >>>>>>    For that size of frame, 20ms is a pretty darn good time IMO.  We see
> >>>>>>    10ms (ish) on things in the 1280x720 range.
> >>>>>>
> >>>>>>    Since your input stream is only 25fps, the encoder will be able to
> >>>>>>    provide near real-time output, with just a 20ms delay before writing
> >>>>>>    each frame.
> >>>>>>
> >>>>>>    If you were trying to do 60fps then you wouldn't be able to do "real
> >>>>>>    time" at all since you'd be falling behind 5ms every frame.
> >>>>>>
> >>>>>>    On Thu, Mar 27, 2014 at 5:57 AM, Nik Orlov <nikitos1550 at yandex.ru>
> >>>>>>    wrote:
> >>>>>>    Hello!
> >>>>>>
> >>>>>>    I have ubuntu-desktop 13.10 amd64 on core i7 4770 (Haswell, HD
> >>>>>>    graphics 4600).
> >>>>>>    I have installed vaapi (libva from sources 1.3.0).
> >>>>>>
> >>>>>>    There is h264encode test. I have started it:
> >>>>>>
> >>>>>>    user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ./h264encode -w
> >>>>>>    3840 -h 1080 -framecount 1 -f 25
> >>>>>>    Source frame is 3840x1080 and will code clip to 3840x1088 with crop
> >>>>>>
> >>>>>>    INPUT:Try to encode H264...
> >>>>>>    INPUT: RateControl  : VBR
> >>>>>>    INPUT: Resolution   : 3840x1080, 1 frames
> >>>>>>    INPUT: FrameRate    : 25
> >>>>>>    INPUT: Bitrate      : 24883200
> >>>>>>    INPUT: Slieces      : 1
> >>>>>>    INPUT: IntraPeriod  : 30
> >>>>>>    INPUT: IDRPeriod    : 60
> >>>>>>    INPUT: IpPeriod     : 1
> >>>>>>    INPUT: Initial QP   : 26
> >>>>>>    INPUT: Min QP       : 0
> >>>>>>    INPUT: Source YUV   : AUTO generated
> >>>>>>    INPUT: Coded Clip   : /tmp/test.264
> >>>>>>    INPUT: Rec   Clip   : Not save reconstructed frame
> >>>>>>
> >>>>>>    libva info: VA-API version 0.35.0
> >>>>>>    libva info: va_getDriverName() returns 0
> >>>>>>    libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> >>>>>>    libva info: Found init function __vaDriverInit_0_35
> >>>>>>    libva info: va_openDriver() returns 0
> >>>>>>    Use profile VAProfileH264High
> >>>>>>    Support rate control mode (0x12):CBR CQP
> >>>>>>    Support VAConfigAttribEncPackedHeaders
> >>>>>>    Support packed sequence headers
> >>>>>>    Support packed picture headers
> >>>>>>    Support packed misc headers
> >>>>>>    Support 1 RefPicList0 and 1 RefPicList1
> >>>>>>    Loading data into surface 15.....Complete surface loading
> >>>>>>          |00000000(485835 bytes coded)
> >>>>>>
> >>>>>>    PERFORMANCE:   Frame Rate           : 0.06 fps (1 frames, 16500 ms
> >>>>>>    (16500.00 ms per frame))
> >>>>>>    PERFORMANCE:   Compression ratio    : 12:1
> >>>>>>    PERFORMANCE:     UploadPicture      : 16444 ms (16444.00, 99.66%
> >>>>>>    percent)
> >>>>>>    PERFORMANCE:     vaBeginPicture     : 0 ms (0.00, 0.00% percent)
> >>>>>>    PERFORMANCE:     vaRenderHeader     : 0 ms (0.00, 0.00% percent)
> >>>>>>    PERFORMANCE:     vaEndPicture       : 3 ms (3.00, 0.02% percent)
> >>>>>>    PERFORMANCE:     vaSyncSurface      : 32 ms (32.00, 0.19% percent)
> >>>>>>    PERFORMANCE:     SavePicture        : 0 ms (0.00, 0.00% percent)
> >>>>>>    PERFORMANCE:     Others             : 21 ms (21.00, 0.13% percent)
> >>>>>>    (Multithread enabled, the timing is only for reference)
> >>>>>>
> >>>>>>    And other way
> >>>>>>
> >>>>>>    user at video-ubuntu:~/VAAPI/libva-1.3.0/test/encode$ ./h264encode -w
> >>>>>>    3840 -h 1080 -framecount 2500 -f 25
> >>>>>>    Source frame is 3840x1080 and will code clip to 3840x1088 with crop
> >>>>>>
> >>>>>>    INPUT:Try to encode H264...
> >>>>>>    INPUT: RateControl  : VBR
> >>>>>>    INPUT: Resolution   : 3840x1080, 2500 frames
> >>>>>>    INPUT: FrameRate    : 25
> >>>>>>    INPUT: Bitrate      : 24883200
> >>>>>>    INPUT: Slieces      : 1
> >>>>>>    INPUT: IntraPeriod  : 30
> >>>>>>    INPUT: IDRPeriod    : 60
> >>>>>>    INPUT: IpPeriod     : 1
> >>>>>>    INPUT: Initial QP   : 26
> >>>>>>    INPUT: Min QP       : 0
> >>>>>>    INPUT: Source YUV   : AUTO generated
> >>>>>>    INPUT: Coded Clip   : /tmp/test.264
> >>>>>>    INPUT: Rec   Clip   : Not save reconstructed frame
> >>>>>>
> >>>>>>    libva info: VA-API version 0.35.0
> >>>>>>    libva info: va_getDriverName() returns 0
> >>>>>>    libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
> >>>>>>    libva info: Found init function __vaDriverInit_0_35
> >>>>>>    libva info: va_openDriver() returns 0
> >>>>>>    Use profile VAProfileH264High
> >>>>>>    Support rate control mode (0x12):CBR CQP
> >>>>>>    Support VAConfigAttribEncPackedHeaders
> >>>>>>    Support packed sequence headers
> >>>>>>    Support packed picture headers
> >>>>>>    Support packed misc headers
> >>>>>>    Support 1 RefPicList0 and 1 RefPicList1
> >>>>>>    Loading data into surface 15.....Complete surface loading
> >>>>>>          \00002499(719089 bytes coded)
> >>>>>>
> >>>>>>    PERFORMANCE:   Frame Rate           : 53.70 fps (2500 frames, 46555
> >>>>>>    ms (18.62 ms per frame))
> >>>>>>    PERFORMANCE:   Compression ratio    : 11:1
> >>>>>>    PERFORMANCE:     UploadPicture      : 16364 ms (6.55, 35.15%
> >>>>>>    percent)
> >>>>>>    PERFORMANCE:     vaBeginPicture     : 2 ms (0.00, 0.00% percent)
> >>>>>>    PERFORMANCE:     vaRenderHeader     : 18 ms (0.01, 0.04% percent)
> >>>>>>    PERFORMANCE:     vaEndPicture       : 1098 ms (0.44, 2.36% percent)
> >>>>>>    PERFORMANCE:     vaSyncSurface      : 21385 ms (8.55, 45.93%
> >>>>>>    percent)
> >>>>>>    PERFORMANCE:     SavePicture        : 8759 ms (3.50, 18.81% percent)
> >>>>>>    PERFORMANCE:     Others             : -1071 ms (1717986.49,
> >>>>>>    9225574.54% percent)
> >>>>>>    (Multithread enabled, the timing is only for reference)
> >>>>>>
> >>>>>>    So, when test encodes more frames time for encoding 1 frame is about
> >>>>>>    20ms.
> >>>>>>    Why it is so?
> >>>>>>
> >>>>>>    My primary question, if I want to encode video in real time (It
> >>>>>>    means camera sends me frame each 40ms), what time for encoding 1
> >>>>>>    frame I will get?
> >>>>>>    As I understand programm sends some data to GPU, GPU encodes video
> >>>>>>    and then send me encoded data back.
> >>>>>>    How much time takes sending data to GPU and back?
> >>>>>>
> >>>>>>    Maybe it will possible to encode each frame in real time, or maybe
> >>>>>>    it isn`t possible, but It is possible to keep some buffer (for
> >>>>>>    example for 25 frames - 1 sec of video) and than encode ot very
> >>>>>>    fast.
> >>>>>>
> >>>>>>    --
> >>>>>>    Ник Орлов mailto:nikitos1550 at yandex.ru
> >>>>>>    _______________________________________________
> >>>>>>    Libva mailing list
> >>>>>>    Libva at lists.freedesktop.org
> >>>>>>    http://lists.freedesktop.org/mailman/listinfo/libva
> >>>>>    --
> >>>>>    Ник Орлов
> >>>>>    mailto:nikitos1550 at yandex.ru
> >>>>>
> >>>>>    _______________________________________________
> >>>>>    Libva mailing list
> >>>>>    Libva at lists.freedesktop.org
> >>>>>    http://lists.freedesktop.org/mailman/listinfo/libva
> >
> > --
> > Ник Орлов mailto:nikitos1550 at yandex.ru
> > _______________________________________________
> > Libva mailing list
> > Libva at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/libva
> 




More information about the Libva mailing list