From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] avcodec/svq1: fix interframe mean VLC symbols
Date: Mon, 17 Oct 2022 05:04:29 +0200
Message-ID: <AS8P250MB0744D2D27FC09CE83C1B24318F299@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <ae1f2feac97eea74d4f454ac192b4726759d49a6.1665974158.git.pross@xvid.org>
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-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2022-10-17 3:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-17 2:36 Peter Ross
2022-10-17 3:04 ` Andreas Rheinhardt [this message]
2022-10-17 9:33 ` Peter Ross
2022-10-17 20:38 ` Michael Niedermayer
2022-10-18 1:44 ` Peter Ross
2022-10-18 20:05 ` Michael Niedermayer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AS8P250MB0744D2D27FC09CE83C1B24318F299@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM \
--to=andreas.rheinhardt@outlook.com \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git