On Mon, Oct 17, 2022 at 05:04:29AM +0200, Andreas Rheinhardt wrote: > 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. Right, the encoder. This change will cause previous videos created by the FFmpeg encoder to playback *with* artifacts in newer builds of FFmpeg with this patch applied. There is not much we can do about this, since there isn't place for a version string in the SVQ3 bitstream (unlike MPEG-4 etc). -- Peter (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)