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
signature.asc
Description: Digital signature
_______________________________________________ FFmpeg-soc mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
