[FFmpeg-devel] rough PATCH: reducing the memory copies
mmh
mmh
Tue Jun 26 03:30:08 CEST 2007
Michael Niedermayer writes:
> Hi
>
> On Mon, Jun 25, 2007 at 08:01:15PM -0400, mmh wrote:
> Content-Description: message body text
> >
> > This saves me about 50MIPS + reduce cache stress, by elliminating this
> > memory copy, which I guess happens later anyways again.
> >
> > I know that I need to creat a new function in utils.c for this like
> > av_new_packet probably av_ref_packet which does the work in the if variant.
> >
> > What are the problems with this and, other ideas that comes to mind?
>
> there probably wont be any problems, it should work fine though
> as you suspected it will sometimes tough not always cause a memcpy()
> to be done later ...
>
>
> [...]
> > -
> > + PROF_BEGIN();
>
> this doesnt belong in here, the code is messy enough as is
>
>
> > ptr = s->video_buf + s->gb_buffers.offsets[s->gb_frame];
> > - memcpy(buf, ptr, s->frame_size);
> >
> > + if (s->gb_buffers.frames > 1) {
> > + av_free (pkt->data);
>
> alloc+free is not ok, dont malloc()
>
>
> > + pkt->destruct= av_destruct_packet_nofree;
> > + pkt->data = ptr;
> > + pkt->size = s->frame_size;
>
> tab
Michael,
I think this is a cleaner implementation what are your thoughts?
Thanks
Marc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: g0.patch
Type: text/x-patch
Size: 3107 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070625/4a64c90d/attachment.bin>
More information about the ffmpeg-devel
mailing list