[FFmpeg-devel] [RFC] libavfilter-soc and variable-frame-size video streams

Stefano Sabatini stefano.sabatini-lala
Sun Dec 14 16:56:53 CET 2008


On date Sunday 2008-12-14 01:40:11 +0100, Michael Niedermayer encoded:
> On Sun, Dec 14, 2008 at 12:48:14AM +0100, Stefano Sabatini wrote:
[...]
> > Now my problem is that the config_props of the scale filter will fail
> > when called the first time during configuration in the case the input
> > filter set values of w and h to 0 in the input link, which happens in
> > the already mentioned case (VP6), and the scaler cannot be initialized
> > with meaningful values.
> 
> what exactly are you doing?

Setting up the chain before the actual processing. The scale filter
cannot be initialized with w,h values set to 0, since those values
cannot be used for initing the swscale context. In order to test I was
bluffing, making config_props always return 0 (as long as when the
first frame arrives a frame size change is detected and the filter is
reconfigured, this time with a valid value).

> by the time the filter layer is initialized some width&height should be
> available. I mean av_find_stream_info() will not return before this is
> available.

So maybe we should change the vp56.c code to make it set some value in
the codec context even before the first frame is actually decoded.

Alternatively we could devise some system to make the start_frame()
fail and make consequently stop the filtering process, and make the
scale filter initialize the sws context in the start_frame rather than
in config_props.

Regards.
-- 
FFmpeg = Free and Fantastic Marvellous Purposeless Encoding/decoding Gymnast




More information about the ffmpeg-devel mailing list