Opened 4 years ago

Last modified 23 months ago

#3307 reopened defect

-level AVoption does not set refs with libx264

Reported by: llogan Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: libx264
Cc: elliottbalsley@gmail.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I expect the -level libx264 AVoption to have the same behavior as --level in x264. One thing it should do is choose an appropriate number of reference frames for the specified level.

-level 3.0

$ ./ffmpeg -i fate-suite/h264/lossless.h264 -preset veryslow -level 3.0 fflevel.h264
ffmpeg version N-59860-g53e6977 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan 14 2014 20:17:56 with gcc 4.8.2 (GCC) 20131219 (prerelease)
  configuration: --enable-gpl --enable-libx264
  libavutil      52. 62.100 / 52. 62.100
  libavcodec     55. 48.101 / 55. 48.101
  libavformat    55. 23.103 / 55. 23.103
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  1.100 /  4.  1.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, h264, from 'fate-suite/h264/lossless.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 640x480, 60 fps, 60 tbr, 1200k tbn, 120 tbc
[libx264 @ 0x36a5760] DPB size (16 frames, 19200 mbs) > level limit (6 frames, 8100 mbs)
[libx264 @ 0x36a5760] MB rate (72000) > level limit (40500)
[libx264 @ 0x36a5760] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x36a5760] profile High, level 3.0
Output #0, h264, to 'fflevel.h264':
  Metadata:
    encoder         : Lavf55.23.103
    Stream #0:0: Video: h264 (libx264), yuv420p, 640x480, q=-1--1, 90k tbn, 60 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
Press [q] to stop, [?] for help
frame=   10 fps=0.0 q=-1.0 Lsize=      51kB time=00:00:00.13 bitrate=3130.6kbits/s    
video:51kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.000000%
[libx264 @ 0x36a5760] frame I:1     Avg QP:28.41  size: 37028
[libx264 @ 0x36a5760] frame P:2     Avg QP:32.95  size:  3322
[libx264 @ 0x36a5760] frame B:7     Avg QP:35.58  size:  1215
[libx264 @ 0x36a5760] consecutive B-frames: 10.0%  0.0%  0.0% 40.0% 50.0%  0.0%  0.0%  0.0%  0.0%
[libx264 @ 0x36a5760] mb I  I16..4:  7.0% 46.5% 46.5%
[libx264 @ 0x36a5760] mb P  I16..4:  0.2%  1.6%  0.5%  P16..4: 28.3%  9.2%  6.8%  0.6%  0.1%    skip:52.8%
[libx264 @ 0x36a5760] mb B  I16..4:  0.0%  0.2%  0.0%  B16..8: 29.0%  6.0%  1.4%  direct: 1.5%  skip:61.9%  L0:51.5% L1:44.8% BI: 3.7%
[libx264 @ 0x36a5760] 8x8 transform intra:48.1% inter:53.1%
[libx264 @ 0x36a5760] direct mvs  spatial:28.6% temporal:71.4%
[libx264 @ 0x36a5760] coded y,uvDC,uvAC intra: 84.0% 56.6% 37.9% inter: 5.0% 1.0% 0.2%
[libx264 @ 0x36a5760] i16 v,h,dc,p: 36% 37% 12% 16%
[libx264 @ 0x36a5760] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 12%  6% 10% 12% 11% 14% 10% 15%
[libx264 @ 0x36a5760] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20%  9%  4% 10% 11% 12% 10% 11% 13%
[libx264 @ 0x36a5760] i8c dc,h,v,p: 37% 29% 21% 13%
[libx264 @ 0x36a5760] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x36a5760] ref P L0: 69.1% 23.9%  4.6%  2.5%
[libx264 @ 0x36a5760] ref B L0: 86.7% 10.6%  2.5%  0.2%
[libx264 @ 0x36a5760] ref B L1: 89.7% 10.3%
[libx264 @ 0x36a5760] kb/s:2504.51

ref=16

