changeset 5948:db875a610973 libavcodec

build vc1dsp_mmx.c in its own compilation unit
author aurel
date Tue, 27 Nov 2007 22:42:55 +0000
parents 37a03989871b
children d7ad613197d2
files Makefile i386/dsputil_mmx.c i386/vc1dsp_mmx.c
diffstat 3 files changed, 11 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Tue Nov 27 22:36:15 2007 +0000
+++ b/Makefile	Tue Nov 27 22:42:55 2007 +0000
@@ -363,11 +363,13 @@
 
 OBJS-$(CONFIG_CAVS_DECODER)            += i386/cavsdsp_mmx.o
 OBJS-$(CONFIG_SNOW_DECODER)            += i386/snowdsp_mmx.o
+OBJS-$(CONFIG_VC1_DECODER)             += i386/vc1dsp_mmx.o
 OBJS-$(CONFIG_VP3_DECODER)             += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
 OBJS-$(CONFIG_VP5_DECODER)             += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
 OBJS-$(CONFIG_VP6_DECODER)             += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
 OBJS-$(CONFIG_VP6A_DECODER)            += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
 OBJS-$(CONFIG_VP6F_DECODER)            += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
+OBJS-$(CONFIG_WMV3_DECODER)            += i386/vc1dsp_mmx.o
 endif
 
 ASM_OBJS-$(ARCH_ARMV4L)                += armv4l/jrevdct_arm.o     \
--- a/i386/dsputil_mmx.c	Tue Nov 27 22:36:15 2007 +0000
+++ b/i386/dsputil_mmx.c	Tue Nov 27 22:42:55 2007 +0000
@@ -2843,10 +2843,6 @@
 #undef PREFETCH
 
 #include "h264dsp_mmx.c"
-#if defined(CONFIG_VC1_DECODER) || defined(CONFIG_WMV3_DECODER) \
-     || defined(CONFIG_VC1_ENCODER) || defined(CONFIG_WMV3_ENCODER)
-#include "vc1dsp_mmx.c"
-#endif
 
 /* AVS specific */
 void ff_cavsdsp_init_mmx2(DSPContext* c, AVCodecContext *avctx);
@@ -2864,6 +2860,13 @@
     avg_pixels16_mmx(dst, src, stride, 16);
 }
 
+/* VC1 specific */
+void ff_vc1dsp_init_mmx(DSPContext* dsp, AVCodecContext *avctx);
+
+void ff_put_vc1_mspel_mc00_mmx(uint8_t *dst, const uint8_t *src, int stride, int rnd) {
+    put_pixels8_mmx(dst, src, stride, 8);
+}
+
 /* external functions, from idct_mmx.c */
 void ff_mmx_idct(DCTELEM *block);
 void ff_mmxext_idct(DCTELEM *block);
--- a/i386/vc1dsp_mmx.c	Tue Nov 27 22:36:15 2007 +0000
+++ b/i386/vc1dsp_mmx.c	Tue Nov 27 22:42:55 2007 +0000
@@ -444,9 +444,7 @@
     vc1_put_shift_8bits[hmode](dst, src, stride, rnd, 1);
 }
 
-static void put_vc1_mspel_mc00_mmx(uint8_t *dst, const uint8_t *src, int stride, int rnd) {
-    put_pixels8_mmx(dst, src, stride, 8);
-}
+void ff_put_vc1_mspel_mc00_mmx(uint8_t *dst, const uint8_t *src, int stride, int rnd);
 
 /** Macro to ease bicubic filter interpolation functions declarations */
 #define DECLARE_FUNCTION(a, b)                                          \
@@ -474,7 +472,7 @@
 DECLARE_FUNCTION(3, 3)
 
 void ff_vc1dsp_init_mmx(DSPContext* dsp, AVCodecContext *avctx) {
-    dsp->put_vc1_mspel_pixels_tab[ 0] = put_vc1_mspel_mc00_mmx;
+    dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_mmx;
     dsp->put_vc1_mspel_pixels_tab[ 4] = put_vc1_mspel_mc01_mmx;
     dsp->put_vc1_mspel_pixels_tab[ 8] = put_vc1_mspel_mc02_mmx;
     dsp->put_vc1_mspel_pixels_tab[12] = put_vc1_mspel_mc03_mmx;