[FFmpeg-devel] [PATCH 1/5] avfilter/af_afade: fix crossfade duration maximum value
Marton Balint
cus at passwd.hu
Mon Oct 1 21:40:51 EEST 2018
On Mon, 1 Oct 2018, Paul B Mahol wrote:
> On 10/1/18, Marton Balint <cus at passwd.hu> wrote:
>>
>>
>> On Mon, 1 Oct 2018, Paul B Mahol wrote:
>>
>>> On 10/1/18, Marton Balint <cus at passwd.hu> wrote:
>>>>
>>>>
>>>> On Mon, 1 Oct 2018, Paul B Mahol wrote:
>>>>
>>>>> On 10/1/18, Marton Balint <cus at passwd.hu> wrote:
>>>>>>
>>>>>>
>>>>>> On Mon, 1 Oct 2018, Paul B Mahol wrote:
>>>>>>
>>>>>>> On 9/30/18, Marton Balint <cus at passwd.hu> wrote:
>>>>>>>> Signed-off-by: Marton Balint <cus at passwd.hu>
>>>>>>>> ---
>>>>>>>> libavfilter/af_afade.c | 4 ++--
>>>>>>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>>>>
>>>>>>>
>>>>>>> Why?
>>>>>>>
>>>>>>> Value is too big.
>>>>>>
>>>>>> AV_OPT_TYPE_DURATION is microsecond precision, therefore 60 is 60
>>>>>> usecs.
>>>>>> Probably you meant 60 seconds as limit. That is what the patch fixes.
>>>>>
>>>>> I do not think so. Duration is interpreted as seconds, look how
>>>>> variable is used in code.
>>>>
>>>> As far as I see duration is rescaled from AV_TIME_BASE (microseconds) to
>>>> sample_rate time base:
>>>>
>>>> if (s->duration)
>>>> s->nb_samples = av_rescale(s->duration, outlink->sample_rate,
>>>> AV_TIME_BASE);
>>>>
>>>> Duration is parsed as seconds (can be fractional as well), but internally
>>>> it is stored as microseconds (int64). Another example is the f_realtime
>>>> filter where the sleep time limit default according to the documentation
>>>> is 2 seconds and it is expressed as 2000000 in the code.
>>>
>>> Yes, and current patch is wrong. Simply exceding max value is not proper
>>> fix.
>>
>> What is the proper fix then?
>
> Interpreting duration correctly, like trim filters do.
Somebody help me, because I truly don't get it.
1) OPT_TYPE_DURATION default value is given in the .i64 field in
microseconds.
2) OPT_TYPE_DURATION min/max value is given in the min/max fields in
microseconds.
Do you disagree with any of these? If yes, then what do you suggest?
Thanks,
Marton
More information about the ffmpeg-devel
mailing list