$ strings fflevel.h264 | grep x264
x264 - core 140 r2377 1ca7bb9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 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=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

without -level 3.0

$ ./ffmpeg -i fate-suite/h264/lossless.h264 -preset veryslow ffnolevel.h264
ffmpeg version N-59860-g53e6977 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan 14 2014 20:17:56 with gcc 4.8.2 (GCC) 20131219 (prerelease)
  configuration: --enable-gpl --enable-libx264
  libavutil      52. 62.100 / 52. 62.100
  libavcodec     55. 48.101 / 55. 48.101
  libavformat    55. 23.103 / 55. 23.103
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  1.100 /  4.  1.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, h264, from 'fate-suite/h264/lossless.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 640x480, 60 fps, 60 tbr, 1200k tbn, 120 tbc
[libx264 @ 0x262a740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x262a740] profile High, level 3.2
Output #0, h264, to 'ffnolevel.h264':
  Metadata:
    encoder         : Lavf55.23.103
    Stream #0:0: Video: h264 (libx264), yuv420p, 640x480, q=-1--1, 90k tbn, 60 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
Press [q] to stop, [?] for help
frame=   10 fps=0.0 q=-1.0 Lsize=      51kB time=00:00:00.13 bitrate=3130.6kbits/s    
video:51kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.000000%
[libx264 @ 0x262a740] frame I:1     Avg QP:28.41  size: 37028
[libx264 @ 0x262a740] frame P:2     Avg QP:32.95  size:  3322
[libx264 @ 0x262a740] frame B:7     Avg QP:35.58  size:  1215
[libx264 @ 0x262a740] consecutive B-frames: 10.0%  0.0%  0.0% 40.0% 50.0%  0.0%  0.0%  0.0%  0.0%
[libx264 @ 0x262a740] mb I  I16..4:  7.0% 46.5% 46.5%
[libx264 @ 0x262a740] mb P  I16..4:  0.2%  1.6%  0.5%  P16..4: 28.3%  9.2%  6.8%  0.6%  0.1%    skip:52.8%
[libx264 @ 0x262a740] mb B  I16..4:  0.0%  0.2%  0.0%  B16..8: 29.0%  6.0%  1.4%  direct: 1.5%  skip:61.9%  L0:51.5% L1:44.8% BI: 3.7%
[libx264 @ 0x262a740] 8x8 transform intra:48.1% inter:53.1%
[libx264 @ 0x262a740] direct mvs  spatial:28.6% temporal:71.4%
[libx264 @ 0x262a740] coded y,uvDC,uvAC intra: 84.0% 56.6% 37.9% inter: 5.0% 1.0% 0.2%
[libx264 @ 0x262a740] i16 v,h,dc,p: 36% 37% 12% 16%
[libx264 @ 0x262a740] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 12%  6% 10% 12% 11% 14% 10% 15%
[libx264 @ 0x262a740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20%  9%  4% 10% 11% 12% 10% 11% 13%
[libx264 @ 0x262a740] i8c dc,h,v,p: 37% 29% 21% 13%
[libx264 @ 0x262a740] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x262a740] ref P L0: 69.1% 23.9%  4.6%  2.5%
[libx264 @ 0x262a740] ref B L0: 86.7% 10.6%  2.5%  0.2%
[libx264 @ 0x262a740] ref B L1: 89.7% 10.3%
[libx264 @ 0x262a740] kb/s:2504.51

ref=16

$ strings ffnolevel.h264 | grep x264
x264 - core 140 r2377 1ca7bb9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 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=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

--level 3.0

