]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ppc/mpegvideo_altivec.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / ppc / mpegvideo_altivec.c
index bacdae4079036b9afd2da17607372deb12eedb97..0ba532ec262e8052f22a561618d42f573b78c221 100644 (file)
@@ -267,8 +267,13 @@ static int dct_quantize_altivec(MpegEncContext* s,
             baseVector = vec_cts(vec_splat(row0, 0), 0);
             vec_ste(baseVector, 0, &oldBaseValue);
 
-            qmat = (vector signed int*)s->q_intra_matrix[qscale];
-            biasAddr = &(s->intra_quant_bias);
+            if(n<4){
+                qmat = (vector signed int*)s->q_intra_matrix[qscale];
+                biasAddr = &(s->intra_quant_bias);
+            }else{
+                qmat = (vector signed int*)s->q_chroma_intra_matrix[qscale];
+                biasAddr = &(s->intra_quant_bias);
+            }
         } else {
             qmat = (vector signed int*)s->q_inter_matrix[qscale];
             biasAddr = &(s->inter_quant_bias);
@@ -558,15 +563,6 @@ void MPV_common_init_altivec(MpegEncContext *s)
 {
     if (!(av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC)) return;
 
-    if (s->avctx->lowres==0) {
-        if ((s->avctx->idct_algo == FF_IDCT_AUTO) ||
-            (s->avctx->idct_algo == FF_IDCT_ALTIVEC)) {
-            s->dsp.idct_put = idct_put_altivec;
-            s->dsp.idct_add = idct_add_altivec;
-            s->dsp.idct_permutation_type = FF_TRANSPOSE_IDCT_PERM;
-        }
-    }
-
     // Test to make sure that the dct required alignments are met.
     if ((((long)(s->q_intra_matrix) & 0x0f) != 0) ||
         (((long)(s->q_inter_matrix) & 0x0f) != 0)) {