Index: source/libvpx/vp9/encoder/vp9_encodemv.c |
=================================================================== |
--- source/libvpx/vp9/encoder/vp9_encodemv.c (revision 219822) |
+++ source/libvpx/vp9/encoder/vp9_encodemv.c (working copy) |
@@ -20,10 +20,6 @@ |
extern unsigned int active_section; |
#endif |
-#ifdef NMV_STATS |
-nmv_context_counts tnmvcounts; |
-#endif |
- |
static void encode_mv_component(vp9_writer* w, int comp, |
const nmv_component* mvcomp, int usehp) { |
int offset; |
@@ -218,152 +214,6 @@ |
} |
} |
-#ifdef NMV_STATS |
-void init_nmvstats() { |
- vp9_zero(tnmvcounts); |
-} |
- |
-void print_nmvstats() { |
- nmv_context prob; |
- unsigned int branch_ct_joint[MV_JOINTS - 1][2]; |
- unsigned int branch_ct_sign[2][2]; |
- unsigned int branch_ct_classes[2][MV_CLASSES - 1][2]; |
- unsigned int branch_ct_class0[2][CLASS0_SIZE - 1][2]; |
- unsigned int branch_ct_bits[2][MV_OFFSET_BITS][2]; |
- unsigned int branch_ct_class0_fp[2][CLASS0_SIZE][4 - 1][2]; |
- unsigned int branch_ct_fp[2][4 - 1][2]; |
- unsigned int branch_ct_class0_hp[2][2]; |
- unsigned int branch_ct_hp[2][2]; |
- int i, j, k; |
- counts_to_nmv_context(&tnmvcounts, &prob, 1, |
- branch_ct_joint, branch_ct_sign, branch_ct_classes, |
- branch_ct_class0, branch_ct_bits, |
- branch_ct_class0_fp, branch_ct_fp, |
- branch_ct_class0_hp, branch_ct_hp); |
- |
- printf("\nCounts =\n { "); |
- for (j = 0; j < MV_JOINTS; ++j) |
- printf("%d, ", tnmvcounts.joints[j]); |
- printf("},\n"); |
- for (i = 0; i < 2; ++i) { |
- printf(" {\n"); |
- printf(" %d/%d,\n", tnmvcounts.comps[i].sign[0], |
- tnmvcounts.comps[i].sign[1]); |
- printf(" { "); |
- for (j = 0; j < MV_CLASSES; ++j) |
- printf("%d, ", tnmvcounts.comps[i].classes[j]); |
- printf("},\n"); |
- printf(" { "); |
- for (j = 0; j < CLASS0_SIZE; ++j) |
- printf("%d, ", tnmvcounts.comps[i].class0[j]); |
- printf("},\n"); |
- printf(" { "); |
- for (j = 0; j < MV_OFFSET_BITS; ++j) |
- printf("%d/%d, ", tnmvcounts.comps[i].bits[j][0], |
- tnmvcounts.comps[i].bits[j][1]); |
- printf("},\n"); |
- |
- printf(" {"); |
- for (j = 0; j < CLASS0_SIZE; ++j) { |
- printf("{"); |
- for (k = 0; k < 4; ++k) |
- printf("%d, ", tnmvcounts.comps[i].class0_fp[j][k]); |
- printf("}, "); |
- } |
- printf("},\n"); |
- |
- printf(" { "); |
- for (j = 0; j < 4; ++j) |
- printf("%d, ", tnmvcounts.comps[i].fp[j]); |
- printf("},\n"); |
- |
- printf(" %d/%d,\n", |
- tnmvcounts.comps[i].class0_hp[0], |
- tnmvcounts.comps[i].class0_hp[1]); |
- printf(" %d/%d,\n", |
- tnmvcounts.comps[i].hp[0], |
- tnmvcounts.comps[i].hp[1]); |
- printf(" },\n"); |
- } |
- |
- printf("\nProbs =\n { "); |
- for (j = 0; j < MV_JOINTS - 1; ++j) |
- printf("%d, ", prob.joints[j]); |
- printf("},\n"); |
- for (i=0; i< 2; ++i) { |
- printf(" {\n"); |
- printf(" %d,\n", prob.comps[i].sign); |
- printf(" { "); |
- for (j = 0; j < MV_CLASSES - 1; ++j) |
- printf("%d, ", prob.comps[i].classes[j]); |
- printf("},\n"); |
- printf(" { "); |
- for (j = 0; j < CLASS0_SIZE - 1; ++j) |
- printf("%d, ", prob.comps[i].class0[j]); |
- printf("},\n"); |
- printf(" { "); |
- for (j = 0; j < MV_OFFSET_BITS; ++j) |
- printf("%d, ", prob.comps[i].bits[j]); |
- printf("},\n"); |
- printf(" { "); |
- for (j = 0; j < CLASS0_SIZE; ++j) { |
- printf("{"); |
- for (k = 0; k < 3; ++k) |
- printf("%d, ", prob.comps[i].class0_fp[j][k]); |
- printf("}, "); |
- } |
- printf("},\n"); |
- printf(" { "); |
- for (j = 0; j < 3; ++j) |
- printf("%d, ", prob.comps[i].fp[j]); |
- printf("},\n"); |
- |
- printf(" %d,\n", prob.comps[i].class0_hp); |
- printf(" %d,\n", prob.comps[i].hp); |
- printf(" },\n"); |
- } |
-} |
- |
-static void add_nmvcount(nmv_context_counts* const dst, |
- const nmv_context_counts* const src) { |
- int i, j, k; |
- for (j = 0; j < MV_JOINTS; ++j) { |
- dst->joints[j] += src->joints[j]; |
- } |
- for (i = 0; i < 2; ++i) { |
- for (j = 0; j < MV_VALS; ++j) { |
- dst->comps[i].mvcount[j] += src->comps[i].mvcount[j]; |
- } |
- dst->comps[i].sign[0] += src->comps[i].sign[0]; |
- dst->comps[i].sign[1] += src->comps[i].sign[1]; |
- for (j = 0; j < MV_CLASSES; ++j) { |
- dst->comps[i].classes[j] += src->comps[i].classes[j]; |
- } |
- for (j = 0; j < CLASS0_SIZE; ++j) { |
- dst->comps[i].class0[j] += src->comps[i].class0[j]; |
- } |
- for (j = 0; j < MV_OFFSET_BITS; ++j) { |
- dst->comps[i].bits[j][0] += src->comps[i].bits[j][0]; |
- dst->comps[i].bits[j][1] += src->comps[i].bits[j][1]; |
- } |
- } |
- for (i = 0; i < 2; ++i) { |
- for (j = 0; j < CLASS0_SIZE; ++j) { |
- for (k = 0; k < 4; ++k) { |
- dst->comps[i].class0_fp[j][k] += src->comps[i].class0_fp[j][k]; |
- } |
- } |
- for (j = 0; j < 4; ++j) { |
- dst->comps[i].fp[j] += src->comps[i].fp[j]; |
- } |
- dst->comps[i].class0_hp[0] += src->comps[i].class0_hp[0]; |
- dst->comps[i].class0_hp[1] += src->comps[i].class0_hp[1]; |
- dst->comps[i].hp[0] += src->comps[i].hp[0]; |
- dst->comps[i].hp[1] += src->comps[i].hp[1]; |
- } |
-} |
-#endif |
- |
void vp9_write_nmv_probs(VP9_COMP* const cpi, int usehp, vp9_writer* const bc) { |
int i, j; |
nmv_context prob; |
@@ -378,10 +228,6 @@ |
unsigned int branch_ct_hp[2][2]; |
nmv_context *mvc = &cpi->common.fc.nmvc; |
-#ifdef NMV_STATS |
- if (!cpi->dummy_packing) |
- add_nmvcount(&tnmvcounts, &cpi->NMVcount); |
-#endif |
counts_to_nmv_context(&cpi->NMVcount, &prob, usehp, |
branch_ct_joint, branch_ct_sign, branch_ct_classes, |
branch_ct_class0, branch_ct_bits, |
@@ -390,22 +236,22 @@ |
for (j = 0; j < MV_JOINTS - 1; ++j) |
update_mv(bc, branch_ct_joint[j], &mvc->joints[j], prob.joints[j], |
- VP9_NMV_UPDATE_PROB); |
+ NMV_UPDATE_PROB); |
for (i = 0; i < 2; ++i) { |
update_mv(bc, branch_ct_sign[i], &mvc->comps[i].sign, |
- prob.comps[i].sign, VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].sign, NMV_UPDATE_PROB); |
for (j = 0; j < MV_CLASSES - 1; ++j) |
update_mv(bc, branch_ct_classes[i][j], &mvc->comps[i].classes[j], |
- prob.comps[i].classes[j], VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].classes[j], NMV_UPDATE_PROB); |
for (j = 0; j < CLASS0_SIZE - 1; ++j) |
update_mv(bc, branch_ct_class0[i][j], &mvc->comps[i].class0[j], |
- prob.comps[i].class0[j], VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].class0[j], NMV_UPDATE_PROB); |
for (j = 0; j < MV_OFFSET_BITS; ++j) |
update_mv(bc, branch_ct_bits[i][j], &mvc->comps[i].bits[j], |
- prob.comps[i].bits[j], VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].bits[j], NMV_UPDATE_PROB); |
} |
for (i = 0; i < 2; ++i) { |
@@ -414,20 +260,20 @@ |
for (k = 0; k < 3; ++k) |
update_mv(bc, branch_ct_class0_fp[i][j][k], |
&mvc->comps[i].class0_fp[j][k], |
- prob.comps[i].class0_fp[j][k], VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].class0_fp[j][k], NMV_UPDATE_PROB); |
} |
for (j = 0; j < 3; ++j) |
update_mv(bc, branch_ct_fp[i][j], &mvc->comps[i].fp[j], |
- prob.comps[i].fp[j], VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].fp[j], NMV_UPDATE_PROB); |
} |
if (usehp) { |
for (i = 0; i < 2; ++i) { |
update_mv(bc, branch_ct_class0_hp[i], &mvc->comps[i].class0_hp, |
- prob.comps[i].class0_hp, VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].class0_hp, NMV_UPDATE_PROB); |
update_mv(bc, branch_ct_hp[i], &mvc->comps[i].hp, |
- prob.comps[i].hp, VP9_NMV_UPDATE_PROB); |
+ prob.comps[i].hp, NMV_UPDATE_PROB); |
} |
} |
} |
@@ -478,7 +324,7 @@ |
const int num_4x4_blocks_high = num_4x4_blocks_high_lookup[mbmi->sb_type]; |
int idx, idy; |
- if (mbmi->sb_type < BLOCK_SIZE_SB8X8) { |
+ if (mbmi->sb_type < BLOCK_8X8) { |
PARTITION_INFO *pi = x->partition_info; |
for (idy = 0; idy < 2; idy += num_4x4_blocks_high) { |
for (idx = 0; idx < 2; idx += num_4x4_blocks_wide) { |