diff options
author | David Conrad <lessen42@gmail.com> | 2009-05-25 22:19:35 +0000 |
---|---|---|
committer | David Conrad <lessen42@gmail.com> | 2009-05-25 22:19:35 +0000 |
commit | 454403ba55683b95b385c3931ea0fe8fdd71d874 (patch) | |
tree | 8bb5a92859420a2fff6ba245abec50f2358c759c /libavcodec/ppc/dsputil_ppc.c | |
parent | 597b4b3f0327fe13c274508e78e2c947ff13ada3 (diff) | |
download | ffmpeg-454403ba55683b95b385c3931ea0fe8fdd71d874.tar.gz |
Altivec VP3 IDCT
Originally committed as revision 18949 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ppc/dsputil_ppc.c')
-rw-r--r-- | libavcodec/ppc/dsputil_ppc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c index 3b8da9c353..cb660caffa 100644 --- a/libavcodec/ppc/dsputil_ppc.c +++ b/libavcodec/ppc/dsputil_ppc.c @@ -32,6 +32,10 @@ void gmc1_altivec(uint8_t *dst, uint8_t *src, int stride, int h, void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block); void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block); +void ff_vp3_idct_altivec(DCTELEM *block); +void ff_vp3_idct_put_altivec(uint8_t *dest, int line_size, DCTELEM *block); +void ff_vp3_idct_add_altivec(uint8_t *dest, int line_size, DCTELEM *block); + void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx); void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx); @@ -283,6 +287,12 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx) c->idct_put = idct_put_altivec; c->idct_add = idct_add_altivec; c->idct_permutation_type = FF_TRANSPOSE_IDCT_PERM; + }else if((CONFIG_VP3_DECODER || CONFIG_VP5_DECODER || CONFIG_VP6_DECODER || CONFIG_THEORA_DECODER) && + avctx->idct_algo==FF_IDCT_VP3){ + c->idct_put = ff_vp3_idct_put_altivec; + c->idct_add = ff_vp3_idct_add_altivec; + c->idct = ff_vp3_idct_altivec; + c->idct_permutation_type = FF_TRANSPOSE_IDCT_PERM; } } |