Merge "Fix bug in stats output for HBD."
This commit is contained in:
@@ -2722,6 +2722,13 @@ static int scale_down(VP9_COMP *cpi, int q) {
|
|||||||
return scale;
|
return scale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int big_rate_miss(VP9_COMP *cpi, int high_limit, int low_limit) {
|
||||||
|
const RATE_CONTROL *const rc = &cpi->rc;
|
||||||
|
|
||||||
|
return (rc->projected_frame_size > ((high_limit * 3) / 2)) ||
|
||||||
|
(rc->projected_frame_size < (low_limit / 2));
|
||||||
|
}
|
||||||
|
|
||||||
// Function to test for conditions that indicate we should loop
|
// Function to test for conditions that indicate we should loop
|
||||||
// back and recode a frame.
|
// back and recode a frame.
|
||||||
static int recode_loop_test(VP9_COMP *cpi,
|
static int recode_loop_test(VP9_COMP *cpi,
|
||||||
@@ -2733,6 +2740,7 @@ static int recode_loop_test(VP9_COMP *cpi,
|
|||||||
int force_recode = 0;
|
int force_recode = 0;
|
||||||
|
|
||||||
if ((rc->projected_frame_size >= rc->max_frame_bandwidth) ||
|
if ((rc->projected_frame_size >= rc->max_frame_bandwidth) ||
|
||||||
|
big_rate_miss(cpi, high_limit, low_limit) ||
|
||||||
(cpi->sf.recode_loop == ALLOW_RECODE) ||
|
(cpi->sf.recode_loop == ALLOW_RECODE) ||
|
||||||
(frame_is_kfgfarf &&
|
(frame_is_kfgfarf &&
|
||||||
(cpi->sf.recode_loop == ALLOW_RECODE_KFARFGF))) {
|
(cpi->sf.recode_loop == ALLOW_RECODE_KFARFGF))) {
|
||||||
@@ -3079,7 +3087,15 @@ static void output_frame_level_debug_stats(VP9_COMP *cpi) {
|
|||||||
|
|
||||||
vpx_clear_system_state();
|
vpx_clear_system_state();
|
||||||
|
|
||||||
|
#if CONFIG_VP9_HIGHBITDEPTH
|
||||||
|
if (cm->use_highbitdepth) {
|
||||||
|
recon_err = vp9_highbd_get_y_sse(cpi->Source, get_frame_new_buffer(cm));
|
||||||
|
} else {
|
||||||
|
recon_err = vp9_get_y_sse(cpi->Source, get_frame_new_buffer(cm));
|
||||||
|
}
|
||||||
|
#else
|
||||||
recon_err = vp9_get_y_sse(cpi->Source, get_frame_new_buffer(cm));
|
recon_err = vp9_get_y_sse(cpi->Source, get_frame_new_buffer(cm));
|
||||||
|
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||||
|
|
||||||
if (cpi->twopass.total_left_stats.coded_error != 0.0)
|
if (cpi->twopass.total_left_stats.coded_error != 0.0)
|
||||||
fprintf(f, "%10u %dx%d %10d %10d %d %d %10d %10d %10d %10d"
|
fprintf(f, "%10u %dx%d %10d %10d %d %d %10d %10d %10d %10d"
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ static void init_minq_luts(int *kf_low_m, int *kf_high_m,
|
|||||||
kf_high_m[i] = get_minq_index(maxq, 0.0000021, -0.00125, 0.55, bit_depth);
|
kf_high_m[i] = get_minq_index(maxq, 0.0000021, -0.00125, 0.55, bit_depth);
|
||||||
arfgf_low[i] = get_minq_index(maxq, 0.0000015, -0.0009, 0.30, bit_depth);
|
arfgf_low[i] = get_minq_index(maxq, 0.0000015, -0.0009, 0.30, bit_depth);
|
||||||
arfgf_high[i] = get_minq_index(maxq, 0.0000021, -0.00125, 0.55, bit_depth);
|
arfgf_high[i] = get_minq_index(maxq, 0.0000021, -0.00125, 0.55, bit_depth);
|
||||||
inter[i] = get_minq_index(maxq, 0.00000271, -0.00113, 0.90, bit_depth);
|
inter[i] = get_minq_index(maxq, 0.00000271, -0.00113, 0.70, bit_depth);
|
||||||
rtc[i] = get_minq_index(maxq, 0.00000271, -0.00113, 0.70, bit_depth);
|
rtc[i] = get_minq_index(maxq, 0.00000271, -0.00113, 0.70, bit_depth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user