$ x264 --preset veryslow --level 3.0 -o x264level.h264 fate-suite/h264/lossless.h264 
lavf [info]: 640x480p 0:1 @ 60/1 fps (cfr)
x264 [warning]: MB rate (72000) > level limit (40500)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile High, level 3.0
x264 [info]: frame I:1     Avg QP:28.41  size: 37026                           
x264 [info]: frame P:2     Avg QP:32.95  size:  3322
x264 [info]: frame B:7     Avg QP:35.58  size:  1215
x264 [info]: consecutive B-frames: 10.0%  0.0%  0.0% 40.0% 50.0%  0.0%  0.0%  0.0%  0.0%
x264 [info]: mb I  I16..4:  7.0% 46.5% 46.5%
x264 [info]: mb P  I16..4:  0.2%  1.6%  0.5%  P16..4: 28.3%  9.2%  6.8%  0.6%  0.1%    skip:52.8%
x264 [info]: mb B  I16..4:  0.0%  0.2%  0.0%  B16..8: 29.0%  6.0%  1.4%  direct: 1.5%  skip:61.9%  L0:51.5% L1:44.8% BI: 3.7%
x264 [info]: 8x8 transform intra:48.1% inter:53.1%
x264 [info]: direct mvs  spatial:28.6% temporal:71.4%
x264 [info]: coded y,uvDC,uvAC intra: 84.0% 56.6% 37.9% inter: 5.0% 1.0% 0.2%
x264 [info]: i16 v,h,dc,p: 36% 37% 12% 16%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 12%  6% 10% 12% 11% 14% 10% 15%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20%  9%  4% 10% 11% 12% 10% 11% 13%
x264 [info]: i8c dc,h,v,p: 37% 29% 21% 13%
x264 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x264 [info]: ref P L0: 69.1% 23.9%  4.6%  2.5%
x264 [info]: ref B L0: 86.7% 10.6%  2.5%  0.2%
x264 [info]: ref B L1: 89.7% 10.3%
x264 [info]: kb/s:2504.26

encoded 10 frames, 38.61 fps, 2504.26 kb/s

ref=6

$ strings x264level.h264 | grep x264
x264 - core 140 r2377 1ca7bb9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=6 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 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=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

without --level 3.0

$ x264 --preset veryslow -o x264nolevel.h264 fate-suite/h264/lossless.h264 
lavf [info]: 640x480p 0:1 @ 60/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile High, level 3.2
x264 [info]: frame I:1     Avg QP:28.41  size: 37030                           
x264 [info]: frame P:2     Avg QP:32.95  size:  3322
x264 [info]: frame B:7     Avg QP:35.58  size:  1215
x264 [info]: consecutive B-frames: 10.0%  0.0%  0.0% 40.0% 50.0%  0.0%  0.0%  0.0%  0.0%
x264 [info]: mb I  I16..4:  7.0% 46.5% 46.5%
x264 [info]: mb P  I16..4:  0.2%  1.6%  0.5%  P16..4: 28.3%  9.2%  6.8%  0.6%  0.1%    skip:52.8%
x264 [info]: mb B  I16..4:  0.0%  0.2%  0.0%  B16..8: 29.0%  6.0%  1.4%  direct: 1.5%  skip:61.9%  L0:51.5% L1:44.8% BI: 3.7%
x264 [info]: 8x8 transform intra:48.1% inter:53.1%
x264 [info]: direct mvs  spatial:28.6% temporal:71.4%
x264 [info]: coded y,uvDC,uvAC intra: 84.0% 56.6% 37.9% inter: 5.0% 1.0% 0.2%
x264 [info]: i16 v,h,dc,p: 36% 37% 12% 16%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 12%  6% 10% 12% 11% 14% 10% 15%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20%  9%  4% 10% 11% 12% 10% 11% 13%
x264 [info]: i8c dc,h,v,p: 37% 29% 21% 13%
x264 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x264 [info]: ref P L0: 69.1% 23.9%  4.6%  2.5%
x264 [info]: ref B L0: 86.7% 10.6%  2.5%  0.2%
x264 [info]: ref B L1: 89.7% 10.3%
x264 [info]: kb/s:2504.59

ref=16

$ strings x264nolevel.h264 | grep x264
x264 - core 140 r2377 1ca7bb9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 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=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

Change History (3)

comment:1 Changed 4 years ago by michael

  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from new to closed

