[FFmpeg-devel] [libav-devel] [PATCH] h264: update avctx width/height when flushing

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Sat Jun 13 13:06:03 CEST 2015

On 12.06.2015 23:05, Vittorio Giovara wrote:
> On Fri, Jun 12, 2015 at 9:01 PM, Andreas Cadhalpun
> <andreas.cadhalpun at googlemail.com> wrote:
>> On 12.06.2015 21:51, Hendrik Leppkes wrote:
>>> Just inform consumers that only AVFrame has the actual up-to-date
>>> values when a change in the bitstream happens and stop doing such
>>> crap.
>> That's not currently documented, so it would effectively be an API change.
>> And since the h264 decoder is the only one misbehaving in this way,
>> fixing it is the better alternative.
> Not necessarily, a lot of parameters are valid only in the avframe
> while in the context they might not be completely updated.
> The first that comes to mind is interlaced_frame -- there are 3 places
> this might (or might not) be signalled (context, frame and stream or
> parser iirc) but the RightWay is to check it from the frame only.

That's a horrible API, isn't it?

> Do you have a test case where using the API exposes some kind of problem?

Yes. As the commit message says, it can crash the demuxing_decoding example [1].

Best regards,

1: https://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/examples/demuxing_decoding.c;h=feeeb967f82e71e76fb4724010547133b827f143;hb=HEAD

More information about the ffmpeg-devel mailing list