Mercurial > libavcodec.hg
comparison ppc/dsputil_ppc.c @ 3223:8f048c3295ff libavcodec
altivec support for snow
author | lu_zero |
---|---|
date | Mon, 27 Mar 2006 12:51:19 +0000 |
parents | 0b546eab515d |
children | 0b482ccd7f0e |
comparison
equal
deleted
inserted
replaced
3222:38ee2f1d386d | 3223:8f048c3295ff |
---|---|
27 #endif | 27 #endif |
28 | 28 |
29 extern void fdct_altivec(int16_t *block); | 29 extern void fdct_altivec(int16_t *block); |
30 extern void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block); | 30 extern void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block); |
31 extern void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block); | 31 extern void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block); |
32 | |
33 extern void ff_snow_horizontal_compose97i_altivec(DWTELEM *b, int width); | |
34 extern void ff_snow_vertical_compose97i_altivec(DWTELEM *b0, DWTELEM *b1, | |
35 DWTELEM *b2, DWTELEM *b3, | |
36 DWTELEM *b4, DWTELEM *b5, | |
37 int width); | |
38 extern void ff_snow_inner_add_yblock_altivec(uint8_t *obmc, const int obmc_stride, | |
39 uint8_t * * block, int b_w, int b_h, | |
40 int src_x, int src_y, int src_stride, | |
41 slice_buffer * sb, int add, | |
42 uint8_t * dst8); | |
32 | 43 |
33 int mm_flags = 0; | 44 int mm_flags = 0; |
34 | 45 |
35 int mm_support(void) | 46 int mm_support(void) |
36 { | 47 { |
295 #ifdef CONFIG_DARWIN // ATM gcc-3.3 and gcc-3.4 fail to compile these in linux... | 306 #ifdef CONFIG_DARWIN // ATM gcc-3.3 and gcc-3.4 fail to compile these in linux... |
296 c->hadamard8_diff[0] = hadamard8_diff16_altivec; | 307 c->hadamard8_diff[0] = hadamard8_diff16_altivec; |
297 c->hadamard8_diff[1] = hadamard8_diff8x8_altivec; | 308 c->hadamard8_diff[1] = hadamard8_diff8x8_altivec; |
298 #endif | 309 #endif |
299 | 310 |
311 | |
312 c->horizontal_compose97i = ff_snow_horizontal_compose97i_altivec; | |
313 c->vertical_compose97i = ff_snow_vertical_compose97i_altivec; | |
314 c->inner_add_yblock = ff_snow_inner_add_yblock_altivec; | |
315 | |
300 #ifdef CONFIG_ENCODERS | 316 #ifdef CONFIG_ENCODERS |
301 if (avctx->dct_algo == FF_DCT_AUTO || | 317 if (avctx->dct_algo == FF_DCT_AUTO || |
302 avctx->dct_algo == FF_DCT_ALTIVEC) | 318 avctx->dct_algo == FF_DCT_ALTIVEC) |
303 { | 319 { |
304 c->fdct = fdct_altivec; | 320 c->fdct = fdct_altivec; |