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"},
> +    { "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".

Reply via email to