diff options
Diffstat (limited to 'vp8/common')
-rw-r--r-- | vp8/common/blockd.h | 37 | ||||
-rw-r--r-- | vp8/common/default_coef_probs.h | 24 | ||||
-rw-r--r-- | vp8/common/entropy.c | 15 | ||||
-rw-r--r-- | vp8/common/entropy.h | 2 | ||||
-rw-r--r-- | vp8/common/entropymode.c | 6 | ||||
-rw-r--r-- | vp8/common/idct.h | 3 | ||||
-rw-r--r-- | vp8/common/idctllm.c | 8 | ||||
-rw-r--r-- | vp8/common/onyxc_int.h | 18 | ||||
-rw-r--r-- | vp8/common/postproc.c | 7 | ||||
-rw-r--r-- | vp8/common/reconinter.c | 2 |
10 files changed, 26 insertions, 96 deletions
diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h index 3ab4cc3a9..de148066c 100644 --- a/vp8/common/blockd.h +++ b/vp8/common/blockd.h @@ -135,14 +135,12 @@ typedef enum { TX_SIZE_MAX // Number of different transforms available } TX_SIZE; -#if CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM16X16 typedef enum { DCT_DCT = 0, // DCT in both horizontal and vertical ADST_DCT = 1, // ADST in horizontal, DCT in vertical DCT_ADST = 2, // DCT in horizontal, ADST in vertical ADST_ADST = 3 // ADST in both directions } TX_TYPE; -#endif #define VP8_YMODES (B_PRED + 1) #define VP8_UV_MODES (TM_PRED + 1) @@ -177,6 +175,14 @@ typedef enum { #define VP8_BINTRAMODES (B_HU_PRED + 1) /* 10 */ #define VP8_SUBMVREFS (1 + NEW4X4 - LEFT4X4) +typedef enum { + PARTITIONING_16X8 = 0, + PARTITIONING_8X16, + PARTITIONING_8X8, + PARTITIONING_4X4, + NB_PARTITIONINGS, +} SPLITMV_PARTITIONING_TYPE; + /* For keyframes, intra block modes are predicted by the (already decoded) modes for the Y blocks to the left and above us; for interframes, there is a single probability table. */ @@ -184,9 +190,7 @@ typedef enum { union b_mode_info { struct { B_PREDICTION_MODE first; -#if CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM16X16 TX_TYPE tx_type; -#endif #if CONFIG_COMP_INTRA_PRED B_PREDICTION_MODE second; @@ -220,7 +224,7 @@ typedef struct { int mv_ref_index[MAX_REF_FRAMES]; #endif - unsigned char partitioning; + SPLITMV_PARTITIONING_TYPE partitioning; unsigned char mb_skip_coeff; /* does this mb has coefficients at all, 1=no coefficients, 0=need decode tokens */ unsigned char need_to_clamp_mvs; unsigned char need_to_clamp_secondmv; @@ -388,17 +392,11 @@ typedef struct MacroBlockD { } MACROBLOCKD; -#if CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM16X16 #define ACTIVE_HT 110 // quantization stepsize threshold -#endif -#if CONFIG_HYBRIDTRANSFORM8X8 #define ACTIVE_HT8 300 -#endif -#if CONFIG_HYBRIDTRANSFORM16X16 #define ACTIVE_HT16 300 -#endif // convert MB_PREDICTION_MODE to B_PREDICTION_MODE static B_PREDICTION_MODE pred_mode_conv(MB_PREDICTION_MODE mode) { @@ -442,7 +440,6 @@ static B_PREDICTION_MODE pred_mode_conv(MB_PREDICTION_MODE mode) { return b_mode; } -#if CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM16X16 // transform mapping static TX_TYPE txfm_map(B_PREDICTION_MODE bmode) { // map transform type @@ -470,9 +467,7 @@ static TX_TYPE txfm_map(B_PREDICTION_MODE bmode) { } return tx_type; } -#endif -#if CONFIG_HYBRIDTRANSFORM static TX_TYPE get_tx_type_4x4(const MACROBLOCKD *xd, const BLOCKD *b) { TX_TYPE tx_type = DCT_DCT; if (xd->mode_info_context->mbmi.mode == B_PRED && @@ -481,9 +476,7 @@ static TX_TYPE get_tx_type_4x4(const MACROBLOCKD *xd, const BLOCKD *b) { } return tx_type; } -#endif -#if CONFIG_HYBRIDTRANSFORM8X8 static TX_TYPE get_tx_type_8x8(const MACROBLOCKD *xd, const BLOCKD *b) { TX_TYPE tx_type = DCT_DCT; if (xd->mode_info_context->mbmi.mode == I8X8_PRED && @@ -492,9 +485,7 @@ static TX_TYPE get_tx_type_8x8(const MACROBLOCKD *xd, const BLOCKD *b) { } return tx_type; } -#endif -#if CONFIG_HYBRIDTRANSFORM16X16 static TX_TYPE get_tx_type_16x16(const MACROBLOCKD *xd, const BLOCKD *b) { TX_TYPE tx_type = DCT_DCT; if (xd->mode_info_context->mbmi.mode < I8X8_PRED && @@ -503,34 +494,24 @@ static TX_TYPE get_tx_type_16x16(const MACROBLOCKD *xd, const BLOCKD *b) { } return tx_type; } -#endif -#if CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM8X8 || \ - CONFIG_HYBRIDTRANSFORM16X16 static TX_TYPE get_tx_type(const MACROBLOCKD *xd, const BLOCKD *b) { TX_TYPE tx_type = DCT_DCT; int ib = (b - xd->block); if (ib >= 16) return tx_type; -#if CONFIG_HYBRIDTRANSFORM16X16 if (xd->mode_info_context->mbmi.txfm_size == TX_16X16) { tx_type = get_tx_type_16x16(xd, b); } -#endif -#if CONFIG_HYBRIDTRANSFORM8X8 if (xd->mode_info_context->mbmi.txfm_size == TX_8X8) { ib = (ib & 8) + ((ib & 4) >> 1); tx_type = get_tx_type_8x8(xd, &xd->block[ib]); } -#endif -#if CONFIG_HYBRIDTRANSFORM if (xd->mode_info_context->mbmi.txfm_size == TX_4X4) { tx_type = get_tx_type_4x4(xd, b); } -#endif return tx_type; } -#endif extern void vp8_build_block_doffsets(MACROBLOCKD *xd); extern void vp8_setup_block_dptrs(MACROBLOCKD *xd); diff --git a/vp8/common/default_coef_probs.h b/vp8/common/default_coef_probs.h index 5e21195ee..bd1f795d0 100644 --- a/vp8/common/default_coef_probs.h +++ b/vp8/common/default_coef_probs.h @@ -13,9 +13,9 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES] -[COEF_BANDS] -[PREV_COEF_CONTEXTS] -[ENTROPY_NODES] = { + [COEF_BANDS] + [PREV_COEF_CONTEXTS] + [ENTROPY_NODES] = { { /* Block Type ( 0 ) */ { @@ -254,11 +254,10 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES] } }; -#if CONFIG_HYBRIDTRANSFORM static const vp8_prob default_hybrid_coef_probs [BLOCK_TYPES] -[COEF_BANDS] -[PREV_COEF_CONTEXTS] -[ENTROPY_NODES] = { + [COEF_BANDS] + [PREV_COEF_CONTEXTS] + [ENTROPY_NODES] = { { /* Block Type ( 0 ) */ { @@ -496,7 +495,6 @@ static const vp8_prob default_hybrid_coef_probs [BLOCK_TYPES] } } }; -#endif static const vp8_prob default_coef_probs_8x8[BLOCK_TYPES_8X8] @@ -731,12 +729,11 @@ default_coef_probs_8x8[BLOCK_TYPES_8X8] } }; -#if CONFIG_HYBRIDTRANSFORM8X8 static const vp8_prob default_hybrid_coef_probs_8x8[BLOCK_TYPES_8X8] - [COEF_BANDS] - [PREV_COEF_CONTEXTS] - [ENTROPY_NODES] = { + [COEF_BANDS] + [PREV_COEF_CONTEXTS] + [ENTROPY_NODES] = { { /* block Type 0 */ { @@ -964,7 +961,6 @@ default_hybrid_coef_probs_8x8[BLOCK_TYPES_8X8] } } }; -#endif static const vp8_prob default_coef_probs_16x16[BLOCK_TYPES_16X16] @@ -1173,7 +1169,6 @@ static const vp8_prob } }; -#if CONFIG_HYBRIDTRANSFORM16X16 static const vp8_prob default_hybrid_coef_probs_16x16[BLOCK_TYPES_16X16] [COEF_BANDS] @@ -1380,4 +1375,3 @@ static const vp8_prob } } }; -#endif diff --git a/vp8/common/entropy.c b/vp8/common/entropy.c index 90f7a52c2..a3f731a3c 100644 --- a/vp8/common/entropy.c +++ b/vp8/common/entropy.c @@ -64,8 +64,6 @@ DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) = { 7, 11, 14, 15, }; - -#if CONFIG_HYBRIDTRANSFORM DECLARE_ALIGNED(16, const int, vp8_col_scan[16]) = { 0, 4, 8, 12, 1, 5, 9, 13, @@ -78,7 +76,6 @@ DECLARE_ALIGNED(16, const int, vp8_row_scan[16]) = { 8, 9, 10, 11, 12, 13, 14, 15 }; -#endif DECLARE_ALIGNED(64, const int, vp8_coef_bands_8x8[64]) = { 0, 1, 2, 3, 5, 4, 4, 5, @@ -208,25 +205,19 @@ vp8_extra_bit_struct vp8_extra_bits[12] = { void vp8_default_coef_probs(VP8_COMMON *pc) { vpx_memcpy(pc->fc.coef_probs, default_coef_probs, sizeof(pc->fc.coef_probs)); -#if CONFIG_HYBRIDTRANSFORM vpx_memcpy(pc->fc.hybrid_coef_probs, default_hybrid_coef_probs, sizeof(pc->fc.hybrid_coef_probs)); -#endif vpx_memcpy(pc->fc.coef_probs_8x8, default_coef_probs_8x8, sizeof(pc->fc.coef_probs_8x8)); -#if CONFIG_HYBRIDTRANSFORM8X8 vpx_memcpy(pc->fc.hybrid_coef_probs_8x8, default_hybrid_coef_probs_8x8, sizeof(pc->fc.hybrid_coef_probs_8x8)); -#endif vpx_memcpy(pc->fc.coef_probs_16x16, default_coef_probs_16x16, sizeof(pc->fc.coef_probs_16x16)); -#if CONFIG_HYBRIDTRANSFORM16X16 vpx_memcpy(pc->fc.hybrid_coef_probs_16x16, default_hybrid_coef_probs_16x16, sizeof(pc->fc.hybrid_coef_probs_16x16)); -#endif } void vp8_coef_tree_initialize() { @@ -344,7 +335,6 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { } } -#if CONFIG_HYBRIDTRANSFORM for (i = 0; i < BLOCK_TYPES; ++i) for (j = 0; j < COEF_BANDS; ++j) for (k = 0; k < PREV_COEF_CONTEXTS; ++k) { @@ -366,7 +356,6 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { else cm->fc.hybrid_coef_probs[i][j][k][t] = prob; } } -#endif for (i = 0; i < BLOCK_TYPES_8X8; ++i) for (j = 0; j < COEF_BANDS; ++j) @@ -390,7 +379,6 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { } } -#if CONFIG_HYBRIDTRANSFORM8X8 for (i = 0; i < BLOCK_TYPES_8X8; ++i) for (j = 0; j < COEF_BANDS; ++j) for (k = 0; k < PREV_COEF_CONTEXTS; ++k) { @@ -413,7 +401,6 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { else cm->fc.hybrid_coef_probs_8x8[i][j][k][t] = prob; } } -#endif for (i = 0; i < BLOCK_TYPES_16X16; ++i) for (j = 0; j < COEF_BANDS; ++j) @@ -437,7 +424,6 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { } } -#if CONFIG_HYBRIDTRANSFORM16X16 for (i = 0; i < BLOCK_TYPES_16X16; ++i) for (j = 0; j < COEF_BANDS; ++j) for (k = 0; k < PREV_COEF_CONTEXTS; ++k) { @@ -458,5 +444,4 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { else cm->fc.hybrid_coef_probs_16x16[i][j][k][t] = prob; } } -#endif } diff --git a/vp8/common/entropy.h b/vp8/common/entropy.h index b9dfb344f..48a100ac6 100644 --- a/vp8/common/entropy.h +++ b/vp8/common/entropy.h @@ -104,10 +104,8 @@ struct VP8Common; void vp8_default_coef_probs(struct VP8Common *); extern DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]); -#if CONFIG_HYBRIDTRANSFORM extern DECLARE_ALIGNED(16, const int, vp8_col_scan[16]); extern DECLARE_ALIGNED(16, const int, vp8_row_scan[16]); -#endif extern short vp8_default_zig_zag_mask[16]; extern DECLARE_ALIGNED(64, const int, vp8_default_zig_zag1d_8x8[64]); diff --git a/vp8/common/entropymode.c b/vp8/common/entropymode.c index 5627aa43a..dd4be76fa 100644 --- a/vp8/common/entropymode.c +++ b/vp8/common/entropymode.c @@ -215,9 +215,9 @@ const vp8_tree_index vp8_uv_mode_tree[VP8_UV_MODES * 2 - 2] = { }; const vp8_tree_index vp8_mbsplit_tree[6] = { - -3, 2, - -2, 4, - -0, -1 + -PARTITIONING_4X4, 2, + -PARTITIONING_8X8, 4, + -PARTITIONING_16X8, -PARTITIONING_8X16, }; const vp8_tree_index vp8_mv_ref_tree[8] = { diff --git a/vp8/common/idct.h b/vp8/common/idct.h index d096e8182..ae33df668 100644 --- a/vp8/common/idct.h +++ b/vp8/common/idct.h @@ -109,12 +109,9 @@ extern prototype_second_order(vp8_short_inv_walsh4x4_lossless_c); extern prototype_second_order(vp8_short_inv_walsh4x4_1_lossless_c); #endif -#if CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM16X16 #include "vp8/common/blockd.h" void vp8_ihtllm_c(short *input, short *output, int pitch, TX_TYPE tx_type, int tx_dim); -#endif - typedef prototype_idct((*vp8_idct_fn_t)); typedef prototype_idct_scalar_add((*vp8_idct_scalar_add_fn_t)); diff --git a/vp8/common/idctllm.c b/vp8/common/idctllm.c index d705fec32..c7369b2e2 100644 --- a/vp8/common/idctllm.c +++ b/vp8/common/idctllm.c @@ -26,9 +26,7 @@ #include "vp8/common/idct.h" #include "vp8/common/systemdependent.h" -#if CONFIG_HYBRIDTRANSFORM #include "vp8/common/blockd.h" -#endif #include <math.h> @@ -38,7 +36,6 @@ static const int rounding = 0; // TODO: these transforms can be further converted into integer forms // for complexity optimization -#if CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM16X16 float idct_4[16] = { 0.500000000000000, 0.653281482438188, 0.500000000000000, 0.270598050073099, 0.500000000000000, 0.270598050073099, -0.500000000000000, -0.653281482438188, @@ -90,9 +87,7 @@ float iadst_8[64] = { 0.483002021635509, -0.466553967085785, 0.434217976756762, -0.387095214016348, 0.326790388032145, -0.255357107325375, 0.175227946595736, -0.089131608307532 }; -#endif -#if CONFIG_HYBRIDTRANSFORM16X16 || CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM8X8 float idct_16[256] = { 0.250000, 0.351851, 0.346760, 0.338330, 0.326641, 0.311806, 0.293969, 0.273300, 0.250000, 0.224292, 0.196424, 0.166664, 0.135299, 0.102631, 0.068975, 0.034654, @@ -162,9 +157,7 @@ float iadst_16[256] = { 0.347761, -0.344612, 0.338341, -0.329007, 0.316693, -0.301511, 0.283599, -0.263118, 0.240255, -0.215215, 0.188227, -0.159534, 0.129396, -0.098087, 0.065889, -0.033094 }; -#endif -#if CONFIG_HYBRIDTRANSFORM8X8 || CONFIG_HYBRIDTRANSFORM || CONFIG_HYBRIDTRANSFORM16X16 void vp8_ihtllm_c(short *input, short *output, int pitch, TX_TYPE tx_type, int tx_dim) { @@ -289,7 +282,6 @@ void vp8_ihtllm_c(short *input, short *output, int pitch, } vp8_clear_system_state(); // Make it simd safe : __asm emms; } -#endif void vp8_short_idct4x4llm_c(short *input, short *output, int pitch) { int i; diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h index 0396a7087..a212bc898 100644 --- a/vp8/common/onyxc_int.h +++ b/vp8/common/onyxc_int.h @@ -51,17 +51,11 @@ typedef struct frame_contexts { vp8_prob sub_mv_ref_prob [SUBMVREF_COUNT][VP8_SUBMVREFS - 1]; vp8_prob mbsplit_prob [VP8_NUMMBSPLITS - 1]; vp8_prob coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#if CONFIG_HYBRIDTRANSFORM vp8_prob hybrid_coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#endif vp8_prob coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#if CONFIG_HYBRIDTRANSFORM8X8 vp8_prob hybrid_coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#endif vp8_prob coef_probs_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#if CONFIG_HYBRIDTRANSFORM16X16 vp8_prob hybrid_coef_probs_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#endif #if CONFIG_NEWMVENTROPY nmv_context nmvc; @@ -87,45 +81,33 @@ typedef struct frame_contexts { vp8_prob pre_coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#if CONFIG_HYBRIDTRANSFORM vp8_prob pre_hybrid_coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#endif vp8_prob pre_coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#if CONFIG_HYBRIDTRANSFORM8X8 vp8_prob pre_hybrid_coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#endif vp8_prob pre_coef_probs_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#if CONFIG_HYBRIDTRANSFORM16X16 vp8_prob pre_hybrid_coef_probs_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; -#endif unsigned int coef_counts [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -#if CONFIG_HYBRIDTRANSFORM unsigned int hybrid_coef_counts [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -#endif unsigned int coef_counts_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -#if CONFIG_HYBRIDTRANSFORM8X8 unsigned int hybrid_coef_counts_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -#endif unsigned int coef_counts_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -#if CONFIG_HYBRIDTRANSFORM16X16 unsigned int hybrid_coef_counts_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -#endif #if CONFIG_NEWMVENTROPY nmv_context_counts NMVcount; diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c index 17bbe3281..388612e8a 100644 --- a/vp8/common/postproc.c +++ b/vp8/common/postproc.c @@ -783,7 +783,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t if (mi->mbmi.mode == SPLITMV) { switch (mi->mbmi.partitioning) { - case 0 : { /* mv_top_bottom */ + case PARTITIONING_16X8 : { /* mv_top_bottom */ union b_mode_info *bmi = &mi->bmi[0]; MV *mv = &bmi->mv.as_mv; @@ -803,7 +803,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t break; } - case 1 : { /* mv_left_right */ + case PARTITIONING_8X16 : { /* mv_left_right */ union b_mode_info *bmi = &mi->bmi[0]; MV *mv = &bmi->mv.as_mv; @@ -823,7 +823,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t break; } - case 2 : { /* mv_quarters */ + case PARTITIONING_8X8 : { /* mv_quarters */ union b_mode_info *bmi = &mi->bmi[0]; MV *mv = &bmi->mv.as_mv; @@ -858,6 +858,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t vp8_blit_line(x0 + 12, x1, y0 + 12, y1, y_buffer, y_stride); break; } + case PARTITIONING_4X4: default : { union b_mode_info *bmi = mi->bmi; int bx0, by0; diff --git a/vp8/common/reconinter.c b/vp8/common/reconinter.c index a41d233ab..869abb2d2 100644 --- a/vp8/common/reconinter.c +++ b/vp8/common/reconinter.c @@ -965,7 +965,7 @@ static void build_inter4x4_predictors_mb(MACROBLOCKD *xd) { MB_MODE_INFO * mbmi = &xd->mode_info_context->mbmi; BLOCKD *blockd = xd->block; - if (xd->mode_info_context->mbmi.partitioning < 3) { + if (xd->mode_info_context->mbmi.partitioning != PARTITIONING_4X4) { blockd[ 0].bmi = xd->mode_info_context->bmi[ 0]; blockd[ 2].bmi = xd->mode_info_context->bmi[ 2]; blockd[ 8].bmi = xd->mode_info_context->bmi[ 8]; |