summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_blockd.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2013-05-30 11:27:40 -0700
committerRonald S. Bultje <rbultje@google.com>2013-05-30 16:44:58 -0700
commit1efa79d32f290d2daa8cdb7d358232ba95e95a63 (patch)
treec0eefef4bdbd4ab4f0d7ed576823da85e9fda57b /vp9/common/vp9_blockd.h
parent9175082c4ee6d5f346f306bfe81952f8bc5b2278 (diff)
downloadlibvpx-1efa79d32f290d2daa8cdb7d358232ba95e95a63.tar
libvpx-1efa79d32f290d2daa8cdb7d358232ba95e95a63.tar.gz
libvpx-1efa79d32f290d2daa8cdb7d358232ba95e95a63.tar.bz2
libvpx-1efa79d32f290d2daa8cdb7d358232ba95e95a63.zip
Remove i4x4_pred.
It remains as a local define in rdopt.c so we can distinguish between split and non-split modes in the RD loop, but disappears outside that scope in the codec. Change-Id: I98c18fe5ab7e4fbd1d6620ec5695e2ea20513ce9
Diffstat (limited to 'vp9/common/vp9_blockd.h')
-rw-r--r--vp9/common/vp9_blockd.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h
index 9626540c3..5f1b122eb 100644
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -78,7 +78,6 @@ typedef enum {
D27_PRED, // Directional 27 deg = round(arctan(1/2) * 180/pi)
D63_PRED, // Directional 63 deg = round(arctan(2/1) * 180/pi)
TM_PRED, // True-motion
- I4X4_PRED, // Each 4x4 subblock has its own mode
NEARESTMV,
NEARMV,
ZEROMV,
@@ -119,7 +118,7 @@ typedef enum {
ADST_ADST = 3 // ADST in both directions
} TX_TYPE;
-#define VP9_YMODES (I4X4_PRED + 1)
+#define VP9_YMODES (TM_PRED + 1)
#define VP9_UV_MODES (TM_PRED + 1)
#define VP9_I32X32_MODES (TM_PRED + 1)
@@ -538,14 +537,16 @@ static TX_TYPE txfm_map(MB_PREDICTION_MODE bmode) {
}
static TX_TYPE get_tx_type_4x4(const MACROBLOCKD *xd, int ib) {
- TX_TYPE tx_type = DCT_DCT;
- if (xd->lossless)
+ TX_TYPE tx_type;
+ MODE_INFO *mi = xd->mode_info_context;
+ MB_MODE_INFO *const mbmi = &mi->mbmi;
+ if (xd->lossless || mbmi->ref_frame != INTRA_FRAME)
return DCT_DCT;
- if (xd->mode_info_context->mbmi.mode == I4X4_PRED) {
- tx_type = txfm_map(
- xd->mode_info_context->bmi[ib].as_mode.first);
- } else if (xd->mode_info_context->mbmi.mode <= TM_PRED) {
- tx_type = txfm_map(xd->mode_info_context->mbmi.mode);
+ if (mbmi->sb_type < BLOCK_SIZE_SB8X8) {
+ tx_type = txfm_map(mi->bmi[ib].as_mode.first);
+ } else {
+ assert(mbmi->mode <= TM_PRED);
+ tx_type = txfm_map(mbmi->mode);
}
return tx_type;
}