[FFmpeg-trac] #7526(undetermined:new): VAAPI HEVC Encoder Bitrate parameter no longer works in Master compared to 4.0.x

FFmpeg trac at avcodec.org
Wed Oct 31 22:55:43 EET 2018


#7526: VAAPI HEVC Encoder Bitrate parameter no longer works in Master compared to
4.0.x
-------------------------------------+-------------------------------------
             Reporter:  jlsantiago0  |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:  vaapi hevc   |               Resolution:
  encode rate control                |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by jlsantiago0):

 Notice that with 4.0.2 release build you can configure the bitrate and get
 different bitrate in the output. Granted the bitrate is higher than
 requested. Asking for 2Mbps achieves approx 3.2Mbps and asking for 4Mbps
 achieves approx 5.5Mbps

 {{{

 >    -vaapi_device /dev/dri/renderD128 \
 >    -i
 /mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m
 \
 >    -vf 'format=nv12,hwupload' -c:v hevc_vaapi -b:v 2M -g 30 -bf 2 test-
 vaapi-2m.hevc
 ffmpeg version n4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
   built with gcc 8.2.1 (GCC) 20180831
   configuration: --prefix=/usr --disable-debug --disable-static --disable-
 stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
 --enable-ladspa --enable-libaom --enable-libass --enable-libbluray
 --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm
 --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-
 libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
 libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-
 libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-
 libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
 libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid
 --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-
 version3
   libavutil      56. 14.100 / 56. 14.100
   libavcodec     58. 18.100 / 58. 18.100
   libavformat    58. 12.100 / 58. 12.100
   libavdevice    58.  3.100 / 58.  3.100
   libavfilter     7. 16.100 /  7. 16.100
   libswscale      5.  1.100 /  5.  1.100
   libswresample   3.  1.100 /  3.  1.100
   libpostproc    55.  1.100 / 55.  1.100
 Input #0, yuv4mpegpipe, from
 '/mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m':
   Duration: 00:00:20.00, start: 0.000000, bitrate: 1244162 kb/s
     Stream #0:0: Video: rawvideo (I420 / 0x30323449),
 yuv420p(progressive), 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (hevc_vaapi))
 Press [q] to stop, [?] for help
 Output #0, hevc, to 'test-vaapi-2m.hevc':
   Metadata:
     encoder         : Lavf58.12.100
     Stream #0:0: Video: hevc (hevc_vaapi) (Main), vaapi_vld, 1920x1080,
 q=2-31, 2000 kb/s, 50 fps, 50 tbn, 50 tbc
     Metadata:
       encoder         : Lavc58.18.100 hevc_vaapi
 frame=   44 fps=0.0 q=-0.0 size=     256kB time=00:00:00.82
 bitrate=2557.5kbits
 frame=   87 fps= 86 q=-0.0 size=     512kB time=00:00:01.68
 bitrate=2496.6kbits
 frame=  128 fps= 85 q=-0.0 size=     768kB time=00:00:02.50
 bitrate=2516.6kbits
 frame=  172 fps= 85 q=-0.0 size=    1280kB time=00:00:03.38
 bitrate=3102.3kbits
 frame=  215 fps= 85 q=-0.0 size=    1536kB time=00:00:04.24
 bitrate=2967.7kbits
 frame=  256 fps= 84 q=-0.0 size=    1792kB time=00:00:05.06
 bitrate=2901.2kbits
 frame=  298 fps= 84 q=-0.0 size=    2304kB time=00:00:05.90
 bitrate=3199.0kbits
 frame=  341 fps= 84 q=-0.0 size=    2560kB time=00:00:06.76
 bitrate=3102.3kbits
 frame=  383 fps= 83 q=-0.0 size=    2816kB time=00:00:07.60
 bitrate=3035.4kbits
 frame=  428 fps= 84 q=-0.0 size=    3328kB time=00:00:08.50
 bitrate=3207.4kbits
 frame=  472 fps= 84 q=-0.0 size=    3584kB time=00:00:09.38
 bitrate=3130.1kbits
 frame=  511 fps= 83 q=-0.0 size=    3840kB time=00:00:10.16
 bitrate=3096.2kbits
 frame=  554 fps= 83 q=-0.0 size=    4352kB time=00:00:11.02
 bitrate=3235.2kbits
 frame=  597 fps= 84 q=-0.0 size=    4608kB time=00:00:11.88
 bitrate=3177.5kbits
 frame=  641 fps= 84 q=-0.0 size=    4864kB time=00:00:12.76
 bitrate=3122.7kbits
 frame=  686 fps= 84 q=-0.0 size=    5376kB time=00:00:13.66
 bitrate=3224.0kbits
 frame=  730 fps= 84 q=-0.0 size=    5888kB time=00:00:14.54
 bitrate=3317.4kbits
 frame=  773 fps= 84 q=-0.0 size=    6144kB time=00:00:15.40
 bitrate=3268.3kbits
 frame=  815 fps= 84 q=-0.0 size=    6400kB time=00:00:16.24
 bitrate=3228.4kbits
 frame=  860 fps= 84 q=-0.0 size=    6912kB time=00:00:17.14
 bitrate=3303.6kbits
 frame=  907 fps= 85 q=-0.0 size=    7168kB time=00:00:18.08
 bitrate=3247.8kbits
 frame=  929 fps= 83 q=-0.0 size=    7424kB time=00:00:18.52
 bitrate=3283.9kbits
 frame=  977 fps= 83 q=-0.0 size=    7680kB time=00:00:19.48
 bitrate=3229.7kbits
 frame= 1000 fps= 81 q=-0.0 Lsize=    8045kB time=00:00:19.98
 bitrate=3298.6kbits/s speed=1.62x
 video:8045kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.000000%



 [jsantiago at jlsserver2 ~/tt55/tt3]$ ffmpeg \
 >    -vaapi_device /dev/dri/renderD128 \
 >    -i
 /mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m
 \
 >    -vf 'format=nv12,hwupload' -c:v hevc_vaapi -b:v 4M -g 30 -bf 2 test-
 vaapi-4m.hevc
 ffmpeg version n4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
   built with gcc 8.2.1 (GCC) 20180831
   configuration: --prefix=/usr --disable-debug --disable-static --disable-
 stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
 --enable-ladspa --enable-libaom --enable-libass --enable-libbluray
 --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm
 --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-
 libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
 libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-
 libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-
 libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
 libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid
 --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-
 version3
   libavutil      56. 14.100 / 56. 14.100
   libavcodec     58. 18.100 / 58. 18.100
   libavformat    58. 12.100 / 58. 12.100
   libavdevice    58.  3.100 / 58.  3.100
   libavfilter     7. 16.100 /  7. 16.100
   libswscale      5.  1.100 /  5.  1.100
   libswresample   3.  1.100 /  3.  1.100
   libpostproc    55.  1.100 / 55.  1.100
 Input #0, yuv4mpegpipe, from
 '/mnt/share/content/yuv/lp/SVT_Park_joy_FR6001_7000_1920x1080p50.avi.yuv.y4m':
   Duration: 00:00:20.00, start: 0.000000, bitrate: 1244162 kb/s
     Stream #0:0: Video: rawvideo (I420 / 0x30323449),
 yuv420p(progressive), 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (hevc_vaapi))
 Press [q] to stop, [?] for help
 Output #0, hevc, to 'test-vaapi-4m.hevc':
   Metadata:
     encoder         : Lavf58.12.100
     Stream #0:0: Video: hevc (hevc_vaapi) (Main), vaapi_vld, 1920x1080,
 q=2-31, 4000 kb/s, 50 fps, 50 tbn, 50 tbc
     Metadata:
       encoder         : Lavc58.18.100 hevc_vaapi
 frame=   44 fps=0.0 q=-0.0 size=     512kB time=00:00:00.82
 bitrate=5115.0kbits
 frame=   86 fps= 83 q=-0.0 size=    1024kB time=00:00:01.66
 bitrate=5053.4kbits
 frame=  128 fps= 83 q=-0.0 size=    1792kB time=00:00:02.50
 bitrate=5872.0kbits
 frame=  170 fps= 83 q=-0.0 size=    2560kB time=00:00:03.34
 bitrate=6278.9kbits
 frame=  209 fps= 81 q=-0.0 size=    3072kB time=00:00:04.12
 bitrate=6108.2kbits
 frame=  251 fps= 81 q=-0.0 size=    3840kB time=00:00:04.96
 bitrate=6342.2kbits
 frame=  293 fps= 81 q=-0.0 size=    4608kB time=00:00:05.80
 bitrate=6508.4kbits
 frame=  332 fps= 81 q=-0.0 size=    5120kB time=00:00:06.58
 bitrate=6374.3kbits
 frame=  375 fps= 81 q=-0.0 size=    5888kB time=00:00:07.44
 bitrate=6483.1kbits
 frame=  418 fps= 82 q=-0.0 size=    6656kB time=00:00:08.30
 bitrate=6569.4kbits
 frame=  458 fps= 82 q=-0.0 size=    7168kB time=00:00:09.10
 bitrate=6452.8kbits
 frame=  500 fps= 82 q=-0.0 size=    7936kB time=00:00:09.94
 bitrate=6540.4kbits
 frame=  544 fps= 82 q=-0.0 size=    8704kB time=00:00:10.82
 bitrate=6589.9kbits
 frame=  583 fps= 82 q=-0.0 size=    9216kB time=00:00:11.60
 bitrate=6508.4kbits
 frame=  625 fps= 82 q=-0.0 size=    9728kB time=00:00:12.44
 bitrate=6406.1kbits
 frame=  668 fps= 82 q=-0.0 size=   10496kB time=00:00:13.30
 bitrate=6464.9kbits
 frame=  709 fps= 82 q=-0.0 size=   11264kB time=00:00:14.12
 bitrate=6535.0kbits
 frame=  749 fps= 82 q=-0.0 size=   11776kB time=00:00:14.92
 bitrate=6465.8kbits
 frame=  794 fps= 82 q=-0.0 size=   12544kB time=00:00:15.82
 bitrate=6495.6kbits
 frame=  836 fps= 82 q=-0.0 size=   13312kB time=00:00:16.66
 bitrate=6545.7kbits
 frame=  881 fps= 82 q=-0.0 size=   14080kB time=00:00:17.56
 bitrate=6568.5kbits
 frame=  926 fps= 82 q=-0.0 size=   14848kB time=00:00:18.46
 bitrate=6589.1kbits
 frame=  973 fps= 83 q=-0.0 size=   15616kB time=00:00:19.40
 bitrate=6594.1kbits
 frame= 1000 fps= 83 q=-0.0 Lsize=   16196kB time=00:00:19.98
 bitrate=6640.4kbits/s speed=1.66x
 video:16196kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.000000%



 [jsantiago at jlsserver2 ~/tt55/tt3]$ ls -la
 total 24252
 drwxr-xr-x 2 jsantiago users     4096 Oct 31 15:45 .
 drwxr-xr-x 6 jsantiago users     4096 Oct 31 15:42 ..
 -rw-r--r-- 1 jsantiago users  8238332 Oct 31 15:42 test-vaapi-2m.hevc
 -rw-r--r-- 1 jsantiago users 16584286 Oct 31 15:45 test-vaapi-4m.hevc

 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7526#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list