changeset 9726:28796439526a libavcodec

blackfin: use optimised (I)DCT only when ctx->(i)dct_algo is auto
author mru
date Thu, 28 May 2009 22:35:58 +0000
parents 4b63d4691d4a
children e07a0d71fba9
files bfin/dsputil_bfin.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/bfin/dsputil_bfin.c	Thu May 28 22:35:56 2009 +0000
+++ b/bfin/dsputil_bfin.c	Thu May 28 22:35:58 2009 +0000
@@ -293,13 +293,16 @@
     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;