Skip to content
Snippets Groups Projects
Commit 4af5b6cd authored by Sigbjørn Skjæret's avatar Sigbjørn Skjæret Committed by Michael Niedermayer
Browse files

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
parent a3075830
No related branches found
No related tags found
No related merge requests found
...@@ -305,6 +305,8 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx) ...@@ -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) ...@@ -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
{ {
......
...@@ -39,6 +39,8 @@ void MPV_common_init_ppc(MpegEncContext *s) ...@@ -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) ...@@ -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) ||
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment