Skip to content
GitLab
Menu
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
7da6422d
Commit
7da6422d
authored
Jan 14, 2014
by
Dmitry Kovalev
Committed by
Gerrit Code Review
Jan 14, 2014
Browse files
Merge "Adding get_vp9_ref_frame_buffer() function."
parents
518a934f
804a155d
Changes
1
Show whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_onyx_if.c
View file @
7da6422d
...
...
@@ -2193,27 +2193,33 @@ int vp9_update_reference(VP9_PTR ptr, int ref_frame_flags) {
return
0
;
}
int
vp9_copy_reference_enc
(
VP9_PTR
ptr
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
ptr
);
YV12_BUFFER_CONFIG
*
cfg
;
static
YV12_BUFFER_CONFIG
*
get_vp9_ref_frame_buffer
(
VP9_COMP
*
cpi
,
VP9_REFFRAME
ref_frame_flag
)
{
MV_REFERENCE_FRAME
ref_frame
=
NONE
;
if
(
ref_frame_flag
==
VP9_LAST_FLAG
)
cfg
=
get_ref_frame_buffer
(
cpi
,
LAST_FRAME
)
;
ref_frame
=
LAST_FRAME
;
else
if
(
ref_frame_flag
==
VP9_GOLD_FLAG
)
cfg
=
get_ref_frame_buffer
(
cpi
,
GOLDEN_FRAME
)
;
ref_frame
=
GOLDEN_FRAME
;
else
if
(
ref_frame_flag
==
VP9_ALT_FLAG
)
cfg
=
get_ref_frame_buffer
(
cpi
,
ALTREF_FRAME
);
else
return
-
1
;
ref_frame
=
ALTREF_FRAME
;
vp8_yv12_copy_frame
(
cfg
,
sd
);
return
ref_frame
==
NONE
?
NULL
:
get_ref_frame_buffer
(
cpi
,
ref_frame
);
}
int
vp9_copy_reference_enc
(
VP9_PTR
ptr
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
)
{
VP9_COMP
*
const
cpi
=
(
VP9_COMP
*
)
ptr
;
YV12_BUFFER_CONFIG
*
cfg
=
get_vp9_ref_frame_buffer
(
cpi
,
ref_frame_flag
);
if
(
cfg
)
{
vp8_yv12_copy_frame
(
cfg
,
sd
);
return
0
;
}
else
{
return
-
1
;
}
}
int
vp9_get_reference_enc
(
VP9_PTR
ptr
,
int
index
,
YV12_BUFFER_CONFIG
**
fb
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
(
ptr
)
;
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
ptr
;
VP9_COMMON
*
cm
=
&
cpi
->
common
;
if
(
index
<
0
||
index
>=
REF_FRAMES
)
...
...
@@ -2225,23 +2231,14 @@ int vp9_get_reference_enc(VP9_PTR ptr, int index, YV12_BUFFER_CONFIG **fb) {
int
vp9_set_reference_enc
(
VP9_PTR
ptr
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
ptr
);
VP9_COMMON
*
cm
=
&
cpi
->
common
;
int
ref_fb_idx
;
if
(
ref_frame_flag
==
VP9_LAST_FLAG
)
ref_fb_idx
=
cm
->
ref_frame_map
[
cpi
->
lst_fb_idx
];
else
if
(
ref_frame_flag
==
VP9_GOLD_FLAG
)
ref_fb_idx
=
cm
->
ref_frame_map
[
cpi
->
gld_fb_idx
];
else
if
(
ref_frame_flag
==
VP9_ALT_FLAG
)
ref_fb_idx
=
cm
->
ref_frame_map
[
cpi
->
alt_fb_idx
];
else
return
-
1
;
vp8_yv12_copy_frame
(
sd
,
&
cm
->
yv12_fb
[
ref_fb_idx
]);
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
ptr
;
YV12_BUFFER_CONFIG
*
cfg
=
get_vp9_ref_frame_buffer
(
cpi
,
ref_frame_flag
);
if
(
cfg
)
{
vp8_yv12_copy_frame
(
sd
,
cfg
);
return
0
;
}
else
{
return
-
1
;
}
}
int
vp9_update_entropy
(
VP9_PTR
comp
,
int
update
)
{
...
...
Write
Preview
Supports
Markdown
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