From be3f0698b08c4cdc8641b407de246efa24568f45 Mon Sep 17 00:00:00 2001 From: hui su Date: Thu, 5 May 2016 15:37:37 -0700 Subject: 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 --- vpxenc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'vpxenc.c') 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 -- cgit v1.2.3