Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
d708e7fb
Commit
d708e7fb
authored
May 24, 2012
by
John Koleszar
Committed by
Gerrit Code Review
May 24, 2012
Browse files
Merge "Fix another multithreaded encoder loopfilter race condition"
parents
d790bc17
ea392d47
Changes
4
Hide whitespace changes
Inline
Side-by-side
vp8/common/loopfilter.c
View file @
d708e7fb
...
...
@@ -196,18 +196,14 @@ void vp8_loop_filter_frame_init(VP8_COMMON *cm,
}
}
void
vp8_loop_filter_frame
(
VP8_COMMON
*
cm
,
MACROBLOCKD
*
mbd
)
void
vp8_loop_filter_frame
(
VP8_COMMON
*
cm
,
MACROBLOCKD
*
mbd
,
int
frame_type
)
{
YV12_BUFFER_CONFIG
*
post
=
cm
->
frame_to_show
;
loop_filter_info_n
*
lfi_n
=
&
cm
->
lf_info
;
loop_filter_info
lfi
;
FRAME_TYPE
frame_type
=
cm
->
frame_type
;
int
mb_row
;
int
mb_col
;
int
mb_rows
=
cm
->
mb_rows
;
...
...
vp8/common/loopfilter.h
View file @
d708e7fb
...
...
@@ -76,7 +76,8 @@ void vp8_loop_filter_frame_init(struct VP8Common *cm,
struct
macroblockd
*
mbd
,
int
default_filt_lvl
);
void
vp8_loop_filter_frame
(
struct
VP8Common
*
cm
,
struct
macroblockd
*
mbd
);
void
vp8_loop_filter_frame
(
struct
VP8Common
*
cm
,
struct
macroblockd
*
mbd
,
int
frame_type
);
void
vp8_loop_filter_partial_frame
(
struct
VP8Common
*
cm
,
struct
macroblockd
*
mbd
,
...
...
vp8/decoder/onyxd_if.c
View file @
d708e7fb
...
...
@@ -471,7 +471,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi
if
(
cm
->
filter_level
)
{
/* Apply the loop filter if appropriate. */
vp8_loop_filter_frame
(
cm
,
&
pbi
->
mb
);
vp8_loop_filter_frame
(
cm
,
&
pbi
->
mb
,
cm
->
frame_type
);
}
vp8_yv12_extend_frame_borders
(
cm
->
frame_to_show
);
}
...
...
vp8/encoder/onyx_if.c
View file @
d708e7fb
...
...
@@ -3117,6 +3117,8 @@ static void update_reference_frames(VP8_COMMON *cm)
void
vp8_loopfilter_frame
(
VP8_COMP
*
cpi
,
VP8_COMMON
*
cm
)
{
const
FRAME_TYPE
frame_type
=
cm
->
frame_type
;
if
(
cm
->
no_lpf
)
{
cm
->
filter_level
=
0
;
...
...
@@ -3134,6 +3136,11 @@ void vp8_loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm)
else
vp8cx_pick_filter_level
(
cpi
->
Source
,
cpi
);
if
(
cm
->
filter_level
>
0
)
{
vp8cx_set_alt_lf_level
(
cpi
,
cm
->
filter_level
);
}
vpx_usec_timer_mark
(
&
timer
);
cpi
->
time_pick_lpf
+=
vpx_usec_timer_elapsed
(
&
timer
);
}
...
...
@@ -3145,8 +3152,7 @@ void vp8_loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm)
if
(
cm
->
filter_level
>
0
)
{
vp8cx_set_alt_lf_level
(
cpi
,
cm
->
filter_level
);
vp8_loop_filter_frame
(
cm
,
&
cpi
->
mb
.
e_mbd
);
vp8_loop_filter_frame
(
cm
,
&
cpi
->
mb
.
e_mbd
,
frame_type
);
}
vp8_yv12_extend_frame_borders
(
cm
->
frame_to_show
);
...
...
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