[FFmpeg-devel] [PATCH] avfilter/vf_stereo3d: implement auto detection by using frame side data
Paul B Mahol
onemda at gmail.com
Fri Dec 1 11:35:34 EET 2017
On 12/1/17, Nicolas George <george at nsup.org> wrote:
> Paul B Mahol (2017-11-30):
>> +static int reset_links(AVFilterContext *filter)
>> +{
>> + int i, ret;
>> +
>> + if (!filter)
>> + return 0;
>> +
>> + for (i = 0; i < filter->nb_outputs; i++) {
>> + AVFilterLink *link = filter->outputs[i];
>> +
>> + link->init_state = AVLINK_UNINIT;
>> + link->frame_rate.num = link->frame_rate.den = 0;
>> + link->w = link->h = 0;
>> +
>> + ret = reset_links(link->dst);
>> + if (ret < 0)
>> + return ret;
>> + }
>> +
>> + if (!i)
>> + return avfilter_config_links(filter);
>> +
>> + return 0;
>> +}
>
> Sorry, but no. All filters are currently written with the assumption
> that config_props is called only once. Not all of them actually rely on
> this assumption, but some do, and expect the fields of the private
> context to be in their initial state. Violating that assumption would
> result in a lot of memory leaks and probably a few crashes, some of them
> security relevant.
Not all filters are written with such assumption. And I would like to fix those
who rely on this assumption.
>
> Plus, the public API of buffersink does not document params changes and
> does not provide a good way of reacting to it, so enabling params
> changes like that would have problematic results on applications that
> expect frames with all the same size.
Well for that point one can always autoinsert scale filter if user does
not set some flag when calling buffersink function.
>
> (By the way, I am quite worried to see that Michael weakened the
> protections for that last point in 5d859e59809.)
>
> Filters reconfiguration has been wanted for a lot of time. If it was
> that simple, it would have been done already. If you want to implement
> it, please go ahead, but it will not be an easy task.
I would like to proceed but I can't guess what is in your mind.
More information about the ffmpeg-devel
mailing list