diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c
index 80dea036d628ded374bc96121c598678a5c6cc69..776f4235c7a2e803f53496f39f418a237a2c7ad1 100644
--- a/libavcodec/ppc/dsputil_ppc.c
+++ b/libavcodec/ppc/dsputil_ppc.c
@@ -305,6 +305,8 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
 	}
 #endif //CONFIG_ENCODERS
 
+      if (avctx->lowres==0)
+      {
         if ((avctx->idct_algo == FF_IDCT_AUTO) ||
                 (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;
 #endif /* ALTIVEC_USE_REFERENCE_C_CODE */
         }
+      }
         
 #ifdef POWERPC_PERFORMANCE_REPORT
         {
diff --git a/libavcodec/ppc/mpegvideo_ppc.c b/libavcodec/ppc/mpegvideo_ppc.c
index c8269eb9a3ef0f30ee7321c63b8fcbb991c9c2de..832baced0c85b1bf75027a99efbdc921ed0e1a60 100644
--- a/libavcodec/ppc/mpegvideo_ppc.c
+++ b/libavcodec/ppc/mpegvideo_ppc.c
@@ -39,6 +39,8 @@ void MPV_common_init_ppc(MpegEncContext *s)
 #ifdef HAVE_ALTIVEC
     if (has_altivec())
     {
+      if (s->avctx->lowres==0)
+      {
         if ((s->avctx->idct_algo == FF_IDCT_AUTO) ||
                 (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;
 #endif /* ALTIVEC_USE_REFERENCE_C_CODE */
         }
+      }
 
         // Test to make sure that the dct required alignments are met.
         if ((((long)(s->q_intra_matrix) & 0x0f) != 0) ||