shithub: libvpx

Download patch

ref: 22dcfa80aa1ad33951b9fb0171e023c2a209d57d
parent: c3f095c8b3c6eac510e892a7624162da1a655593
author: Marco <marpan@google.com>
date: Tue Feb 7 06:46:36 EST 2017

vp9: Non-rd mode: use simple block_yrd for 8 bit high bitdepth builds

Temporary fix until optimization work for block_yrd is completed.
This essentially reverts back to the state before the change:
https://chromium-review.googlesource.com/c/433821/

Compression loss is about ~5-6% on RTC set.
Speed-up (from using this simple/model-based block_yrd) over the low
bitdepth builds (which uses more complex block_yrd) is ~5% on 720p.

Change-Id: Ie0af9eb0d111e5595f587870c44f08317403b8d8

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -636,15 +636,17 @@
 #if CONFIG_VP9_HIGHBITDEPTH
   // TODO(jingning): Implement the high bit-depth Hadamard transforms and
   // remove this check condition.
-  if (xd->bd != 8) {
-    unsigned int var_y, sse_y;
-    (void)tx_size;
-    model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc->rate, &this_rdc->dist,
-                      &var_y, &sse_y);
-    *sse = INT_MAX;
-    *skippable = 0;
-    return;
-  }
+  // TODO(marpan): Disable this for 8 bit once optimizations for the functions
+  // below are merged in.
+  // if (xd->bd != 8) {
+  unsigned int var_y, sse_y;
+  (void)tx_size;
+  model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc->rate, &this_rdc->dist, &var_y,
+                    &sse_y);
+  *sse = INT_MAX;
+  *skippable = 0;
+  return;
+// }
 #endif
 
   (void)cpi;