Peter Ross:
> Fixes ticket #128.
> 
> The SVQ1 interframe mean VLC symbols -128 and 128 are incorrectly swapped
> in our SVQ1 implementation, resulting in visible artifacts for some videos.
> This patch unswaps the order of these two symbols.
> 
> The most noticable example of the artiacts caused by this error can be 
> observed in
> https://trac.ffmpeg.org/attachment/ticket/128/svq1_set.7z '352_288_k_50.mov'.
> The artifacts are not observed when using the reference decoder
> (QuickTime 7.7.9 x86 binary).
> 
> As a result of this patch, the reference data for the fate-svq1 test
> ($SAMPLES/svq1/marymary-shackles.mov) must be modified. For this file, our
> decoder output is now bitwise identical to the reference decoder. I have
> tested patch with various other samples and they are all now bitwise 
> identical.

Seems like this is not the only test whose reference needs to be
updated. There are also the fate-vsynth%-svq1 tests.

> ---
>  libavcodec/svq1_vlc.h |  4 ++--
>  tests/ref/fate/svq1   | 22 +++++++++++-----------
>  2 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/libavcodec/svq1_vlc.h b/libavcodec/svq1_vlc.h
> index 06e3509e4d..5c27928c2a 100644
> --- a/libavcodec/svq1_vlc.h
> +++ b/libavcodec/svq1_vlc.h
> @@ -167,7 +167,7 @@ const uint16_t ff_svq1_inter_mean_vlc[512][2] = {
>      { 0xA0, 22 },  { 0xA1, 22 },  { 0xA2, 22 },  { 0xA3, 22 },
>      { 0xA4, 22 },  { 0xA5, 22 },  { 0xA6, 22 },  { 0xA7, 22 },
>      { 0xA8, 22 },  { 0xA9, 22 },  { 0xAA, 22 },  { 0xAB, 22 },
> -    { 0x7F, 22 },  { 0x8F, 21 },  { 0xAC, 22 },  { 0xAD, 22 },
> +    { 0x8E, 21 },  { 0x8F, 21 },  { 0xAC, 22 },  { 0xAD, 22 },
>      { 0xAE, 22 },  { 0xAF, 22 },  { 0xB0, 22 },  { 0xB1, 22 },
>      { 0x53, 20 },  { 0x90, 21 },  { 0xB2, 22 },  { 0x91, 21 },
>      { 0xB3, 22 },  { 0xB4, 22 },  { 0x54, 20 },  { 0xB5, 22 },
> @@ -231,7 +231,7 @@ const uint16_t ff_svq1_inter_mean_vlc[512][2] = {
>      { 0x87, 21 },  { 0x4F, 20 },  { 0x35, 19 },  { 0x4E, 20 },
>      { 0x33, 19 },  { 0x32, 19 },  { 0x4D, 20 },  { 0x4C, 20 },
>      { 0x83, 22 },  { 0x4B, 20 },  { 0x81, 22 },  { 0x80, 22 },
> -    { 0x8E, 21 },  { 0x7E, 22 },  { 0x7D, 22 },  { 0x84, 21 },
> +    { 0x7F, 22 },  { 0x7E, 22 },  { 0x7D, 22 },  { 0x84, 21 },
>      { 0x8D, 21 },  { 0x7A, 22 },  { 0x79, 22 },  { 0x4A, 20 },
>      { 0x77, 22 },  { 0x76, 22 },  { 0x89, 21 },  { 0x74, 22 },
>      { 0x73, 22 },  { 0x72, 22 },  { 0x49, 20 },  { 0x70, 22 },
> diff --git a/tests/ref/fate/svq1 b/tests/ref/fate/svq1
> index d53e2952e4..0b0948cce6 100644
> --- a/tests/ref/fate/svq1
> +++ b/tests/ref/fate/svq1
> @@ -24,19 +24,19 @@
>  0,         18,         18,        1,    21600, 0x8d5b2ad0
>  0,         19,         19,        1,    21600, 0xe67128e6
>  0,         20,         20,        1,    21600, 0xb7bf613e
> -0,         21,         21,        1,    21600, 0xefd0f51b
> -0,         22,         22,        1,    21600, 0x31b7da59
> +0,         21,         21,        1,    21600, 0xf697fa3e
> +0,         22,         22,        1,    21600, 0x5b6ede88
>  0,         23,         23,        1,    21600, 0x7a84a8f7
>  0,         24,         24,        1,    21600, 0x0351ad27
> -0,         25,         25,        1,    21600, 0xed6f434d
> -0,         26,         26,        1,    21600, 0x0e771127
> -0,         27,         27,        1,    21600, 0x37bf0b95
> -0,         28,         28,        1,    21600, 0x30e10a77
> -0,         29,         29,        1,    21600, 0x1a48288a
> -0,         30,         30,        1,    21600, 0xf43c6770
> -0,         31,         31,        1,    21600, 0x3c43ae68
> -0,         32,         32,        1,    21600, 0x04dc0949
> -0,         33,         33,        1,    21600, 0x7920758d
> +0,         25,         25,        1,    21600, 0x57b547c2
> +0,         26,         26,        1,    21600, 0xbb9e1558
> +0,         27,         27,        1,    21600, 0xcb470f6b
> +0,         28,         28,        1,    21600, 0xeb100de0
> +0,         29,         29,        1,    21600, 0x089c2bf0
> +0,         30,         30,        1,    21600, 0xe27b6a42
> +0,         31,         31,        1,    21600, 0xbfe2b11b
> +0,         32,         32,        1,    21600, 0xd9ca0bb5
> +0,         33,         33,        1,    21600, 0x12fe783c
>  0,         34,         34,        1,    21600, 0x6c12bab5
>  0,         35,         35,        1,    21600, 0x1ac23706
>  0,         36,         36,        1,    21600, 0x7a95cb5f
> 
> 

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to