summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMinghai Shang <minghai@google.com>2014-02-27 10:51:26 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-02-27 10:51:26 -0800
commit3a8deeb8b66b4c5f1d4c7f46c3c868173a1ebb35 (patch)
tree977a298376711a1a4bad2ba9ab5a8d05de6f34c1 /vp9
parent20da0653f4e28b750fafdef648e5d4d9f8ebdab0 (diff)
parent8c196b27b317e8c588e7af82a9a38cd48b4cb08b (diff)
downloadlibvpx-3a8deeb8b66b4c5f1d4c7f46c3c868173a1ebb35.tar
libvpx-3a8deeb8b66b4c5f1d4c7f46c3c868173a1ebb35.tar.gz
libvpx-3a8deeb8b66b4c5f1d4c7f46c3c868173a1ebb35.tar.bz2
libvpx-3a8deeb8b66b4c5f1d4c7f46c3c868173a1ebb35.zip
Merge "[svc] Add target bitrate settings for each layers."
Diffstat (limited to 'vp9')
-rw-r--r--vp9/common/vp9_onyx.h2
-rw-r--r--vp9/vp9_cx_iface.c8
2 files changed, 10 insertions, 0 deletions
diff --git a/vp9/common/vp9_onyx.h b/vp9/common/vp9_onyx.h
index ab27ca523..222086886 100644
--- a/vp9/common/vp9_onyx.h
+++ b/vp9/common/vp9_onyx.h
@@ -149,6 +149,8 @@ extern "C" {
// Spatial and temporal scalability.
int ss_number_layers; // Number of spatial layers.
int ts_number_layers; // Number of temporal layers.
+ // Bitrate allocation for spatial layers.
+ int ss_target_bitrate[VPX_SS_MAX_LAYERS];
// Bitrate allocation (CBR mode) and framerate factor, for temporal layers.
int ts_target_bitrate[VPX_TS_MAX_LAYERS];
int ts_rate_decimator[VPX_TS_MAX_LAYERS];
diff --git a/vp9/vp9_cx_iface.c b/vp9/vp9_cx_iface.c
index a4162e942..d7713fd3f 100644
--- a/vp9/vp9_cx_iface.c
+++ b/vp9/vp9_cx_iface.c
@@ -355,6 +355,13 @@ static vpx_codec_err_t set_vp9e_config(VP9_CONFIG *oxcf,
oxcf->ss_number_layers = cfg.ss_number_layers;
+ if (oxcf->ss_number_layers > 1) {
+ memcpy(oxcf->ss_target_bitrate, cfg.ss_target_bitrate,
+ sizeof(cfg.ss_target_bitrate));
+ } else if (oxcf->ss_number_layers == 1) {
+ oxcf->ss_target_bitrate[0] = oxcf->target_bandwidth;
+ }
+
oxcf->ts_number_layers = cfg.ts_number_layers;
if (oxcf->ts_number_layers > 1) {
@@ -1160,6 +1167,7 @@ static vpx_codec_enc_cfg_map_t vp9e_usage_cfg_map[] = {
9999, /* kf_max_dist */
VPX_SS_DEFAULT_LAYERS, /* ss_number_layers */
+ {0}, /* ss_target_bitrate */
1, /* ts_number_layers */
{0}, /* ts_target_bitrate */
{0}, /* ts_rate_decimator */