summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2009-05-28 22:35:58 +0000
committerMåns Rullgård <mans@mansr.com>2009-05-28 22:35:58 +0000
commitb195a73d476b048563b1a5b2d9cecea4316314f1 (patch)
treebad4981b70b8474f549be29d40f1803f794a0760
parent08ec1397f66df7de8e4a99e12e35a3005e88d3d5 (diff)
blackfin: use optimised (I)DCT only when ctx->(i)dct_algo is auto
Originally committed as revision 18975 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/bfin/dsputil_bfin.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/bfin/dsputil_bfin.c b/libavcodec/bfin/dsputil_bfin.c
index 1a8ae3b505..4641c3b0b5 100644
--- a/libavcodec/bfin/dsputil_bfin.c
+++ b/libavcodec/bfin/dsputil_bfin.c
@@ -293,13 +293,16 @@ void dsputil_init_bfin( DSPContext* c, AVCodecContext *avctx )
c->put_no_rnd_pixels_tab[0][2] = bfin_put_pixels16_y2_nornd;
c->put_no_rnd_pixels_tab[0][3] = ff_bfin_put_pixels16_xy2_nornd;
- c->idct_permutation_type = FF_NO_IDCT_PERM;
- c->fdct = ff_bfin_fdct;
+ if (avctx->dct_algo == FF_DCT_AUTO)
+ c->fdct = ff_bfin_fdct;
+
if (avctx->idct_algo==FF_IDCT_VP3) {
+ c->idct_permutation_type = FF_NO_IDCT_PERM;
c->idct = ff_bfin_vp3_idct;
c->idct_add = ff_bfin_vp3_idct_add;
c->idct_put = ff_bfin_vp3_idct_put;
- } else {
+ } else if (avctx->idct_algo == FF_IDCT_AUTO) {
+ c->idct_permutation_type = FF_NO_IDCT_PERM;
c->idct = ff_bfin_idct;
c->idct_add = bfin_idct_add;
c->idct_put = bfin_idct_put;