Chromium Code Reviews| Index: webrtc/modules/video_processing/util/noise_estimation.cc |
| diff --git a/webrtc/modules/video_processing/util/noise_estimation.cc b/webrtc/modules/video_processing/util/noise_estimation.cc |
| index 87beac38ae582e265fe35c0541aaf2c15b729179..a0ae2c474a3819c7ad9bb589c2eb40559c4a36a8 100644 |
| --- a/webrtc/modules/video_processing/util/noise_estimation.cc |
| +++ b/webrtc/modules/video_processing/util/noise_estimation.cc |
| @@ -27,10 +27,10 @@ void NoiseEstimation::GetNoise(int mb_index, uint32_t var, uint32_t luma) { |
| consec_low_var_[mb_index]++; |
| num_static_block_++; |
| if (consec_low_var_[mb_index] >= kConsecLowVarFrame && |
| - (luma >> 8) < kAverageLumaMax && (luma >> 8) > kAverageLumaMin) { |
| + (luma >> 6) < kAverageLumaMax && (luma >> 6) > kAverageLumaMin) { |
| // Normalized var by the average luma value, this gives more weight to |
| // darker blocks. |
| - int nor_var = var / (luma >> 12); |
| + int nor_var = var / (luma >> 10); |
| noise_var_ += |
| nor_var > kBlockSelectionVarMax ? kBlockSelectionVarMax : nor_var; |
| num_noisy_block_++; |
| @@ -46,25 +46,28 @@ void NoiseEstimation::UpdateNoiseLevel() { |
| // condition more reasonable. |
| // No enough samples implies the motion of the camera or too many moving |
| // objects in the frame. |
| - if (num_static_block_ < (0.65 * mb_cols_ * mb_rows_) || !num_noisy_block_) { |
| + if (num_static_block_ < |
| + (0.65 * mb_cols_ * mb_rows_ / NOISE_SUBSAMPLE_INTERVAL) || |
| + !num_noisy_block_) { |
|
marpan
2016/04/12 23:10:19
is spacing for line 50/51 correct style?
jackychen_
2016/04/12 23:17:14
Yes. It is the correct style. "git cl format" will
|
| +#if DISPLAY |
| + printf("Not enough samples. %d \n", num_static_block_); |
| +#endif |
| noise_var_ = 0; |
| noise_var_accum_ = 0; |
| - num_static_block_ = 0; |
| num_noisy_block_ = 0; |
| -#if DISPLAY |
| - printf("Not enough samples.\n"); |
| -#endif |
| + num_static_block_ = 0; |
| return; |
| } else { |
| - // Normalized by the number of noisy blocks. |
| - noise_var_ /= num_noisy_block_; |
| - // Get the percentage of static blocks. |
| - percent_static_block_ = |
| - static_cast<double>(num_static_block_) / (mb_cols_ * mb_rows_); |
| #if DISPLAY |
| - printf("%d %d fraction = %.3f\n", num_static_block_, mb_cols_ * mb_rows_, |
| + printf("%d %d fraction = %.3f\n", num_static_block_, |
| + mb_cols_ * mb_rows_ / NOISE_SUBSAMPLE_INTERVAL, |
| percent_static_block_); |
| #endif |
| + // Normalized by the number of noisy blocks. |
| + noise_var_ /= num_noisy_block_; |
| + // Get the percentage of static blocks. |
| + percent_static_block_ = static_cast<double>(num_static_block_) / |
| + (mb_cols_ * mb_rows_ / NOISE_SUBSAMPLE_INTERVAL); |
| num_noisy_block_ = 0; |
| num_static_block_ = 0; |
| } |
| @@ -75,12 +78,12 @@ void NoiseEstimation::UpdateNoiseLevel() { |
| } else { |
| noise_var_accum_ = (noise_var_accum_ * 15 + noise_var_) / 16; |
| } |
| - // Reset noise_var_ for the next frame. |
| - noise_var_ = 0; |
| #if DISPLAY |
| printf("noise_var_accum_ = %.1f, noise_var_ = %d.\n", noise_var_accum_, |
| noise_var_); |
| #endif |
| + // Reset noise_var_ for the next frame. |
| + noise_var_ = 0; |
| } |
| uint8_t NoiseEstimation::GetNoiseLevel() { |