Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Yushin Cho
aom-rav1e
Commits
82331e00
Commit
82331e00
authored
Aug 16, 2015
by
hui su
Browse files
create vp10_arg_ctrl_map
Change-Id: Ibe49acb022f1d557ffccb91e7bd2558870ff1a0b
parent
db14911c
Changes
1
Hide whitespace changes
Inline
Side-by-side
vpxenc.c
View file @
82331e00
...
...
@@ -443,7 +443,9 @@ static const struct arg_enum_list tune_content_enum[] = {
static
const
arg_def_t
tune_content
=
ARG_DEF_ENUM
(
NULL
,
"tune-content"
,
1
,
"Tune content type"
,
tune_content_enum
);
#endif
#if CONFIG_VP9_ENCODER
static
const
arg_def_t
*
vp9_args
[]
=
{
&
cpu_used_vp9
,
&
auto_altref
,
&
sharpness
,
&
static_thresh
,
&
tile_cols
,
&
tile_rows
,
&
arnr_maxframes
,
&
arnr_strength
,
&
arnr_type
,
...
...
@@ -469,6 +471,32 @@ static const int vp9_arg_ctrl_map[] = {
};
#endif
#if CONFIG_VP10_ENCODER
static
const
arg_def_t
*
vp10_args
[]
=
{
&
cpu_used_vp9
,
&
auto_altref
,
&
sharpness
,
&
static_thresh
,
&
tile_cols
,
&
tile_rows
,
&
arnr_maxframes
,
&
arnr_strength
,
&
arnr_type
,
&
tune_ssim
,
&
cq_level
,
&
max_intra_rate_pct
,
&
max_inter_rate_pct
,
&
gf_cbr_boost_pct
,
&
lossless
,
&
frame_parallel_decoding
,
&
aq_mode
,
&
frame_periodic_boost
,
&
noise_sens
,
&
tune_content
,
&
input_color_space
,
&
min_gf_interval
,
&
max_gf_interval
,
NULL
};
static
const
int
vp10_arg_ctrl_map
[]
=
{
VP8E_SET_CPUUSED
,
VP8E_SET_ENABLEAUTOALTREF
,
VP8E_SET_SHARPNESS
,
VP8E_SET_STATIC_THRESHOLD
,
VP9E_SET_TILE_COLUMNS
,
VP9E_SET_TILE_ROWS
,
VP8E_SET_ARNR_MAXFRAMES
,
VP8E_SET_ARNR_STRENGTH
,
VP8E_SET_ARNR_TYPE
,
VP8E_SET_TUNING
,
VP8E_SET_CQ_LEVEL
,
VP8E_SET_MAX_INTRA_BITRATE_PCT
,
VP9E_SET_MAX_INTER_BITRATE_PCT
,
VP9E_SET_GF_CBR_BOOST_PCT
,
VP9E_SET_LOSSLESS
,
VP9E_SET_FRAME_PARALLEL_DECODING
,
VP9E_SET_AQ_MODE
,
VP9E_SET_FRAME_PERIODIC_BOOST
,
VP9E_SET_NOISE_SENSITIVITY
,
VP9E_SET_TUNE_CONTENT
,
VP9E_SET_COLOR_SPACE
,
VP9E_SET_MIN_GF_INTERVAL
,
VP9E_SET_MAX_GF_INTERVAL
,
0
};
#endif
static
const
arg_def_t
*
no_args
[]
=
{
NULL
};
void
usage_exit
(
void
)
{
...
...
@@ -492,17 +520,13 @@ void usage_exit(void) {
fprintf
(
stderr
,
"
\n
VP8 Specific Options:
\n
"
);
arg_show_usage
(
stderr
,
vp8_args
);
#endif
#if CONFIG_VP9_ENCODER || CONFIG_VP10_ENCODER
// TODO(yaowu: split vp9 and vp10 option when necessary.
fprintf
(
stderr
,
"
\n
"
);
#if CONFIG_VP9_ENCODER
fprintf
(
stderr
,
"VP9 "
);
#endif
#if CONFIG_VP10_ENCODER
fprintf
(
stderr
,
"VP10 "
);
#endif
fprintf
(
stderr
,
"Specific Options:
\n
"
);
#if CONFIG_VP9_ENCODER
fprintf
(
stderr
,
"
\n
VP9 Specific Options:
\n
"
);
arg_show_usage
(
stderr
,
vp9_args
);
#endif
#if CONFIG_VP10_ENCODER
fprintf
(
stderr
,
"
\n
VP10 Specific Options:
\n
"
);
arg_show_usage
(
stderr
,
vp10_args
);
#endif
fprintf
(
stderr
,
"
\n
Stream timebase (--timebase):
\n
"
" The desired precision of timestamps in the output, expressed
\n
"
...
...
@@ -749,14 +773,12 @@ static int compare_img(const vpx_image_t *const img1,
#define NELEMENTS(x) (sizeof(x)/sizeof(x[0]))
#define MAX(x,y) ((x)>(y)?(x):(y))
#if CONFIG_VP8_ENCODER && !(CONFIG_VP9_ENCODER || CONFIG_VP10_ENCODER)
#define ARG_CTRL_CNT_MAX NELEMENTS(vp8_arg_ctrl_map)
#elif !CONFIG_VP8_ENCODER && (CONFIG_VP9_ENCODER || CONFIG_VP10_ENCODER)
#if CONFIG_VP10_ENCODER
#define ARG_CTRL_CNT_MAX NELEMENTS(vp10_arg_ctrl_map)
#elif CONFIG_VP9_ENCODER
#define ARG_CTRL_CNT_MAX NELEMENTS(vp9_arg_ctrl_map)
#else
#define ARG_CTRL_CNT_MAX MAX(NELEMENTS(vp8_arg_ctrl_map), \
NELEMENTS(vp9_arg_ctrl_map))
#define ARG_CTRL_CNT_MAX NELEMENTS(vp8_arg_ctrl_map)
#endif
#if !CONFIG_WEBM_IO
...
...
@@ -1083,8 +1105,8 @@ static int parse_stream_params(struct VpxEncoderConfig *global,
}
else
if
(
strcmp
(
global
->
codec
->
name
,
"vp10"
)
==
0
)
{
// TODO(jingning): Reuse VP9 specific encoder configuration parameters.
// Consider to expand this set for VP10 encoder control.
ctrl_args
=
vp
9
_args
;
ctrl_args_map
=
vp
9
_arg_ctrl_map
;
ctrl_args
=
vp
10
_args
;
ctrl_args_map
=
vp
10
_arg_ctrl_map
;
#endif
}
...
...
Write
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!
Cancel
Please
register
or
sign in
to comment