[Ffmpeg-devel] Eliminating some memcpy() & memory allocations from the v4l2 input (original) (raw)

Michael Niedermayer michaelni
Wed Feb 1 17:12:24 CET 2006


Hi

On Wed, Feb 01, 2006 at 04:25:58PM +0100, Fran?ois Revol wrote:

> So, my idea is to avoid dinamically allocating the memory for the > packet, and to set pkt->data = VIDIOCDQBUF>. VIDIOCQBUF will be called only when libavformat does > not > need the packet anymore, and I am planning to use the destruct() > method > of AVPacket for this. Does this usage of AVPacket (and of its > destruct() > method) make sense?

yes

Or am I misunderstanding its purpose?

You could add some args to avnewpacket(),

no not without forking :)

or an extended version like: avnewpacketdest(void *data, void (*destruct)(void *, void *), void * cookie);

and keep the cookie in AVPacket, then call destruct() with both data and cookie. So you can pass the fd to ioctl() in the cookie.

well, yes thats possible but why would we want that extra layer? is there some advatge i dont see?

[...]

-- Michael



More information about the ffmpeg-devel mailing list