Commit d9420d4d authored by Denes Balatoni's avatar Denes Balatoni Committed by Guillaume Poirier

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
parent aa33d809
......@@ -376,6 +376,7 @@ ASM_OBJS-$(HAVE_ARMV5TE) += armv4l/simple_idct_armv5te.o \
ASM_OBJS-$(HAVE_ARMV6) += armv4l/simple_idct_armv6.o \
OBJS-$(ARCH_SPARC) += sparc/dsputil_vis.o \
sparc/simple_idct_vis.o \
sparc/dsputil_vis.o: CFLAGS += -mcpu=ultrasparc -mtune=ultrasparc
......
......@@ -1281,6 +1281,7 @@ typedef struct AVCodecContext {
#define FF_IDCT_CAVS 15
#define FF_IDCT_SIMPLEARMV5TE 16
#define FF_IDCT_SIMPLEARMV6 17
#define FF_IDCT_SIMPLEVIS 18
/**
* slice count
......
......@@ -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;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment