Mercurial > libavcodec.hg
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;