[FFmpeg-devel] [PATCH] libavfilter-soc: Fix a buffer reuse bug in the movie filter
Martin Storsjö
martin
Thu May 7 20:49:12 CEST 2009
Hi,
There's a slight bug in the movie source filter in libavfilter; it hands
out a buffer pointing to the codec internal frame buffer, which the
receiving filter may store. This can lead to bugs where a stored frame
reference changes content without further warning.
This doesn't seem to be visible with most videos, but I encountered it
with the following movie:
http://movies.apple.com/movies/sony_pictures/casino_royale/casino_royale-tlr1_h640w.mov
To trigger the bug, run the following command:
./ffplay casino_royale-tlr1_h640w.mov -vfilters "movie=0:mov:casino_royale-tlr1_h640w.mov [over1], [in] [over1] overlay=100:100 [out]"
In this case, frames are displayed a bit too soon/too late.
If a scale filter is plugged between the movie and overlay filters, this
effect disappears.
The attached patch corrects this bug, by marking the output video buffer
with the correct permission flags (in the same way as in the buffer video
source filter).
// Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libavfilter-soc-movie-preserve-buffer.patch
Type: text/x-diff
Size: 620 bytes
Desc:
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090507/6857a5d5/attachment.patch>
More information about the ffmpeg-devel
mailing list