]> granicus.if.org Git - libvpx/commitdiff
Use 8x8 transform for all 16x16 intra prediction modes in keyframes.
authorRonald S. Bultje <rbultje@google.com>
Mon, 2 Jul 2012 18:13:18 +0000 (11:13 -0700)
committerRonald S. Bultje <rbultje@google.com>
Mon, 16 Jul 2012 19:22:36 +0000 (12:22 -0700)
Also use the 8x8 transform in the RD loop.

Change-Id: If1a25aa15d3f64e05c9a31875e309d8cd5bc812d

vp8/decoder/decodframe.c
vp8/encoder/encodeframe.c
vp8/encoder/rdopt.c

index 4d6ebbe339d83a190a85ab7f9bbf7727b7aab5ed..50b6cf916e7f6790639afd26529c74989e442c00 100644 (file)
@@ -233,8 +233,8 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
     if(pbi->common.frame_type == KEY_FRAME)
     {
         if( pbi->common.txfm_mode==ALLOW_8X8 &&
-             (xd->mode_info_context->mbmi.mode == DC_PRED
-            ||xd->mode_info_context->mbmi.mode == TM_PRED))
+            xd->mode_info_context->mbmi.mode != I8X8_PRED &&
+            xd->mode_info_context->mbmi.mode != B_PRED)
             xd->mode_info_context->mbmi.txfm_size = TX_8X8;
         else
             xd->mode_info_context->mbmi.txfm_size = TX_4X4;
index 3e55190a5939104f27a3823e2df0bae811bd410b..8b1ed0bb34a7d81496e788a5784a247203f2e84f 100644 (file)
@@ -1598,8 +1598,8 @@ void vp8cx_encode_intra_macro_block(VP8_COMP *cpi,
 
     /* test code: set transform size based on mode selection */
     if(cpi->common.txfm_mode == ALLOW_8X8
-        && ( x->e_mbd.mode_info_context->mbmi.mode == DC_PRED
-           || x->e_mbd.mode_info_context->mbmi.mode == TM_PRED))
+        && x->e_mbd.mode_info_context->mbmi.mode != I8X8_PRED
+        && x->e_mbd.mode_info_context->mbmi.mode != B_PRED)
     {
         x->e_mbd.mode_info_context->mbmi.txfm_size = TX_8X8;
         cpi->t8x8_count++;
index e24e33e3113eb365082b024149ad5aecfbf9347b..47f13cee71e3f829ad6dbf22ccd50b7cf427b0eb 100644 (file)
@@ -1093,7 +1093,7 @@ static int rd_pick_intra16x16mby_mode(VP8_COMP *cpi,
             }
 #endif
 
-        macro_block_yrd(x, &ratey, &distortion, IF_RTCD(&cpi->rtcd));
+        macro_block_yrd_8x8(x, &ratey, &distortion, IF_RTCD(&cpi->rtcd));
             // FIXME add compoundmode cost
             // FIXME add rate for mode2
         rate = ratey + x->mbmode_cost[x->e_mbd.frame_type]