Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
libvpx
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
External Wiki
External Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
BC
public
external
libvpx
Commits
fe7b1d0a
Commit
fe7b1d0a
authored
Mar 04, 2014
by
Dmitry Kovalev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removing VP9_PTR.
Change-Id: Ib49d8dbc67c590f22a1a70251ff607c9f38febd7
parent
be647f7b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
109 deletions
+75
-109
vp9_onyx.h
vp9/common/vp9_onyx.h
+35
-35
vp9_onyx_if.c
vp9/encoder/vp9_onyx_if.c
+34
-66
vp9_cx_iface.c
vp9/vp9_cx_iface.c
+6
-8
No files found.
vp9/common/vp9_onyx.h
View file @
fe7b1d0a
...
...
@@ -23,7 +23,7 @@ extern "C" {
#define MAX_SEGMENTS 8
typedef
int
*
VP9_PTR
;
struct
VP9_COMP
;
/* Create/destroy static data structures. */
...
...
@@ -187,59 +187,59 @@ extern "C" {
}
VP9_CONFIG
;
void
vp9_initialize_enc
();
void
vp9_initialize_enc
();
VP9_PTR
vp9_create_compressor
(
VP9_CONFIG
*
oxcf
);
void
vp9_remove_compressor
(
VP9_PTR
*
comp
);
struct
VP9_COMP
*
vp9_create_compressor
(
VP9_CONFIG
*
oxcf
);
void
vp9_remove_compressor
(
struct
VP9_COMP
*
cpi
);
void
vp9_change_config
(
VP9_PTR
onyx
,
VP9_CONFIG
*
oxcf
);
void
vp9_change_config
(
struct
VP9_COMP
*
cpi
,
VP9_CONFIG
*
oxcf
);
// receive a frames worth of data. caller can assume that a copy of this
// frame is made and not just a copy of the pointer..
int
vp9_receive_raw_frame
(
VP9_PTR
comp
,
unsigned
int
frame_flags
,
YV12_BUFFER_CONFIG
*
sd
,
int64_t
time_stamp
,
int64_t
end_time_stamp
);
int
vp9_receive_raw_frame
(
struct
VP9_COMP
*
cpi
,
unsigned
int
frame_flags
,
YV12_BUFFER_CONFIG
*
sd
,
int64_t
time_stamp
,
int64_t
end_time_stamp
);
int
vp9_get_compressed_data
(
VP9_PTR
comp
,
unsigned
int
*
frame_flags
,
size_t
*
size
,
uint8_t
*
dest
,
int64_t
*
time_stamp
,
int64_t
*
time_end
,
int
flush
);
int
vp9_get_compressed_data
(
struct
VP9_COMP
*
cpi
,
unsigned
int
*
frame_flags
,
size_t
*
size
,
uint8_t
*
dest
,
int64_t
*
time_stamp
,
int64_t
*
time_end
,
int
flush
);
int
vp9_get_preview_raw_frame
(
VP9_PTR
comp
,
YV12_BUFFER_CONFIG
*
dest
,
vp9_ppflags_t
*
flags
);
int
vp9_get_preview_raw_frame
(
struct
VP9_COMP
*
cpi
,
YV12_BUFFER_CONFIG
*
dest
,
vp9_ppflags_t
*
flags
);
int
vp9_use_as_reference
(
VP9_PTR
comp
,
int
ref_frame_flags
);
int
vp9_use_as_reference
(
struct
VP9_COMP
*
cpi
,
int
ref_frame_flags
);
int
vp9_update_reference
(
VP9_PTR
comp
,
int
ref_frame_flags
);
int
vp9_update_reference
(
struct
VP9_COMP
*
cpi
,
int
ref_frame_flags
);
int
vp9_copy_reference_enc
(
VP9_PTR
comp
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
);
int
vp9_copy_reference_enc
(
struct
VP9_COMP
*
cpi
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
);
int
vp9_get_reference_enc
(
VP9_PTR
ptr
,
int
index
,
YV12_BUFFER_CONFIG
**
fb
);
int
vp9_get_reference_enc
(
struct
VP9_COMP
*
cpi
,
int
index
,
YV12_BUFFER_CONFIG
**
fb
);
int
vp9_set_reference_enc
(
VP9_PTR
comp
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
);
int
vp9_set_reference_enc
(
struct
VP9_COMP
*
cpi
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
);
int
vp9_update_entropy
(
VP9_PTR
comp
,
int
update
);
int
vp9_update_entropy
(
struct
VP9_COMP
*
cpi
,
int
update
);
int
vp9_set_roimap
(
VP9_PTR
comp
,
unsigned
char
*
map
,
unsigned
int
rows
,
unsigned
int
cols
,
int
delta_q
[
MAX_SEGMENTS
],
int
delta_lf
[
MAX_SEGMENTS
],
unsigned
int
threshold
[
MAX_SEGMENTS
]);
int
vp9_set_roimap
(
struct
VP9_COMP
*
cpi
,
unsigned
char
*
map
,
unsigned
int
rows
,
unsigned
int
cols
,
int
delta_q
[
MAX_SEGMENTS
],
int
delta_lf
[
MAX_SEGMENTS
],
unsigned
int
threshold
[
MAX_SEGMENTS
]);
int
vp9_set_active_map
(
VP9_PTR
comp
,
unsigned
char
*
map
,
unsigned
int
rows
,
unsigned
int
cols
);
int
vp9_set_active_map
(
struct
VP9_COMP
*
cpi
,
unsigned
char
*
map
,
unsigned
int
rows
,
unsigned
int
cols
);
int
vp9_set_internal_size
(
VP9_PTR
comp
,
VPX_SCALING
horiz_mode
,
VPX_SCALING
vert_mode
);
int
vp9_set_internal_size
(
struct
VP9_COMP
*
cpi
,
VPX_SCALING
horiz_mode
,
VPX_SCALING
vert_mode
);
int
vp9_set_size_literal
(
VP9_PTR
comp
,
unsigned
int
width
,
unsigned
int
height
);
int
vp9_set_size_literal
(
struct
VP9_COMP
*
cpi
,
unsigned
int
width
,
unsigned
int
height
);
void
vp9_set_svc
(
VP9_PTR
comp
,
int
use_svc
);
void
vp9_set_svc
(
struct
VP9_COMP
*
cpi
,
int
use_svc
);
int
vp9_get_quantizer
(
VP9_PTR
c
);
int
vp9_get_quantizer
(
struct
VP9_COMP
*
cpi
);
#ifdef __cplusplus
}
// extern "C"
...
...
vp9/encoder/vp9_onyx_if.c
View file @
fe7b1d0a
...
...
@@ -1309,8 +1309,7 @@ static void set_tile_limits(VP9_COMP *cpi) {
cm
->
log2_tile_rows
=
cpi
->
oxcf
.
tile_rows
;
}
static
void
init_config
(
VP9_PTR
ptr
,
VP9_CONFIG
*
oxcf
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
ptr
);
static
void
init_config
(
struct
VP9_COMP
*
cpi
,
VP9_CONFIG
*
oxcf
)
{
VP9_COMMON
*
const
cm
=
&
cpi
->
common
;
int
i
;
...
...
@@ -1335,7 +1334,7 @@ static void init_config(VP9_PTR ptr, VP9_CONFIG *oxcf) {
}
// change includes all joint functionality
vp9_change_config
(
ptr
,
oxcf
);
vp9_change_config
(
cpi
,
oxcf
);
// Initialize active best and worst q and average q values.
if
(
cpi
->
pass
==
0
&&
cpi
->
oxcf
.
end_usage
==
USAGE_STREAM_FROM_SERVER
)
{
...
...
@@ -1379,8 +1378,7 @@ static void init_config(VP9_PTR ptr, VP9_CONFIG *oxcf) {
cpi
->
fixed_divide
[
i
]
=
0x80000
/
i
;
}
void
vp9_change_config
(
VP9_PTR
ptr
,
VP9_CONFIG
*
oxcf
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
ptr
);
void
vp9_change_config
(
struct
VP9_COMP
*
cpi
,
VP9_CONFIG
*
oxcf
)
{
VP9_COMMON
*
const
cm
=
&
cpi
->
common
;
if
(
!
cpi
||
!
oxcf
)
...
...
@@ -1698,30 +1696,19 @@ static void free_pick_mode_context(MACROBLOCK *x) {
}
}
VP9_
PTR
vp9_create_compressor
(
VP9_CONFIG
*
oxcf
)
{
VP9_
COMP
*
vp9_create_compressor
(
VP9_CONFIG
*
oxcf
)
{
int
i
,
j
;
volatile
union
{
VP9_COMP
*
cpi
;
VP9_PTR
ptr
;
}
ctx
;
VP9_COMP
*
cpi
=
vpx_memalign
(
32
,
sizeof
(
VP9_COMP
));
VP9_COMMON
*
cm
=
cpi
!=
NULL
?
&
cpi
->
common
:
NULL
;
VP9_COMP
*
cpi
;
VP9_COMMON
*
cm
;
cpi
=
ctx
.
cpi
=
vpx_memalign
(
32
,
sizeof
(
VP9_COMP
));
// Check that the CPI instance is valid
if
(
!
cpi
)
return
0
;
cm
=
&
cpi
->
common
;
if
(
!
cm
)
return
NULL
;
vp9_zero
(
*
cpi
);
if
(
setjmp
(
cm
->
error
.
jmp
))
{
VP9_PTR
ptr
=
ctx
.
ptr
;
ctx
.
cpi
->
common
.
error
.
setjmp
=
0
;
vp9_remove_compressor
(
&
ptr
);
cm
->
error
.
setjmp
=
0
;
vp9_remove_compressor
(
cpi
);
return
0
;
}
...
...
@@ -1734,11 +1721,10 @@ VP9_PTR vp9_create_compressor(VP9_CONFIG *oxcf) {
cpi
->
use_svc
=
0
;
init_config
((
VP9_PTR
)
cpi
,
oxcf
);
init_config
(
cpi
,
oxcf
);
init_pick_mode_context
(
cpi
);
cm
->
current_video_frame
=
0
;
cm
->
current_video_frame
=
0
;
// Set reference frame sign bias for ALTREF frame to 1 (for now)
cm
->
ref_frame_sign_bias
[
ALTREF_FRAME
]
=
1
;
...
...
@@ -1746,8 +1732,8 @@ VP9_PTR vp9_create_compressor(VP9_CONFIG *oxcf) {
cpi
->
rc
.
baseline_gf_interval
=
DEFAULT_GF_INTERVAL
;
cpi
->
gold_is_last
=
0
;
cpi
->
alt_is_last
=
0
;
cpi
->
gold_is_alt
=
0
;
cpi
->
alt_is_last
=
0
;
cpi
->
gold_is_alt
=
0
;
// Create the encoder segmentation map and set all entries to 0
CHECK_MEM_ERROR
(
cm
,
cpi
->
segmentation_map
,
...
...
@@ -2015,11 +2001,10 @@ VP9_PTR vp9_create_compressor(VP9_CONFIG *oxcf) {
vp9_zero
(
cpi
->
mode_test_hits
);
#endif
return
(
VP9_PTR
)
cpi
;
return
cpi
;
}
void
vp9_remove_compressor
(
VP9_PTR
*
ptr
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
*
ptr
);
void
vp9_remove_compressor
(
VP9_COMP
*
cpi
)
{
int
i
;
if
(
!
cpi
)
...
...
@@ -2126,7 +2111,6 @@ void vp9_remove_compressor(VP9_PTR *ptr) {
vp9_remove_common
(
&
cpi
->
common
);
vpx_free
(
cpi
);
*
ptr
=
0
;
#ifdef OUTPUT_YUV_SRC
fclose
(
yuv_file
);
...
...
@@ -2253,9 +2237,7 @@ static void generate_psnr_packet(VP9_COMP *cpi) {
vpx_codec_pkt_list_add
(
cpi
->
output_pkt_list
,
&
pkt
);
}
int
vp9_use_as_reference
(
VP9_PTR
ptr
,
int
ref_frame_flags
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
ptr
);
int
vp9_use_as_reference
(
VP9_COMP
*
cpi
,
int
ref_frame_flags
)
{
if
(
ref_frame_flags
>
7
)
return
-
1
;
...
...
@@ -2263,9 +2245,7 @@ int vp9_use_as_reference(VP9_PTR ptr, int ref_frame_flags) {
return
0
;
}
int
vp9_update_reference
(
VP9_PTR
ptr
,
int
ref_frame_flags
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)(
ptr
);
int
vp9_update_reference
(
VP9_COMP
*
cpi
,
int
ref_frame_flags
)
{
if
(
ref_frame_flags
>
7
)
return
-
1
;
...
...
@@ -2299,9 +2279,8 @@ static YV12_BUFFER_CONFIG *get_vp9_ref_frame_buffer(VP9_COMP *cpi,
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
,
int
vp9_copy_reference_enc
(
VP9_
COMP
*
cpi
,
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
);
...
...
@@ -2311,8 +2290,7 @@ int vp9_copy_reference_enc(VP9_PTR ptr, VP9_REFFRAME ref_frame_flag,
}
}
int
vp9_get_reference_enc
(
VP9_PTR
ptr
,
int
index
,
YV12_BUFFER_CONFIG
**
fb
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
ptr
;
int
vp9_get_reference_enc
(
VP9_COMP
*
cpi
,
int
index
,
YV12_BUFFER_CONFIG
**
fb
)
{
VP9_COMMON
*
cm
=
&
cpi
->
common
;
if
(
index
<
0
||
index
>=
REF_FRAMES
)
...
...
@@ -2322,9 +2300,8 @@ int vp9_get_reference_enc(VP9_PTR ptr, int index, YV12_BUFFER_CONFIG **fb) {
return
0
;
}
int
vp9_set_reference_enc
(
VP9_
PTR
ptr
,
VP9_REFFRAME
ref_frame_flag
,
int
vp9_set_reference_enc
(
VP9_
COMP
*
cpi
,
VP9_REFFRAME
ref_frame_flag
,
YV12_BUFFER_CONFIG
*
sd
)
{
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
);
...
...
@@ -2334,9 +2311,9 @@ int vp9_set_reference_enc(VP9_PTR ptr, VP9_REFFRAME ref_frame_flag,
}
}
int
vp9_update_entropy
(
VP9_
PTR
comp
,
int
update
)
{
((
VP9_COMP
*
)
comp
)
->
ext_refresh_frame_context
=
update
;
((
VP9_COMP
*
)
comp
)
->
ext_refresh_frame_context_pending
=
1
;
int
vp9_update_entropy
(
VP9_
COMP
*
cpi
,
int
update
)
{
cpi
->
ext_refresh_frame_context
=
update
;
cpi
->
ext_refresh_frame_context_pending
=
1
;
return
0
;
}
...
...
@@ -3452,10 +3429,9 @@ static void check_initial_width(VP9_COMP *cpi, int subsampling_x,
}
int
vp9_receive_raw_frame
(
VP9_
PTR
ptr
,
unsigned
int
frame_flags
,
int
vp9_receive_raw_frame
(
VP9_
COMP
*
cpi
,
unsigned
int
frame_flags
,
YV12_BUFFER_CONFIG
*
sd
,
int64_t
time_stamp
,
int64_t
end_time
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
ptr
;
VP9_COMMON
*
cm
=
&
cpi
->
common
;
struct
vpx_usec_timer
timer
;
int
res
=
0
;
...
...
@@ -3538,10 +3514,9 @@ void adjust_frame_rate(VP9_COMP *cpi) {
cpi
->
last_end_time_stamp_seen
=
cpi
->
source
->
ts_end
;
}
int
vp9_get_compressed_data
(
VP9_
PTR
ptr
,
unsigned
int
*
frame_flags
,
int
vp9_get_compressed_data
(
VP9_
COMP
*
cpi
,
unsigned
int
*
frame_flags
,
size_t
*
size
,
uint8_t
*
dest
,
int64_t
*
time_stamp
,
int64_t
*
time_end
,
int
flush
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
ptr
;
VP9_COMMON
*
cm
=
&
cpi
->
common
;
MACROBLOCKD
*
xd
=
&
cpi
->
mb
.
e_mbd
;
struct
vpx_usec_timer
cmptimer
;
...
...
@@ -3851,9 +3826,8 @@ int vp9_get_compressed_data(VP9_PTR ptr, unsigned int *frame_flags,
return
0
;
}
int
vp9_get_preview_raw_frame
(
VP9_
PTR
comp
,
YV12_BUFFER_CONFIG
*
dest
,
int
vp9_get_preview_raw_frame
(
VP9_
COMP
*
cpi
,
YV12_BUFFER_CONFIG
*
dest
,
vp9_ppflags_t
*
flags
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
comp
;
VP9_COMMON
*
cm
=
&
cpi
->
common
;
if
(
!
cm
->
show_frame
)
{
...
...
@@ -3881,11 +3855,10 @@ int vp9_get_preview_raw_frame(VP9_PTR comp, YV12_BUFFER_CONFIG *dest,
}
}
int
vp9_set_roimap
(
VP9_
PTR
comp
,
unsigned
char
*
map
,
unsigned
int
rows
,
int
vp9_set_roimap
(
VP9_
COMP
*
cpi
,
unsigned
char
*
map
,
unsigned
int
rows
,
unsigned
int
cols
,
int
delta_q
[
MAX_SEGMENTS
],
int
delta_lf
[
MAX_SEGMENTS
],
unsigned
int
threshold
[
MAX_SEGMENTS
])
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
comp
;
signed
char
feature_data
[
SEG_LVL_MAX
][
MAX_SEGMENTS
];
struct
segmentation
*
seg
=
&
cpi
->
common
.
seg
;
int
i
;
...
...
@@ -3931,10 +3904,8 @@ int vp9_set_roimap(VP9_PTR comp, unsigned char *map, unsigned int rows,
return
0
;
}
int
vp9_set_active_map
(
VP9_
PTR
comp
,
unsigned
char
*
map
,
int
vp9_set_active_map
(
VP9_
COMP
*
cpi
,
unsigned
char
*
map
,
unsigned
int
rows
,
unsigned
int
cols
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
comp
;
if
(
rows
==
cpi
->
common
.
mb_rows
&&
cols
==
cpi
->
common
.
mb_cols
)
{
if
(
map
)
{
vpx_memcpy
(
cpi
->
active_map
,
map
,
rows
*
cols
);
...
...
@@ -3950,9 +3921,8 @@ int vp9_set_active_map(VP9_PTR comp, unsigned char *map,
}
}
int
vp9_set_internal_size
(
VP9_
PTR
comp
,
int
vp9_set_internal_size
(
VP9_
COMP
*
cpi
,
VPX_SCALING
horiz_mode
,
VPX_SCALING
vert_mode
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
comp
;
VP9_COMMON
*
cm
=
&
cpi
->
common
;
int
hr
=
0
,
hs
=
0
,
vr
=
0
,
vs
=
0
;
...
...
@@ -3972,9 +3942,8 @@ int vp9_set_internal_size(VP9_PTR comp,
return
0
;
}
int
vp9_set_size_literal
(
VP9_
PTR
comp
,
unsigned
int
width
,
int
vp9_set_size_literal
(
VP9_
COMP
*
cpi
,
unsigned
int
width
,
unsigned
int
height
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
comp
;
VP9_COMMON
*
cm
=
&
cpi
->
common
;
check_initial_width
(
cpi
,
1
,
1
);
...
...
@@ -4009,8 +3978,7 @@ int vp9_set_size_literal(VP9_PTR comp, unsigned int width,
return
0
;
}
void
vp9_set_svc
(
VP9_PTR
comp
,
int
use_svc
)
{
VP9_COMP
*
cpi
=
(
VP9_COMP
*
)
comp
;
void
vp9_set_svc
(
VP9_COMP
*
cpi
,
int
use_svc
)
{
cpi
->
use_svc
=
use_svc
;
return
;
}
...
...
@@ -4040,6 +4008,6 @@ int vp9_calc_ss_err(const YV12_BUFFER_CONFIG *source,
}
int
vp9_get_quantizer
(
VP9_
PTR
c
)
{
return
((
VP9_COMP
*
)
c
)
->
common
.
base_qindex
;
int
vp9_get_quantizer
(
VP9_
COMP
*
cpi
)
{
return
cpi
->
common
.
base_qindex
;
}
vp9/vp9_cx_iface.c
View file @
fe7b1d0a
...
...
@@ -75,7 +75,7 @@ struct vpx_codec_alg_priv {
vpx_codec_enc_cfg_t
cfg
;
struct
vp9_extracfg
vp8_cfg
;
VP9_CONFIG
oxcf
;
VP9_
PTR
cpi
;
VP9_
COMP
*
cpi
;
unsigned
char
*
cx_data
;
size_t
cx_data_sz
;
unsigned
char
*
pending_cx_data
;
...
...
@@ -502,8 +502,6 @@ static vpx_codec_err_t vp9e_common_init(vpx_codec_ctx_t *ctx) {
vpx_codec_enc_cfg_t
*
cfg
;
unsigned
int
i
;
VP9_PTR
optr
;
if
(
ctx
->
priv
==
NULL
)
{
priv
=
calloc
(
1
,
sizeof
(
struct
vpx_codec_alg_priv
));
...
...
@@ -551,15 +549,15 @@ static vpx_codec_err_t vp9e_common_init(vpx_codec_ctx_t *ctx) {
res
=
validate_config
(
priv
,
&
priv
->
cfg
,
&
priv
->
vp8_cfg
);
if
(
res
==
VPX_CODEC_OK
)
{
VP9_COMP
*
cpi
;
set_vp9e_config
(
&
ctx
->
priv
->
alg_priv
->
oxcf
,
ctx
->
priv
->
alg_priv
->
cfg
,
ctx
->
priv
->
alg_priv
->
vp8_cfg
);
optr
=
vp9_create_compressor
(
&
ctx
->
priv
->
alg_priv
->
oxcf
);
if
(
optr
==
NULL
)
cpi
=
vp9_create_compressor
(
&
ctx
->
priv
->
alg_priv
->
oxcf
);
if
(
cpi
==
NULL
)
res
=
VPX_CODEC_MEM_ERROR
;
else
ctx
->
priv
->
alg_priv
->
cpi
=
optr
;
ctx
->
priv
->
alg_priv
->
cpi
=
cpi
;
}
}
...
...
@@ -574,7 +572,7 @@ static vpx_codec_err_t vp9e_init(vpx_codec_ctx_t *ctx,
static
vpx_codec_err_t
vp9e_destroy
(
vpx_codec_alg_priv_t
*
ctx
)
{
free
(
ctx
->
cx_data
);
vp9_remove_compressor
(
&
ctx
->
cpi
);
vp9_remove_compressor
(
ctx
->
cpi
);
free
(
ctx
);
return
VPX_CODEC_OK
;
}
...
...
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