comparison x86/vp8dsp-init.c @ 11976:19374f2992bf libavcodec

Fix build without yasm
author conrad
date Sun, 27 Jun 2010 02:52:43 +0000
parents c3afb5be0d9b
children a6d24fc1deb7
comparison
equal deleted inserted replaced
11975:c3afb5be0d9b 11976:19374f2992bf
94 ff_put_vp8_epel4_ ## TAPTYPE ## _ ## OPT(dst + 4, dststride, \ 94 ff_put_vp8_epel4_ ## TAPTYPE ## _ ## OPT(dst + 4, dststride, \
95 src + 4, srcstride, \ 95 src + 4, srcstride, \
96 height, mx, my); \ 96 height, mx, my); \
97 } 97 }
98 98
99 #if HAVE_YASM
99 TAP_W8 (mmxext, h4) 100 TAP_W8 (mmxext, h4)
100 TAP_W8 (mmxext, h6) 101 TAP_W8 (mmxext, h6)
101 TAP_W16(mmxext, h6) 102 TAP_W16(mmxext, h6)
102 TAP_W8 (mmxext, v4) 103 TAP_W8 (mmxext, v4)
103 TAP_W8 (mmxext, v6) 104 TAP_W8 (mmxext, v6)
106 TAP_W16(sse2, h6) 107 TAP_W16(sse2, h6)
107 TAP_W16(sse2, v6) 108 TAP_W16(sse2, v6)
108 109
109 TAP_W16(ssse3, h6) 110 TAP_W16(ssse3, h6)
110 TAP_W16(ssse3, v6) 111 TAP_W16(ssse3, v6)
112 #endif
111 113
112 #define HVTAP(OPT, ALIGN, TAPNUMX, TAPNUMY, SIZE, MAXHEIGHT) \ 114 #define HVTAP(OPT, ALIGN, TAPNUMX, TAPNUMY, SIZE, MAXHEIGHT) \
113 static void ff_put_vp8_epel ## SIZE ## _h ## TAPNUMX ## v ## TAPNUMY ## _ ## OPT \ 115 static void ff_put_vp8_epel ## SIZE ## _h ## TAPNUMX ## v ## TAPNUMY ## _ ## OPT \
114 (uint8_t *dst, int dststride, \ 116 (uint8_t *dst, int dststride, \
115 uint8_t *src, int srcstride, \ 117 uint8_t *src, int srcstride, \
129 131
130 #define HVTAPMMX(x, y) \ 132 #define HVTAPMMX(x, y) \
131 HVTAP(mmxext, 8, x, y, 4, 8) \ 133 HVTAP(mmxext, 8, x, y, 4, 8) \
132 HVTAP(mmxext, 8, x, y, 8, 16) 134 HVTAP(mmxext, 8, x, y, 8, 16)
133 135
136 #if HAVE_YASM
134 HVTAPMMX(4, 4) 137 HVTAPMMX(4, 4)
135 HVTAPMMX(4, 6) 138 HVTAPMMX(4, 6)
136 HVTAPMMX(6, 4) 139 HVTAPMMX(6, 4)
137 HVTAPMMX(6, 6) 140 HVTAPMMX(6, 6)
138 HVTAP(mmxext, 8, 6, 6, 16, 16) 141 HVTAP(mmxext, 8, 6, 6, 16, 16)
142 #endif
139 143
140 #define HVTAPSSE2(x, y, w) \ 144 #define HVTAPSSE2(x, y, w) \
141 HVTAP(sse2, 16, x, y, w, 16) \ 145 HVTAP(sse2, 16, x, y, w, 16) \
142 HVTAP(ssse3, 16, x, y, w, 16) 146 HVTAP(ssse3, 16, x, y, w, 16)
143 147
148 #if HAVE_YASM
144 HVTAPSSE2(4, 4, 8) 149 HVTAPSSE2(4, 4, 8)
145 HVTAPSSE2(4, 6, 8) 150 HVTAPSSE2(4, 6, 8)
146 HVTAPSSE2(6, 4, 8) 151 HVTAPSSE2(6, 4, 8)
147 HVTAPSSE2(6, 6, 8) 152 HVTAPSSE2(6, 6, 8)
148 HVTAPSSE2(6, 6, 16) 153 HVTAPSSE2(6, 6, 16)
154 #endif
149 155
150 extern void ff_vp8_idct_dc_add_mmx(uint8_t *dst, DCTELEM block[16], int stride); 156 extern void ff_vp8_idct_dc_add_mmx(uint8_t *dst, DCTELEM block[16], int stride);
151 extern void ff_vp8_idct_dc_add_sse4(uint8_t *dst, DCTELEM block[16], int stride); 157 extern void ff_vp8_idct_dc_add_sse4(uint8_t *dst, DCTELEM block[16], int stride);
152 158
153 av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c) 159 av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
154 { 160 {
155 mm_flags = mm_support(); 161 mm_flags = mm_support();
156 162
163 #if HAVE_YASM
157 if (mm_flags & FF_MM_MMX) { 164 if (mm_flags & FF_MM_MMX) {
158 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_mmx; 165 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_mmx;
159 } 166 }
160 167
161 /* note that 4-tap width=16 functions are missing because w=16 168 /* note that 4-tap width=16 functions are missing because w=16
211 } 218 }
212 219
213 if (mm_flags & FF_MM_SSE4) { 220 if (mm_flags & FF_MM_SSE4) {
214 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4; 221 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4;
215 } 222 }
216 } 223 #endif
224 }