From 5ef19590802f000299e418143fc2301e3f43affe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Wed, 21 Sep 2016 15:39:16 +0200 Subject: ffmpeg: switch to the new BSF API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit is initially largely based on commit 4426540 from Anton Khirnov and two following fixes (80fb19b and fe7b21c) which were previously skipped respectively in 98e3153, c9ee36e, and 7fe7cdc. mpeg4-bsf-unpack-bframes FATE reference is updated because the bsf filter now actually fixes the extradata (mpeg4_unpack_bframes_init() changing one byte is now honored on the output extradata). The FATE references for remove_extra change because the packet flags were wrong and the keyframes weren't marked, causing the bsf relying on these proprieties to not actually work as intended. The following was fixed by James Almer: The filter option arguments are now also parsed correctly. A hack to propagate extradata changed by bitstream filters after the first av_bsf_receive_packet() call is added to maintain the current behavior. This was previously done by av_bitstream_filter_filter() and is needed for the aac_adtstoasc bsf. The exit_on_error was not being checked anymore, and led to an exit error in the last frame of h264_mp4toannexb test. Restoring this behaviour prevents erroring out. The test is still changed as a result due to the badly filtered frame now not being written after the failure. Signed-off-by: Clément Bœsch Signed-off-by: James Almer --- tests/ref/fate/ffmpeg-bsf-remove-k | 55 +++++++++++++++--------------- tests/ref/fate/ffmpeg-bsf-remove-r | 55 +++++++++++++++--------------- tests/ref/fate/h264_mp4toannexb_ticket2991 | 6 ++-- tests/ref/fate/mpeg4-bsf-unpack-bframes | 2 +- 4 files changed, 59 insertions(+), 59 deletions(-) (limited to 'tests') diff --git a/tests/ref/fate/ffmpeg-bsf-remove-k b/tests/ref/fate/ffmpeg-bsf-remove-k index bc2295a3c5..9c1f54eb90 100644 --- a/tests/ref/fate/ffmpeg-bsf-remove-k +++ b/tests/ref/fate/ffmpeg-bsf-remove-k @@ -1,32 +1,33 @@ -d6c688432b88ca62ea8abb885272af52 *tests/data/fate/ffmpeg-bsf-remove-k.avi -129982 tests/data/fate/ffmpeg-bsf-remove-k.avi +6196f1d6b59d16c045de627221d8685f *tests/data/fate/ffmpeg-bsf-remove-k.avi +130072 tests/data/fate/ffmpeg-bsf-remove-k.avi +#extradata 0: 30, 0x4a4d065a #tb 0: 1/25 #media_type 0: video #codec_id 0: mpeg4 #dimensions 0: 716x236 #sar 0: 1/1 -0, 0, -9223372036854775808, 1, 20164, 0x66bf5e52 -0, 1, -9223372036854775808, 1, 17878, 0xc081a405, F=0x0 -0, 2, -9223372036854775808, 1, 22723, 0x60935d28, F=0x0 -0, 3, -9223372036854775808, 1, 18655, 0xe5c33ada, F=0x0 -0, 4, -9223372036854775808, 1, 12928, 0x84d6a9d7, F=0x0 -0, 5, -9223372036854775808, 1, 4788, 0xbf9e1939, F=0x0 -0, 6, -9223372036854775808, 1, 3160, 0x867423c7, F=0x0 -0, 7, -9223372036854775808, 1, 2049, 0x523ffd85, F=0x0 -0, 8, -9223372036854775808, 1, 1440, 0x363ff725, F=0x0 -0, 9, -9223372036854775808, 1, 1300, 0x0d3c9c74, F=0x0 -0, 10, -9223372036854775808, 1, 1081, 0xbfb0365c, F=0x0 -0, 11, -9223372036854775808, 1, 1011, 0x9d310f90, F=0x0 -0, 12, -9223372036854775808, 1, 2513, 0xbcd803b5 -0, 13, -9223372036854775808, 1, 881, 0x7492d262, F=0x0 -0, 14, -9223372036854775808, 1, 896, 0x1ff1d335, F=0x0 -0, 15, -9223372036854775808, 1, 973, 0x72c1fc04, F=0x0 -0, 16, -9223372036854775808, 1, 1075, 0xa5881d73, F=0x0 -0, 17, -9223372036854775808, 1, 933, 0xf0aae974, F=0x0 -0, 18, -9223372036854775808, 1, 1079, 0xbdce1b40, F=0x0 -0, 19, -9223372036854775808, 1, 964, 0x323fe4ab, F=0x0 -0, 20, -9223372036854775808, 1, 1015, 0x78a4fe96, F=0x0 -0, 21, -9223372036854775808, 1, 990, 0x9cd4ff25, F=0x0 -0, 22, -9223372036854775808, 1, 1093, 0x98712e2e, F=0x0 -0, 23, -9223372036854775808, 1, 1200, 0x37957156, F=0x0 -0, 24, -9223372036854775808, 1, 2851, 0xb05be8a1 +0, 0, 0, 1, 20194, 0x174f64ac +0, 1, 1, 1, 17878, 0xc081a405, F=0x0 +0, 2, 2, 1, 22723, 0x60935d28, F=0x0 +0, 3, 3, 1, 18655, 0xe5c33ada, F=0x0 +0, 4, 4, 1, 12928, 0x84d6a9d7, F=0x0 +0, 5, 5, 1, 4788, 0xbf9e1939, F=0x0 +0, 6, 6, 1, 3160, 0x867423c7, F=0x0 +0, 7, 7, 1, 2049, 0x523ffd85, F=0x0 +0, 8, 8, 1, 1440, 0x363ff725, F=0x0 +0, 9, 9, 1, 1300, 0x0d3c9c74, F=0x0 +0, 10, 10, 1, 1081, 0xbfb0365c, F=0x0 +0, 11, 11, 1, 1011, 0x9d310f90, F=0x0 +0, 12, 12, 1, 2543, 0x64500a0f +0, 13, 13, 1, 881, 0x7492d262, F=0x0 +0, 14, 14, 1, 896, 0x1ff1d335, F=0x0 +0, 15, 15, 1, 973, 0x72c1fc04, F=0x0 +0, 16, 16, 1, 1075, 0xa5881d73, F=0x0 +0, 17, 17, 1, 933, 0xf0aae974, F=0x0 +0, 18, 18, 1, 1079, 0xbdce1b40, F=0x0 +0, 19, 19, 1, 964, 0x323fe4ab, F=0x0 +0, 20, 20, 1, 1015, 0x78a4fe96, F=0x0 +0, 21, 21, 1, 990, 0x9cd4ff25, F=0x0 +0, 22, 22, 1, 1093, 0x98712e2e, F=0x0 +0, 23, 23, 1, 1200, 0x37957156, F=0x0 +0, 24, 24, 1, 2881, 0xbb1feefb diff --git a/tests/ref/fate/ffmpeg-bsf-remove-r b/tests/ref/fate/ffmpeg-bsf-remove-r index fc330324ca..c533aaa9be 100644 --- a/tests/ref/fate/ffmpeg-bsf-remove-r +++ b/tests/ref/fate/ffmpeg-bsf-remove-r @@ -1,33 +1,32 @@ -6196f1d6b59d16c045de627221d8685f *tests/data/fate/ffmpeg-bsf-remove-r.avi -130072 tests/data/fate/ffmpeg-bsf-remove-r.avi -#extradata 0: 30, 0x4a4d065a +d6c688432b88ca62ea8abb885272af52 *tests/data/fate/ffmpeg-bsf-remove-r.avi +129982 tests/data/fate/ffmpeg-bsf-remove-r.avi #tb 0: 1/25 #media_type 0: video #codec_id 0: mpeg4 #dimensions 0: 716x236 #sar 0: 1/1 -0, 0, 0, 1, 20194, 0x174f64ac -0, 1, 1, 1, 17878, 0xc081a405, F=0x0 -0, 2, 2, 1, 22723, 0x60935d28, F=0x0 -0, 3, 3, 1, 18655, 0xe5c33ada, F=0x0 -0, 4, 4, 1, 12928, 0x84d6a9d7, F=0x0 -0, 5, 5, 1, 4788, 0xbf9e1939, F=0x0 -0, 6, 6, 1, 3160, 0x867423c7, F=0x0 -0, 7, 7, 1, 2049, 0x523ffd85, F=0x0 -0, 8, 8, 1, 1440, 0x363ff725, F=0x0 -0, 9, 9, 1, 1300, 0x0d3c9c74, F=0x0 -0, 10, 10, 1, 1081, 0xbfb0365c, F=0x0 -0, 11, 11, 1, 1011, 0x9d310f90, F=0x0 -0, 12, 12, 1, 2543, 0x64500a0f -0, 13, 13, 1, 881, 0x7492d262, F=0x0 -0, 14, 14, 1, 896, 0x1ff1d335, F=0x0 -0, 15, 15, 1, 973, 0x72c1fc04, F=0x0 -0, 16, 16, 1, 1075, 0xa5881d73, F=0x0 -0, 17, 17, 1, 933, 0xf0aae974, F=0x0 -0, 18, 18, 1, 1079, 0xbdce1b40, F=0x0 -0, 19, 19, 1, 964, 0x323fe4ab, F=0x0 -0, 20, 20, 1, 1015, 0x78a4fe96, F=0x0 -0, 21, 21, 1, 990, 0x9cd4ff25, F=0x0 -0, 22, 22, 1, 1093, 0x98712e2e, F=0x0 -0, 23, 23, 1, 1200, 0x37957156, F=0x0 -0, 24, 24, 1, 2881, 0xbb1feefb +0, 0, -9223372036854775808, 1, 20164, 0x66bf5e52 +0, 1, -9223372036854775808, 1, 17878, 0xc081a405, F=0x0 +0, 2, -9223372036854775808, 1, 22723, 0x60935d28, F=0x0 +0, 3, -9223372036854775808, 1, 18655, 0xe5c33ada, F=0x0 +0, 4, -9223372036854775808, 1, 12928, 0x84d6a9d7, F=0x0 +0, 5, -9223372036854775808, 1, 4788, 0xbf9e1939, F=0x0 +0, 6, -9223372036854775808, 1, 3160, 0x867423c7, F=0x0 +0, 7, -9223372036854775808, 1, 2049, 0x523ffd85, F=0x0 +0, 8, -9223372036854775808, 1, 1440, 0x363ff725, F=0x0 +0, 9, -9223372036854775808, 1, 1300, 0x0d3c9c74, F=0x0 +0, 10, -9223372036854775808, 1, 1081, 0xbfb0365c, F=0x0 +0, 11, -9223372036854775808, 1, 1011, 0x9d310f90, F=0x0 +0, 12, -9223372036854775808, 1, 2513, 0xbcd803b5 +0, 13, -9223372036854775808, 1, 881, 0x7492d262, F=0x0 +0, 14, -9223372036854775808, 1, 896, 0x1ff1d335, F=0x0 +0, 15, -9223372036854775808, 1, 973, 0x72c1fc04, F=0x0 +0, 16, -9223372036854775808, 1, 1075, 0xa5881d73, F=0x0 +0, 17, -9223372036854775808, 1, 933, 0xf0aae974, F=0x0 +0, 18, -9223372036854775808, 1, 1079, 0xbdce1b40, F=0x0 +0, 19, -9223372036854775808, 1, 964, 0x323fe4ab, F=0x0 +0, 20, -9223372036854775808, 1, 1015, 0x78a4fe96, F=0x0 +0, 21, -9223372036854775808, 1, 990, 0x9cd4ff25, F=0x0 +0, 22, -9223372036854775808, 1, 1093, 0x98712e2e, F=0x0 +0, 23, -9223372036854775808, 1, 1200, 0x37957156, F=0x0 +0, 24, -9223372036854775808, 1, 2851, 0xb05be8a1 diff --git a/tests/ref/fate/h264_mp4toannexb_ticket2991 b/tests/ref/fate/h264_mp4toannexb_ticket2991 index 27630d51dc..4c73d7da44 100644 --- a/tests/ref/fate/h264_mp4toannexb_ticket2991 +++ b/tests/ref/fate/h264_mp4toannexb_ticket2991 @@ -1,5 +1,5 @@ -f52716e8110147553567ee617bfe6af8 *tests/data/fate/h264_mp4toannexb_ticket2991.h264 -1999668 tests/data/fate/h264_mp4toannexb_ticket2991.h264 +05d66e60ab22ee004720e0051af0fe74 *tests/data/fate/h264_mp4toannexb_ticket2991.h264 +1985815 tests/data/fate/h264_mp4toannexb_ticket2991.h264 #extradata 0: 79, 0x1ec61105 #tb 0: 1/1200000 #media_type 0: video @@ -124,4 +124,4 @@ f52716e8110147553567ee617bfe6af8 *tests/data/fate/h264_mp4toannexb_ticket2991.h2 0, 4612606, 4612606, 40040, 11198, 0x6a9de1fb, F=0x0 0, 4652646, 4652646, 40040, 15572, 0xd6cb6c4b, F=0x0 0, 4692686, 4692686, 40040, 12072, 0x8928b77f, F=0x0 -0, 4732727, 4732727, 40040, 33025, 0x79359fc1, F=0x0 +0, 4732727, 4732727, 40040, 19172, 0x549b6b87, F=0x0 diff --git a/tests/ref/fate/mpeg4-bsf-unpack-bframes b/tests/ref/fate/mpeg4-bsf-unpack-bframes index 21e58f6051..162d436625 100644 --- a/tests/ref/fate/mpeg4-bsf-unpack-bframes +++ b/tests/ref/fate/mpeg4-bsf-unpack-bframes @@ -1 +1 @@ -5db6b7b766c7a9fd5f42292d7467a36d +c9535e459c2ee4ead6d84b93bc7e9f46 -- cgit v1.2.3