Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
libvpx
Commits
267e9331
Commit
267e9331
authored
May 08, 2013
by
Dmitry Kovalev
Committed by
Gerrit Code Review
May 08, 2013
Browse files
Merge "Using 4-iteration loop for extra_mb_col inside loopfilter function." into experimental
parents
c208cd67
8e392959
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
48 deletions
+15
-48
vp9/common/vp9_loopfilter.c
vp9/common/vp9_loopfilter.c
+15
-48
No files found.
vp9/common/vp9_loopfilter.c
View file @
267e9331
...
...
@@ -462,54 +462,21 @@ void vp9_loop_filter_frame(VP9_COMMON *cm,
}
if
(
extra_mb_col
)
{
// process 4 MB in the extra MB col
// process 1st MB
mi
=
mode_info_context
;
do_left_v
=
(
mb_col
>
0
);
do_above_h
=
(
mb_row
>
0
);
do_left_v_mbuv
=
1
;
do_above_h_mbuv
=
1
;
lpf_mb
(
cm
,
mi
,
do_left_v
,
do_above_h
,
do_left_v_mbuv
,
do_above_h_mbuv
,
y_ptr
,
y_only
?
0
:
u_ptr
,
y_only
?
0
:
v_ptr
,
y_stride
,
uv_stride
,
dering
);
// process 2nd MB
mi
=
mode_info_context
+
(
mis
<<
1
);
do_left_v
=
(
mb_col
>
0
);
do_above_h
=
1
;
do_left_v_mbuv
=
1
;
do_above_h_mbuv
=
1
;
lpf_mb
(
cm
,
mi
,
do_left_v
,
do_above_h
,
do_left_v_mbuv
,
do_above_h_mbuv
,
y_ptr
+
16
*
y_stride
,
y_only
?
0
:
(
u_ptr
+
8
*
uv_stride
),
y_only
?
0
:
(
v_ptr
+
8
*
uv_stride
),
y_stride
,
uv_stride
,
dering
);
// process 3nd MB
mi
=
mode_info_context
+
(
mis
<<
1
)
*
2
;
do_left_v
=
(
mb_col
>
0
);
do_above_h
=
1
;
do_left_v_mbuv
=
1
;
do_above_h_mbuv
=
1
;
lpf_mb
(
cm
,
mi
,
do_left_v
,
do_above_h
,
do_left_v_mbuv
,
do_above_h_mbuv
,
y_ptr
+
32
*
y_stride
,
y_only
?
0
:
(
u_ptr
+
16
*
uv_stride
),
y_only
?
0
:
(
v_ptr
+
16
*
uv_stride
),
y_stride
,
uv_stride
,
dering
);
// process 4th MB
mi
=
mode_info_context
+
(
mis
<<
1
)
*
3
;
do_left_v
=
(
mb_col
>
0
);
do_above_h
=
1
;
do_left_v_mbuv
=
1
;
do_above_h_mbuv
=
1
;
lpf_mb
(
cm
,
mi
,
do_left_v
,
do_above_h
,
do_left_v_mbuv
,
do_above_h_mbuv
,
y_ptr
+
48
*
y_stride
,
y_only
?
0
:
(
u_ptr
+
24
*
uv_stride
),
y_only
?
0
:
(
v_ptr
+
24
*
uv_stride
),
y_stride
,
uv_stride
,
dering
);
int
k
;
for
(
k
=
0
;
k
<
4
;
++
k
)
{
mi
=
mode_info_context
+
(
mis
<<
1
)
*
k
;
do_left_v
=
(
mb_col
>
0
);
do_above_h
=
k
==
0
?
mb_row
>
0
:
1
;
do_left_v_mbuv
=
1
;
do_above_h_mbuv
=
1
;
lpf_mb
(
cm
,
mi
,
do_left_v
,
do_above_h
,
do_left_v_mbuv
,
do_above_h_mbuv
,
y_ptr
+
(
k
*
16
)
*
y_stride
,
y_only
?
0
:
(
u_ptr
+
(
k
*
8
)
*
uv_stride
),
y_only
?
0
:
(
v_ptr
+
(
k
*
8
)
*
uv_stride
),
y_stride
,
uv_stride
,
dering
);
}
y_ptr
+=
16
;
u_ptr
=
y_only
?
0
:
u_ptr
+
8
;
v_ptr
=
y_only
?
0
:
v_ptr
+
8
;
...
...
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