Browse Source

make sh4 IDCT optional, so the user can choose

Originally committed as revision 1878 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 22 years ago
parent
commit
b82cdc7278
2 changed files with 7 additions and 3 deletions
  1. +1
    -0
      libavcodec/avcodec.h
  2. +6
    -3
      libavcodec/sh4/dsputil_sh4.c

+ 1
- 0
libavcodec/avcodec.h View File

@@ -844,6 +844,7 @@ typedef struct AVCodecContext {
#define FF_IDCT_MLIB 6 #define FF_IDCT_MLIB 6
#define FF_IDCT_ARM 7 #define FF_IDCT_ARM 7
#define FF_IDCT_ALTIVEC 8 #define FF_IDCT_ALTIVEC 8
#define FF_IDCT_SH4 9


/** /**
* slice count. * slice count.


+ 6
- 3
libavcodec/sh4/dsputil_sh4.c View File

@@ -105,10 +105,13 @@ extern void dsputil_init_align(DSPContext* c, AVCodecContext *avctx);


void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx) void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx)
{ {
const int idct_algo= avctx->idct_algo;
dsputil_init_align(c,avctx); dsputil_init_align(c,avctx);


c->clear_blocks = clear_blocks_sh4; c->clear_blocks = clear_blocks_sh4;
c->idct_put = idct_put;
c->idct_add = idct_add;
c->idct_permutation_type= FF_NO_IDCT_PERM; //FF_SIMPLE_IDCT_PERM; //FF_LIBMPEG2_IDCT_PERM;
if(idct_algo==FF_IDCT_AUTO || idct_algo==FF_IDCT_SH4){
c->idct_put = idct_put;
c->idct_add = idct_add;
c->idct_permutation_type= FF_NO_IDCT_PERM; //FF_SIMPLE_IDCT_PERM; //FF_LIBMPEG2_IDCT_PERM;
}
} }

Loading…
Cancel
Save