From 51b3035fc339acbbe0fa039af0d942d78879a4c8 Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev Date: Tue, 8 Apr 2014 18:59:09 -0700 Subject: [PATCH] Adding vp9_inc_frame_in_layer() function. Change-Id: Idf612c772440158cd1645623241c51ab0d57405c --- vp9/encoder/vp9_onyx_if.c | 11 ++--------- vp9/encoder/vp9_svc_layercontext.c | 7 +++++++ vp9/encoder/vp9_svc_layercontext.h | 3 +++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 67df43515..3619ec89e 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -2756,15 +2756,8 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, // Don't increment frame counters if this was an altref buffer // update not a real frame ++cm->current_video_frame; - if (cpi->use_svc) { - LAYER_CONTEXT *lc; - if (cpi->svc.number_temporal_layers > 1) { - lc = &cpi->svc.layer_context[cpi->svc.temporal_layer_id]; - } else { - lc = &cpi->svc.layer_context[cpi->svc.spatial_layer_id]; - } - ++lc->current_video_frame_in_layer; - } + if (cpi->use_svc) + vp9_inc_frame_in_layer(&cpi->svc); } // restore prev_mi diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index 4cae75300..c2b6263f0 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -215,3 +215,10 @@ void vp9_init_second_pass_spatial_svc(VP9_COMP *cpi) { } svc->spatial_layer_id = 0; } + +void vp9_inc_frame_in_layer(SVC *svc) { + LAYER_CONTEXT *const lc = (svc->number_temporal_layers > 1) + ? &svc->layer_context[svc->temporal_layer_id] + : &svc->layer_context[svc->spatial_layer_id]; + ++lc->current_video_frame_in_layer; +} diff --git a/vp9/encoder/vp9_svc_layercontext.h b/vp9/encoder/vp9_svc_layercontext.h index e859a2fd5..2abed3055 100644 --- a/vp9/encoder/vp9_svc_layercontext.h +++ b/vp9/encoder/vp9_svc_layercontext.h @@ -70,6 +70,9 @@ void vp9_save_layer_context(struct VP9_COMP *const cpi); // Initialize second pass rc for spatial svc. void vp9_init_second_pass_spatial_svc(struct VP9_COMP *cpi); +// Increment number of video frames in layer +void vp9_inc_frame_in_layer(SVC *svc); + #ifdef __cplusplus } // extern "C" #endif -- 2.40.0