[FFmpeg-trac] #5493(avfilter:open): incomplete x264 MB tree with framerate filter

FFmpeg trac at avcodec.org
Wed Jun 15 15:40:57 CEST 2016


#5493: incomplete x264 MB tree with framerate filter
-------------------------------------+-------------------------------------
             Reporter:  blacktrash   |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:  avfilter
              Version:  git-master   |               Resolution:
             Keywords:  framerate    |               Blocked By:
  libx264 regression                 |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by blacktrash):

 Replying to [comment:7 michael]:
 > Here:
 > {{{
 > x264 0.146.2538 121396c
 > (libswscale 3.1.101)
 > (libavformat 56.30.100)
 > built on May 27 2015, gcc: 4.6.3
 > x264 configuration: --bit-depth=8 --chroma-format=all
 > libx264 configuration: --bit-depth=8 --chroma-format=all
 > x264 license: GPL version 2 or later
 > libswscale/libavformat license: GPL version 2 or later
 > }}}

 ffmpeg before 16f08b7a0918ec93d377bfd151e6551da4c3b38f bisected by cehoyos
 has no trouble with latest x264:

 {{{
 $ ffmpeg -i issue5493.mp4 -filter:v framerate=30,scale=640:360,fps=30 -b:v
 500k -pass 1 -y test.mp4
 ffmpeg version N-75265-g349970a Copyright (c) 2000-2015 the FFmpeg
 developers
   built with Apple LLVM version 7.0.2 (clang-700.1.81)
   configuration: --enable-gpl --enable-nonfree --disable-ffserver
 --enable-openssl --enable-libspeex --enable-libopus --enable-libfdk-aac
 --enable-libx265 --enable-libx264 --enable-libxvid --enable-libfaac
 --enable-libmp3lame --enable-libtheora --enable-libvorbis --extra-
 cflags=-I/sw/include --extra-libs=-L/sw/lib
   libavutil      55.  2.100 / 55.  2.100
   libavcodec     57.  1.100 / 57.  1.100
   libavformat    57.  0.100 / 57.  0.100
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6.  2.100 /  6.  2.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.100 /  2.  0.100
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'issue5493.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     creation_time   : 2016-04-24 09:48:33
     location        : +60.4916+022.2685/
     location-eng    : +60.4916+022.2685/
   Duration: 00:00:52.12, start: 0.000000, bitrate: 15880 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x1080, 15715 kb/s, SAR 1:1 DAR 16:9, 25.48 fps, 90k tbr, 90k tbn, 180k
 tbc (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : VideoHandle
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 196 kb/s (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : SoundHandle
 [Parsed_framerate_0 @ 0x7f9f58400ea0] time base:1/90000 -> 1/90000 exact:1
 [Parsed_framerate_0 @ 0x7f9f58400ea0] fps -> fps:30/1 scene score:7.000000
 interpolate start:15 end:240
 [libx264 @ 0x7f9f58985a00] using SAR=1/1
 [libx264 @ 0x7f9f58985a00] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX
 [libx264 @ 0x7f9f58985a00] profile Main, level 3.0
 [libx264 @ 0x7f9f58985a00] 264 - core 148 r2705 3f5ed56 - H.264/MPEG-4 AVC
 codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options:
 cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=2 psy=1
 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0
 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=11
 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0
 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25
 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=500
 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
 Output #0, mp4, to 'test.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     location-eng    : +60.4916+022.2685/
     location        : +60.4916+022.2685/
     encoder         : Lavf57.0.100
     Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021),
 yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, pass 1, 500 kb/s, 30 fps,
 15360 tbn, 30 tbc (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : VideoHandle
       encoder         : Lavc57.1.100 libx264
     Stream #0:1(eng): Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 48000
 Hz, stereo, s16, 128 kb/s (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : SoundHandle
       encoder         : Lavc57.1.100 libfaac
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
   Stream #0:1 -> #0:1 (aac (native) -> aac (libfaac))
 Press [q] to stop, [?] for help
 frame=   62 fps=0.0 q=37.0 size=      12kB time=00:00:02.97 bitrate=
 33.3kbits/s
 frame=  139 fps=139 q=30.0 size=     198kB time=00:00:04.97 bitrate=
 326.3kbits/s
 frame=  214 fps=142 q=30.0 size=     381kB time=00:00:07.98 bitrate=
 391.0kbits/s
 frame=  293 fps=145 q=28.0 size=     560kB time=00:00:09.98 bitrate=
 459.5kbits/s
 frame=  368 fps=146 q=29.0 size=     774kB time=00:00:12.99 bitrate=
 487.6kbits/s
 frame=  442 fps=146 q=31.0 size=    1028kB time=00:00:15.00 bitrate=
 561.1kbits/s
 frame=  515 fps=146 q=30.0 size=    1182kB time=00:00:18.01 bitrate=
 537.5kbits/s
 frame=  590 fps=146 q=30.0 size=    1375kB time=00:00:20.01 bitrate=
 562.9kbits/s
 frame=  664 fps=147 q=31.0 size=    1612kB time=00:00:22.02 bitrate=
 599.6kbits/s
 frame=  739 fps=147 q=31.0 size=    1778kB time=00:00:25.02 bitrate=
 581.8kbits/s
 frame=  814 fps=147 q=30.0 size=    1930kB time=00:00:27.03 bitrate=
 584.9kbits/s
 frame=  888 fps=147 q=29.0 size=    2099kB time=00:00:30.04 bitrate=
 572.5kbits/s
 frame=  961 fps=147 q=30.0 size=    2317kB time=00:00:32.04 bitrate=
 592.2kbits/s
 frame= 1031 fps=146 q=30.0 size=    2504kB time=00:00:34.92 bitrate=
 587.3kbits/s
 frame= 1109 fps=147 q=30.0 size=    2678kB time=00:00:37.06 bitrate=
 591.9kbits/s
 frame= 1184 fps=147 q=30.0 size=    2881kB time=00:00:39.06 bitrate=
 604.1kbits/s
 frame= 1256 fps=147 q=30.0 size=    3055kB time=00:00:42.07 bitrate=
 594.8kbits/s
 frame= 1333 fps=147 q=29.0 size=    3210kB time=00:00:44.08 bitrate=
 596.5kbits/s
 frame= 1407 fps=147 q=29.0 size=    3379kB time=00:00:47.08 bitrate=
 587.9kbits/s
 frame= 1480 fps=147 q=29.0 size=    3563kB time=00:00:49.09 bitrate=
 594.5kbits/s
 frame= 1552 fps=147 q=28.0 size=    3721kB time=00:00:52.03 bitrate=
 585.7kbits/s
 frame= 1558 fps=146 q=-1.0 Lsize=    3987kB time=00:00:52.12 bitrate=
 626.7kbits/s
 video:3116kB audio:815kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 1.448293%
 [libx264 @ 0x7f9f58985a00] frame I:12    Avg QP:24.46  size:  8829
 [libx264 @ 0x7f9f58985a00] frame P:419   Avg QP:26.64  size:  4158
 [libx264 @ 0x7f9f58985a00] frame B:1127  Avg QP:29.56  size:  1190
 [libx264 @ 0x7f9f58985a00] consecutive B-frames:  1.9%  3.0%  6.4% 88.8%
 [libx264 @ 0x7f9f58985a00] mb I  I16..4: 49.9%  0.0% 50.1%
 [libx264 @ 0x7f9f58985a00] mb P  I16..4: 23.3%  0.0%  0.0%  P16..4: 49.3%
 0.0%  0.0%  0.0%  0.0%    skip:27.4%
 [libx264 @ 0x7f9f58985a00] mb B  I16..4:  3.4%  0.0%  0.0%  B16..8: 19.2%
 0.0%  0.0%  direct: 7.1%  skip:70.3%  L0:35.7% L1:43.1% BI:21.1%
 [libx264 @ 0x7f9f58985a00] final ratefactor: 23.53
 [libx264 @ 0x7f9f58985a00] coded y,uvDC,uvAC intra: 45.3% 40.8% 10.6%
 inter: 9.6% 8.2% 0.3%
 [libx264 @ 0x7f9f58985a00] i16 v,h,dc,p: 74% 13%  7%  6%
 [libx264 @ 0x7f9f58985a00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 43% 27% 10%  3%
 3%  4%  3%  3%  5%
 [libx264 @ 0x7f9f58985a00] i8c dc,h,v,p: 48% 16% 31%  6%
 [libx264 @ 0x7f9f58985a00] Weighted P-Frames: Y:14.6% UV:3.3%
 [libx264 @ 0x7f9f58985a00] kb/s:491.36
 $ ffmpeg -i issue5493.mp4 -filter:v framerate=30,scale=640:360,fps=30 -b:v
 500k -pass 2 -y test.mp4
 ffmpeg version N-75265-g349970a Copyright (c) 2000-2015 the FFmpeg
 developers
   built with Apple LLVM version 7.0.2 (clang-700.1.81)
   configuration: --enable-gpl --enable-nonfree --disable-ffserver
 --enable-openssl --enable-libspeex --enable-libopus --enable-libfdk-aac
 --enable-libx265 --enable-libx264 --enable-libxvid --enable-libfaac
 --enable-libmp3lame --enable-libtheora --enable-libvorbis --extra-
 cflags=-I/sw/include --extra-libs=-L/sw/lib
   libavutil      55.  2.100 / 55.  2.100
   libavcodec     57.  1.100 / 57.  1.100
   libavformat    57.  0.100 / 57.  0.100
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6.  2.100 /  6.  2.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.100 /  2.  0.100
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'issue5493.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     creation_time   : 2016-04-24 09:48:33
     location        : +60.4916+022.2685/
     location-eng    : +60.4916+022.2685/
   Duration: 00:00:52.12, start: 0.000000, bitrate: 15880 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x1080, 15715 kb/s, SAR 1:1 DAR 16:9, 25.48 fps, 90k tbr, 90k tbn, 180k
 tbc (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : VideoHandle
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 196 kb/s (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : SoundHandle
 [Parsed_framerate_0 @ 0x7ff943d06fe0] time base:1/90000 -> 1/90000 exact:1
 [Parsed_framerate_0 @ 0x7ff943d06fe0] fps -> fps:30/1 scene score:7.000000
 interpolate start:15 end:240
 [libx264 @ 0x7ff944808400] using SAR=1/1
 [libx264 @ 0x7ff944808400] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX
 [libx264 @ 0x7ff944808400] profile High, level 3.0
 [libx264 @ 0x7ff944808400] 264 - core 148 r2705 3f5ed56 - H.264/MPEG-4 AVC
 codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options:
 cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1
 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11
 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25
 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=2pass mbtree=1 bitrate=500
 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 cplxblur=20.0 qblur=0.5
 ip_ratio=1.40 aq=1:1.00
 Output #0, mp4, to 'test.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     location-eng    : +60.4916+022.2685/
     location        : +60.4916+022.2685/
     encoder         : Lavf57.0.100
     Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021),
 yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, pass 2, 500 kb/s, 30 fps,
 15360 tbn, 30 tbc (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : VideoHandle
       encoder         : Lavc57.1.100 libx264
     Stream #0:1(eng): Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 48000
 Hz, stereo, s16, 128 kb/s (default)
     Metadata:
       creation_time   : 2016-04-24 09:48:33
       handler_name    : SoundHandle
       encoder         : Lavc57.1.100 libfaac
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
   Stream #0:1 -> #0:1 (aac (native) -> aac (libfaac))
 Press [q] to stop, [?] for help
 frame=   52 fps=0.0 q=31.0 size=     122kB time=00:00:02.56 bitrate=
 390.3kbits/s
 frame=  113 fps=113 q=30.0 size=     274kB time=00:00:04.03 bitrate=
 556.4kbits/s
 frame=  175 fps=117 q=30.0 size=     437kB time=00:00:05.97 bitrate=
 598.2kbits/s
 frame=  237 fps=118 q=30.0 size=     564kB time=00:00:08.00 bitrate=
 577.6kbits/s
 frame=  299 fps=119 q=30.0 size=     697kB time=00:00:10.01 bitrate=
 570.5kbits/s
 frame=  359 fps=119 q=30.0 size=     889kB time=00:00:11.99 bitrate=
 607.0kbits/s
 frame=  419 fps=119 q=30.0 size=    1074kB time=00:00:14.00 bitrate=
 628.3kbits/s
 frame=  482 fps=120 q=30.0 size=    1224kB time=00:00:16.02 bitrate=
 625.8kbits/s
 frame=  541 fps=120 q=30.0 size=    1379kB time=00:00:18.03 bitrate=
 626.6kbits/s
 frame=  598 fps=119 q=30.0 size=    1576kB time=00:00:20.01 bitrate=
 644.9kbits/s
 frame=  655 fps=119 q=30.0 size=    1760kB time=00:00:22.02 bitrate=
 654.8kbits/s
 frame=  718 fps=119 q=30.0 size=    1907kB time=00:00:24.02 bitrate=
 650.3kbits/s
 frame=  778 fps=119 q=30.0 size=    2037kB time=00:00:26.03 bitrate=
 641.0kbits/s
 frame=  841 fps=119 q=30.0 size=    2185kB time=00:00:28.03 bitrate=
 638.4kbits/s
 frame=  901 fps=119 q=30.0 size=    2359kB time=00:00:30.04 bitrate=
 643.1kbits/s
 frame=  962 fps=119 q=30.0 size=    2540kB time=00:00:32.04 bitrate=
 649.3kbits/s
 frame= 1022 fps=119 q=30.0 size=    2685kB time=00:00:34.05 bitrate=
 646.0kbits/s
 frame= 1084 fps=120 q=30.0 size=    2822kB time=00:00:36.05 bitrate=
 641.1kbits/s
 frame= 1140 fps=119 q=30.0 size=    2982kB time=00:00:38.06 bitrate=
 641.7kbits/s
 frame= 1203 fps=119 q=30.0 size=    3141kB time=00:00:40.06 bitrate=
 642.1kbits/s
 frame= 1265 fps=120 q=30.0 size=    3272kB time=00:00:42.07 bitrate=
 637.0kbits/s
 frame= 1329 fps=120 q=30.0 size=    3404kB time=00:00:44.08 bitrate=
 632.6kbits/s
 frame= 1391 fps=120 q=30.0 size=    3540kB time=00:00:46.08 bitrate=
 629.2kbits/s
 frame= 1455 fps=120 q=30.0 size=    3681kB time=00:00:48.09 bitrate=
 627.0kbits/s
 frame= 1516 fps=120 q=30.0 size=    3803kB time=00:00:50.09 bitrate=
 621.9kbits/s
 frame= 1558 fps=120 q=-1.0 Lsize=    4037kB time=00:00:52.12 bitrate=
 634.5kbits/s
 video:3165kB audio:815kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 1.430352%
 [libx264 @ 0x7ff944808400] frame I:12    Avg QP:24.36  size:  8702
 [libx264 @ 0x7ff944808400] frame P:419   Avg QP:26.92  size:  3913
 [libx264 @ 0x7ff944808400] frame B:1127  Avg QP:29.64  size:  1328
 [libx264 @ 0x7ff944808400] consecutive B-frames:  1.9%  3.0%  6.4% 88.8%
 [libx264 @ 0x7ff944808400] mb I  I16..4: 19.0% 67.0% 14.0%
 [libx264 @ 0x7ff944808400] mb P  I16..4:  4.3%  8.1%  2.2%  P16..4: 43.3%
 10.1%  4.4%  0.0%  0.0%    skip:27.6%
 [libx264 @ 0x7ff944808400] mb B  I16..4:  0.5%  0.7%  0.1%  B16..8: 38.8%
 3.8%  0.9%  direct: 2.4%  skip:52.8%  L0:44.3% L1:49.3% BI: 6.4%
 [libx264 @ 0x7ff944808400] 8x8 transform intra:56.6% inter:83.0%
 [libx264 @ 0x7ff944808400] coded y,uvDC,uvAC intra: 57.9% 60.5% 22.8%
 inter: 12.4% 11.8% 0.4%
 [libx264 @ 0x7ff944808400] i16 v,h,dc,p: 81%  7%  1% 11%
 [libx264 @ 0x7ff944808400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 52% 13% 10%  2%
 4%  5%  4%  5%  6%
 [libx264 @ 0x7ff944808400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 44% 14%  8%  4%
 6%  8%  6%  6%  4%
 [libx264 @ 0x7ff944808400] i8c dc,h,v,p: 48% 18% 27%  8%
 [libx264 @ 0x7ff944808400] Weighted P-Frames: Y:14.6% UV:3.3%
 [libx264 @ 0x7ff944808400] ref P L0: 49.9% 18.6% 20.3% 10.1%  1.1%
 [libx264 @ 0x7ff944808400] ref B L0: 85.2% 11.0%  3.8%
 [libx264 @ 0x7ff944808400] ref B L1: 95.1%  4.9%
 [libx264 @ 0x7ff944808400] kb/s:499.17
 $ x264 --version
 x264 0.148.2705 3f5ed56
 (libswscale 4.1.100)
 (libavformat 57.37.101)
 built on Jun 15 2016, gcc: 4.2.1 Compatible Apple LLVM 7.0.2
 (clang-700.1.81)
 x264 configuration: --bit-depth=8 --chroma-format=all
 libx264 configuration: --bit-depth=8 --chroma-format=all
 x264 license: GPL version 2 or later
 libswscale/libavformat license: nonfree and unredistributable
 WARNING: This binary is unredistributable!
 }}}

 From this perspective it looks like a filter regression.

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


More information about the FFmpeg-trac mailing list