diff sparc/dsputil_vis.c @ 5618:ad0ab0eebd69 libavcodec

add simple_idct implemented in Sparc VIS patch by Balatoni Denes % dbalatoni A interware P hu% Original thread: Messages starting with: [PATCH] SPARC VIS simple_idct *
author gpoirier
date Thu, 30 Aug 2007 19:18:23 +0000
parents d5ba514e3f4a
children c0f471cc871d
line wrap: on
line diff
--- a/sparc/dsputil_vis.c	Thu Aug 30 16:40:51 2007 +0000
+++ b/sparc/dsputil_vis.c	Thu Aug 30 19:18:23 2007 +0000
@@ -35,6 +35,10 @@
 
 #include "vis.h"
 
+extern void ff_simple_idct_put_vis(uint8_t *dest, int line_size, DCTELEM *data);
+extern void ff_simple_idct_add_vis(uint8_t *dest, int line_size, DCTELEM *data);
+extern void ff_simple_idct_vis(DCTELEM *data);
+
 /* The trick used in some of this file is the formula from the MMX
  * motion comp code, which is:
  *
@@ -4045,6 +4049,13 @@
   int accel = vis_level ();
 
   if (accel & ACCEL_SPARC_VIS) {
+      if(avctx->idct_algo==FF_IDCT_SIMPLEVIS){
+          c->idct_put = ff_simple_idct_put_vis;
+          c->idct_add = ff_simple_idct_add_vis;
+          c->idct     = ff_simple_idct_vis;
+          c->idct_permutation_type = FF_TRANSPOSE_IDCT_PERM;
+      }
+
       c->put_pixels_tab[0][0] = MC_put_o_16_vis;
       c->put_pixels_tab[0][1] = MC_put_x_16_vis;
       c->put_pixels_tab[0][2] = MC_put_y_16_vis;