ref: 863204e64dbd8366b7e9a0f67f1f026473a0a145
parent: 6c8170af52b8d29f52e3e155300de1f4e8e27624
author: Jim Bankoski <jimbankoski@google.com>
date: Wed Jul 10 03:26:08 EDT 2013
mi_width_log2 & mi_height_log2 converted to lookup to avoid unnecessary code Change-Id: I2ee6a01f06984cc2c4ba74b3fffd215318f749d2
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -149,20 +149,11 @@
}
static INLINE int mi_width_log2(BLOCK_SIZE_TYPE sb_type) {
- int a = b_width_log2(sb_type) - 1;
- // align 4x4 block to mode_info
- if (a < 0)
- a = 0;
- assert(a >= 0);
- return a;
+ return mi_width_log2_lookup[sb_type];
}
static INLINE int mi_height_log2(BLOCK_SIZE_TYPE sb_type) {
- int a = b_height_log2(sb_type) - 1;
- if (a < 0)
- a = 0;
- assert(a >= 0);
- return a;
+ return mi_height_log2_lookup[sb_type];
}
typedef struct {
--- a/vp9/common/vp9_common_data.c
+++ b/vp9/common/vp9_common_data.c
@@ -15,3 +15,8 @@
{0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4};
const int b_height_log2_lookup[BLOCK_SIZE_TYPES] =
{0, 1, 0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4};
+// Log 2 conversion lookup tables for modeinfo width and height
+const int mi_width_log2_lookup[BLOCK_SIZE_TYPES] =
+ {0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3};
+const int mi_height_log2_lookup[BLOCK_SIZE_TYPES] =
+ {0, 0, 0, 0, 1, 0, 1, 2, 1, 2, 3, 2, 3};
--- a/vp9/common/vp9_common_data.h
+++ b/vp9/common/vp9_common_data.h
@@ -15,5 +15,7 @@
extern const int b_width_log2_lookup[BLOCK_SIZE_TYPES];
extern const int b_height_log2_lookup[BLOCK_SIZE_TYPES];
+extern const int mi_width_log2_lookup[BLOCK_SIZE_TYPES];
+extern const int mi_height_log2_lookup[BLOCK_SIZE_TYPES];
#endif // VP9_COMMON_VP9_COMMON_DATA_H
--
⑨