#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@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@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 _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://ffmpeg.org/mailman/listinfo/ffmpeg-trac