aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ppc/dsputil_ppc.c
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2006-03-27 12:51:19 +0000
committerLuca Barbato <lu_zero@gentoo.org>2006-03-27 12:51:19 +0000
commit22b48b85b647390dd370cd0a1f41f371f4c010f1 (patch)
treebc3141dfb6ccebc816e9ee72cfaa492fe7d0af0c /libavcodec/ppc/dsputil_ppc.c
parente62c29bf57d515537c3df8f2be0da71e12868af4 (diff)
downloadffmpeg-22b48b85b647390dd370cd0a1f41f371f4c010f1.tar.gz
altivec support for snow
Originally committed as revision 5228 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ppc/dsputil_ppc.c')
-rw-r--r--libavcodec/ppc/dsputil_ppc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c
index d5f55b80f1..d4bd7a949a 100644
--- a/libavcodec/ppc/dsputil_ppc.c
+++ b/libavcodec/ppc/dsputil_ppc.c
@@ -30,6 +30,17 @@ extern void fdct_altivec(int16_t *block);
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 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
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)