These patches make FFmpeg match the output of the VP6 reference decoder. Collectively they fix <https://trac.ffmpeg.org/ticket/1282>
Bugs fixed: * Chroma motion vector calculation was sometimes off by 1. * Loop filter differences. The VP6 loop filter is the same as the VP4 one. * IDCT drift. the VP3/4/5/6 reference decoders all use three IDCT versions: one for the DC-only case, another for blocks with more than 10 coefficients, and an optimised one for blocks with up to 10 AC coefficents. VP6 relies on the sparse 10 coefficient version, and without it, picture quality goes to custard. VP3/4/5 does not seem to share this problem. Output is bit identical to vp6vfw.dll for all my test streams. Please note the On2 enables post-processing by default, and this must be disabled for accurate comparisions with mplayer, etc. I would like to get these patches signed off. Can somebody else test them and report back :) Peter Ross (6): avcodec/vp3dsp: add 12 pixel loop filter functions avcodec/vp3dsp: add 10 coefficient version of the vp3 idct avcodec/vp6: use rounded shift for chroma motion vector calculation avcodec/vp6: use ff_vp4_[hv]_loop_filter_12_c avcodec/vp6: select idct based (loosely) on number of coefficients decoded fate: update vp6 regression test data libavcodec/vp3dsp.c | 180 ++++++++++++++++- libavcodec/vp3dsp.h | 8 + libavcodec/vp5.c | 1 + libavcodec/vp56.c | 48 +++-- libavcodec/vp56.h | 3 + libavcodec/vp56dsp.c | 19 -- libavcodec/vp6.c | 14 ++ tests/ref/fate/vp60 | 202 +++++++++---------- tests/ref/fate/vp61 | 238 +++++++++++------------ tests/ref/fate/vp6a | 172 ++++++++--------- tests/ref/fate/vp6a-skip_alpha | 172 ++++++++--------- tests/ref/fate/vp6f | 342 ++++++++++++++++----------------- 12 files changed, 797 insertions(+), 602 deletions(-) -- 2.17.1 -- Peter (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel