shithub: libvpx

Download patch

ref: 830fa866a5f27c0b62e901b556bd05a2878a504a
parent: 063e4a2914d0e174be758f8282ec7110aefc892f
parent: 3a986eac5734d15c24fb4e2421aaebf5f558a0f6
author: Paul Wilkins <[email protected]>
date: Fri Jul 22 05:27:34 EDT 2016

Merge "Sample points to reduce encode overhead."

--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -689,8 +689,9 @@
   int stride = x->plane[0].src.stride;
   int block_noise = 0;
 
-  for (h = 0; h < height; ++h) {
-    for (w = 0; w < width; ++w) {
+  // Sampled points to reduce cost overhead.
+  for (h = 0; h < height; h += 2) {
+    for (w = 0; w < width; w += 2) {
 #if CONFIG_VP9_HIGHBITDEPTH
       if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH)
         block_noise += fp_highbd_estimate_point_noise(src_ptr, stride);
@@ -703,7 +704,7 @@
     }
     src_ptr += (stride - width);
   }
-  return block_noise;
+  return block_noise << 2;  // Scale << 2 to account for sampling.
 }
 
 #define INVALID_ROW -1