Commit f64e1404 authored by Paul Wilkins's avatar Paul Wilkins Committed by Gerrit Code Review
Browse files

Merge "Prevent parameters that can cause invalid ARF groups."

parents 372336d1 b814e2d8
......@@ -867,9 +867,10 @@ static INLINE int denoise_svc(const struct VP9_COMP *const cpi) {
}
#endif
#define MIN_LOOKAHEAD_FOR_ARFS 4
static INLINE int is_altref_enabled(const VP9_COMP *const cpi) {
return !(cpi->oxcf.mode == REALTIME && cpi->oxcf.rc_mode == VPX_CBR) &&
cpi->oxcf.lag_in_frames > 0 &&
cpi->oxcf.lag_in_frames >= MIN_LOOKAHEAD_FOR_ARFS &&
(cpi->oxcf.enable_auto_arf &&
(!is_two_pass_svc(cpi) ||
cpi->oxcf.ss_enable_auto_arf[cpi->svc.spatial_layer_id]));
......
......@@ -191,6 +191,13 @@ static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx,
(MAX_LAG_BUFFERS - 1));
}
// For formation of valid ARF groups lag_in _frames should be 0 or greater
// than the max_gf_interval + 2
if (cfg->g_lag_in_frames > 0 && extra_cfg->max_gf_interval > 0 &&
cfg->g_lag_in_frames < extra_cfg->max_gf_interval + 2) {
ERROR("Set lag in frames to 0 (low delay) or >= (max-gf-interval + 2)");
}
if (cfg->rc_resize_allowed == 1) {
RANGE_CHECK(cfg, rc_scaled_width, 0, cfg->g_w);
RANGE_CHECK(cfg, rc_scaled_height, 0, cfg->g_h);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment