Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
80bbba14
Commit
80bbba14
authored
Apr 22, 2016
by
Marco
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vp9: Some adjustments to denoiser under high-noise condition.
Change-Id: Ib47d742d07f13c7c39cea85e228c19ae298baf4a
parent
2c8338f9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
4 deletions
+7
-4
vp9/encoder/vp9_denoiser.c
vp9/encoder/vp9_denoiser.c
+7
-4
No files found.
vp9/encoder/vp9_denoiser.c
View file @
80bbba14
...
...
@@ -215,7 +215,8 @@ static VP9_DENOISER_DECISION perform_motion_compensation(VP9_DENOISER *denoiser,
// Avoid denoising for small block (unless motion is small).
// Small blocks are selected in variance partition (before encoding) and
// will typically lie on moving areas.
if
(
motion_magnitude
>
16
&&
bs
<=
BLOCK_8X8
)
if
(
denoiser
->
denoising_level
<
kDenHigh
&&
motion_magnitude
>
16
&&
bs
<=
BLOCK_8X8
)
return
COPY_BLOCK
;
// If the best reference frame uses inter-prediction and there is enough of a
...
...
@@ -242,6 +243,9 @@ static VP9_DENOISER_DECISION perform_motion_compensation(VP9_DENOISER *denoiser,
ctx
->
best_sse_inter_mode
=
ZEROMV
;
ctx
->
best_sse_mv
.
as_int
=
0
;
*
zeromv_filter
=
1
;
if
(
denoiser
->
denoising_level
>
kDenMedium
)
{
motion_magnitude
=
0
;
}
}
if
(
ctx
->
newmv_sse
>
sse_thresh
(
bs
,
increase_denoising
))
{
...
...
@@ -334,7 +338,7 @@ void vp9_denoiser_denoise(VP9_COMP *cpi, MACROBLOCK *mb,
if
(
cpi
->
use_skin_detection
&&
bs
<=
BLOCK_32X32
&&
denoiser
->
denoising_level
>=
kDen
Low
)
{
denoiser
->
denoising_level
<
kDen
High
)
{
int
motion_level
=
(
motion_magnitude
<
16
)
?
0
:
1
;
// If motion for current block is small/zero, compute consec_zeromv for
// skin detection (early exit in skin detection is done for large
...
...
@@ -375,8 +379,7 @@ void vp9_denoiser_denoise(VP9_COMP *cpi, MACROBLOCK *mb,
motion_level
);
}
if
(
!
is_skin
&&
denoiser
->
denoising_level
==
kDenHigh
&&
motion_magnitude
<
16
)
{
denoiser
->
denoising_level
==
kDenHigh
)
{
denoiser
->
increase_denoising
=
1
;
}
else
{
denoiser
->
increase_denoising
=
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment