shithub: libvpx

Download patch

ref: 922af194bcba1b5e7ea0a5e84deda59f424e9d77
parent: 001baa5dd8bce66707a123de687a38c4da45cf9a
author: Jingning Han <jingning@google.com>
date: Tue Jun 16 10:43:21 EDT 2015

Add dynamic range comment to vp9_int_pro_row

Change-Id: Icaa643568159c4e2db24eef42090b002ae02a45e

--- a/vp9/encoder/vp9_avg.c
+++ b/vp9/encoder/vp9_avg.c
@@ -128,15 +128,18 @@
 }
 
 // Integer projection onto row vectors.
-void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref,
+// height: value range {16, 32, 64}.
+void vp9_int_pro_row_c(int16_t hbuf[16], uint8_t const *ref,
                        const int ref_stride, const int height) {
   int idx;
-  const int norm_factor = MAX(8, height >> 1);
+  const int norm_factor = height >> 1;
   for (idx = 0; idx < 16; ++idx) {
     int i;
     hbuf[idx] = 0;
+    // hbuf[idx]: 14 bit, dynamic range [0, 16320].
     for (i = 0; i < height; ++i)
       hbuf[idx] += ref[i * ref_stride];
+    // hbuf[idx]: 9 bit, dynamic range [0, 510].
     hbuf[idx] /= norm_factor;
     ++ref;
   }