diff options
author | Dmitry Kovalev <dkovalev@google.com> | 2014-03-10 10:50:16 -0700 |
---|---|---|
committer | Dmitry Kovalev <dkovalev@google.com> | 2014-03-10 10:50:16 -0700 |
commit | f8f8c6d44c436609a408cf9a8910ccf8b65ca319 (patch) | |
tree | e1d3facb40326260a80d7cf8ddcdf8c4b284c4fb /vp9/decoder | |
parent | 924dc81e7426852d6c447fa10515e59f4f3c19bf (diff) | |
download | libvpx-f8f8c6d44c436609a408cf9a8910ccf8b65ca319.tar libvpx-f8f8c6d44c436609a408cf9a8910ccf8b65ca319.tar.gz libvpx-f8f8c6d44c436609a408cf9a8910ccf8b65ca319.tar.bz2 libvpx-f8f8c6d44c436609a408cf9a8910ccf8b65ca319.zip |
Adding reusable get_y_mode_prob() function.
Change-Id: Iebd182d7aeebc0f8964b6fd35057449bb25b00c1
Diffstat (limited to 'vp9/decoder')
-rw-r--r-- | vp9/decoder/vp9_decodemv.c | 18 |
1 files changed, 7 insertions, 11 deletions
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; } } |