Mercurial > libavcodec.hg
comparison dsputil.h @ 1092:f59c3f66363b libavcodec
MpegEncContext.(i)dct_* -> DspContext.(i)dct_*
bitexact cleanup
author | michaelni |
---|---|
date | Mon, 03 Mar 2003 14:54:00 +0000 |
parents | 92fb44eae6b6 |
children | eeaa1e837efb |
comparison
equal
deleted
inserted
replaced
1091:03df246fb06b | 1092:f59c3f66363b |
---|---|
147 op_pixels_abs_func pix_abs8x8_xy2; | 147 op_pixels_abs_func pix_abs8x8_xy2; |
148 | 148 |
149 /* huffyuv specific */ | 149 /* huffyuv specific */ |
150 void (*add_bytes)(uint8_t *dst/*align 16*/, uint8_t *src/*align 16*/, int w); | 150 void (*add_bytes)(uint8_t *dst/*align 16*/, uint8_t *src/*align 16*/, int w); |
151 void (*diff_bytes)(uint8_t *dst/*align 16*/, uint8_t *src1/*align 16*/, uint8_t *src2/*align 1*/,int w); | 151 void (*diff_bytes)(uint8_t *dst/*align 16*/, uint8_t *src1/*align 16*/, uint8_t *src2/*align 1*/,int w); |
152 | |
153 /* (I)DCT */ | |
154 void (*fdct)(DCTELEM *block/* align 16*/); | |
155 void (*idct_put)(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/); | |
156 void (*idct_add)(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/); | |
157 uint8_t idct_permutation[64]; | |
158 int idct_permutation_type; | |
159 #define FF_NO_IDCT_PERM 1 | |
160 #define FF_LIBMPEG2_IDCT_PERM 2 | |
161 #define FF_SIMPLE_IDCT_PERM 3 | |
162 #define FF_TRANSPOSE_IDCT_PERM 4 | |
163 | |
152 } DSPContext; | 164 } DSPContext; |
153 | 165 |
154 void dsputil_init(DSPContext* p, unsigned mask); | 166 void dsputil_init(DSPContext* p, AVCodecContext *avctx); |
155 | 167 |
156 /** | 168 /** |
157 * permute block according to permuatation. | 169 * permute block according to permuatation. |
158 * @param last last non zero element in scantable order | 170 * @param last last non zero element in scantable order |
159 */ | 171 */ |
192 emms();\ | 204 emms();\ |
193 } | 205 } |
194 | 206 |
195 #define __align8 __attribute__ ((aligned (8))) | 207 #define __align8 __attribute__ ((aligned (8))) |
196 | 208 |
197 void dsputil_init_mmx(DSPContext* c, unsigned mask); | 209 void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx); |
198 void dsputil_set_bit_exact_mmx(DSPContext* c, unsigned mask); | 210 void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx); |
199 | |
200 void dsputil_init_pix_mmx(DSPContext* c, unsigned mask); | |
201 void dsputil_set_bit_exact_pix_mmx(DSPContext* c, unsigned mask); | |
202 | 211 |
203 #elif defined(ARCH_ARMV4L) | 212 #elif defined(ARCH_ARMV4L) |
204 | 213 |
205 /* This is to use 4 bytes read to the IDCT pointers for some 'zero' | 214 /* This is to use 4 bytes read to the IDCT pointers for some 'zero' |
206 line ptimizations */ | 215 line ptimizations */ |
207 #define __align8 __attribute__ ((aligned (4))) | 216 #define __align8 __attribute__ ((aligned (4))) |
208 | 217 |
209 void dsputil_init_armv4l(DSPContext* c, unsigned mask); | 218 void dsputil_init_armv4l(DSPContext* c, AVCodecContext *avctx); |
210 | 219 |
211 #elif defined(HAVE_MLIB) | 220 #elif defined(HAVE_MLIB) |
212 | 221 |
213 /* SPARC/VIS IDCT needs 8-byte aligned DCT blocks */ | 222 /* SPARC/VIS IDCT needs 8-byte aligned DCT blocks */ |
214 #define __align8 __attribute__ ((aligned (8))) | 223 #define __align8 __attribute__ ((aligned (8))) |
215 | 224 |
216 void dsputil_init_mlib(DSPContext* c, unsigned mask); | 225 void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx); |
217 | 226 |
218 #elif defined(ARCH_ALPHA) | 227 #elif defined(ARCH_ALPHA) |
219 | 228 |
220 #define __align8 __attribute__ ((aligned (8))) | 229 #define __align8 __attribute__ ((aligned (8))) |
221 | 230 |
222 void dsputil_init_alpha(DSPContext* c, unsigned mask); | 231 void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx); |
223 | 232 |
224 #elif defined(ARCH_POWERPC) | 233 #elif defined(ARCH_POWERPC) |
225 | 234 |
226 #define MM_ALTIVEC 0x0001 /* standard AltiVec */ | 235 #define MM_ALTIVEC 0x0001 /* standard AltiVec */ |
227 | 236 |
231 #include <altivec.h> | 240 #include <altivec.h> |
232 #endif | 241 #endif |
233 | 242 |
234 #define __align8 __attribute__ ((aligned (16))) | 243 #define __align8 __attribute__ ((aligned (16))) |
235 | 244 |
236 void dsputil_init_ppc(DSPContext* c, unsigned mask); | 245 void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx); |
237 | 246 |
238 #elif defined(HAVE_MMI) | 247 #elif defined(HAVE_MMI) |
239 | 248 |
240 #define __align8 __attribute__ ((aligned (16))) | 249 #define __align8 __attribute__ ((aligned (16))) |
241 | 250 |
242 void dsputil_init_mmi(DSPContext* c, unsigned mask); | 251 void dsputil_init_mmi(DSPContext* c, AVCodecContext *avctx); |
243 | 252 |
244 #else | 253 #else |
245 | 254 |
246 #define __align8 | 255 #define __align8 |
247 | 256 |