[FFmpeg-soc] [soc]: r5804 - libavfilter/vsrc_movie.c

Michael Niedermayer michaelni at gmx.at
Thu May 20 01:58:07 CEST 2010


On Wed, May 19, 2010 at 10:52:42AM -0700, Baptiste Coudurier wrote:
> On 5/19/10 5:02 AM, Vitor Sessak wrote:
>> On 05/19/2010 05:15 AM, bcoudurier wrote:
>>> Author: bcoudurier
>>> Date: Wed May 19 05:15:27 2010
>>> New Revision: 5804
>>>
>>> Log:
>>> actually copy the picture in vsrc movie, it cannot be taken from
>>> decode_video like this
>>
>> Can you elaborate? I tried very hard to avoid any picture copying
>> because Michael consider them a no-go in main SVN...
>
> You cannot request a buffer from the next filter using get_video_buffer
> and changing it before sending it to that filter. This is broken for the 
> pad filter at least.

hmmmmmm
the code indeed looks odd
we could request a buffer with (like we do)
                    AV_PERM_WRITE |
                    AV_PERM_PRESERVE |
                    AV_PERM_REUSE2,
and if get_video_buffer() from the next filter cannot provide such buffer
it would have to return a new av_malloc() one
still the code seems to overwrite the actual data[] pointers that just looks
wrong

what can be done is NOT to use get_video_buffer() and return the picture
we have (the core would then copy this if needed). this of course
needs all permissions to be set correctly


>
> If you want to avoid any picture copying you have to override 
> AVCodecContext->get_buffer and reget_buffer by new functions that use 
> get_video_buffer.

yes

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No great genius has ever existed without some touch of madness. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/attachments/20100520/cf9b28e7/attachment.pgp>


More information about the FFmpeg-soc mailing list