shithub: libvpx

Download patch

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);