[FFmpeg-devel] [PATCH 2/2] swscale/input: Avoid calls to av_pix_fmt_desc_get()

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Sep 9 21:15:22 EEST 2022


Michael Niedermayer:
> On Thu, Sep 08, 2022 at 11:44:51PM +0200, Andreas Rheinhardt wrote:
>> Michael Niedermayer:
>>> On Thu, Sep 08, 2022 at 09:38:51PM +0200, Andreas Rheinhardt wrote:
>>>> Michael Niedermayer:
> [...]
>>> To me if i look at the evolution
>>> of isBE() / code checking BE-ness it become more messy over time
>>>
>>> I think it would be interresting to think about if we can make
>>> av_pix_fmt_desc_get(compile time constant) work at compile time.
>>> or if we maybe can return to a simpler implementation
>>>
>>
>> We could put the av_pix_fmt_descriptors array into an internal header
>> and use something like
>>
>> static av_always_inline const AVPixFmtDescriptor
>> *ff_pix_fmt_descriptor_get(enum AVPixelFormat fmt)
>> {
>>     if (av_builtin_constant_p(fmt))
>>         return &av_pix_fmt_descriptors[fmt];
>>     return av_pix_fmt_desc_get(fmt);
>> }
> 
> yes thats what i was thinking of too.
> 

Seems like Anton is away for a week or so. I am sure he has an opinion
on the above approach. I think we will wait for him or shall I apply the
patches as they are given that they do not block any later alternative
solution?
(There is one thing I already don't like about the alternative solution:
It relies on av_builtin_constant_p, which not every compiler supports.)

- Andreas


More information about the ffmpeg-devel mailing list