summaryrefslogtreecommitdiff
path: root/vpxenc.c
diff options
context:
space:
mode:
authorhui su <huisu@google.com>2016-05-05 15:37:37 -0700
committerhui su <huisu@google.com>2016-05-10 11:48:16 -0700
commitbe3f0698b08c4cdc8641b407de246efa24568f45 (patch)
tree4a6441f4bacf304dc50ced6a86e525896585f3e2 /vpxenc.c
parente2b696c390f0462c751699c4b27b7cf4feae5797 (diff)
downloadlibvpx-be3f0698b08c4cdc8641b407de246efa24568f45.tar
libvpx-be3f0698b08c4cdc8641b407de246efa24568f45.tar.gz
libvpx-be3f0698b08c4cdc8641b407de246efa24568f45.tar.bz2
libvpx-be3f0698b08c4cdc8641b407de246efa24568f45.zip
Add VP9 encoder API for level specification.
Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to control the output bitstream level and/or keep level related statistics. Usage: 255 do not care about level (default) 0 keep level related stats only 10 target for level 1 11 target for level 1.1 . . . 62 target for level 6.2 Usage for vpxenc: --target-level=0/255/10/11... Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
Diffstat (limited to 'vpxenc.c')
-rw-r--r--vpxenc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/vpxenc.c b/vpxenc.c
index a6cbbc706..f2def5468 100644
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -444,6 +444,11 @@ 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);
+
+static const arg_def_t target_level = ARG_DEF(
+ NULL, "target-level", 1,
+ "Target level (255: off (default); 0: only keep level stats; 10: level 1.0;"
+ " 11: level 1.1; ... 62: level 6.2)");
#endif
#if CONFIG_VP9_ENCODER
@@ -454,7 +459,7 @@ static const arg_def_t *vp9_args[] = {
&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,
+ &min_gf_interval, &max_gf_interval, &target_level,
#if CONFIG_VP9_HIGHBITDEPTH
&bitdeptharg, &inbitdeptharg,
#endif // CONFIG_VP9_HIGHBITDEPTH
@@ -470,7 +475,7 @@ static const int vp9_arg_ctrl_map[] = {
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,
+ VP9E_SET_MIN_GF_INTERVAL, VP9E_SET_MAX_GF_INTERVAL, VP9E_SET_TARGET_LEVEL,
0
};
#endif