AssignLayerBitrates();
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
// TODO(jianj): webm:1554
- CheckLayerRateTargeting(number_spatial_layers_, number_temporal_layers_, 0.76,
+ CheckLayerRateTargeting(number_spatial_layers_, number_temporal_layers_, 0.70,
1.15);
#if CONFIG_VP9_DECODER
// The non-reference frames are expected to be mismatched frames as the
<< " The datarate for the file is lower than target by too much, "
"for layer: "
<< j;
- ASSERT_LE(effective_datarate_[j], cfg_.layer_target_bitrate[j] * 1.15)
+ ASSERT_LE(effective_datarate_[j], cfg_.layer_target_bitrate[j] * 1.20)
<< " The datarate for the file is greater than target by too much, "
"for layer: "
<< j;
LAYER_IDS_TO_IDX(svc->spatial_layer_id, i, svc->number_temporal_layers);
LAYER_CONTEXT *const lc = &svc->layer_context[layer];
RATE_CONTROL *const lrc = &lc->rc;
- if (use_timestamp && cpi->svc.use_set_ref_frame_config && ts_delta > 0 &&
+ if (use_timestamp && cpi->svc.use_set_ref_frame_config &&
+ svc->number_temporal_layers == 1 && ts_delta > 0 &&
svc->current_superframe > 0) {
+ // TODO(marpan): This may need to be modified for temporal layers.
const double framerate_pts = 10000000.0 / ts_delta;
- const double lc_framerate_pts =
- framerate_pts / cpi->oxcf.ts_rate_decimator[i];
- lrc->bits_off_target += (int)(lc->target_bandwidth / lc_framerate_pts);
+ lrc->bits_off_target += (int)(lc->target_bandwidth / framerate_pts);
} else {
lrc->bits_off_target += (int)(lc->target_bandwidth / lc->framerate);
}