Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
57aa518c
Commit
57aa518c
authored
Oct 11, 2016
by
Yaowu Xu
Committed by
Gerrit Code Review
Oct 11, 2016
Browse files
Merge "CLPF: Remove redundant function argument." into nextgenv2
parents
80eaf1a1
ded69f56
Changes
5
Hide whitespace changes
Inline
Side-by-side
av1/common/clpf.c
View file @
57aa518c
...
...
@@ -73,13 +73,14 @@ void aom_clpf_block_hbd_c(const uint16_t *src, uint16_t *dst, int sstride,
#endif
// Return number of filtered blocks
int
av1_clpf_frame
(
const
YV12_BUFFER_CONFIG
*
frame
,
const
YV12_BUFFER_CONFIG
*
org
,
AV1_COMMON
*
cm
,
int
enable_fb_flag
,
unsigned
int
strength
,
unsigned
int
fb_size_log2
,
uint8_t
*
blocks
,
int
plane
,
int
(
*
decision
)(
int
,
int
,
const
YV12_BUFFER_CONFIG
*
,
const
YV12_BUFFER_CONFIG
*
,
const
AV1_COMMON
*
cm
,
int
,
int
,
int
,
unsigned
int
,
unsigned
int
,
uint8_t
*
,
int
))
{
int
av1_clpf_frame
(
const
YV12_BUFFER_CONFIG
*
frame
,
const
YV12_BUFFER_CONFIG
*
org
,
AV1_COMMON
*
cm
,
int
enable_fb_flag
,
unsigned
int
strength
,
unsigned
int
fb_size_log2
,
uint8_t
*
blocks
,
int
plane
,
int
(
*
decision
)(
int
,
int
,
const
YV12_BUFFER_CONFIG
*
,
const
YV12_BUFFER_CONFIG
*
,
const
AV1_COMMON
*
cm
,
int
,
int
,
int
,
unsigned
int
,
unsigned
int
,
uint8_t
*
))
{
/* Constrained low-pass filter (CLPF) */
int
c
,
k
,
l
,
m
,
n
;
const
int
subx
=
plane
!=
AOM_PLANE_Y
&&
frame
->
subsampling_x
;
...
...
@@ -151,7 +152,7 @@ int av1_clpf_frame(
if
(
!
allskip
&&
// Do not filter the block if all is skip encoded
(
!
enable_fb_flag
||
decision
(
k
,
l
,
frame
,
org
,
cm
,
bs
,
w
/
bs
,
h
/
bs
,
strength
,
fb_size_log2
,
blocks
+
block_index
,
plane
)))
{
fb_size_log2
,
blocks
+
block_index
)))
{
// Iterate over all smaller blocks inside the filter block
for
(
m
=
0
;
m
<
((
h
+
bs
-
1
)
>>
bslog
);
m
++
)
{
for
(
n
=
0
;
n
<
((
w
+
bs
-
1
)
>>
bslog
);
n
++
)
{
...
...
av1/common/clpf.h
View file @
57aa518c
...
...
@@ -24,6 +24,6 @@ int av1_clpf_frame(const YV12_BUFFER_CONFIG *frame,
int
(
*
decision
)(
int
,
int
,
const
YV12_BUFFER_CONFIG
*
,
const
YV12_BUFFER_CONFIG
*
,
const
AV1_COMMON
*
cm
,
int
,
int
,
int
,
unsigned
int
,
unsigned
int
,
uint8_t
*
,
int
));
unsigned
int
,
unsigned
int
,
uint8_t
*
));
#endif
av1/decoder/decodeframe.c
View file @
57aa518c
...
...
@@ -2068,8 +2068,7 @@ static int clpf_bit(UNUSED int k, UNUSED int l,
UNUSED
const
YV12_BUFFER_CONFIG
*
org
,
UNUSED
const
AV1_COMMON
*
cm
,
UNUSED
int
block_size
,
UNUSED
int
w
,
UNUSED
int
h
,
UNUSED
unsigned
int
strength
,
UNUSED
unsigned
int
fb_size_log2
,
uint8_t
*
bit
,
UNUSED
int
comp
)
{
UNUSED
unsigned
int
fb_size_log2
,
uint8_t
*
bit
)
{
return
*
bit
;
}
#endif
...
...
av1/encoder/clpf_rdo.c
View file @
57aa518c
...
...
@@ -127,45 +127,32 @@ void aom_clpf_detect_multi_hbd_c(const uint16_t *rec, const uint16_t *org,
int
av1_clpf_decision
(
int
k
,
int
l
,
const
YV12_BUFFER_CONFIG
*
rec
,
const
YV12_BUFFER_CONFIG
*
org
,
const
AV1_COMMON
*
cm
,
int
block_size
,
int
w
,
int
h
,
unsigned
int
strength
,
unsigned
int
fb_size_log2
,
uint8_t
*
res
,
int
plane
)
{
unsigned
int
fb_size_log2
,
uint8_t
*
res
)
{
int
m
,
n
,
sum0
=
0
,
sum1
=
0
;
const
int
subx
=
plane
!=
AOM_PLANE_Y
&&
rec
->
subsampling_x
;
const
int
suby
=
plane
!=
AOM_PLANE_Y
&&
rec
->
subsampling_y
;
uint8_t
*
rec_buffer
=
plane
!=
AOM_PLANE_Y
?
(
plane
==
AOM_PLANE_U
?
rec
->
u_buffer
:
rec
->
v_buffer
)
:
rec
->
y_buffer
;
uint8_t
*
org_buffer
=
plane
!=
AOM_PLANE_Y
?
(
plane
==
AOM_PLANE_U
?
org
->
u_buffer
:
org
->
v_buffer
)
:
org
->
y_buffer
;
int
rec_width
=
plane
!=
AOM_PLANE_Y
?
rec
->
uv_crop_width
:
rec
->
y_crop_width
;
int
rec_height
=
plane
!=
AOM_PLANE_Y
?
rec
->
uv_crop_height
:
rec
->
y_crop_height
;
int
rec_stride
=
plane
!=
AOM_PLANE_Y
?
rec
->
uv_stride
:
rec
->
y_stride
;
int
org_stride
=
plane
!=
AOM_PLANE_Y
?
org
->
uv_stride
:
org
->
y_stride
;
for
(
m
=
0
;
m
<
h
;
m
++
)
{
for
(
n
=
0
;
n
<
w
;
n
++
)
{
int
xpos
=
(
l
<<
fb_size_log2
)
+
n
*
block_size
;
int
ypos
=
(
k
<<
fb_size_log2
)
+
m
*
block_size
;
if
(
!
cm
->
mi_grid_visible
[(
ypos
<<
suby
)
/
MI_SIZE
*
cm
->
mi_stride
+
(
xpos
<<
subx
)
/
MI_SIZE
]
if
(
!
cm
->
mi_grid_visible
[
ypos
/
MI_SIZE
*
cm
->
mi_stride
+
xpos
/
MI_SIZE
]
->
mbmi
.
skip
)
{
#if CONFIG_AOM_HIGHBITDEPTH
if
(
cm
->
use_highbitdepth
)
{
aom_clpf_detect_hbd
(
CONVERT_TO_SHORTPTR
(
rec_buffer
),
CONVERT_TO_SHORTPTR
(
org_buffer
),
rec_stride
,
org_stride
,
xpos
,
ypos
,
rec_width
,
rec_height
,
&
sum0
,
&
sum1
,
strength
,
cm
->
bit_depth
-
8
,
block_size
);
aom_clpf_detect_hbd
(
CONVERT_TO_SHORTPTR
(
rec
->
y_buffer
),
CONVERT_TO_SHORTPTR
(
org
->
y_buffer
),
rec
->
y_stride
,
org
->
y_stride
,
xpos
,
ypos
,
rec
->
y_crop_width
,
rec
->
y_crop_height
,
&
sum0
,
&
sum1
,
strength
,
cm
->
bit_depth
-
8
,
block_size
);
}
else
{
aom_clpf_detect
(
rec_buffer
,
org_buffer
,
rec_stride
,
org_stride
,
xpos
,
ypos
,
rec_width
,
rec_height
,
&
sum0
,
&
sum1
,
strength
,
aom_clpf_detect
(
rec
->
y_buffer
,
org
->
y_buffer
,
rec
->
y_stride
,
org
->
y_stride
,
xpos
,
ypos
,
rec
->
y_crop_width
,
rec
->
y_crop_height
,
&
sum0
,
&
sum1
,
strength
,
block_size
);
}
#else
aom_clpf_detect
(
rec_buffer
,
org_buffer
,
rec_stride
,
org_stride
,
xpos
,
ypos
,
rec_width
,
rec_height
,
&
sum0
,
&
sum1
,
streng
th
,
block_size
);
aom_clpf_detect
(
rec
->
y
_buffer
,
org
->
y
_buffer
,
rec
->
y
_stride
,
org
->
y_stride
,
xpos
,
ypos
,
rec
->
y_crop_wid
th
,
rec
->
y_crop_height
,
&
sum0
,
&
sum1
,
strength
,
block_size
);
#endif
}
}
...
...
av1/encoder/clpf_rdo.h
View file @
57aa518c
...
...
@@ -17,7 +17,7 @@
int
av1_clpf_decision
(
int
k
,
int
l
,
const
YV12_BUFFER_CONFIG
*
rec
,
const
YV12_BUFFER_CONFIG
*
org
,
const
AV1_COMMON
*
cm
,
int
block_size
,
int
w
,
int
h
,
unsigned
int
strength
,
unsigned
int
fb_size_log2
,
uint8_t
*
res
,
int
plane
);
unsigned
int
fb_size_log2
,
uint8_t
*
res
);
void
av1_clpf_test_frame
(
const
YV12_BUFFER_CONFIG
*
rec
,
const
YV12_BUFFER_CONFIG
*
org
,
const
AV1_COMMON
*
cm
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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