comment:2 Changed 23 months ago by spookybathtub

  • Cc elliottbalsley@gmail.com added
  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Version changed from git-master to 2.7.3

This problem, or one very similar, still exists. Using "-level 41" sets some x264 options, but not all. With "-level 4.1" it works correctly. The x264 binary accepts either and outputs the correct number of refs. For example, if I use -preset veryslow and -level 41, the reference frames should be limited to 4 (with 1080p video), but instead it uses ref=16.

$ ffmpeg -i A011C010_160111_R6QT.mov -an -vcodec libx264 -preset veryslow -level 41 -pix_fmt yuv420p level41.mp4
ffmpeg version 2.7.git Copyright (c) 2000-2015 the FFmpeg developers
  built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
  configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-indev=jack --disable-outdev=xv --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --enable-vda --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid --enable-nonfree --enable-libfdk-aac --enable-libfaac
  libavutil      54. 28.100 / 54. 28.100
  libavcodec     56. 49.101 / 56. 49.101
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 25.100 /  5. 25.100
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'A011C010_160111_R6QT.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2016-01-11 00:18:42
  Duration: 00:00:18.10, start: 0.000000, bitrate: 81260 kb/s
    Stream #0:0(und): Video: prores (apcs / 0x73637061), yuv422p10le(bt709), 1920x1080, 80106 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
    Metadata:
      creation_time   : 2016-01-11 00:18:42
      handler_name    : Core Media Data Handler
      encoder         : Apple ProRes 422 LT
      timecode        : 10:54:40:16
    Stream #0:1(und): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2016-01-11 00:18:42
      handler_name    : Core Media Data Handler
    Stream #0:2(und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2016-01-11 00:18:42
      handler_name    : Core Media Data Handler
      reel_name       : A011R6QT
      timecode        : 10:54:40:16
File 'level41.mp4' already exists. Overwrite ? [y/N] y
[libx264 @ 0x7fe098818c00] using SAR=1/1
[libx264 @ 0x7fe098818c00] DPB size (16 frames, 130560 mbs) > level limit (4 frames, 32768 mbs)
[libx264 @ 0x7fe098818c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x7fe098818c00] profile High, level 4.1
[libx264 @ 0x7fe098818c00] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=36 lookahead_threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=60 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 'level41.mp4':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    encoder         : Lavf56.40.101
    Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc (default)
    Metadata:
      creation_time   : 2016-01-11 00:18:42
      handler_name    : Core Media Data Handler
      timecode        : 10:54:40:16
      encoder         : Lavc56.49.101 libx264
Stream mapping:
  Stream #0:0 -> #0:0 (prores (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=  434 fps=6.0 q=-1.0 Lsize=    2637kB time=00:00:18.01 bitrate=1199.1kbits/s    
video:2633kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.183476%
[libx264 @ 0x7fe098818c00] frame I:2     Avg QP:21.52  size: 66387
[libx264 @ 0x7fe098818c00] frame P:74    Avg QP:23.18  size: 18996
[libx264 @ 0x7fe098818c00] frame B:358   Avg QP:25.98  size:  3231
[libx264 @ 0x7fe098818c00] consecutive B-frames:  0.5%  1.4%  0.0%  7.4% 16.1% 47.0% 11.3%  1.8% 14.5%
[libx264 @ 0x7fe098818c00] mb I  I16..4: 39.6% 49.5% 10.9%
[libx264 @ 0x7fe098818c00] mb P  I16..4:  1.6%  2.2%  0.3%  P16..4: 34.7%  6.0%  6.5%  0.1%  0.0%    skip:48.4%
[libx264 @ 0x7fe098818c00] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 29.1%  1.0%  0.2%  direct: 0.2%  skip:69.3%  L0:43.3% L1:55.7% BI: 1.0%
[libx264 @ 0x7fe098818c00] 8x8 transform intra:52.6% inter:71.9%
[libx264 @ 0x7fe098818c00] direct mvs  spatial:94.1% temporal:5.9%
[libx264 @ 0x7fe098818c00] coded y,uvDC,uvAC intra: 40.2% 30.1% 9.5% inter: 2.1% 1.2% 0.1%
[libx264 @ 0x7fe098818c00] i16 v,h,dc,p: 31% 29%  8% 31%
[libx264 @ 0x7fe098818c00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 11%  8%  8% 11% 13%  9% 12%  8%
[libx264 @ 0x7fe098818c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 10%  5%  8% 10% 14%  7% 11%  6%
[libx264 @ 0x7fe098818c00] i8c dc,h,v,p: 17% 41% 27% 15%
[libx264 @ 0x7fe098818c00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fe098818c00] ref P L0: 51.6% 11.7% 12.8%  4.3%  3.4%  2.8%  2.8%  1.3%  1.4%  1.2%  1.3%  1.0%  1.2%  1.0%  1.3%  0.8%
[libx264 @ 0x7fe098818c00] ref B L0: 73.0%  7.1%  3.8%  1.9%  1.6%  1.8%  1.6%  1.3%  1.2%  1.4%  1.2%  1.6%  1.4%  0.9%  0.3%
[libx264 @ 0x7fe098818c00] ref B L1: 91.9%  8.1%
[libx264 @ 0x7fe098818c00] kb/s:1191.09

comment:3 Changed 23 months ago by llogan

  • Component changed from undetermined to avcodec
  • Version changed from 2.7.3 to git-master

-level 4.1:

./ffmpeg -f lavfi -i testsrc=s=hd1080:d=1 -c:v libx264 -preset veryslow -level 4.1 level4.1.mp4
ffmpeg version N-77792-g5908638 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-libx264 --disable-doc
  libavutil      55. 13.100 / 55. 13.100
  libavcodec     57. 22.100 / 57. 22.100
  libavformat    57. 21.101 / 57. 21.101
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 23.100 /  6. 23.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, lavfi, from 'testsrc=s=hd1080:d=1':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x2b32500] using SAR=1/1
[libx264 @ 0x2b32500] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x2b32500] profile High 4:4:4 Predictive, level 4.1, 4:4:4 8-bit
[libx264 @ 0x2b32500] 264 - core 148 r2579 73ae2d1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=4 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 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 'level4.1.mp4':
  Metadata:
    encoder         : Lavf57.21.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.22.100 libx264
    Side data:
      unknown side data type 10 (24 bytes)
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=   20 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   25 fps= 12 q=-1.0 Lsize=      25kB time=00:00:00.92 bitrate= 225.0kbits/s speed=0.441x    
video:24kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.201071%
[libx264 @ 0x2b32500] frame I:1     Avg QP:12.19  size: 10131
[libx264 @ 0x2b32500] frame P:3     Avg QP:17.82  size:  1487
[libx264 @ 0x2b32500] frame B:21    Avg QP:13.76  size:   454
[libx264 @ 0x2b32500] consecutive B-frames:  4.0%  0.0%  0.0%  0.0%  0.0% 24.0%  0.0%  0.0% 72.0%
[libx264 @ 0x2b32500] mb I  I16..4: 59.8% 37.2%  2.9%
[libx264 @ 0x2b32500] mb P  I16..4:  3.1%  1.0%  0.1%  P16..4:  2.5%  0.2%  0.0%  0.0%  0.0%    skip:92.9%
[libx264 @ 0x2b32500] mb B  I16..4:  0.1%  0.2%  0.0%  B16..8:  4.5%  0.1%  0.0%  direct: 0.0%  skip:95.1%  L0:46.3% L1:45.3% BI: 8.4%
[libx264 @ 0x2b32500] 8x8 transform intra:37.1% inter:59.1%
[libx264 @ 0x2b32500] direct mvs  spatial:61.9% temporal:38.1%
[libx264 @ 0x2b32500] coded y,u,v intra: 1.9% 1.6% 1.6% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x2b32500] i16 v,h,dc,p: 90%  8%  1%  2%
[libx264 @ 0x2b32500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 51% 11% 38%  0%  0%  0%  0%  0%  0%
[libx264 @ 0x2b32500] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 32% 28%  2%  1%  2%  0%  2%  0%
[libx264 @ 0x2b32500] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x2b32500] ref P L0: 68.4%  1.4% 21.4%  8.8%
[libx264 @ 0x2b32500] ref B L0: 92.9%  7.0%  0.1%
[libx264 @ 0x2b32500] ref B L1: 90.5%  9.5%
[libx264 @ 0x2b32500] kb/s:193.10

