]> granicus.if.org Git - libvpx/commitdiff
vp9: Non-rd mode: use simple block_yrd for 8 bit high bitdepth builds
authorMarco <marpan@google.com>
Tue, 7 Feb 2017 19:46:36 +0000 (11:46 -0800)
committerMarco <marpan@google.com>
Fri, 10 Feb 2017 18:15:35 +0000 (10:15 -0800)
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

vp9/encoder/vp9_pickmode.c

index 8126a0a71974d8595651fc43fda497abe48da554..cff8a3fa955c9eba7c9d25253c2fd99a68a854bb 100644 (file)
@@ -636,15 +636,17 @@ static void block_yrd(VP9_COMP *cpi, MACROBLOCK *x, RD_COST *this_rdc,
 #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;