summaryrefslogtreecommitdiff
path: root/libavcodec/sparc/dsputil_vis.c
diff options
context:
space:
mode:
authorDenes Balatoni <dbalatoni@programozo.hu>2007-08-30 19:18:23 +0000
committerGuillaume Poirier <gpoirier@mplayerhq.hu>2007-08-30 19:18:23 +0000
commitd9420d4df112abc4a3809900fb606b41d2bdfc7b (patch)
treed41f2a542b36b7c42390b525fd5ce597523e9c24 /libavcodec/sparc/dsputil_vis.c
parentaa33d8096ad480f8df8ddc60945f101f1846ef07 (diff)
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 * Originally committed as revision 10266 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/sparc/dsputil_vis.c')
-rw-r--r--libavcodec/sparc/dsputil_vis.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/sparc/dsputil_vis.c b/libavcodec/sparc/dsputil_vis.c
index 74232ead16..fee796032c 100644
--- a/libavcodec/sparc/dsputil_vis.c
+++ b/libavcodec/sparc/dsputil_vis.c
@@ -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 @@ void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx)
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;