diff 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
line wrap: on
line diff
--- a/ppc/dsputil_ppc.c	Mon Mar 27 12:45:27 2006 +0000
+++ b/ppc/dsputil_ppc.c	Mon Mar 27 12:51:19 2006 +0000
@@ -30,6 +30,17 @@
 extern void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block);
 extern void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block);
 
+extern void ff_snow_horizontal_compose97i_altivec(DWTELEM *b, int width);
+extern void ff_snow_vertical_compose97i_altivec(DWTELEM *b0, DWTELEM *b1,
+                                                DWTELEM *b2, DWTELEM *b3,
+                                                DWTELEM *b4, DWTELEM *b5,
+                                                int width);
+extern void ff_snow_inner_add_yblock_altivec(uint8_t *obmc, const int obmc_stride,
+                                          uint8_t * * block, int b_w, int b_h,
+                                          int src_x, int src_y, int src_stride,
+                                          slice_buffer * sb, int add,
+                                          uint8_t * dst8);
+
 int mm_flags = 0;
 
 int mm_support(void)
@@ -297,6 +308,11 @@
         c->hadamard8_diff[1] = hadamard8_diff8x8_altivec;
 #endif
 
+
+        c->horizontal_compose97i = ff_snow_horizontal_compose97i_altivec;
+        c->vertical_compose97i = ff_snow_vertical_compose97i_altivec;
+        c->inner_add_yblock = ff_snow_inner_add_yblock_altivec;
+
 #ifdef CONFIG_ENCODERS
         if (avctx->dct_algo == FF_DCT_AUTO ||
             avctx->dct_algo == FF_DCT_ALTIVEC)