[FFmpeg-devel] [PATCH 4/9] x86: simple_idct_put: 12bits versions

Michael Niedermayer michael at niedermayer.cc
Fri Oct 9 19:28:37 CEST 2015


On Thu, Oct 08, 2015 at 08:22:51AM +0200, Christophe Gisquet wrote:
> On 12 frames of a 444p 12 bits DNxHR sequence:
> C:         78902 decicycles in idct,  262071 runs,     73 skips
> avx:       32478 decicycles in idct,  262045 runs,     99 skips
> 
> Difference between the 2:
> stddev:    0.39 PSNR:104.47 MAXDIFF:    2
> 
> This is unavoidable and due to the scale factors used in the x86
> version, which cannot match the C ones, as this would cause
> overflows (there's one less 1bit of precision).
> ---
>  libavcodec/x86/idctdsp_init.c    | 19 +++++++++++++++++--
>  libavcodec/x86/simple_idct.h     |  3 +++
>  libavcodec/x86/simple_idct10.asm | 18 +++++++++++++++---
>  3 files changed, 35 insertions(+), 5 deletions(-)

this causes overflows somewhere with mjpeg
see https://trac.ffmpeg.org/attachment/ticket/4683/12bpp.jpg

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20151009/459107a2/attachment.sig>


More information about the ffmpeg-devel mailing list