External VNR speed improvement.
Improved visual quality with 3x times speed-up. Change list: 1. Remove second chance filter in temporal denoising filter to mitigate trailing artifact. 2. Add swap buffer to save one whole-frame memcpy. 3. Do noise estimation on every N blocks. 4. Adopt a faster moving object detection algorithm (change the structure). 5. Refactor the for loops and PositionCheck(). 6. Refactor the function ReduceFalseDetection (RFD). 7. Fix a bug in TrailingBlock() which causes a mismatch. 8. Change unit test to support swap buffer test. 9. Remove CopyMem8x8, use memcpy to copy U/V plane which can be optimized future. 10. Remove DenoiseMetrics. Review URL: https://codereview.webrtc.org/1871853003 Cr-Commit-Position: refs/heads/master@{#12340}
This commit is contained in:
@ -70,14 +70,14 @@ class VPMFramePreprocessor {
|
||||
enum { kSkipFrameCA = 2 };
|
||||
|
||||
VideoContentMetrics* content_metrics_;
|
||||
VideoFrame denoised_frame_;
|
||||
VideoFrame denoised_frame_prev_;
|
||||
VideoFrame denoised_frame_[2];
|
||||
VideoFrame resampled_frame_;
|
||||
VPMSpatialResampler* spatial_resampler_;
|
||||
VPMContentAnalysis* ca_;
|
||||
VPMVideoDecimator* vd_;
|
||||
std::unique_ptr<VideoDenoiser> denoiser_;
|
||||
bool enable_ca_;
|
||||
uint8_t denoised_frame_toggle_;
|
||||
uint32_t frame_cnt_;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user