[FFmpeg-trac] #5123(avfilter:closed): PAD filter works correctly only when vcodec is NOT H264
FFmpeg
trac at avcodec.org
Wed Jan 6 15:37:00 CET 2016
#5123: PAD filter works correctly only when vcodec is NOT H264
-------------------------------------+-------------------------------------
Reporter: | Owner:
SarasotaSlim | Status: closed
Type: defect | Component: avfilter
Priority: normal | Resolution:
Version: unspecified | needs_more_info
Keywords: pad | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by ubitux):
According to the original post, the input needs to be {{{720x480}}} in
{{{MPEG2}}} and {{{H.264}}}. So I did the following:
{{{
☭ ./ffmpeg -f lavfi -i testsrc2=s=720x480:d=60 -c:v libx264 test-h264.mkv
-c:v mpeg2video test-mpeg2.mkv
ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-debug --disable-stripping --enable-
fontconfig --enable-libass --enable-libfreetype --enable-libfribidi
--enable-libmodplug --enable-libmp3lame --enable-libopus --enable-libpulse
--enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-libx264 --samples=/home/ux/fate-samples --assert-level=2
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.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 'testsrc2=s=720x480:d=60':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x480
[SAR 1:1 DAR 3:2], 25 tbr, 25 tbn, 25 tbc
[libx264 @ 0x55840d734b40] using SAR=1/1
[libx264 @ 0x55840d734b40] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x55840d734b40] profile High, level 3.0
[libx264 @ 0x55840d734b40] 264 - core 148 r2579 73ae2d1 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2015 - 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=6
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=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, matroska, to 'test-h264.mkv':
Metadata:
encoder : Lavf57.21.101
Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p,
720x480 [SAR 1:1 DAR 3:2], q=-1--1, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder : Lavc57.21.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Output #1, matroska, to 'test-mpeg2.mkv':
Metadata:
encoder : Lavf57.21.101
Stream #1:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), yuv420p,
720x480 [SAR 1:1 DAR 3:2], q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder : Lavc57.21.100 mpeg2video
Side data:
unknown side data type 10 (24 bytes)
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Stream #0:0 -> #1:0 (rawvideo (native) -> mpeg2video (native))
Press [q] to stop, [?] for help
frame= 1500 fps=155 q=-1.0 Lq=31.0 size= 7370kB time=00:00:59.96
bitrate=1006.9kbits/s speed=6.18x
video:10696kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
[libx264 @ 0x55840d734b40] frame I:6 Avg QP:14.38 size: 13694
[libx264 @ 0x55840d734b40] frame P:1027 Avg QP:25.73 size: 5352
[libx264 @ 0x55840d734b40] frame B:467 Avg QP:30.26 size: 4188
[libx264 @ 0x55840d734b40] consecutive B-frames: 43.7% 40.5% 11.2% 4.5%
[libx264 @ 0x55840d734b40] mb I I16..4: 55.1% 29.7% 15.2%
[libx264 @ 0x55840d734b40] mb P I16..4: 1.5% 2.8% 0.4% P16..4: 8.8%
4.8% 3.2% 0.0% 0.0% skip:78.5%
[libx264 @ 0x55840d734b40] mb B I16..4: 0.3% 0.3% 0.2% B16..8: 15.2%
3.4% 1.0% direct: 1.9% skip:77.7% L0:48.7% L1:44.5% BI: 6.9%
[libx264 @ 0x55840d734b40] 8x8 transform intra:55.7% inter:18.5%
[libx264 @ 0x55840d734b40] coded y,uvDC,uvAC intra: 8.2% 14.4% 13.1%
inter: 4.9% 8.9% 7.6%
[libx264 @ 0x55840d734b40] i16 v,h,dc,p: 81% 16% 2% 0%
[libx264 @ 0x55840d734b40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 5% 9% 85% 0%
0% 0% 0% 0% 0%
[libx264 @ 0x55840d734b40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 21% 31% 3%
3% 4% 4% 4% 4%
[libx264 @ 0x55840d734b40] i8c dc,h,v,p: 63% 12% 24% 1%
[libx264 @ 0x55840d734b40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x55840d734b40] ref P L0: 54.5% 6.9% 23.5% 15.1%
[libx264 @ 0x55840d734b40] ref B L0: 72.4% 25.3% 2.3%
[libx264 @ 0x55840d734b40] ref B L1: 95.5% 4.5%
[libx264 @ 0x55840d734b40] kb/s:1004.62
}}}
To obtain
{{{
-rw-r--r-- 1 ux ux 7.2M Jan 6 15:30 test-h264.mkv
-rw-r--r-- 1 ux ux 3.3M Jan 6 15:30 test-mpeg2.mkv
}}}
Then tried to pad both:
{{{
☭ ./ffmpeg -i test-mpeg2.mkv -vf pad=720:540:0:30:black test-mpeg2-pad.mkv
ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-debug --disable-stripping --enable-
fontconfig --enable-libass --enable-libfreetype --enable-libfribidi
--enable-libmodplug --enable-libmp3lame --enable-libopus --enable-libpulse
--enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-libx264 --samples=/home/ux/fate-samples --assert-level=2
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.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, matroska,webm, from 'test-mpeg2.mkv':
Metadata:
ENCODER : Lavf57.21.101
Duration: 00:01:00.00, start: 0.000000, bitrate: 457 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 1:1
DAR 3:2], max. 104857 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
ENCODER : Lavc57.21.100 mpeg2video
DURATION : 00:01:00.000000000
[libx264 @ 0x556d98f38660] using SAR=1/1
[libx264 @ 0x556d98f38660] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x556d98f38660] profile High, level 3.0
[libx264 @ 0x556d98f38660] 264 - core 148 r2579 73ae2d1 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2015 - 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=6
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=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, matroska, to 'test-mpeg2-pad.mkv':
Metadata:
encoder : Lavf57.21.101
Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p,
720x540 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 1k tbn, 25 tbc (default)
Metadata:
DURATION : 00:01:00.000000000
encoder : Lavc57.21.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 1500 fps=150 q=-1.0 Lsize= 8573kB time=00:00:59.92
bitrate=1172.1kbits/s speed=5.97x
video:8562kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.131952%
[libx264 @ 0x556d98f38660] frame I:6 Avg QP:13.82 size: 17628
[libx264 @ 0x556d98f38660] frame P:1143 Avg QP:23.67 size: 6392
[libx264 @ 0x556d98f38660] frame B:351 Avg QP:26.88 size: 3859
[libx264 @ 0x556d98f38660] consecutive B-frames: 59.4% 26.0% 6.6% 8.0%
[libx264 @ 0x556d98f38660] mb I I16..4: 75.2% 15.6% 9.2%
[libx264 @ 0x556d98f38660] mb P I16..4: 2.3% 4.0% 0.4% P16..4: 11.4%
4.2% 1.9% 0.0% 0.0% skip:75.8%
[libx264 @ 0x556d98f38660] mb B I16..4: 0.5% 0.4% 0.1% B16..8: 15.0%
2.2% 0.3% direct: 5.3% skip:76.3% L0:51.7% L1:43.6% BI: 4.7%
[libx264 @ 0x556d98f38660] 8x8 transform intra:55.7% inter:58.8%
[libx264 @ 0x556d98f38660] coded y,uvDC,uvAC intra: 13.0% 45.5% 42.9%
inter: 3.6% 13.4% 12.6%
[libx264 @ 0x556d98f38660] i16 v,h,dc,p: 67% 29% 4% 0%
[libx264 @ 0x556d98f38660] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 9% 10% 77% 1%
1% 0% 1% 0% 1%
[libx264 @ 0x556d98f38660] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 16% 50% 1%
1% 1% 3% 1% 2%
[libx264 @ 0x556d98f38660] i8c dc,h,v,p: 47% 22% 29% 2%
[libx264 @ 0x556d98f38660] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x556d98f38660] ref P L0: 67.8% 8.5% 15.2% 8.5%
[libx264 @ 0x556d98f38660] ref B L0: 84.9% 13.9% 1.3%
[libx264 @ 0x556d98f38660] ref B L1: 97.0% 3.0%
[libx264 @ 0x556d98f38660] kb/s:1168.92
}}}
{{{
☭ ./ffmpeg -i test-h264.mkv -vf pad=720:540:0:30:black test-h264-pad.mkv
ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-debug --disable-stripping --enable-
fontconfig --enable-libass --enable-libfreetype --enable-libfribidi
--enable-libmodplug --enable-libmp3lame --enable-libopus --enable-libpulse
--enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-libx264 --samples=/home/ux/fate-samples --assert-level=2
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.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, matroska,webm, from 'test-h264.mkv':
Metadata:
ENCODER : Lavf57.21.101
Duration: 00:01:00.00, start: 0.000000, bitrate: 1006 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 720x480 [SAR 1:1 DAR 3:2],
25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
ENCODER : Lavc57.21.100 libx264
DURATION : 00:01:00.000000000
[libx264 @ 0x561e713ee820] using SAR=1/1
[libx264 @ 0x561e713ee820] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x561e713ee820] profile High, level 3.0
[libx264 @ 0x561e713ee820] 264 - core 148 r2579 73ae2d1 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2015 - 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=6
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=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, matroska, to 'test-h264-pad.mkv':
Metadata:
encoder : Lavf57.21.101
Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p,
720x540 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 1k tbn, 25 tbc (default)
Metadata:
DURATION : 00:01:00.000000000
encoder : Lavc57.21.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 1500 fps=152 q=-1.0 Lsize= 7188kB time=00:00:59.92 bitrate=
982.7kbits/s speed=6.08x
video:7176kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.157405%
[libx264 @ 0x561e713ee820] frame I:6 Avg QP:12.68 size: 15801
[libx264 @ 0x561e713ee820] frame P:989 Avg QP:23.22 size: 5493
[libx264 @ 0x561e713ee820] frame B:505 Avg QP:28.78 size: 3606
[libx264 @ 0x561e713ee820] consecutive B-frames: 37.7% 49.7% 7.2% 5.3%
[libx264 @ 0x561e713ee820] mb I I16..4: 74.7% 12.7% 12.6%
[libx264 @ 0x561e713ee820] mb P I16..4: 1.6% 2.7% 0.2% P16..4: 9.1%
4.3% 2.6% 0.0% 0.0% skip:79.4%
[libx264 @ 0x561e713ee820] mb B I16..4: 0.2% 0.1% 0.1% B16..8: 14.1%
2.9% 0.8% direct: 1.9% skip:79.8% L0:47.4% L1:46.2% BI: 6.4%
[libx264 @ 0x561e713ee820] 8x8 transform intra:53.1% inter:35.8%
[libx264 @ 0x561e713ee820] coded y,uvDC,uvAC intra: 5.6% 16.3% 14.4%
inter: 4.0% 8.6% 7.4%
[libx264 @ 0x561e713ee820] i16 v,h,dc,p: 61% 36% 2% 0%
[libx264 @ 0x561e713ee820] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 3% 9% 86% 0%
0% 0% 0% 0% 0%
[libx264 @ 0x561e713ee820] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 19% 41% 1%
1% 1% 2% 1% 3%
[libx264 @ 0x561e713ee820] i8c dc,h,v,p: 57% 23% 19% 0%
[libx264 @ 0x561e713ee820] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x561e713ee820] ref P L0: 54.2% 7.5% 23.7% 14.6%
[libx264 @ 0x561e713ee820] ref B L0: 76.2% 22.5% 1.3%
[libx264 @ 0x561e713ee820] ref B L1: 97.6% 2.4%
[libx264 @ 0x561e713ee820] kb/s:979.72
}}}
The two output files {{{test-h264-pad.mkv}}} and {{{test-mpeg2-pad.mkv}}}
looks perfectly fine.
@SarasotaSlim: so as said before, please provide the requested information
since your issue is not reproducible.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5123#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list