diff options
author | jackychen <jackychen@google.com> | 2016-07-13 15:58:11 -0700 |
---|---|---|
committer | JackyChen <jackychen@google.com> | 2016-07-25 15:11:43 -0700 |
commit | 8ce67d714a6f1be586dcdd26524756d113b203f5 (patch) | |
tree | b8d40f8b040459f1103cf26c9f54da0c9f100bdc /vp9/encoder | |
parent | 82070ae9393b1e79559d81fcf1aa89c2e4aa58ee (diff) | |
download | libvpx-8ce67d714a6f1be586dcdd26524756d113b203f5.tar libvpx-8ce67d714a6f1be586dcdd26524756d113b203f5.tar.gz libvpx-8ce67d714a6f1be586dcdd26524756d113b203f5.tar.bz2 libvpx-8ce67d714a6f1be586dcdd26524756d113b203f5.zip |
vp9 svc: Enable different speed setting for each spatial layer.
This change only affects 1 pass cbr svc mode.
Change-Id: If0da87bb200f7e7762755340c40c8157cc7a16ca
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.c | 7 | ||||
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index 824146fe7..a9a06a423 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -135,7 +135,7 @@ void vp9_init_layer_context(VP9_COMP *const cpi) { CHECK_MEM_ERROR(cm, lc->consec_zero_mv, vpx_malloc(consec_zero_mv_size)); memset(lc->consec_zero_mv, 0, consec_zero_mv_size); - } + } } } @@ -293,6 +293,11 @@ void vp9_restore_layer_context(VP9_COMP *const cpi) { cpi->twopass = lc->twopass; cpi->oxcf.target_bandwidth = lc->target_bandwidth; cpi->alt_ref_source = lc->alt_ref_source; + // Check if it is one_pass_cbr_svc mode and lc->speed > 0 (real-time mode + // does not use speed = 0). + if (is_one_pass_cbr_svc(cpi) && lc->speed > 0) { + cpi->oxcf.speed = lc->speed; + } // Reset the frames_since_key and frames_to_key counters to their values // before the layer restore. Keep these defined for the stream (not layer). if (cpi->svc.number_temporal_layers > 1 || diff --git a/vp9/encoder/vp9_svc_layercontext.h b/vp9/encoder/vp9_svc_layercontext.h index 39094fe02..0fdeb06ca 100644 --- a/vp9/encoder/vp9_svc_layercontext.h +++ b/vp9/encoder/vp9_svc_layercontext.h @@ -46,6 +46,7 @@ typedef struct { signed char *map; uint8_t *last_coded_q_map; uint8_t *consec_zero_mv; + uint8_t speed; } LAYER_CONTEXT; typedef struct { |