summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2012-07-02 11:13:18 -0700
committerRonald S. Bultje <rbultje@google.com>2012-07-16 12:22:36 -0700
commit6c0b21c0751471082895f8fe45198407ee62b7fa (patch)
treec5b8e0c0a4ed3519da51e1a84a78b9cf283ba234
parent1f889ad63f0854fda85893067f25bda49a6cc629 (diff)
downloadlibvpx-6c0b21c0751471082895f8fe45198407ee62b7fa.tar
libvpx-6c0b21c0751471082895f8fe45198407ee62b7fa.tar.gz
libvpx-6c0b21c0751471082895f8fe45198407ee62b7fa.tar.bz2
libvpx-6c0b21c0751471082895f8fe45198407ee62b7fa.zip
Use 8x8 transform for all 16x16 intra prediction modes in keyframes.
Also use the 8x8 transform in the RD loop. Change-Id: If1a25aa15d3f64e05c9a31875e309d8cd5bc812d
-rw-r--r--vp8/decoder/decodframe.c4
-rw-r--r--vp8/encoder/encodeframe.c4
-rw-r--r--vp8/encoder/rdopt.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c
index 4d6ebbe33..50b6cf916 100644
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -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;
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c
index 3e55190a5..8b1ed0bb3 100644
--- a/vp8/encoder/encodeframe.c
+++ b/vp8/encoder/encodeframe.c
@@ -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++;
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c
index e24e33e31..47f13cee7 100644
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -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]