Message ID | 20201026210132.4027342-1-bohanli@google.com |
---|---|
State | Superseded |
Headers | show |
Series | [FFmpeg-devel] Add enable_keyframe_filtering option for libaom-av1 encoder. | expand |
Context | Check | Description |
---|---|---|
andriy/x86_make | success | Make finished |
andriy/x86_make_fate | success | Make fate finished |
andriy/PPC64_make | success | Make finished |
andriy/PPC64_make_fate | success | Make fate finished |
On 10/26/2020 6:01 PM, Bohan Li wrote: > Signed-off-by: Bohan Li <bohanli@google.com> > --- > libavcodec/libaomenc.c | 5 +++++ > 1 file changed, 5 insertions(+) Missing documentation. > > diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c > index 2b0581b15a..a5d9843ae2 100644 > --- a/libavcodec/libaomenc.c > +++ b/libavcodec/libaomenc.c > @@ -124,6 +124,7 @@ typedef struct AOMEncoderContext { > int enable_diff_wtd_comp; > int enable_dist_wtd_comp; > int enable_dual_filter; > + int enable_keyframe_filtering; > } AOMContext; > > static const char *const ctlidstr[] = { > @@ -192,6 +193,7 @@ static const char *const ctlidstr[] = { > [AV1E_SET_REDUCED_REFERENCE_SET] = "AV1E_SET_REDUCED_REFERENCE_SET", > [AV1E_SET_ENABLE_SMOOTH_INTERINTRA] = "AV1E_SET_ENABLE_SMOOTH_INTERINTRA", > [AV1E_SET_ENABLE_REF_FRAME_MVS] = "AV1E_SET_ENABLE_REF_FRAME_MVS", > + [AV1E_SET_ENABLE_KEYFRAME_FILTERING] = "AV1E_SET_ENABLE_KEYFRAME_FILTRING" FILTRING typo. > #endif > }; > > @@ -812,6 +814,8 @@ static av_cold int aom_init(AVCodecContext *avctx, > codecctl_int(avctx, AV1E_SET_ENABLE_ONESIDED_COMP, ctx->enable_onesided_comp); > if (ctx->enable_smooth_interintra >= 0) > codecctl_int(avctx, AV1E_SET_ENABLE_SMOOTH_INTERINTRA, ctx->enable_smooth_interintra); > + if (ctx->enable_keyframe_filtering >= 0) > + codecctl_int(avctx, AV1E_SET_ENABLE_KEYFRAME_FILTERING, ctx->enable_keyframe_filtering); > #endif > > codecctl_int(avctx, AOME_SET_STATIC_THRESHOLD, ctx->static_thresh); > @@ -1261,6 +1265,7 @@ static const AVOption options[] = { > { "enable-masked-comp", "Enable masked compound", OFFSET(enable_masked_comp), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, > { "enable-interintra-comp", "Enable interintra compound", OFFSET(enable_interintra_comp), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, > { "enable-smooth-interintra", "Enable smooth interintra mode", OFFSET(enable_smooth_interintra), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, > + { "enable-keyframe-filtering", "Enable keyframe filtering type", OFFSET(enable_keyframe_filtering), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 3, VE}, It's a boolean, so use AV_OPT_TYPE_BOOL. > { NULL }, > }; > >
Thank you for the prompt response! I'll fix the typo, add documentation and re-submit. Regarding the last comment, the enable-keyframe-filtering parameter was a boolean, but recently there is one more option added to libaom (--enable-keyframe-filtering=2), so I thought it would be better to use AV_OPT_TYPE_INT here so people who build libaom from source could use that option. Please let me know if there are any concerns with it. Thanks and best regards, Bohan On Mon, Oct 26, 2020 at 2:07 PM James Almer <jamrial@gmail.com> wrote: > On 10/26/2020 6:01 PM, Bohan Li wrote: > > Signed-off-by: Bohan Li <bohanli@google.com> > > --- > > libavcodec/libaomenc.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > Missing documentation. > > > > > diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c > > index 2b0581b15a..a5d9843ae2 100644 > > --- a/libavcodec/libaomenc.c > > +++ b/libavcodec/libaomenc.c > > @@ -124,6 +124,7 @@ typedef struct AOMEncoderContext { > > int enable_diff_wtd_comp; > > int enable_dist_wtd_comp; > > int enable_dual_filter; > > + int enable_keyframe_filtering; > > } AOMContext; > > > > static const char *const ctlidstr[] = { > > @@ -192,6 +193,7 @@ static const char *const ctlidstr[] = { > > [AV1E_SET_REDUCED_REFERENCE_SET] = > "AV1E_SET_REDUCED_REFERENCE_SET", > > [AV1E_SET_ENABLE_SMOOTH_INTERINTRA] = > "AV1E_SET_ENABLE_SMOOTH_INTERINTRA", > > [AV1E_SET_ENABLE_REF_FRAME_MVS] = > "AV1E_SET_ENABLE_REF_FRAME_MVS", > > + [AV1E_SET_ENABLE_KEYFRAME_FILTERING] = > "AV1E_SET_ENABLE_KEYFRAME_FILTRING" > > FILTRING typo. > > > #endif > > }; > > > > @@ -812,6 +814,8 @@ static av_cold int aom_init(AVCodecContext *avctx, > > codecctl_int(avctx, AV1E_SET_ENABLE_ONESIDED_COMP, > ctx->enable_onesided_comp); > > if (ctx->enable_smooth_interintra >= 0) > > codecctl_int(avctx, AV1E_SET_ENABLE_SMOOTH_INTERINTRA, > ctx->enable_smooth_interintra); > > + if (ctx->enable_keyframe_filtering >= 0) > > + codecctl_int(avctx, AV1E_SET_ENABLE_KEYFRAME_FILTERING, > ctx->enable_keyframe_filtering); > > #endif > > > > codecctl_int(avctx, AOME_SET_STATIC_THRESHOLD, ctx->static_thresh); > > @@ -1261,6 +1265,7 @@ static const AVOption options[] = { > > { "enable-masked-comp", "Enable masked compound", > OFFSET(enable_masked_comp), AV_OPT_TYPE_BOOL, > {.i64 = -1}, -1, 1, VE}, > > { "enable-interintra-comp", "Enable interintra compound", > OFFSET(enable_interintra_comp), AV_OPT_TYPE_BOOL, > {.i64 = -1}, -1, 1, VE}, > > { "enable-smooth-interintra", "Enable smooth interintra mode", > OFFSET(enable_smooth_interintra), AV_OPT_TYPE_BOOL, > {.i64 = -1}, -1, 1, VE}, > > + { "enable-keyframe-filtering", "Enable keyframe filtering > type", OFFSET(enable_keyframe_filtering), > AV_OPT_TYPE_INT, {.i64 = -1}, -1, 3, VE}, > > It's a boolean, so use AV_OPT_TYPE_BOOL. > > > { 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-request@ffmpeg.org with subject "unsubscribe".
diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c index 2b0581b15a..a5d9843ae2 100644 --- a/libavcodec/libaomenc.c +++ b/libavcodec/libaomenc.c @@ -124,6 +124,7 @@ typedef struct AOMEncoderContext { int enable_diff_wtd_comp; int enable_dist_wtd_comp; int enable_dual_filter; + int enable_keyframe_filtering; } AOMContext; static const char *const ctlidstr[] = { @@ -192,6 +193,7 @@ static const char *const ctlidstr[] = { [AV1E_SET_REDUCED_REFERENCE_SET] = "AV1E_SET_REDUCED_REFERENCE_SET", [AV1E_SET_ENABLE_SMOOTH_INTERINTRA] = "AV1E_SET_ENABLE_SMOOTH_INTERINTRA", [AV1E_SET_ENABLE_REF_FRAME_MVS] = "AV1E_SET_ENABLE_REF_FRAME_MVS", + [AV1E_SET_ENABLE_KEYFRAME_FILTERING] = "AV1E_SET_ENABLE_KEYFRAME_FILTRING" #endif }; @@ -812,6 +814,8 @@ static av_cold int aom_init(AVCodecContext *avctx, codecctl_int(avctx, AV1E_SET_ENABLE_ONESIDED_COMP, ctx->enable_onesided_comp); if (ctx->enable_smooth_interintra >= 0) codecctl_int(avctx, AV1E_SET_ENABLE_SMOOTH_INTERINTRA, ctx->enable_smooth_interintra); + if (ctx->enable_keyframe_filtering >= 0) + codecctl_int(avctx, AV1E_SET_ENABLE_KEYFRAME_FILTERING, ctx->enable_keyframe_filtering); #endif codecctl_int(avctx, AOME_SET_STATIC_THRESHOLD, ctx->static_thresh); @@ -1261,6 +1265,7 @@ static const AVOption options[] = { { "enable-masked-comp", "Enable masked compound", OFFSET(enable_masked_comp), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, { "enable-interintra-comp", "Enable interintra compound", OFFSET(enable_interintra_comp), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, { "enable-smooth-interintra", "Enable smooth interintra mode", OFFSET(enable_smooth_interintra), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE}, + { "enable-keyframe-filtering", "Enable keyframe filtering type", OFFSET(enable_keyframe_filtering), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 3, VE}, { NULL }, };
Signed-off-by: Bohan Li <bohanli@google.com> --- libavcodec/libaomenc.c | 5 +++++ 1 file changed, 5 insertions(+)