diff options
author | Minghai Shang <minghai@google.com> | 2014-09-18 18:05:07 -0700 |
---|---|---|
committer | Minghai Shang <minghai@google.com> | 2014-09-18 18:05:07 -0700 |
commit | 209ee12110cad5eaeb2b80b18c5b7ae5029c9c80 (patch) | |
tree | 59a753bf5b661bb45e2945c65cb23e0514bac076 /vp9/encoder/vp9_svc_layercontext.h | |
parent | 4f5b2b28924fa63f88449e203905ec88168bbda7 (diff) | |
download | libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.tar libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.tar.gz libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.tar.bz2 libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.zip |
[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer
vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer.
In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder.
Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a
Diffstat (limited to 'vp9/encoder/vp9_svc_layercontext.h')
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/vp9/encoder/vp9_svc_layercontext.h b/vp9/encoder/vp9_svc_layercontext.h index d180d1a8c..47a5456b6 100644 --- a/vp9/encoder/vp9_svc_layercontext.h +++ b/vp9/encoder/vp9_svc_layercontext.h @@ -24,13 +24,16 @@ typedef struct { int target_bandwidth; double framerate; int avg_frame_size; + int max_q; + int min_q; + int scaling_factor_num; + int scaling_factor_den; TWO_PASS twopass; vpx_fixed_buf_t rc_twopass_stats_in; unsigned int current_video_frame_in_layer; int is_key_frame; int frames_from_key_frame; FRAME_TYPE last_frame_type; - vpx_svc_parameters_t svc_params_received; struct lookahead_entry *alt_ref_source; int alt_ref_idx; int gold_ref_idx; @@ -45,6 +48,8 @@ typedef struct { int number_spatial_layers; int number_temporal_layers; + int spatial_layer_to_encode; + // Store scaled source frames to be used for temporal filter to generate // a alt ref frame. YV12_BUFFER_CONFIG scaled_frames[MAX_LAG_BUFFERS]; @@ -88,22 +93,13 @@ void vp9_inc_frame_in_layer(struct VP9_COMP *const cpi); // Check if current layer is key frame in spatial upper layer int vp9_is_upper_layer_key_frame(const struct VP9_COMP *const cpi); -// Copy the source image, flags and svc parameters into a new framebuffer -// with the expected stride/border -int vp9_svc_lookahead_push(const struct VP9_COMP *const cpi, - struct lookahead_ctx *ctx, YV12_BUFFER_CONFIG *src, - int64_t ts_start, int64_t ts_end, - unsigned int flags); - // Get the next source buffer to encode struct lookahead_entry *vp9_svc_lookahead_pop(struct VP9_COMP *const cpi, struct lookahead_ctx *ctx, int drain); -// Get a future source buffer to encode -struct lookahead_entry *vp9_svc_lookahead_peek(struct VP9_COMP *const cpi, - struct lookahead_ctx *ctx, - int index, int copy_params); +// Start a frame and initialize svc parameters +int vp9_svc_start_frame(struct VP9_COMP *const cpi); #ifdef __cplusplus } // extern "C" |