diff x86/dsputil_mmx.c @ 12436:d6d0a43848b4 libavcodec

Move VP3 IDCT functions from inline ASM to YASM. This fixes part of the VP3/5/6 issues on Win64.
author rbultje
date Mon, 30 Aug 2010 16:25:46 +0000
parents fe78a4548d12
children b242eb86ea9a
line wrap: on
line diff
--- a/x86/dsputil_mmx.c	Mon Aug 30 16:22:27 2010 +0000
+++ b/x86/dsputil_mmx.c	Mon Aug 30 16:25:46 2010 +0000
@@ -28,8 +28,6 @@
 #include "libavcodec/mpegvideo.h"
 #include "libavcodec/simple_idct.h"
 #include "dsputil_mmx.h"
-#include "vp3dsp_mmx.h"
-#include "vp3dsp_sse2.h"
 #include "idct_xvid.h"
 
 //#undef NDEBUG
@@ -2376,6 +2374,19 @@
     );
 }
 
+void ff_vp3_idct_mmx(int16_t *input_data);
+void ff_vp3_idct_put_mmx(uint8_t *dest, int line_size, DCTELEM *block);
+void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block);
+
+void ff_vp3_idct_dc_add_mmx2(uint8_t *dest, int line_size, const DCTELEM *block);
+
+void ff_vp3_v_loop_filter_mmx2(uint8_t *src, int stride, int *bounding_values);
+void ff_vp3_h_loop_filter_mmx2(uint8_t *src, int stride, int *bounding_values);
+
+void ff_vp3_idct_sse2(int16_t *input_data);
+void ff_vp3_idct_put_sse2(uint8_t *dest, int line_size, DCTELEM *block);
+void ff_vp3_idct_add_sse2(uint8_t *dest, int line_size, DCTELEM *block);
+
 void ff_float_to_int16_interleave6_sse(int16_t *dst, const float **src, int len);
 void ff_float_to_int16_interleave6_3dnow(int16_t *dst, const float **src, int len);
 void ff_float_to_int16_interleave6_3dn2(int16_t *dst, const float **src, int len);