[FFmpeg-devel] [PATCH v3] area changed: scdet filter

Tobias Rapp t.rapp at noa-archive.com
Thu Jun 13 16:18:05 EEST 2024


On 13/06/2024 13:21, radu.taraibuta at gmail.com wrote:

>> -----Original Message-----
>> From: ffmpeg-devel<ffmpeg-devel-bounces at ffmpeg.org>  On Behalf Of Tobias
>> Rapp
>> Sent: joi, 13 iunie 2024 12:52
>> To:ffmpeg-devel at ffmpeg.org
>> Subject: Re: [FFmpeg-devel] [PATCH v3] area changed: scdet filter
>>
>> On 12/06/2024 21:51,radu.taraibuta at gmail.com  wrote:
>>
>> [...]
>>
>>> diff --git a/doc/filters.texi b/doc/filters.texi index
>>> bfa8ccec8b..53814e003b 100644
>>> --- a/doc/filters.texi
>>> +++ b/doc/filters.texi
>>> @@ -21797,6 +21797,22 @@ Default value is @code{10.}.
>>>   @item sc_pass, s
>>>   Set the flag to pass scene change frames to the next filter. Default
>>> value is @code{0}
>>>   You can enable it if you want to get snapshot of scene change frames
>>> only.
>>> +
>>> + at item mode
>>> +Set the scene change detection method. Default value is @code{-1}
>>> +Available values are:
>>> +
>>> + at table @samp
>>> + at item -1
>>> +Legacy mode for sum of absolute linear differences. Compare frame
>>> with previous only and no delay.
>>> +
>>> + at item 0
>>> +Sum of absolute linear differences. Compare frame with both previous
>>> and next which introduces a 1 frame delay.
>>> +
>>> + at item 1
>>> +Sum of mean of cubic root differences. Compare frame with both
>>> previous and next which introduces a 1 frame delay.
>>> +
>>> + at end table
>>>   @end table
>>>
>>>   @anchor{selectivecolor}
>> Out of curiosity: How do these three modes roughly compare (CPU)
>> performance wise?
> Mode -1 is virtually equal with mode 0 (no frame clone speedup of mode 0 is mostly theoretical). Mode 1 is roughly 40% slower, depending on input, it could benefit from ASM.
>
>> I'd prefer if mode "-1" could be used for the default case, and the three modes
>> get explicit values 0/1/2.
> So you want four possible values for mode where the default -1 is the same as one of the others?

Yes. This pattern is also used for the "shaping" option of the ass 
filter, for example.It allows users to make it explicit that the filter 
should choose a default (which may vary between versions).

>> Regarding naming I think that the "Legacy" mode still
>> has its usecases in the future. Naming it something like "simple" would not
>> imply that it is deprecated in general, but rather that it has lower precision
>> (and is possibly faster).
>>
> OK, I will rename "Legacy" mode so it doesn't look deprecated to somebody that can't allow 1 frame delay. Otherwise it shouldn't be used.

Thanks.

Regards, Tobias


More information about the ffmpeg-devel mailing list