Merge "Adjust variance threshold based on source noise level."

This commit is contained in:
Marco Paniconi 2015-12-05 00:06:14 +00:00 коммит произвёл Gerrit Code Review
Родитель 06bdcea606 d5b3f29f3c
Коммит 16a4fab9e2
1 изменённых файлов: 6 добавлений и 5 удалений

Просмотреть файл

@ -488,13 +488,14 @@ static void set_vbp_thresholds(VP9_COMP *cpi, int64_t thresholds[], int q) {
thresholds[2] = threshold_base >> 2; thresholds[2] = threshold_base >> 2;
thresholds[3] = threshold_base << 2; thresholds[3] = threshold_base << 2;
} else { } else {
// Increase base variance threshold if estimated noise level is high. // Increase base variance threshold based on estimated noise level.
if (cpi->noise_estimate.enabled) { if (cpi->noise_estimate.enabled) {
if (cpi->noise_estimate.level == kHigh) NOISE_LEVEL noise_level = vp9_noise_estimate_extract_level(
&cpi->noise_estimate);
if (noise_level == kHigh)
threshold_base = 3 * threshold_base; threshold_base = 3 * threshold_base;
else else if (noise_level == kMedium)
if (cpi->noise_estimate.level == kMedium) threshold_base = threshold_base << 1;
threshold_base = threshold_base << 1;
} }
if (cm->width <= 352 && cm->height <= 288) { if (cm->width <= 352 && cm->height <= 288) {
thresholds[0] = threshold_base >> 3; thresholds[0] = threshold_base >> 3;