Index: source/libvpx/vp9/encoder/vp9_svc_layercontext.h |
=================================================================== |
--- source/libvpx/vp9/encoder/vp9_svc_layercontext.h (revision 292072) |
+++ source/libvpx/vp9/encoder/vp9_svc_layercontext.h (working copy) |
@@ -24,18 +24,22 @@ |
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; |
int has_alt_frame; |
size_t layer_size; |
+ struct vpx_psnr_pkt psnr_pkt; |
} LAYER_CONTEXT; |
typedef struct { |
@@ -44,6 +48,8 @@ |
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]; |
@@ -87,22 +93,13 @@ |
// 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" |