[FFmpeg-cvslog] vp8: always update next_framep[] before returning from decode_frame().

Reimar Döffinger Reimar.Doeffinger at gmx.de
Thu Feb 9 20:49:28 CET 2012


On Wed, Feb 08, 2012 at 06:04:55AM +0100, Ronald S. Bultje wrote:
> ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Tue Jan 31 15:17:59 2012 -0800| [fb90785e98ac405198c0ca9fec133227f6d82826] | committer: Ronald S. Bultje
> 
> vp8: always update next_framep[] before returning from decode_frame().
> 
> Also slightly move around code not allocate a new frame if we won't
> decode it. This prevents us from putting undecoded frames in frame
> pointers, which (in mt decoding) other threads will use and wait on
> as references, causing a deadlock (if we skipped decoding) or a crash
> (if we didn't initialized next_framep[] at all).
> 
> Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

I find that attribution a bit strange when I sent a patch for this
issue already on Dec 11.
That patch also fixed a few other issues, for example that failure
to allocate a frame would not update the reference frames according
to header data.
I am not completely sure but I also think that your patch might
still leave a frame that was freed in the reference frame list.
If you just have not seen the patch I can CC you in the future.
Attached is the diff between the current libav code and the code
as I patched it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vp8.diff
Type: text/x-diff
Size: 4532 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-cvslog/attachments/20120209/8c3058fe/attachment.bin>


More information about the ffmpeg-cvslog mailing list