[FFmpeg-user] hevc 422/444 created with -preset ultrafast has height 1072 with 1080 input

Andy Furniss adf.lists at gmail.com
Thu Mar 3 14:08:40 CET 2016


Encoding 1920x1080 with libx265 1.9 8bit build.
I notice that with 422 or 444 encoding and preset ultrafast the
dimensions of video are changed as seen by ffmpeg 1080 -> 1072.

Initially I guesses min CU size 16 was involved as it's 8 with other
presets that don't have this issue, but then it's 16 with 420 and 420
does not have the issue either.

Tested other input and output containers with the same results.

Sample made with x264 binary, also same results.

ffmpeg/players will really output 1072

The reference decoder outputs 1080.

The file (looks crap due to default hevc crf of 28) -

https://drive.google.com/file/d/0BxP5-S1t9VEEaVJBVDQtTmxWVFU/view?usp=sharing


ffmpeg -i /mnt/ramdisk/raw-422.y4m -c:v libx265 -preset ultrafast 
/mnt/ramdisk/422-uf.hevc
ffmpeg version N-78859-g5afe918 Copyright (c) 2000-2016 the FFmpeg 
developers
   built with gcc 5.3.0 (GCC)
   configuration: --prefix=/usr --disable-doc --enable-gpl 
--enable-libzimg --enable-libvpx --enable-libx265 --enable-libmp3lame 
--enable-libx264
   libavutil      55. 19.100 / 55. 19.100
   libavcodec     57. 27.101 / 57. 27.101
   libavformat    57. 27.101 / 57. 27.101
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 38.100 /  6. 38.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
Input #0, yuv4mpegpipe, from '/mnt/ramdisk/raw-422.y4m':
   Duration: 00:00:10.00, start: 0.000000, bitrate: 1658882 kb/s
     Stream #0:0: Video: rawvideo (Y42B / 0x42323459), yuv422p, 
1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc
x265 [info]: HEVC encoder version 1.9
x265 [info]: build info [Linux][GCC 5.3.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT
x265 [info]: Main 4:2:2 10 profile, Level-4.1 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: frame threads / pool features       : 2 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 0.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=2 psy-rd=2.00 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing lslices=6 deblock
Output #0, hevc, to '/mnt/ramdisk/422-uf.hevc':
   Metadata:
     encoder         : Lavf57.27.101
     Stream #0:0: Video: hevc (libx265), yuv422p, 1920x1080, q=2-31, 50 
fps, 50 tbn, 50 tbc
     Metadata:
       encoder         : Lavc57.27.101 libx265
Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (libx265))
Press [q] to stop, [?] for help
frame=  500 fps= 11 q=-0.0 Lsize=    2610kB time=00:00:09.96 
bitrate=2146.8kbits/s speed=0.218x
video:2610kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: 0.000000%
x265 [info]: frame I:      2, Avg QP:32.86  kb/s: 30760.80
x265 [info]: frame P:    125, Avg QP:34.54  kb/s: 6941.91
x265 [info]: frame B:    373, Avg QP:37.67  kb/s: 370.70
x265 [info]: consecutive B-frames: 1.6% 0.8% 0.0% 97.6%

encoded 500 frames in 45.74s (10.93 fps), 2135.06 kb/s, Avg QP:36.86


ffmpeg -i /mnt/ramdisk/422-uf.hevc
ffmpeg version N-78859-g5afe918 Copyright (c) 2000-2016 the FFmpeg 
developers
   built with gcc 5.3.0 (GCC)
   configuration: --prefix=/usr --disable-doc --enable-gpl 
--enable-libzimg --enable-libvpx --enable-libx265 --enable-libmp3lame 
--enable-libx264
   libavutil      55. 19.100 / 55. 19.100
   libavcodec     57. 27.101 / 57. 27.101
   libavformat    57. 27.101 / 57. 27.101
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 38.100 /  6. 38.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
Input #0, hevc, from '/mnt/ramdisk/422-uf.hevc':
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: hevc (Rext), yuv422p(tv), 1920x1072, 50 fps, 50 
tbr, 1200k tbn, 50 tbc
At least one output file must be specified


More information about the ffmpeg-user mailing list