From f8f8c6d44c436609a408cf9a8910ccf8b65ca319 Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev Date: Mon, 10 Mar 2014 10:50:16 -0700 Subject: Adding reusable get_y_mode_prob() function. Change-Id: Iebd182d7aeebc0f8964b6fd35057449bb25b00c1 --- vp9/decoder/vp9_decodemv.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'vp9/decoder') diff --git a/vp9/decoder/vp9_decodemv.c b/vp9/decoder/vp9_decodemv.c index 9bc21d271..799a82af0 100644 --- a/vp9/decoder/vp9_decodemv.c +++ b/vp9/decoder/vp9_decodemv.c @@ -174,9 +174,7 @@ static void read_intra_frame_mode_info(VP9_COMMON *const cm, mbmi->ref_frame[1] = NONE; if (bsize >= BLOCK_8X8) { - const MB_PREDICTION_MODE A = vp9_above_block_mode(mi, above_mi, 0); - const MB_PREDICTION_MODE L = vp9_left_block_mode(mi, left_mi, 0); - mbmi->mode = read_intra_mode(r, vp9_kf_y_mode_prob[A][L]); + mbmi->mode = read_intra_mode(r, get_y_mode_probs(mi, above_mi, left_mi, 0)); } else { // Only 4x4, 4x8, 8x4 blocks const int num_4x4_w = num_4x4_blocks_wide_lookup[bsize]; // 1 or 2 @@ -185,16 +183,14 @@ static void read_intra_frame_mode_info(VP9_COMMON *const cm, for (idy = 0; idy < 2; idy += num_4x4_h) { for (idx = 0; idx < 2; idx += num_4x4_w) { - const int ib = idy * 2 + idx; - const MB_PREDICTION_MODE A = vp9_above_block_mode(mi, above_mi, ib); - const MB_PREDICTION_MODE L = vp9_left_block_mode(mi, left_mi, ib); - const MB_PREDICTION_MODE b_mode = read_intra_mode(r, - vp9_kf_y_mode_prob[A][L]); - mi->bmi[ib].as_mode = b_mode; + const int block = idy * 2 + idx; + const MB_PREDICTION_MODE mode = + read_intra_mode(r, get_y_mode_probs(mi, above_mi, left_mi, block)); + mi->bmi[block].as_mode = mode; if (num_4x4_h == 2) - mi->bmi[ib + 2].as_mode = b_mode; + mi->bmi[block + 2].as_mode = mode; if (num_4x4_w == 2) - mi->bmi[ib + 1].as_mode = b_mode; + mi->bmi[block + 1].as_mode = mode; } } -- cgit v1.2.3