Change the threshold for external VNR.
The change is based on visual evaluation results and improves the denoising result on both desktop/laptop and Nexus. Review-Url: https://codereview.webrtc.org/1935353002 Cr-Commit-Position: refs/heads/master@{#12612}
This commit is contained in:
parent
c4deee49a3
commit
9bfa1063d1
@ -14,6 +14,8 @@
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
const int kSumDiffThresholdHighNeon = 600;
|
||||
|
||||
static int HorizontalAddS16x8(const int16x8_t v_16x8) {
|
||||
const int32x4_t a = vpaddlq_s16(v_16x8);
|
||||
const int64x2_t b = vpaddlq_s32(a);
|
||||
@ -179,7 +181,7 @@ DenoiserDecision DenoiserFilterNEON::MbDenoise(uint8_t* mc_running_avg_y,
|
||||
vget_low_s64(v_sum_diff_total));
|
||||
int sum_diff = vget_lane_s32(vabs_s32(vreinterpret_s32_s64(x)), 0);
|
||||
sum_diff_thresh =
|
||||
increase_denoising ? kSumDiffThresholdHigh : kSumDiffThreshold;
|
||||
increase_denoising ? kSumDiffThresholdHighNeon : kSumDiffThreshold;
|
||||
if (sum_diff > sum_diff_thresh)
|
||||
return COPY_BLOCK;
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ namespace webrtc {
|
||||
#define DISPLAY 0 // Rectangle diagnostics
|
||||
#define DISPLAYNEON 0 // Rectangle diagnostics on NEON
|
||||
|
||||
const int kNoiseThreshold = 200;
|
||||
const int kNoiseThreshold = 150;
|
||||
const int kNoiseThresholdNeon = 70;
|
||||
const int kConsecLowVarFrame = 6;
|
||||
const int kAverageLumaMin = 20;
|
||||
|
||||
@ -248,7 +248,7 @@ void VideoDenoiser::DenoiseFrame(const VideoFrame& frame,
|
||||
memset(moving_object_.get(), 1, mb_cols_ * mb_rows_);
|
||||
|
||||
uint8_t noise_level = noise_estimation_enabled ? ne_->GetNoiseLevel() : 0;
|
||||
int thr_var_base = 16 * 16 * 5;
|
||||
int thr_var_base = 16 * 16 * 2;
|
||||
// Loop over blocks to accumulate/extract noise level and update x/y_density
|
||||
// factors for moving object detection.
|
||||
for (int mb_row = 0; mb_row < mb_rows_; ++mb_row) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user