[vlc-devel] [PATCH 3/3] transcode: video: fix insertion of fps filter
Nick Briggs
nicholas.h.briggs at gmail.com
Wed Jan 27 16:45:40 UTC 2021
> Date: Tue, 26 Jan 2021 15:14:49 +0100
> From: Alexandre Janniaux <ajanni at videolabs.io>
> To: Mailing list for VLC media player developers
> <vlc-devel at videolan.org>
> Subject: Re: [vlc-devel] [PATCH 3/3] transcode: video: fix insertion
> of fps filter
> Message-ID: <20210126141449.fbrhk4olwnqbgucl at bulbizarre>
> Content-Type: text/plain; charset=us-ascii
>
> On Tue, Jan 26, 2021 at 03:06:50PM +0100, Thomas Guillem wrote:
>>
>>
>> On Tue, Jan 26, 2021, at 15:01, Alexandre Janniaux wrote:
>>> The fps filter must be added iif. the target framerate is different from
>>
>> Typo in the commit log.
>
> Is it for iff? iif. = If and only if.
If-and-only-if is abbreviated "iff" not "iif".
>
>>
>> I'm OK with the set, but I would wait for Steve or Francois review.
>>
>>> the source framerate, not when we define the fps parameter.
>>>
>>> We also check that fps.den > 0 to avoid divide-by-zero errors.
>>>
>>> Probably regression from 030183d79045a1747d891572b2fe77d8cd0fd946 in
>>> which the target framerate was defined in the destination format.
>>> .
>>> ---
>>> modules/stream_out/transcode/video.c | 12 ++++++++++--
>>> 1 file changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/modules/stream_out/transcode/video.c
>>> b/modules/stream_out/transcode/video.c
>>> index b36ed90bbf..ce657088ad 100644
>>> --- a/modules/stream_out/transcode/video.c
>>> +++ b/modules/stream_out/transcode/video.c
>>> @@ -297,11 +297,19 @@ static int transcode_video_filters_init(
>>> sout_stream_t *p_stream,
>>> src_ctx = filter_chain_GetVideoCtxOut( id->p_f_chain );
>>> }
>>>
>>> - if( id->p_enccfg->video.fps.num > 0 )
>>> + if( id->p_enccfg->video.fps.num > 0 &&
>>> + id->p_enccfg->video.fps.den > 0 &&
>>> + ( id->p_enccfg->video.fps.num != p_src->video.i_frame_rate ||
>>> + id->p_enccfg->video.fps.den != p_src->video.i_frame_rate_base ) )
>>> {
>>> - filter_chain_AppendFilter( id->p_f_chain, "fps", NULL, p_src );
>>> + es_format_t dst;
>>> + es_format_Copy(&dst, p_src);
>>> + dst.video.i_frame_rate = id->p_enccfg->video.fps.num;
>>> + dst.video.i_frame_rate_base = id->p_enccfg->video.fps.den;
>>> + filter_chain_AppendFilter( id->p_f_chain, "fps", NULL, &dst );
>>> p_src = filter_chain_GetFmtOut( id->p_f_chain );
>>> src_ctx = filter_chain_GetVideoCtxOut( id->p_f_chain );
>>> + es_format_Clean(&dst);
>>> }
>>>
>>> /* User filters */
>>> --
>>> 2.30.0
>>>
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list