shithub: libvpx

Download patch

ref: 2d50c8498d1b4e03fa249d83fd88b148bca590e5
parent: 9fe88870c5e3ef0a7aa128226cb941cd2d778c33
parent: 75e4377d81265e756d2351a01f76a76aefea8cd5
author: Dmitry Kovalev <dkovalev@google.com>
date: Sun Nov 24 11:08:29 EST 2013

Merge "Using partition counts from FRAME_COUNTS struct in the encoder."

--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -1391,8 +1391,7 @@
 
     for (i = 0; i < PARTITION_CONTEXTS; ++i)
       prob_diff_update(vp9_partition_tree, fc->partition_prob[i],
-                       (unsigned int *)cpi->partition_count[i], PARTITION_TYPES,
-                       &header_bc);
+                       cm->counts.partition[i], PARTITION_TYPES, &header_bc);
 
     vp9_write_nmv_probs(cpi, cm->allow_high_precision_mv, &header_bc);
   }
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -850,18 +850,18 @@
   switch (partition) {
     case PARTITION_NONE:
       if (output_enabled && bsize >= BLOCK_8X8)
-        cpi->partition_count[pl][PARTITION_NONE]++;
+        cm->counts.partition[pl][PARTITION_NONE]++;
       encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, c1, -1);
       break;
     case PARTITION_VERT:
       if (output_enabled)
-        cpi->partition_count[pl][PARTITION_VERT]++;
+        cm->counts.partition[pl][PARTITION_VERT]++;
       encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, c1, 0);
       encode_b(cpi, tile, tp, mi_row, mi_col + bs, output_enabled, c1, 1);
       break;
     case PARTITION_HORZ:
       if (output_enabled)
-        cpi->partition_count[pl][PARTITION_HORZ]++;
+        cm->counts.partition[pl][PARTITION_HORZ]++;
       encode_b(cpi, tile, tp, mi_row, mi_col, output_enabled, c1, 0);
       encode_b(cpi, tile, tp, mi_row + bs, mi_col, output_enabled, c1, 1);
       break;
@@ -869,7 +869,7 @@
       subsize = get_subsize(bsize, PARTITION_SPLIT);
 
       if (output_enabled)
-        cpi->partition_count[pl][PARTITION_SPLIT]++;
+        cm->counts.partition[pl][PARTITION_SPLIT]++;
 
       for (i = 0; i < 4; i++) {
         const int x_idx = i & 1, y_idx = i >> 1;
@@ -1888,7 +1888,7 @@
   vp9_zero(cpi->y_mode_count);
   vp9_zero(cpi->y_uv_mode_count);
   vp9_zero(cm->counts.inter_mode);
-  vp9_zero(cpi->partition_count);
+  vp9_zero(cm->counts.partition);
   vp9_zero(cpi->intra_inter_count);
   vp9_zero(cpi->comp_inter_count);
   vp9_zero(cpi->single_ref_count);
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -3053,7 +3053,6 @@
 
     vp9_copy(counts->y_mode, cpi->y_mode_count);
     vp9_copy(counts->uv_mode, cpi->y_uv_mode_count);
-    vp9_copy(counts->partition, cpi->partition_count);
     vp9_copy(counts->intra_inter, cpi->intra_inter_count);
     vp9_copy(counts->comp_inter, cpi->comp_inter_count);
     vp9_copy(counts->single_ref, cpi->single_ref_count);
--- a/vp9/encoder/vp9_onyx_int.h
+++ b/vp9/encoder/vp9_onyx_int.h
@@ -467,7 +467,6 @@
 
   int y_mode_count[4][INTRA_MODES];
   int y_uv_mode_count[INTRA_MODES][INTRA_MODES];
-  unsigned int partition_count[PARTITION_CONTEXTS][PARTITION_TYPES];
 
   nmv_context_counts NMVcount;
 
--