[x265] 2 pass ABR interlaced results in massively over rate second pass

Andy Furniss adf.lists at gmail.com
Fri Aug 7 18:03:37 CEST 2015


OK so interlaced is marked as experimental, but just in case it's not a
known issue here's the output from a 2 pass I tried via ffmpeg that
resulter in a very high bitrate second pass even though the x265 output
indicated it got the requested rate OK.

ffmpeg -i parkrun-fields.y4m -c:v libx265 -b:v 5M -preset veryslow 
-x265-params "interlace=tff:pass=1" hevc-interl-5M.mkv
ffmpeg version N-74118-g0b8b18b Copyright (c) 2000-2015 the FFmpeg 
developers
   built with gcc 4.9.2 (GCC)
   configuration: --prefix=/usr --disable-doc --enable-gpl 
--enable-nonfree --enable-opencl --enable-libvpx 
--enable-libschroedinger --enable-libx265 --enable-libdcadec 
--enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-x11grab
   libavutil      54. 29.100 / 54. 29.100
   libavcodec     56. 56.101 / 56. 56.101
   libavformat    56. 40.101 / 56. 40.101
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 30.100 /  5. 30.100
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  2.101 /  1.  2.101
   libpostproc    53.  3.100 / 53.  3.100
Input #0, yuv4mpegpipe, from 'parkrun-fields.y4m':
   Duration: 00:00:10.08, start: 0.000000, bitrate: 622082 kb/s
     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 
1920x540, SAR 1:1 DAR 32:9, 50 fps, 50 tbr, 50 tbn, 50 tbc
x265 [info]: HEVC encoder version 1.7+351-8efce8620ae2
x265 [info]: build info [Linux][GCC 4.9.2][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT
x265 [warning]: Support for interlaced video is experimental
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: frame threads / pool features       : 2 / wpp(9 rows)
x265 [info]: Interlaced field inputs             : tff
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 3 inter / 3 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 2 / 1
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 40
x265 [info]: Lookahead / bframes / badapt        : 40 / 8 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 1
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 64 / 1
x265 [info]: Rate Control / qCompress            : ABR-5000 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 rdoq=2 psy-rdoq=1.00 early-skip 
signhide
x265 [info]: tools: tmvp b-intra fast-intra strong-intra-smoothing 
deblock sao
x265 [info]: tools: stats-write
Output #0, matroska, to 'hevc-interl-5M.mkv':
   Metadata:
     encoder         : Lavf56.40.101
     Stream #0:0: Video: hevc (libx265), yuv420p, 1920x540 [SAR 1:1 DAR 
32:9], q=2-31, 5000 kb/s, 50 fps, 1k tbn, 50 tbc
     Metadata:
       encoder         : Lavc56.56.101 libx265
Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (libx265))
Press [q] to stop, [?] for help
frame=  504 fps=6.9 q=-0.0 Lsize=    5394kB time=00:00:10.04 
bitrate=4401.2kbits/s
video:5388kB audio:0kB subtitle:0kB other streams:0kB global headers:1kB 
muxing overhead: 0.106223%
x265 [info]: frame I:      4, Avg QP:30.03  kb/s: 20899.10
x265 [info]: frame P:     92, Avg QP:31.39  kb/s: 18126.49
x265 [info]: frame B:    408, Avg QP:37.84  kb/s: 1110.78
x265 [info]: Weighted P-Frames: Y:1.1% UV:1.1%
x265 [info]: Weighted B-Frames: Y:0.0% UV:0.0%
x265 [info]: consecutive B-frames: 5.2% 4.2% 1.0% 18.7% 12.5% 43.7% 8.3% 
6.2% 0.0%

encoded 504 frames in 73.04s (6.90 fps), 4373.88 kb/s, Avg QP:36.60





ffmpeg -i parkrun-fields.y4m -c:v libx265 -b:v 5M -preset veryslow 
-x265-params "interlace=tff:pass=2" hevc-interl-5M.mkv
ffmpeg version N-74118-g0b8b18b Copyright (c) 2000-2015 the FFmpeg 
developers
   built with gcc 4.9.2 (GCC)
   configuration: --prefix=/usr --disable-doc --enable-gpl 
--enable-nonfree --enable-opencl --enable-libvpx 
--enable-libschroedinger --enable-libx265 --enable-libdcadec 
--enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-x11grab
   libavutil      54. 29.100 / 54. 29.100
   libavcodec     56. 56.101 / 56. 56.101
   libavformat    56. 40.101 / 56. 40.101
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 30.100 /  5. 30.100
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  2.101 /  1.  2.101
   libpostproc    53.  3.100 / 53.  3.100
Input #0, yuv4mpegpipe, from 'parkrun-fields.y4m':
   Duration: 00:00:10.08, start: 0.000000, bitrate: 622082 kb/s
     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 
1920x540, SAR 1:1 DAR 32:9, 50 fps, 50 tbr, 50 tbn, 50 tbc
File 'hevc-interl-5M.mkv' already exists. Overwrite ? [y/N] y
x265 [info]: HEVC encoder version 1.7+351-8efce8620ae2
x265 [info]: build info [Linux][GCC 4.9.2][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT
x265 [warning]: Support for interlaced video is experimental
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: frame threads / pool features       : 2 / wpp(9 rows)
x265 [info]: Interlaced field inputs             : tff
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 3 inter / 3 intra
x265 [info]: ME / range / subpel / merge         : star / 57 / 4 / 4
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 40
x265 [info]: Lookahead / bframes / badapt        : 40 / 8 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 1
x265 [info]: References / ref-limit  cu / depth  : 5 / 0 / 0
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 64 / 1
x265 [info]: Rate Control / qCompress            : ABR-5000 kbps / 0.60
x265 [info]: tools: rect amp rd=6 psy-rd=0.30 rdoq=2 psy-rdoq=1.00 signhide
x265 [info]: tools: tmvp b-intra strong-intra-smoothing deblock sao 
stats-read
Output #0, matroska, to 'hevc-interl-5M.mkv':
   Metadata:
     encoder         : Lavf56.40.101
     Stream #0:0: Video: hevc (libx265), yuv420p, 1920x540 [SAR 1:1 DAR 
32:9], q=2-31, 5000 kb/s, 50 fps, 1k tbn, 50 tbc
     Metadata:
       encoder         : Lavc56.56.101 libx265
Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (libx265))
Press [q] to stop, [?] for help
frame=  504 fps=0.1 q=-0.0 Lsize=  371231kB time=00:00:10.04 
bitrate=302901.1kbits/s
video:371224kB audio:0kB subtitle:0kB other streams:0kB global 
headers:1kB muxing overhead: 0.001938%
x265 [info]: frame I:      4, Avg QP:2.21  kb/s: 311488.70
x265 [info]: frame P:     92, Avg QP:0.33  kb/s: 365124.86
x265 [info]: frame B:    408, Avg QP:4.72  kb/s: 287287.62
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x265 [info]: Weighted B-Frames: Y:0.5% UV:0.2%
x265 [info]: consecutive B-frames: 5.2% 4.2% 1.0% 18.7% 12.5% 43.7% 8.3% 
6.2% 0.0%

encoded 504 frames in 6101.15s (0.08 fps), 301688.10 kb/s, Avg QP:3.90



More information about the x265-devel mailing list