Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
BC
public
external
libvpx
Commits
f77140b7
Commit
f77140b7
authored
12 years ago
by
Scott LaVarnway
Committed by
Gerrit Code Review
12 years ago
Browse files
Options
Download
Plain Diff
Merge "Removed shadow warnings : loopfilter*.c"
parents
fc6a190a
60bbd439
v1.14.0-linphone
1.4.X
experimental
feature/update_to_v1.9.0-linphone
feature/uwp_nuget
forest
frame_parallel
highbitdepth
indianrunnerduck
javanwhistlingduck
khakicampbell
linphone
linphone-android
linphone-old
longtailedduck
m29-baseline
m31-baseline
m49-2623
m52-2743
m54-2840
m56-2924
m66-3359
m68-3440
mandarinduck
mcw
mcw2
nextgen
nextgenv2
pcs-2013
playground
sandbox/Jingning/experimental
sandbox/Jingning/transcode
sandbox/Jingning/vpx
sandbox/aconverse@google.com/ansbench
sandbox/debargha/playground
sandbox/hkuang/frame_parallel
sandbox/hkuang@google.com/decode
sandbox/jimbankoski@google.com/proposed-aom
sandbox/jingning@google.com/decoder_test_suite
sandbox/jingning@google.com/experimental
sandbox/jzern@google.com/test
sandbox/wangch@google.com/vp9
sandbox/yaowu@google.com/mergeaom
stable-vp9-decoder
v1.12.0-linphone
v1.6.1_linphone
v1.7.0-linphone
v1.9.0-linphone
v1.9.0
v1.9.0-rc1
v1.8.2
v1.8.1
v1.8.0
v1.7.0
v1.6.1
v1.6.0
v1.5.0
v1.4.0
v1.3.0
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
vp8/common/loopfilter.c
+9
-10
vp8/common/loopfilter.c
vp8/common/loopfilter_filters.c
+26
-26
vp8/common/loopfilter_filters.c
with
35 additions
and
36 deletions
vp8/common/loopfilter.c
+
9
−
10
View file @
f77140b7
...
@@ -156,39 +156,38 @@ void vp8_loop_filter_frame_init(VP8_COMMON *cm,
...
@@ -156,39 +156,38 @@ void vp8_loop_filter_frame_init(VP8_COMMON *cm,
continue
;
continue
;
}
}
lvl_ref
=
lvl_seg
;
/* INTRA_FRAME */
/* INTRA_FRAME */
ref
=
INTRA_FRAME
;
ref
=
INTRA_FRAME
;
/* Apply delta for reference frame */
/* Apply delta for reference frame */
lvl_ref
+
=
mbd
->
ref_lf_deltas
[
ref
];
lvl_ref
=
lvl_seg
+
mbd
->
ref_lf_deltas
[
ref
];
/* Apply delta for Intra modes */
/* Apply delta for Intra modes */
mode
=
0
;
/* B_PRED */
mode
=
0
;
/* B_PRED */
/* Only the split mode BPRED has a further special case */
/* Only the split mode BPRED has a further special case */
lvl_mode
=
lvl_ref
+
mbd
->
mode_lf_deltas
[
mode
];
lvl_mode
=
lvl_ref
+
mbd
->
mode_lf_deltas
[
mode
];
lvl_mode
=
(
lvl_mode
>
0
)
?
(
lvl_mode
>
63
?
63
:
lvl_mode
)
:
0
;
/* clamp */
/* clamp */
lvl_mode
=
(
lvl_mode
>
0
)
?
(
lvl_mode
>
63
?
63
:
lvl_mode
)
:
0
;
lfi
->
lvl
[
seg
][
ref
][
mode
]
=
lvl_mode
;
lfi
->
lvl
[
seg
][
ref
][
mode
]
=
lvl_mode
;
mode
=
1
;
/* all the rest of Intra modes */
mode
=
1
;
/* all the rest of Intra modes */
lvl_mode
=
(
lvl_ref
>
0
)
?
(
lvl_ref
>
63
?
63
:
lvl_ref
)
:
0
;
/* clamp */
/* clamp */
lvl_mode
=
(
lvl_ref
>
0
)
?
(
lvl_ref
>
63
?
63
:
lvl_ref
)
:
0
;
lfi
->
lvl
[
seg
][
ref
][
mode
]
=
lvl_mode
;
lfi
->
lvl
[
seg
][
ref
][
mode
]
=
lvl_mode
;
/* LAST, GOLDEN, ALT */
/* LAST, GOLDEN, ALT */
for
(
ref
=
1
;
ref
<
MAX_REF_FRAMES
;
ref
++
)
for
(
ref
=
1
;
ref
<
MAX_REF_FRAMES
;
ref
++
)
{
{
int
lvl_ref
=
lvl_seg
;
/* Apply delta for reference frame */
/* Apply delta for reference frame */
lvl_ref
+
=
mbd
->
ref_lf_deltas
[
ref
];
lvl_ref
=
lvl_seg
+
mbd
->
ref_lf_deltas
[
ref
];
/* Apply delta for Inter modes */
/* Apply delta for Inter modes */
for
(
mode
=
1
;
mode
<
4
;
mode
++
)
for
(
mode
=
1
;
mode
<
4
;
mode
++
)
{
{
lvl_mode
=
lvl_ref
+
mbd
->
mode_lf_deltas
[
mode
];
lvl_mode
=
lvl_ref
+
mbd
->
mode_lf_deltas
[
mode
];
lvl_mode
=
(
lvl_mode
>
0
)
?
(
lvl_mode
>
63
?
63
:
lvl_mode
)
:
0
;
/* clamp */
/* clamp */
lvl_mode
=
(
lvl_mode
>
0
)
?
(
lvl_mode
>
63
?
63
:
lvl_mode
)
:
0
;
lfi
->
lvl
[
seg
][
ref
][
mode
]
=
lvl_mode
;
lfi
->
lvl
[
seg
][
ref
][
mode
]
=
lvl_mode
;
}
}
...
...
This diff is collapsed.
Click to expand it.
vp8/common/loopfilter_filters.c
+
26
−
26
View file @
f77140b7
...
@@ -54,7 +54,7 @@ static void vp8_filter(signed char mask, uc hev, uc *op1,
...
@@ -54,7 +54,7 @@ static void vp8_filter(signed char mask, uc hev, uc *op1,
{
{
signed
char
ps0
,
qs0
;
signed
char
ps0
,
qs0
;
signed
char
ps1
,
qs1
;
signed
char
ps1
,
qs1
;
signed
char
vp8_
filter
,
Filter1
,
Filter2
;
signed
char
filter
_value
,
Filter1
,
Filter2
;
signed
char
u
;
signed
char
u
;
ps1
=
(
signed
char
)
*
op1
^
0x80
;
ps1
=
(
signed
char
)
*
op1
^
0x80
;
...
@@ -63,35 +63,35 @@ static void vp8_filter(signed char mask, uc hev, uc *op1,
...
@@ -63,35 +63,35 @@ static void vp8_filter(signed char mask, uc hev, uc *op1,
qs1
=
(
signed
char
)
*
oq1
^
0x80
;
qs1
=
(
signed
char
)
*
oq1
^
0x80
;
/* add outer taps if we have high edge variance */
/* add outer taps if we have high edge variance */
vp8_
filter
=
vp8_signed_char_clamp
(
ps1
-
qs1
);
filter
_value
=
vp8_signed_char_clamp
(
ps1
-
qs1
);
vp8_
filter
&=
hev
;
filter
_value
&=
hev
;
/* inner taps */
/* inner taps */
vp8_
filter
=
vp8_signed_char_clamp
(
vp8_
filter
+
3
*
(
qs0
-
ps0
));
filter
_value
=
vp8_signed_char_clamp
(
filter
_value
+
3
*
(
qs0
-
ps0
));
vp8_
filter
&=
mask
;
filter
_value
&=
mask
;
/* save bottom 3 bits so that we round one side +4 and the other +3
/* save bottom 3 bits so that we round one side +4 and the other +3
* if it equals 4 we'll set to adjust by -1 to account for the fact
* if it equals 4 we'll set to adjust by -1 to account for the fact
* we'd round 3 the other way
* we'd round 3 the other way
*/
*/
Filter1
=
vp8_signed_char_clamp
(
vp8_
filter
+
4
);
Filter1
=
vp8_signed_char_clamp
(
filter
_value
+
4
);
Filter2
=
vp8_signed_char_clamp
(
vp8_
filter
+
3
);
Filter2
=
vp8_signed_char_clamp
(
filter
_value
+
3
);
Filter1
>>=
3
;
Filter1
>>=
3
;
Filter2
>>=
3
;
Filter2
>>=
3
;
u
=
vp8_signed_char_clamp
(
qs0
-
Filter1
);
u
=
vp8_signed_char_clamp
(
qs0
-
Filter1
);
*
oq0
=
u
^
0x80
;
*
oq0
=
u
^
0x80
;
u
=
vp8_signed_char_clamp
(
ps0
+
Filter2
);
u
=
vp8_signed_char_clamp
(
ps0
+
Filter2
);
*
op0
=
u
^
0x80
;
*
op0
=
u
^
0x80
;
vp8_
filter
=
Filter1
;
filter
_value
=
Filter1
;
/* outer tap adjustments */
/* outer tap adjustments */
vp8_
filter
+=
1
;
filter
_value
+=
1
;
vp8_
filter
>>=
1
;
filter
_value
>>=
1
;
vp8_
filter
&=
~
hev
;
filter
_value
&=
~
hev
;
u
=
vp8_signed_char_clamp
(
qs1
-
vp8_
filter
);
u
=
vp8_signed_char_clamp
(
qs1
-
filter
_value
);
*
oq1
=
u
^
0x80
;
*
oq1
=
u
^
0x80
;
u
=
vp8_signed_char_clamp
(
ps1
+
vp8_
filter
);
u
=
vp8_signed_char_clamp
(
ps1
+
filter
_value
);
*
op1
=
u
^
0x80
;
*
op1
=
u
^
0x80
;
}
}
...
@@ -162,7 +162,7 @@ static void vp8_mbfilter(signed char mask, uc hev,
...
@@ -162,7 +162,7 @@ static void vp8_mbfilter(signed char mask, uc hev,
uc
*
op2
,
uc
*
op1
,
uc
*
op0
,
uc
*
oq0
,
uc
*
oq1
,
uc
*
oq2
)
uc
*
op2
,
uc
*
op1
,
uc
*
op0
,
uc
*
oq0
,
uc
*
oq1
,
uc
*
oq2
)
{
{
signed
char
s
,
u
;
signed
char
s
,
u
;
signed
char
vp8_
filter
,
Filter1
,
Filter2
;
signed
char
filter
_value
,
Filter1
,
Filter2
;
signed
char
ps2
=
(
signed
char
)
*
op2
^
0x80
;
signed
char
ps2
=
(
signed
char
)
*
op2
^
0x80
;
signed
char
ps1
=
(
signed
char
)
*
op1
^
0x80
;
signed
char
ps1
=
(
signed
char
)
*
op1
^
0x80
;
signed
char
ps0
=
(
signed
char
)
*
op0
^
0x80
;
signed
char
ps0
=
(
signed
char
)
*
op0
^
0x80
;
...
@@ -171,11 +171,11 @@ static void vp8_mbfilter(signed char mask, uc hev,
...
@@ -171,11 +171,11 @@ static void vp8_mbfilter(signed char mask, uc hev,
signed
char
qs2
=
(
signed
char
)
*
oq2
^
0x80
;
signed
char
qs2
=
(
signed
char
)
*
oq2
^
0x80
;
/* add outer taps if we have high edge variance */
/* add outer taps if we have high edge variance */
vp8_
filter
=
vp8_signed_char_clamp
(
ps1
-
qs1
);
filter
_value
=
vp8_signed_char_clamp
(
ps1
-
qs1
);
vp8_
filter
=
vp8_signed_char_clamp
(
vp8_
filter
+
3
*
(
qs0
-
ps0
));
filter
_value
=
vp8_signed_char_clamp
(
filter
_value
+
3
*
(
qs0
-
ps0
));
vp8_
filter
&=
mask
;
filter
_value
&=
mask
;
Filter2
=
vp8_
filter
;
Filter2
=
filter
_value
;
Filter2
&=
hev
;
Filter2
&=
hev
;
/* save bottom 3 bits so that we round one side +4 and the other +3 */
/* save bottom 3 bits so that we round one side +4 and the other +3 */
...
@@ -188,8 +188,8 @@ static void vp8_mbfilter(signed char mask, uc hev,
...
@@ -188,8 +188,8 @@ static void vp8_mbfilter(signed char mask, uc hev,
/* only apply wider filter if not high edge variance */
/* only apply wider filter if not high edge variance */
vp8_
filter
&=
~
hev
;
filter
_value
&=
~
hev
;
Filter2
=
vp8_
filter
;
Filter2
=
filter
_value
;
/* roughly 3/7th difference across boundary */
/* roughly 3/7th difference across boundary */
u
=
vp8_signed_char_clamp
((
63
+
Filter2
*
27
)
>>
7
);
u
=
vp8_signed_char_clamp
((
63
+
Filter2
*
27
)
>>
7
);
...
@@ -291,24 +291,24 @@ static signed char vp8_simple_filter_mask(uc blimit, uc p1, uc p0, uc q0, uc q1)
...
@@ -291,24 +291,24 @@ static signed char vp8_simple_filter_mask(uc blimit, uc p1, uc p0, uc q0, uc q1)
static
void
vp8_simple_filter
(
signed
char
mask
,
uc
*
op1
,
uc
*
op0
,
uc
*
oq0
,
uc
*
oq1
)
static
void
vp8_simple_filter
(
signed
char
mask
,
uc
*
op1
,
uc
*
op0
,
uc
*
oq0
,
uc
*
oq1
)
{
{
signed
char
vp8_
filter
,
Filter1
,
Filter2
;
signed
char
filter
_value
,
Filter1
,
Filter2
;
signed
char
p1
=
(
signed
char
)
*
op1
^
0x80
;
signed
char
p1
=
(
signed
char
)
*
op1
^
0x80
;
signed
char
p0
=
(
signed
char
)
*
op0
^
0x80
;
signed
char
p0
=
(
signed
char
)
*
op0
^
0x80
;
signed
char
q0
=
(
signed
char
)
*
oq0
^
0x80
;
signed
char
q0
=
(
signed
char
)
*
oq0
^
0x80
;
signed
char
q1
=
(
signed
char
)
*
oq1
^
0x80
;
signed
char
q1
=
(
signed
char
)
*
oq1
^
0x80
;
signed
char
u
;
signed
char
u
;
vp8_
filter
=
vp8_signed_char_clamp
(
p1
-
q1
);
filter
_value
=
vp8_signed_char_clamp
(
p1
-
q1
);
vp8_
filter
=
vp8_signed_char_clamp
(
vp8_
filter
+
3
*
(
q0
-
p0
));
filter
_value
=
vp8_signed_char_clamp
(
filter
_value
+
3
*
(
q0
-
p0
));
vp8_
filter
&=
mask
;
filter
_value
&=
mask
;
/* save bottom 3 bits so that we round one side +4 and the other +3 */
/* save bottom 3 bits so that we round one side +4 and the other +3 */
Filter1
=
vp8_signed_char_clamp
(
vp8_
filter
+
4
);
Filter1
=
vp8_signed_char_clamp
(
filter
_value
+
4
);
Filter1
>>=
3
;
Filter1
>>=
3
;
u
=
vp8_signed_char_clamp
(
q0
-
Filter1
);
u
=
vp8_signed_char_clamp
(
q0
-
Filter1
);
*
oq0
=
u
^
0x80
;
*
oq0
=
u
^
0x80
;
Filter2
=
vp8_signed_char_clamp
(
vp8_
filter
+
3
);
Filter2
=
vp8_signed_char_clamp
(
filter
_value
+
3
);
Filter2
>>=
3
;
Filter2
>>=
3
;
u
=
vp8_signed_char_clamp
(
p0
+
Filter2
);
u
=
vp8_signed_char_clamp
(
p0
+
Filter2
);
*
op0
=
u
^
0x80
;
*
op0
=
u
^
0x80
;
...
...
This diff is collapsed.
Click to expand it.
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!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets