]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/x86/proresdsp-init.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / x86 / proresdsp-init.c
index ef5389c05eb8f86a9ed962ba8b17041990129941..c4aeb7f5035aa12a93a5abca940607fe8f8fd7ed 100644 (file)
 #include "libavcodec/proresdsp.h"
 
 void ff_prores_idct_put_10_sse2(uint16_t *dst, int linesize,
-                                DCTELEM *block);
+                                DCTELEM *block, const int16_t *qmat);
 void ff_prores_idct_put_10_sse4(uint16_t *dst, int linesize,
-                                DCTELEM *block);
+                                DCTELEM *block, const int16_t *qmat);
 void ff_prores_idct_put_10_avx (uint16_t *dst, int linesize,
-                                DCTELEM *block);
+                                DCTELEM *block, const int16_t *qmat);
 
-void ff_proresdsp_x86_init(ProresDSPContext *dsp)
+void ff_proresdsp_x86_init(ProresDSPContext *dsp, AVCodecContext *avctx)
 {
 #if ARCH_X86_64 && HAVE_YASM
     int flags = av_get_cpu_flags();
 
+    if(avctx->flags & CODEC_FLAG_BITEXACT)
+        return;
+
     if (flags & AV_CPU_FLAG_SSE2) {
         dsp->idct_permutation_type = FF_TRANSPOSE_IDCT_PERM;
         dsp->idct_put = ff_prores_idct_put_10_sse2;
@@ -49,6 +52,6 @@ void ff_proresdsp_x86_init(ProresDSPContext *dsp)
         dsp->idct_permutation_type = FF_TRANSPOSE_IDCT_PERM;
         dsp->idct_put = ff_prores_idct_put_10_avx;
     }
-#endif
-#endif
+#endif /* HAVE_AVX */
+#endif /* ARCH_X86_64 && HAVE_YASM */
 }