ref: 1e5f25ecc87c9119f08e20644902d7e73b79dac5
parent: dcd3a5c0552069ffa728c9fc79abb1dd130551a4
author: John Koleszar <jkoleszar@google.com>
date: Wed Apr 3 12:12:11 EDT 2013
Remove special case vp9_decode_coefs_4x4 This code was only called in the BPRED case, but had no real special case associated with it. Made BPRED behave like all other modes. No bitstream change. Change-Id: I87ba11fe723928b6314d094979011228d5ba006f
--- a/vp9/decoder/vp9_decodframe.c
+++ b/vp9/decoder/vp9_decodframe.c
@@ -346,7 +346,7 @@
static void decode_4x4(VP9D_COMP *pbi, MACROBLOCKD *xd,
BOOL_DECODER* const bc) {
TX_TYPE tx_type;
- int i, eobtotal = 0;
+ int i;
MB_PREDICTION_MODE mode = xd->mode_info_context->mbmi.mode;
#if 0 // def DEC_DEBUG
if (dec_debug) {
@@ -398,9 +398,6 @@
xd->mode_info_context->bmi[i].as_mode.context = b->bmi.as_mode.context =
vp9_find_bpred_context(xd, b);
#endif
- if (!xd->mode_info_context->mbmi.mb_skip_coeff)
- eobtotal += vp9_decode_coefs_4x4(pbi, xd, bc, PLANE_TYPE_Y_WITH_DC, i);
-
vp9_intra4x4_predict(xd, b, b_mode, b->predictor);
tx_type = get_tx_type_4x4(xd, i);
if (tx_type != DCT_DCT) {
@@ -413,9 +410,6 @@
*(b->base_dst) + b->dst, 16, b->dst_stride, xd->eobs[i]);
}
}
- if (!xd->mode_info_context->mbmi.mb_skip_coeff) {
- vp9_decode_mb_tokens_4x4_uv(pbi, xd, bc);
- }
vp9_build_intra_predictors_mbuv(xd);
xd->itxm_add_uv_block(xd->qcoeff + 16 * 16,
xd->block[16].dequant,
@@ -812,8 +806,7 @@
if (xd->mode_info_context->mbmi.mb_skip_coeff) {
vp9_reset_mb_tokens_context(xd);
} else if (!bool_error(bc)) {
- if (mode != B_PRED)
- eobtotal = vp9_decode_mb_tokens(pbi, xd, bc);
+ eobtotal = vp9_decode_mb_tokens(pbi, xd, bc);
}
//mode = xd->mode_info_context->mbmi.mode;
--- a/vp9/decoder/vp9_detokenize.c
+++ b/vp9/decoder/vp9_detokenize.c
@@ -531,15 +531,6 @@
return c;
}
-int vp9_decode_coefs_4x4(VP9D_COMP *dx, MACROBLOCKD *xd,
- BOOL_DECODER* const bc,
- PLANE_TYPE type, int i) {
- const int segment_id = xd->mode_info_context->mbmi.segment_id;
- const int seg_eob = get_eob(xd, segment_id, 16);
-
- return decode_coefs_4x4(dx, xd, bc, type, i, seg_eob);
-}
-
static int decode_mb_tokens_4x4_uv(VP9D_COMP* const dx,
MACROBLOCKD* const xd,
BOOL_DECODER* const bc,
--- a/vp9/decoder/vp9_detokenize.h
+++ b/vp9/decoder/vp9_detokenize.h
@@ -14,10 +14,6 @@
#include "vp9/decoder/vp9_onyxd_int.h"
-int vp9_decode_coefs_4x4(VP9D_COMP *dx, MACROBLOCKD *xd,
- BOOL_DECODER* const bc,
- PLANE_TYPE type, int i);
-
int vp9_decode_mb_tokens(VP9D_COMP* const, MACROBLOCKD* const,
BOOL_DECODER* const);
--
⑨