fix broken image problem when encoding video. 87/18187/1
authorKitae Kim <kt920.kim@samsung.com>
Fri, 21 Feb 2014 08:22:11 +0000 (17:22 +0900)
committerKitae Kim <kt920.kim@samsung.com>
Mon, 17 Mar 2014 10:03:38 +0000 (19:03 +0900)
The way to reduce memcpy overhead has had a problem
when encoding video.

Change-Id: I6eb1e185281d5724658b1ae064f21dd24676bc79
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
packaging/gst-plugins-emulator.spec
src/gstmaruenc.c
src/gstmarumem.c

index fbb0d56..f961ef2 100644 (file)
@@ -1,5 +1,5 @@
 Name: gst-plugins-emulator
-Version: 0.2.3
+Version: 0.2.4
 Release: 0
 Summary: GStreamer Decoder and Encoder Plugins for Emulator
 Group: Multimedia/Libraries
index 5bfcad2..b52958c 100644 (file)
@@ -718,15 +718,17 @@ gst_maruenc_chain_video (GstPad *pad, GstBuffer *buffer)
     "encoded video. mem_offset = 0x%x\n",  mem_offset);
 
   outbuf = gst_buffer_new_and_alloc (ret_size);
-//  memcpy (GST_BUFFER_DATA (outbuf), maruenc->working_buf, ret_size);
-  memcpy (GST_BUFFER_DATA (outbuf), working_buf, ret_size);
+  memcpy (GST_BUFFER_DATA (outbuf), maruenc->working_buf, ret_size);
+  // memcpy (GST_BUFFER_DATA (outbuf), working_buf, ret_size);
   GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buffer);
   GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (buffer);
 
+#if 0
   ret = ioctl(maruenc->dev->fd, CODEC_CMD_RELEASE_BUFFER, &mem_offset);
   if (ret < 0) {
     CODEC_LOG (ERR, "failed to release used buffer\n");
   }
+#endif
 
 #if 0
   if (maruenc->context->coded_frame) {
index 4fdd83d..2d5f191 100644 (file)
@@ -229,7 +229,6 @@ codec_encode_video_data_from (uint8_t *out_buf, gpointer buffer)
   CODEC_LOG (DEBUG, "encode_video. outbuf size: %d\n", len);
   if (len > 0) {
     memcpy (out_buf, buffer + size, len);
-    // dev->mem_info.offset = opaque.buffer_size;
   }
 
   return len;