[FFmpeg-devel] [PATCH 1/4] avfilter/vf_interlace: restore lowpass mode constants
Marton Balint
cus at passwd.hu
Sun Dec 15 15:48:24 EET 2019
On Fri, 13 Dec 2019, Marton Balint wrote:
>
>
> On Fri, 6 Dec 2019, Marton Balint wrote:
>
>> The documentation still mentions numerical constants in addition to textual
>> ones. It is also wrong to use distinct modes as flags and it disallows us
> to
>> actually use the flags field for real flags in the future.
>
> Ping for the series. Will apply soon.
Applied.
Regards,
Marton
>>
>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>> libavfilter/tinterlace.h | 7 +++++++
>> libavfilter/vf_tinterlace.c | 13 +++++++++----
>> 2 files changed, 16 insertions(+), 4 deletions(-)
>>
>> diff --git a/libavfilter/tinterlace.h b/libavfilter/tinterlace.h
>> index 5bcb9a583a..e204b61aa0 100644
>> --- a/libavfilter/tinterlace.h
>> +++ b/libavfilter/tinterlace.h
>> @@ -37,6 +37,12 @@
>> #define TINTERLACE_FLAG_CVLPF 2
>> #define TINTERLACE_FLAG_EXACT_TB 4
>>
>> +enum VLPFilter {
>> + VLPF_OFF = 0,
>> + VLPF_LIN = 1,
>> + VLPF_CMP = 2,
>> +};
>> +
>> enum TInterlaceMode {
>> MODE_MERGE = 0,
>> MODE_DROP_EVEN,
>> @@ -59,6 +65,7 @@ typedef struct TInterlaceContext {
>> int mode; ///< TInterlaceMode, interlace mode
> selected
>> AVRational preout_time_base;
>> int flags; ///< flags affecting interlacing algorithm
>> + int lowpass; ///< legacy interlace filter lowpass mode
>> int frame; ///< number of the output frame
>> int vsub; ///< chroma vertical subsampling
>> AVFrame *cur;
>> diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c
>> index fc5d11e053..32b2ff9f5a 100644
>> --- a/libavfilter/vf_tinterlace.c
>> +++ b/libavfilter/vf_tinterlace.c
>> @@ -63,10 +63,10 @@ static const AVOption interlace_options[] = {
>> { "scan", "scanning mode", OFFSET(mode), AV_OPT_TYPE_INT,
> {.i64 = MODE_TFF}, 0, 1, FLAGS, "mode"},
>> { "tff", "top field first",
> 0, AV_OPT_TYPE_CONST, {.i64 = MODE_TFF}, INT_MIN, INT_MAX, FLAGS, .unit =
> "mode"},
>> { "bff", "bottom field first",
> 0, AV_OPT_TYPE_CONST, {.i64 = MODE_BFF}, INT_MIN, INT_MAX, FLAGS, .unit =
> "mode"},
>> - { "lowpass", "set vertical low-pass filter", OFFSET(flags),
> AV_OPT_TYPE_FLAGS, {.i64 = TINTERLACE_FLAG_VLPF}, 0, 2, FLAGS, "flags" },
>> - { "off", "disable vertical low-pass filter",
> 0, AV_OPT_TYPE_CONST, {.i64 = 0}, INT_MIN, INT_MAX, FLAGS, "flags" },
>> - { "linear", "linear vertical low-pass filter",
> 0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_VLPF}, INT_MIN, INT_MAX, FLAGS,
> "flags" },
>> - { "complex", "complex vertical low-pass filter",
> 0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_CVLPF},INT_MIN, INT_MAX, FLAGS,
> "flags" },
>> + { "lowpass", "set vertical low-pass filter", OFFSET(lowpass),
> AV_OPT_TYPE_INT, {.i64 = VLPF_LIN}, 0, 2, FLAGS, "lowpass" },
>> + { "off", "disable vertical low-pass filter",
> 0, AV_OPT_TYPE_CONST, {.i64 = VLPF_OFF}, INT_MIN, INT_MAX, FLAGS, "lowpass"
> },
>> + { "linear", "linear vertical low-pass filter",
> 0, AV_OPT_TYPE_CONST, {.i64 = VLPF_LIN}, INT_MIN, INT_MAX, FLAGS, "lowpass"
> },
>> + { "complex", "complex vertical low-pass filter",
> 0, AV_OPT_TYPE_CONST, {.i64 = VLPF_CMP}, INT_MIN, INT_MAX, FLAGS, "lowpass"
> },
>>
>> { NULL }
>> };
>> @@ -518,6 +518,11 @@ static int init_interlace(AVFilterContext *ctx)
>> if (tinterlace->mode <= MODE_BFF)
>> tinterlace->mode += MODE_INTERLEAVE_TOP;
>>
>> + if (tinterlace->lowpass == VLPF_LIN)
>> + tinterlace->flags |= TINTERLACE_FLAG_VLPF;
>> + if (tinterlace->lowpass == VLPF_CMP)
>> + tinterlace->flags |= TINTERLACE_FLAG_CVLPF;
>> +
>> return 0;
>> }
>>
>> --
>> 2.16.4
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list