Browse Source

Disable AltiVec IDCT for lowres decoding in lavc patch by (Sigbjørn Skjæret: cisc, broadpark no)

Originally committed as revision 4413 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Sigbjørn Skjæret Michael Niedermayer 20 years ago
parent
commit
4af5b6cdb0
2 changed files with 6 additions and 0 deletions
  1. +3
    -0
      libavcodec/ppc/dsputil_ppc.c
  2. +3
    -0
      libavcodec/ppc/mpegvideo_ppc.c

+ 3
- 0
libavcodec/ppc/dsputil_ppc.c View File

@@ -305,6 +305,8 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
} }
#endif //CONFIG_ENCODERS #endif //CONFIG_ENCODERS


if (avctx->lowres==0)
{
if ((avctx->idct_algo == FF_IDCT_AUTO) || if ((avctx->idct_algo == FF_IDCT_AUTO) ||
(avctx->idct_algo == FF_IDCT_ALTIVEC)) (avctx->idct_algo == FF_IDCT_ALTIVEC))
{ {
@@ -316,6 +318,7 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
c->idct_permutation_type = FF_NO_IDCT_PERM; c->idct_permutation_type = FF_NO_IDCT_PERM;
#endif /* ALTIVEC_USE_REFERENCE_C_CODE */ #endif /* ALTIVEC_USE_REFERENCE_C_CODE */
} }
}
#ifdef POWERPC_PERFORMANCE_REPORT #ifdef POWERPC_PERFORMANCE_REPORT
{ {


+ 3
- 0
libavcodec/ppc/mpegvideo_ppc.c View File

@@ -39,6 +39,8 @@ void MPV_common_init_ppc(MpegEncContext *s)
#ifdef HAVE_ALTIVEC #ifdef HAVE_ALTIVEC
if (has_altivec()) if (has_altivec())
{ {
if (s->avctx->lowres==0)
{
if ((s->avctx->idct_algo == FF_IDCT_AUTO) || if ((s->avctx->idct_algo == FF_IDCT_AUTO) ||
(s->avctx->idct_algo == FF_IDCT_ALTIVEC)) (s->avctx->idct_algo == FF_IDCT_ALTIVEC))
{ {
@@ -50,6 +52,7 @@ void MPV_common_init_ppc(MpegEncContext *s)
s->dsp.idct_permutation_type = FF_NO_IDCT_PERM; s->dsp.idct_permutation_type = FF_NO_IDCT_PERM;
#endif /* ALTIVEC_USE_REFERENCE_C_CODE */ #endif /* ALTIVEC_USE_REFERENCE_C_CODE */
} }
}


// Test to make sure that the dct required alignments are met. // Test to make sure that the dct required alignments are met.
if ((((long)(s->q_intra_matrix) & 0x0f) != 0) || if ((((long)(s->q_intra_matrix) & 0x0f) != 0) ||


Loading…
Cancel
Save