[FFmpeg-cvslog] x11grab: remove a memory allocation and the associated memcpy.

Sven C. Dack git at videolan.org
Mon Jun 13 04:43:13 CEST 2011


ffmpeg | branch: master | Sven C. Dack <sven.c.dack at virginmedia.com> | Wed Mar 30 17:02:29 2011 +0200| [2f2c60400a4e383b6aa7db64d6032a42c2725882] | committer: Anton Khirnov

x11grab: remove a memory allocation and the associated memcpy.

Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2f2c60400a4e383b6aa7db64d6032a42c2725882
---

 libavdevice/x11grab.c |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/libavdevice/x11grab.c b/libavdevice/x11grab.c
index c6dc673..6e77a5c 100644
--- a/libavdevice/x11grab.c
+++ b/libavdevice/x11grab.c
@@ -410,10 +410,9 @@ x11grab_read_packet(AVFormatContext *s1, AVPacket *pkt)
         nanosleep(&ts, NULL);
     }
 
-    if (av_new_packet(pkt, s->frame_size) < 0) {
-        return AVERROR(EIO);
-    }
-
+    av_init_packet(pkt);
+    pkt->data = image->data;
+    pkt->size = s->frame_size;
     pkt->pts = curtime;
 
     if(s->use_shm) {
@@ -430,9 +429,6 @@ x11grab_read_packet(AVFormatContext *s1, AVPacket *pkt)
         paint_mouse_pointer(image, s);
     }
 
-
-    /* XXX: avoid memcpy */
-    memcpy(pkt->data, image->data, s->frame_size);
     return s->frame_size;
 }
 



More information about the ffmpeg-cvslog mailing list