[FFmpeg-devel] [PATCH 2/3] simple_idct12: align C and x86

Ganesh Ajjanagadde gajjanag at mit.edu
Wed Oct 14 00:14:05 CEST 2015


On Tue, Oct 13, 2015 at 6:04 PM, Michael Niedermayer
<michael at niedermayer.cc> wrote:
> On Tue, Oct 13, 2015 at 09:21:40PM +0200, Christophe Gisquet wrote:
>> Results for omse on the 3 idct dct-test.
>>
>> C:   0.16915859   0.11848359   0.12913125
>> x86: 0.16883281   0.11849063   0.19041875
>>
>> Using 14 and 17 as shifts subtantially improve those, but actually
>> cause overflows and incorrect decoding of 12bpp content.
>> ---
>>  libavcodec/simple_idct_template.c | 17 ++++-------------
>>  libavcodec/x86/idctdsp_init.c     |  8 +++-----
>>  libavcodec/x86/simple_idct10.asm  |  7 +++----
>>  3 files changed, 10 insertions(+), 22 deletions(-)
>
> dct-test -i changes
> IDCT SIMPLE-C12: max_err=1 omse=0.11856094 ome=0.00286875 syserr=0.02590000 maxout=288 blockSumErr=64
> to
> IDCT SIMPLE-C12: max_err=1 omse=0.11825703 ome=0.01024297 syserr=0.05225000 maxout=288 blockSumErr=64
>
> dct-test -i 2
>      58    2571    1334    1334    1334    1334      58    2571
>    2571      58    1334    1334    1334    1334    2571      58
>      58    2571    3805   -1156    3805   -1156      58    2571
>    2571      58   -1156    3805   -1156    3805    2571      58
>      58    2571    3805   -1156    3805   -1156      58    2571
>    2571      58   -1156    3805   -1156    3805    2571      58
>      58    2571    1334    1334    1334    1334      58    2571
>    2571      58    1334    1334    1334    1334    2571      58
> IDCT SIMPLE-C12: max_err=1 omse=0.12911875 ome=0.06609375 syserr=0.19025000 maxout=256 blockSumErr=64
> to
>    2560    5073    2560    2560    2560    2560    2560    5073
>    5073    2560    2560    2560    2560    2560    5073    2560
>    2560    5073    5031      70    5031      70    2560    5073
>    5073    2560      70    5031      70    5031    5073    2560
>    2560    5073    5031      70    5031      70    2560    5073
>    5073    2560      70    5031      70    5031    5073    2560
>    2560    5073    2560    2560    2560    2560    2560    5073
>    5073    2560    2560    2560    2560    2560    5073    2560
> IDCT SIMPLE-C12: max_err=1 omse=0.19041875 ome=0.15929375 syserr=0.25365000 maxout=256 blockSumErr=64
>
> the ome and syserr values worsen by this
>
> iam not objecting to this if thats what people want, just want to
> make sure its not missed

I do not object if there is a good reason for why keeping the error
bars the same is not feasible. As a percentage of the original errors,
these changes do not look negligible.

This should be documented as (preferably) commit message + comment, or
at the least in the commit message.

>
> also IIUC this is just to make C and x86 match, so it could just be
> skiped with no ill effects except that tnen x86 and C would not be
> bitexact matches ?
>
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> I have often repented speaking, but never of holding my tongue.
> -- Xenocrates
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list