[FFmpeg-devel] rough PATCH: reducing the memory copies
Marc Hoffman
mmhoffm
Tue Jun 26 13:01:36 CEST 2007
On 6/25/07, mmh <mmh at pleasantst.com> wrote:
>
> 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
> >
> >
>
> Trivial prototype correction.. Sorry for the confusion.
Any objections to this patch being applied?
Thanks
Marc
More information about the ffmpeg-devel
mailing list