On Mon, Jun 29, 2020 at 11:05 AM James Zern <jz...@google.com> wrote: > > On Thu, Jun 25, 2020 at 5:55 PM Wang Cao <doublee...@gmail.com> wrote: > > > > From: Wang Cao <doublee...@gmail.com> > > > > Signed-off-by: Wang Cao <wang...@google.com> > > --- > > doc/encoders.texi | 39 +++++++++++++++++++++++++++++++++++++++ > > libavcodec/libaomenc.c | 38 ++++++++++++++++++++++++++++++++++++++ > > libavcodec/version.h | 2 +- > > 3 files changed, 78 insertions(+), 1 deletion(-) > > > > [...] > > @@ -688,6 +713,8 @@ static av_cold int aom_init(AVCodecContext *avctx, > > // codec control failures are currently treated only as warnings > > av_log(avctx, AV_LOG_DEBUG, "aom_codec_control\n"); > > codecctl_int(avctx, AOME_SET_CPUUSED, ctx->cpu_used); > > + if (ctx->enable_superres >= 0) > > I think you can just check whether superres_mode has been set to avoid > this additional option. > > > + codecctl_int(avctx, AV1E_SET_ENABLE_SUPERRES, > > ctx->enable_superres); > > if (ctx->auto_alt_ref >= 0) > > codecctl_int(avctx, AOME_SET_ENABLEAUTOALTREF, ctx->auto_alt_ref); > > if (ctx->arnr_max_frames >= 0) > > @@ -1107,6 +1134,17 @@ static const AVOption options[] = { > > { "tune", "The metric that the encoder tunes for. > > Automatically chosen by the encoder by default", OFFSET(tune), > > AV_OPT_TYPE_INT, {.i64 = -1}, -1, AOM_TUNE_SSIM, VE, "tune"}, > > { "psnr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = > > AOM_TUNE_PSNR}, 0, 0, VE, "tune"}, > > { "ssim", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = > > AOM_TUNE_SSIM}, 0, 0, VE, "tune"}, > > + { "enable-superres", "Enable super-resolution mode", > > OFFSET(enable_superres), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, > > + { "superres-mode", "Select super-resultion mode", > > OFFSET(superres_mode), AV_OPT_TYPE_INT, {.i64 = -1}, -1, AOM_SUPERRES_AUTO, > > VE, "superres_mode"}, > > resolution > > > + { "none", "No frame superres allowed", > > 0, AV_OPT_TYPE_CONST, {.i64 = AOM_SUPERRES_NONE}, 0, 0, > > VE, "superres_mode"},
The AOM_SUPERRES_* enum values are a recent addition, for compatibility you can use integer constants. If there was an abi bump after they were added you can check that and keep the enum values for current versions of the library. > > + { "fixed", "All frames are coded at the specified scale and > > super-resolved", 0, AV_OPT_TYPE_CONST, {.i64 = AOM_SUPERRES_FIXED}, 0, 0, > > VE, "superres_mode"}, > > + { "random", "All frames are coded at a random scale and > > super-resolved.", 0, AV_OPT_TYPE_CONST, {.i64 = AOM_SUPERRES_RANDOM}, > > 0, 0, VE, "superres_mode"}, > > + { "qthresh", "Superres scale for a frame is determined based > > on q_index", 0, AV_OPT_TYPE_CONST, {.i64 = AOM_SUPERRES_QTHRESH}, 0, > > 0, VE, "superres_mode"}, > > + { "auto", "Automatically select superres for appropriate > > frames", 0, AV_OPT_TYPE_CONST, {.i64 = AOM_SUPERRES_AUTO}, 0, > > 0, VE, "superres_mode"}, > > + { "superres-denominator", "The denominator for superres to use, > > range [8, 16]", OFFSET(superres_denominator), > > AV_OPT_TYPE_INT, {.i64 = 8}, 8, 16, VE}, > > + { "superres-qthresh", "The q level threshold after which > > superres is used, range [1, 63]", OFFSET(superres_qthresh), > > AV_OPT_TYPE_INT, {.i64 = 0}, 0, 63, VE}, > > + { "superres-kf-denominator", "The denominator for superres to use on > > key frames, range [8, 16]", > > OFFSET(superres_kf_denominator), AV_OPT_TYPE_INT, {.i64 = 8}, 8, 16, VE}, > > + { "superres-kf-qthresh", "The q level threshold after which > > superres is used for key frames, range [1, 63]", > > OFFSET(superres_kf_qthresh), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 63, VE}, > > { NULL }, > > }; > > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".