Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
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".

  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