shithub: libvpx

Download patch

ref: 8726752cb641efc1dc3f14e052f9ae99f93ec8c3
parent: 3fe7b647226df3609ec61c53f4a1528cc0a56d42
parent: ecff8d71ab7e823beb47dc4f2db25424c9d6d0dc
author: Dmitry Kovalev <dkovalev@google.com>
date: Thu Apr 18 10:39:14 EDT 2013

Merge "Adding DEFAULT_PRED_PROB_{0, 1, 2} constants." into experimental

--- a/vp9/common/vp9_alloccommon.c
+++ b/vp9/common/vp9_alloccommon.c
@@ -85,7 +85,7 @@
   oci->new_fb_idx = NUM_YV12_BUFFERS - 1;
   oci->fb_idx_ref_cnt[oci->new_fb_idx] = 1;
 
-  for (i = 0; i < 3; i++)
+  for (i = 0; i < ALLOWED_REFS_PER_FRAME; i++)
     oci->active_ref_idx[i] = i;
 
   for (i = 0; i < NUM_REF_FRAMES; i++) {
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -26,6 +26,10 @@
 #define MB_FEATURE_TREE_PROBS   3
 #define PREDICTION_PROBS 3
 
+#define DEFAULT_PRED_PROB_0 120
+#define DEFAULT_PRED_PROB_1 80
+#define DEFAULT_PRED_PROB_2 40
+
 #define MBSKIP_CONTEXTS 3
 
 #define MAX_MB_SEGMENTS         4
--- a/vp9/common/vp9_entropymode.c
+++ b/vp9/common/vp9_entropymode.c
@@ -364,9 +364,9 @@
 #if CONFIG_COMP_INTERINTRA_PRED
   x->fc.interintra_prob = VP9_DEF_INTERINTRA_PROB;
 #endif
-  x->ref_pred_probs[0] = 120;
-  x->ref_pred_probs[1] = 80;
-  x->ref_pred_probs[2] = 40;
+  x->ref_pred_probs[0] = DEFAULT_PRED_PROB_0;
+  x->ref_pred_probs[1] = DEFAULT_PRED_PROB_1;
+  x->ref_pred_probs[2] = DEFAULT_PRED_PROB_2;
 }
 
 
--- a/vp9/decoder/vp9_decodframe.c
+++ b/vp9/decoder/vp9_decodframe.c
@@ -1213,9 +1213,9 @@
   // reference frame
   if (pc->frame_type == KEY_FRAME) {
     // Set the prediction probabilities to defaults
-    pc->ref_pred_probs[0] = 120;
-    pc->ref_pred_probs[1] = 80;
-    pc->ref_pred_probs[2] = 40;
+    pc->ref_pred_probs[0] = DEFAULT_PRED_PROB_0;
+    pc->ref_pred_probs[1] = DEFAULT_PRED_PROB_1;
+    pc->ref_pred_probs[2] = DEFAULT_PRED_PROB_2;
   } else {
     int i;
     for (i = 0; i < PREDICTION_PROBS; ++i)
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -3974,13 +3974,13 @@
   cm->frame_type = INTER_FRAME;
   cm->frame_flags = *frame_flags;
 
-  /* Reset the frame pointers to the current frame size */
+  // Reset the frame pointers to the current frame size
   vp8_yv12_realloc_frame_buffer(&cm->yv12_fb[cm->new_fb_idx],
                                 cm->width, cm->height,
                                 VP9BORDERINPIXELS);
 
-  /* Calculate scaling factors for each of the 3 available references */
-  for (i = 0; i < 3; ++i) {
+  // Calculate scaling factors for each of the 3 available references
+  for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
     if (cm->active_ref_idx[i] >= NUM_YV12_BUFFERS) {
       memset(&cm->active_ref_scale[i], 0, sizeof(cm->active_ref_scale[i]));
       continue;