vp9 svc frame drop: enable adaptive rd for row mt.
adaptive_rd_threshold_mt is set to 1 when speed >= 7 for SVC. QVGA in SVC uses speed 5 which set adaptive_rd_threshold_mt to 0. If VGA or HD is dropped for the last super frame, the flag is still 0 when the encoder is destroyed. Thus memory won't be released. Change the bitrate threshold in datarate test. Change-Id: I55352cc0b030568d38eb735d99c2fa29058d3690
This commit is contained in:
parent
4a20caef78
commit
1ae97b4a4d
@ -2230,7 +2230,7 @@ TEST_P(DatarateOnePassCbrSvc, OnePassCbrSvc3SL3TL4Threads) {
|
|||||||
layer_target_avg_bandwidth_, bits_in_buffer_model_);
|
layer_target_avg_bandwidth_, bits_in_buffer_model_);
|
||||||
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
|
ASSERT_NO_FATAL_FAILURE(RunLoop(&video));
|
||||||
CheckLayerRateTargeting(&cfg_, number_spatial_layers_,
|
CheckLayerRateTargeting(&cfg_, number_spatial_layers_,
|
||||||
number_temporal_layers_, file_datarate_, 0.75, 1.2);
|
number_temporal_layers_, file_datarate_, 0.73, 1.2);
|
||||||
#if CONFIG_VP9_DECODER
|
#if CONFIG_VP9_DECODER
|
||||||
// The non-reference frames are expected to be mismatched frames as the
|
// The non-reference frames are expected to be mismatched frames as the
|
||||||
// encoder will avoid loopfilter on these frames.
|
// encoder will avoid loopfilter on these frames.
|
||||||
|
@ -146,14 +146,12 @@ void vp9_row_mt_mem_dealloc(VP9_COMP *cpi) {
|
|||||||
TileDataEnc *this_tile =
|
TileDataEnc *this_tile =
|
||||||
&cpi->tile_data[tile_row * multi_thread_ctxt->allocated_tile_cols +
|
&cpi->tile_data[tile_row * multi_thread_ctxt->allocated_tile_cols +
|
||||||
tile_col];
|
tile_col];
|
||||||
if (cpi->sf.adaptive_rd_thresh_row_mt) {
|
|
||||||
if (this_tile->row_base_thresh_freq_fact != NULL) {
|
if (this_tile->row_base_thresh_freq_fact != NULL) {
|
||||||
vpx_free(this_tile->row_base_thresh_freq_fact);
|
vpx_free(this_tile->row_base_thresh_freq_fact);
|
||||||
this_tile->row_base_thresh_freq_fact = NULL;
|
this_tile->row_base_thresh_freq_fact = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -667,11 +667,6 @@ static void set_rt_speed_feature_framesize_independent(
|
|||||||
(uint8_t *)vpx_calloc((cm->mi_stride >> 3) * ((cm->mi_rows >> 3) + 1),
|
(uint8_t *)vpx_calloc((cm->mi_stride >> 3) * ((cm->mi_rows >> 3) + 1),
|
||||||
sizeof(*cpi->count_lastgolden_frame_usage));
|
sizeof(*cpi->count_lastgolden_frame_usage));
|
||||||
}
|
}
|
||||||
// Disable adaptive_rd_thresh for row_mt for SVC with frame dropping.
|
|
||||||
// This is causing some tests to fail.
|
|
||||||
// TODO(marpan/jianj): Look into this failure and re-enable later.
|
|
||||||
if (cpi->use_svc && cpi->oxcf.drop_frames_water_mark)
|
|
||||||
sf->adaptive_rd_thresh_row_mt = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void vp9_set_speed_features_framesize_dependent(VP9_COMP *cpi) {
|
void vp9_set_speed_features_framesize_dependent(VP9_COMP *cpi) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user