]> granicus.if.org Git - libvpx/commitdiff
Fix settings for num of tiles in samples & tests.
authorJerome Jiang <jianj@google.com>
Thu, 5 Apr 2018 21:45:06 +0000 (14:45 -0700)
committerJerome Jiang <jianj@google.com>
Fri, 6 Apr 2018 19:52:53 +0000 (12:52 -0700)
The control is set by log2 of number of threads (such that the number of
tiles is the same of number of threads).

Thus it should be log2(num_threads) instead of (num_threads >> 1).

Change-Id: I2ccec5557e660048dad3e561534e1c74fc8eec1f

examples/vp9_spatial_svc_encoder.c
examples/vpx_temporal_svc_encoder.c
test/svc_datarate_test.cc
test/vp9_datarate_test.cc

index 4b3f8530ceae573dc1bd6943536c956274e518a1..747f79ffba171402f21dbcf1ae21baa8766d6768 100644 (file)
@@ -714,7 +714,7 @@ int main(int argc, const char **argv) {
   if (svc_ctx.speed != -1)
     vpx_codec_control(&codec, VP8E_SET_CPUUSED, svc_ctx.speed);
   if (svc_ctx.threads) {
-    vpx_codec_control(&codec, VP9E_SET_TILE_COLUMNS, (svc_ctx.threads >> 1));
+    vpx_codec_control(&codec, VP9E_SET_TILE_COLUMNS, get_msb(svc_ctx.threads));
     if (svc_ctx.threads > 1)
       vpx_codec_control(&codec, VP9E_SET_ROW_MT, 1);
     else
index 4a32c22d00de70318277bf9d4e806b78b3bf5135..ea475fbf9c622fc64c454dfe09ecf149e6afe23b 100644 (file)
@@ -22,6 +22,7 @@
 #include "../vpx_ports/vpx_timer.h"
 #include "vpx/vp8cx.h"
 #include "vpx/vpx_encoder.h"
+#include "vpx_ports/bitops.h"
 
 #include "../tools_common.h"
 #include "../video_writer.h"
@@ -810,7 +811,7 @@ int main(int argc, char **argv) {
     vpx_codec_control(&codec, VP9E_SET_NOISE_SENSITIVITY, kVp9DenoiserOff);
     vpx_codec_control(&codec, VP8E_SET_STATIC_THRESHOLD, 1);
     vpx_codec_control(&codec, VP9E_SET_TUNE_CONTENT, 0);
-    vpx_codec_control(&codec, VP9E_SET_TILE_COLUMNS, (cfg.g_threads >> 1));
+    vpx_codec_control(&codec, VP9E_SET_TILE_COLUMNS, get_msb(cfg.g_threads));
 #if ROI_MAP
     set_roi_map(encoder->name, &cfg, &roi);
     if (vpx_codec_control(&codec, VP9E_SET_ROI_MAP, &roi))
index 2340fa49e8c5dc4e7f7bcaced777221f126d949e..0692fed80263a3b15da16bfafc33b2dc5d979b0e 100644 (file)
@@ -15,6 +15,7 @@
 #include "test/util.h"
 #include "test/y4m_video_source.h"
 #include "vpx/vpx_codec.h"
+#include "vpx_ports/bitops.h"
 
 namespace {
 
@@ -200,7 +201,7 @@ class DatarateOnePassCbrSvc
       encoder->Control(VP8E_SET_CPUUSED, speed_setting_);
       encoder->Control(VP9E_SET_TILE_COLUMNS, 0);
       encoder->Control(VP8E_SET_MAX_INTRA_BITRATE_PCT, 300);
-      encoder->Control(VP9E_SET_TILE_COLUMNS, (cfg_.g_threads >> 1));
+      encoder->Control(VP9E_SET_TILE_COLUMNS, get_msb(cfg_.g_threads));
       encoder->Control(VP9E_SET_ROW_MT, 1);
       encoder->Control(VP8E_SET_STATIC_THRESHOLD, 1);
       encoder->Control(VP9E_SET_TUNE_CONTENT, tune_content_);
index fac4cf362fa29790394f25ea6f464eb8fddebf91..539c350cb235e54948cf36fd0e748923c834cf47 100644 (file)
@@ -15,6 +15,7 @@
 #include "test/util.h"
 #include "test/y4m_video_source.h"
 #include "vpx/vpx_codec.h"
+#include "vpx_ports/bitops.h"
 
 namespace {
 
@@ -129,7 +130,7 @@ class DatarateTestVP9Large
     }
 
     encoder->Control(VP9E_SET_NOISE_SENSITIVITY, denoiser_on_);
-    encoder->Control(VP9E_SET_TILE_COLUMNS, (cfg_.g_threads >> 1));
+    encoder->Control(VP9E_SET_TILE_COLUMNS, get_msb(cfg_.g_threads));
     encoder->Control(VP9E_SET_FRAME_PARALLEL_DECODING,
                      frame_parallel_decoding_mode_);