shithub: libvpx

Download patch

ref: 9faa7e818600c71794deed2765840a3ba3022677
parent: e378566060e2f962e03d727fd3f184b051d37f5c
author: Jim Bankoski <jimbankoski@google.com>
date: Sun Sep 8 02:55:17 EDT 2013

resolve clang issue : implicit convert tx_mode -> tx_size

Change-Id: Ifc9da470358f58e800e3d0d70a565b61e5f7834a

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -41,6 +41,15 @@
 
 #define DBG_PRNT_SEGMAP 0
 
+
+static const TX_SIZE tx_mode_to_biggest_tx_size[TX_MODES] = {
+  TX_4X4,  // ONLY_4X4
+  TX_8X8,  // ONLY_8X8
+  TX_16X16,  // ONLY_16X16
+  TX_32X32,  // ONLY_32X32
+  TX_32X32,  // TX_MODE_SELECT
+};
+
 // #define ENC_DEBUG
 #ifdef ENC_DEBUG
 int enc_debug = 0;
@@ -2625,7 +2634,6 @@
     x->act_zbin_adj = 1 - (int) (((int64_t) a + (b >> 1)) / b);
 #endif
 }
-
 static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
                               int mi_row, int mi_col, BLOCK_SIZE bsize) {
   VP9_COMMON * const cm = &cpi->common;
@@ -2730,7 +2738,9 @@
       update_tx_counts(bsize, context, mbmi->tx_size, &cm->counts.tx);
     } else {
       int x, y;
-      TX_SIZE sz = (cm->tx_mode == TX_MODE_SELECT) ? TX_32X32 : cm->tx_mode;
+      TX_SIZE sz = tx_mode_to_biggest_tx_size[cm->tx_mode];
+      assert(sizeof(tx_mode_to_biggest_tx_size) /
+             sizeof(tx_mode_to_biggest_tx_size[0]) == TX_MODES);
       // The new intra coding scheme requires no change of transform size
       if (is_inter_block(&mi->mbmi)) {
         if (sz == TX_32X32 && bsize < BLOCK_32X32)