-level 41:

./ffmpeg -f lavfi -i testsrc=s=hd1080:d=1 -c:v libx264 -preset veryslow -level 41 level41.mp4
ffmpeg version N-77792-g5908638 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-libx264 --disable-doc
  libavutil      55. 13.100 / 55. 13.100
  libavcodec     57. 22.100 / 57. 22.100
  libavformat    57. 21.101 / 57. 21.101
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 23.100 /  6. 23.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, lavfi, from 'testsrc=s=hd1080:d=1':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x3bee500] using SAR=1/1
[libx264 @ 0x3bee500] DPB size (16 frames, 130560 mbs) > level limit (4 frames, 32768 mbs)
[libx264 @ 0x3bee500] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x3bee500] profile High 4:4:4 Predictive, level 4.1, 4:4:4 8-bit
[libx264 @ 0x3bee500] 264 - core 148 r2579 73ae2d1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 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 'level41.mp4':
  Metadata:
    encoder         : Lavf57.21.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.22.100 libx264
    Side data:
      unknown side data type 10 (24 bytes)
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=   25 fps=9.4 q=-1.0 Lsize=      25kB time=00:00:00.92 bitrate= 224.5kbits/s speed=0.347x    
video:24kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.214946%
[libx264 @ 0x3bee500] frame I:1     Avg QP:12.19  size: 10131
[libx264 @ 0x3bee500] frame P:3     Avg QP:17.82  size:  1493
[libx264 @ 0x3bee500] frame B:21    Avg QP:13.61  size:   451
[libx264 @ 0x3bee500] consecutive B-frames:  4.0%  0.0%  0.0%  0.0%  0.0% 24.0%  0.0%  0.0% 72.0%
[libx264 @ 0x3bee500] mb I  I16..4: 59.8% 37.2%  2.9%
[libx264 @ 0x3bee500] mb P  I16..4:  3.2%  1.1%  0.1%  P16..4:  2.5%  0.2%  0.0%  0.0%  0.0%    skip:92.9%
[libx264 @ 0x3bee500] mb B  I16..4:  0.3%  0.2%  0.0%  B16..8:  4.1%  0.1%  0.0%  direct: 0.0%  skip:95.4%  L0:46.6% L1:49.4% BI: 4.0%
[libx264 @ 0x3bee500] 8x8 transform intra:35.8% inter:58.1%
[libx264 @ 0x3bee500] direct mvs  spatial:61.9% temporal:38.1%
[libx264 @ 0x3bee500] coded y,u,v intra: 1.8% 1.6% 1.6% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x3bee500] i16 v,h,dc,p: 90%  7%  1%  2%
[libx264 @ 0x3bee500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 51% 11% 38%  0%  0%  0%  0%  0%  0%
[libx264 @ 0x3bee500] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 32% 28%  2%  1%  2%  0%  2%  0%
[libx264 @ 0x3bee500] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x3bee500] ref P L0: 67.7%  1.7% 21.4%  7.2%  1.4%  0.6%
[libx264 @ 0x3bee500] ref B L0: 78.3% 13.2%  4.8%  2.5%  1.2%
[libx264 @ 0x3bee500] ref B L1: 93.5%  6.5%
[libx264 @ 0x3bee500] kb/s:192.62
Note: See TracTickets for help on using tickets.