summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2013-05-30 15:26:23 -0700
committerRonald S. Bultje <rbultje@google.com>2013-05-30 17:21:06 -0700
commit580d29bdbb97c2ba862cadd12a7af093ab87f806 (patch)
treebc941379d01ec714fe8fcdbaf1ee8dc1ff13cf93 /vp9
parente6485581febf7aa68836c6c570a1a6f8eca71c81 (diff)
downloadlibvpx-580d29bdbb97c2ba862cadd12a7af093ab87f806.tar
libvpx-580d29bdbb97c2ba862cadd12a7af093ab87f806.tar.gz
libvpx-580d29bdbb97c2ba862cadd12a7af093ab87f806.tar.bz2
libvpx-580d29bdbb97c2ba862cadd12a7af093ab87f806.zip
Remove one (unused) entry from mvref tables.
Change-Id: Ieb4669ae564bec9f3051485ecdf186cb4e00decb
Diffstat (limited to 'vp9')
-rw-r--r--vp9/common/vp9_entropymode.c6
-rw-r--r--vp9/common/vp9_modecont.c16
-rw-r--r--vp9/common/vp9_modecont.h2
-rw-r--r--vp9/common/vp9_onyxc_int.h4
-rw-r--r--vp9/decoder/vp9_decodframe.c2
-rw-r--r--vp9/encoder/vp9_bitstream.c10
-rw-r--r--vp9/encoder/vp9_onyx_if.c7
-rw-r--r--vp9/encoder/vp9_onyx_int.h6
8 files changed, 27 insertions, 26 deletions
diff --git a/vp9/common/vp9_entropymode.c b/vp9/common/vp9_entropymode.c
index ed763d10e..e12710913 100644
--- a/vp9/common/vp9_entropymode.c
+++ b/vp9/common/vp9_entropymode.c
@@ -178,7 +178,7 @@ void vp9_init_mode_contexts(VP9_COMMON *pc) {
void vp9_accum_mv_refs(VP9_COMMON *pc,
MB_PREDICTION_MODE m,
const int context) {
- unsigned int (*mv_ref_ct)[4][2] = pc->fc.mv_ref_ct;
+ unsigned int (*mv_ref_ct)[VP9_MVREFS - 1][2] = pc->fc.mv_ref_ct;
if (m == ZEROMV) {
++mv_ref_ct[context][0][0];
@@ -201,8 +201,8 @@ void vp9_accum_mv_refs(VP9_COMMON *pc,
#define MVREF_MAX_UPDATE_FACTOR 128
void vp9_adapt_mode_context(VP9_COMMON *pc) {
int i, j;
- unsigned int (*mv_ref_ct)[4][2] = pc->fc.mv_ref_ct;
- int (*mode_context)[4] = pc->fc.vp9_mode_contexts;
+ unsigned int (*mv_ref_ct)[VP9_MVREFS - 1][2] = pc->fc.mv_ref_ct;
+ int (*mode_context)[VP9_MVREFS - 1] = pc->fc.vp9_mode_contexts;
for (j = 0; j < INTER_MODE_CONTEXTS; j++) {
for (i = 0; i < 4; i++) {
diff --git a/vp9/common/vp9_modecont.c b/vp9/common/vp9_modecont.c
index 86a8fb850..973bb068c 100644
--- a/vp9/common/vp9_modecont.c
+++ b/vp9/common/vp9_modecont.c
@@ -11,12 +11,12 @@
#include "vp9/common/vp9_entropy.h"
-const int vp9_default_mode_contexts[INTER_MODE_CONTEXTS][4] = {
- {2, 173, 34, 229}, // 0 = both zero mv
- {7, 145, 85, 225}, // 1 = one zero mv + one a predicted mv
- {7, 166, 63, 231}, // 2 = two predicted mvs
- {7, 94, 66, 219}, // 3 = one predicted/zero and one new mv
- {8, 64, 46, 213}, // 4 = two new mvs
- {17, 81, 31, 231}, // 5 = one intra neighbour + x
- {25, 29, 30, 246}, // 6 = two intra neighbours
+const int vp9_default_mode_contexts[INTER_MODE_CONTEXTS][VP9_MVREFS - 1] = {
+ {2, 173, 34}, // 0 = both zero mv
+ {7, 145, 85}, // 1 = one zero mv + one a predicted mv
+ {7, 166, 63}, // 2 = two predicted mvs
+ {7, 94, 66}, // 3 = one predicted/zero and one new mv
+ {8, 64, 46}, // 4 = two new mvs
+ {17, 81, 31}, // 5 = one intra neighbour + x
+ {25, 29, 30}, // 6 = two intra neighbours
};
diff --git a/vp9/common/vp9_modecont.h b/vp9/common/vp9_modecont.h
index 30deb72d3..a6c489325 100644
--- a/vp9/common/vp9_modecont.h
+++ b/vp9/common/vp9_modecont.h
@@ -13,6 +13,6 @@
#include "vp9/common/vp9_entropy.h"
-extern const int vp9_default_mode_contexts[INTER_MODE_CONTEXTS][4];
+extern const int vp9_default_mode_contexts[INTER_MODE_CONTEXTS][VP9_MVREFS - 1];
#endif // VP9_COMMON_VP9_MODECONT_H_
diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h
index 946c33dd5..fe5aa01be 100644
--- a/vp9/common/vp9_onyxc_int.h
+++ b/vp9/common/vp9_onyxc_int.h
@@ -79,8 +79,8 @@ typedef struct frame_contexts {
vp9_prob switchable_interp_prob[VP9_SWITCHABLE_FILTERS + 1]
[VP9_SWITCHABLE_FILTERS - 1];
- int vp9_mode_contexts[INTER_MODE_CONTEXTS][4];
- unsigned int mv_ref_ct[INTER_MODE_CONTEXTS][4][2];
+ int vp9_mode_contexts[INTER_MODE_CONTEXTS][VP9_MVREFS - 1];
+ unsigned int mv_ref_ct[INTER_MODE_CONTEXTS][VP9_MVREFS - 1][2];
} FRAME_CONTEXT;
typedef enum {
diff --git a/vp9/decoder/vp9_decodframe.c b/vp9/decoder/vp9_decodframe.c
index b58204df6..3800dff14 100644
--- a/vp9/decoder/vp9_decodframe.c
+++ b/vp9/decoder/vp9_decodframe.c
@@ -1067,7 +1067,7 @@ int vp9_decode_frame(VP9D_COMP *pbi, const uint8_t **p_data_end) {
if (!keyframe) {
int i, j;
for (i = 0; i < INTER_MODE_CONTEXTS; ++i)
- for (j = 0; j < 4; ++j)
+ for (j = 0; j < VP9_MVREFS - 1; ++j)
if (vp9_read(&header_bc, 252))
pc->fc.vp9_mode_contexts[i][j] = vp9_read_prob(&header_bc);
}
diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c
index 102ec6f8a..6809bd358 100644
--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -321,15 +321,15 @@ static void update_refpred_stats(VP9_COMP *cpi) {
// The branch counts table is re-populated during the actual pack stage and in
// the decoder to facilitate backwards update of the context.
static void update_inter_mode_probs(VP9_COMMON *cm,
- int mode_context[INTER_MODE_CONTEXTS][4]) {
+ int mode_context[INTER_MODE_CONTEXTS][VP9_MVREFS - 1]) {
int i, j;
- unsigned int (*mv_ref_ct)[4][2] = cm->fc.mv_ref_ct;
+ unsigned int (*mv_ref_ct)[VP9_MVREFS - 1][2] = cm->fc.mv_ref_ct;
vpx_memcpy(mode_context, cm->fc.vp9_mode_contexts,
sizeof(cm->fc.vp9_mode_contexts));
for (i = 0; i < INTER_MODE_CONTEXTS; i++) {
- for (j = 0; j < 4; j++) {
+ for (j = 0; j < VP9_MVREFS - 1; j++) {
int new_prob, old_cost, new_cost;
// Work out cost of coding branches with the old and optimal probability
@@ -1637,7 +1637,7 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, unsigned long *size) {
// changes in the bitstream.
if (pc->frame_type != KEY_FRAME) {
int i, j;
- int new_context[INTER_MODE_CONTEXTS][4];
+ int new_context[INTER_MODE_CONTEXTS][VP9_MVREFS - 1];
if (!cpi->dummy_packing) {
update_inter_mode_probs(pc, new_context);
} else {
@@ -1647,7 +1647,7 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, unsigned long *size) {
}
for (i = 0; i < INTER_MODE_CONTEXTS; i++) {
- for (j = 0; j < 4; j++) {
+ for (j = 0; j < VP9_MVREFS - 1; j++) {
if (new_context[i][j] != pc->fc.vp9_mode_contexts[i][j]) {
vp9_write(&header_bc, 1, 252);
vp9_write_prob(&header_bc, new_context[i][j]);
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index a38adaade..5dd8fd02b 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -537,7 +537,7 @@ void vp9_update_mode_context_stats(VP9_COMP *cpi) {
// Add in the values for this frame
for (i = 0; i < INTER_MODE_CONTEXTS; i++) {
- for (j = 0; j < 4; j++) {
+ for (j = 0; j < VP9_MVREFS - 1; j++) {
mv_ref_stats[i][j][0] += (int64_t)mv_ref_ct[i][j][0];
mv_ref_stats[i][j][1] += (int64_t)mv_ref_ct[i][j][1];
}
@@ -554,12 +554,13 @@ void print_mode_context(VP9_COMP *cpi) {
int i, j;
fprintf(f, "#include \"vp9_entropy.h\"\n");
- fprintf(f, "const int vp9_mode_contexts[INTER_MODE_CONTEXTS][4] =");
+ fprintf(f,
+ "const int vp9_mode_contexts[INTER_MODE_CONTEXTS][VP9_MVREFS - 1] =");
fprintf(f, "{\n");
for (j = 0; j < INTER_MODE_CONTEXTS; j++) {
fprintf(f, " {/* %d */ ", j);
fprintf(f, " ");
- for (i = 0; i < 4; i++) {
+ for (i = 0; i < VP9_MVREFS - 1; i++) {
int this_prob;
int64_t count = cpi->mv_ref_stats[j][i][0] + cpi->mv_ref_stats[j][i][1];
if (count)
diff --git a/vp9/encoder/vp9_onyx_int.h b/vp9/encoder/vp9_onyx_int.h
index da3179aa2..cb787866e 100644
--- a/vp9/encoder/vp9_onyx_int.h
+++ b/vp9/encoder/vp9_onyx_int.h
@@ -88,8 +88,8 @@ typedef struct {
vp9_prob switchable_interp_prob[VP9_SWITCHABLE_FILTERS + 1]
[VP9_SWITCHABLE_FILTERS - 1];
- int mv_ref_ct[INTER_MODE_CONTEXTS][4][2];
- int vp9_mode_contexts[INTER_MODE_CONTEXTS][4];
+ int mv_ref_ct[INTER_MODE_CONTEXTS][VP9_MVREFS - 1][2];
+ int vp9_mode_contexts[INTER_MODE_CONTEXTS][VP9_MVREFS - 1];
} CODING_CONTEXT;
@@ -615,7 +615,7 @@ typedef struct VP9_COMP {
#endif
#ifdef ENTROPY_STATS
- int64_t mv_ref_stats[INTER_MODE_CONTEXTS][4][2];
+ int64_t mv_ref_stats[INTER_MODE_CONTEXTS][VP9_MVREFS - 1][2];
#endif
} VP9_COMP;