comparison ppc/dsputil_ppc.c @ 3547:e542c9978077 libavcodec

standalone snow dsputil init
author lu_zero
date Thu, 03 Aug 2006 16:19:13 +0000
parents 5f97ba9a4eaa
children 49082584828a
comparison
equal deleted inserted replaced
3546:5f97ba9a4eaa 3547:e542c9978077
28 extern void fdct_altivec(int16_t *block); 28 extern void fdct_altivec(int16_t *block);
29 extern void gmc1_altivec(uint8_t *dst, uint8_t *src, int stride, int h, 29 extern void gmc1_altivec(uint8_t *dst, uint8_t *src, int stride, int h,
30 int x16, int y16, int rounder); 30 int x16, int y16, int rounder);
31 extern void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block); 31 extern void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block);
32 extern void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block); 32 extern void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block);
33 extern void ff_snow_horizontal_compose97i_altivec(DWTELEM *b, int width); 33
34 extern void ff_snow_vertical_compose97i_altivec(DWTELEM *b0, DWTELEM *b1, 34 void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx);
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,
39 const int obmc_stride,
40 uint8_t * * block, int b_w,
41 int b_h, int src_x, int src_y,
42 int src_stride, slice_buffer * sb,
43 int add, uint8_t * dst8);
44 35
45 void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx); 36 void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx);
46 void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx);
47 void vc1dsp_init_altivec(DSPContext* c, AVCodecContext *avctx); 37 void vc1dsp_init_altivec(DSPContext* c, AVCodecContext *avctx);
38 void snow_init_altivec(DSPContext* c, AVCodecContext *avctx);
48 39
49 #endif 40 #endif
50 41
51 int mm_flags = 0; 42 int mm_flags = 0;
52 43
274 dsputil_h264_init_ppc(c, avctx); 265 dsputil_h264_init_ppc(c, avctx);
275 266
276 if (has_altivec()) { 267 if (has_altivec()) {
277 mm_flags |= MM_ALTIVEC; 268 mm_flags |= MM_ALTIVEC;
278 269
270 dsputil_init_altivec(c, avctx);
271 snow_init_altivec(c, avctx);
279 vc1dsp_init_altivec(c, avctx); 272 vc1dsp_init_altivec(c, avctx);
280 dsputil_init_altivec(c, avctx);
281 273
282 c->gmc1 = gmc1_altivec; 274 c->gmc1 = gmc1_altivec;
283
284 c->horizontal_compose97i = ff_snow_horizontal_compose97i_altivec;
285 c->vertical_compose97i = ff_snow_vertical_compose97i_altivec;
286 c->inner_add_yblock = ff_snow_inner_add_yblock_altivec;
287 275
288 #ifdef CONFIG_ENCODERS 276 #ifdef CONFIG_ENCODERS
289 if (avctx->dct_algo == FF_DCT_AUTO || 277 if (avctx->dct_algo == FF_DCT_AUTO ||
290 avctx->dct_algo == FF_DCT_ALTIVEC) 278 avctx->dct_algo == FF_DCT_ALTIVEC)
291 { 279 {