maru-camera: modified bytesperline size
authorjinhyung.jo <jinhyung.jo@samsung.com>
Fri, 20 Mar 2015 09:57:48 +0000 (18:57 +0900)
committerjinhyung.jo <jinhyung.jo@samsung.com>
Fri, 20 Mar 2015 10:06:18 +0000 (19:06 +0900)
The bytesperline size is same as the width of the YU12 & YV12 format in the progressive mode.

Change-Id: I3fc8f2a2842e5f72ac58671758fc21a8fd2e9737
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
tizen/src/hw/pci/maru_camera_darwin_pci.m
tizen/src/hw/pci/maru_camera_win32_pci.c

index b470da3..c75aa59 100644 (file)
@@ -151,7 +151,7 @@ static uint32_t get_bytesperline(uint32_t pixfmt, uint32_t width)
     switch (pixfmt) {
     case V4L2_PIX_FMT_YUV420:
     case V4L2_PIX_FMT_YVU420:
-        bytesperline = (width * 12) >> 3;
+        bytesperline = width;
         break;
     case V4L2_PIX_FMT_YUYV:
     case V4L2_PIX_FMT_UYVY:
@@ -165,9 +165,25 @@ static uint32_t get_bytesperline(uint32_t pixfmt, uint32_t width)
 
 static uint32_t get_sizeimage(uint32_t pixfmt, uint32_t width, uint32_t height)
 {
-    return get_bytesperline(pixfmt, width) * height;
+    uint32_t sizeimage;
+
+    switch (pixfmt) {
+    case V4L2_PIX_FMT_YUV420:
+    case V4L2_PIX_FMT_YVU420:
+        sizeimage = height * ((width * 12) >> 3);
+        break;
+    case V4L2_PIX_FMT_YUYV:
+    case V4L2_PIX_FMT_UYVY:
+    default:
+        sizeimage = height * width * 2;
+        break;
+    }
+
+
+    return sizeimage;
 }
 
+
 /******************************************************************
  **   Maru Camera Implementation
  *****************************************************************/
index 72bfbbb..35cdc06 100644 (file)
@@ -1134,7 +1134,7 @@ static uint32_t get_bytesperline(uint32_t pixfmt, uint32_t width)
     switch (pixfmt) {
     case V4L2_PIX_FMT_YUV420:
     case V4L2_PIX_FMT_YVU420:
-        bytesperline = (width * 12) >> 3;
+        bytesperline = width;
         break;
     case V4L2_PIX_FMT_YUYV:
     default:
@@ -1147,7 +1147,21 @@ static uint32_t get_bytesperline(uint32_t pixfmt, uint32_t width)
 
 static uint32_t get_sizeimage(uint32_t pixfmt, uint32_t width, uint32_t height)
 {
-    return get_bytesperline(pixfmt, width) * height;
+    uint32_t sizeimage;
+
+    switch (pixfmt) {
+    case V4L2_PIX_FMT_YUV420:
+    case V4L2_PIX_FMT_YVU420:
+        sizeimage = height * ((width * 12) >> 3);
+        break;
+    case V4L2_PIX_FMT_YUYV:
+    default:
+        sizeimage = height * width * 2;
+        break;
+    }
+
+
+    return sizeimage;
 }
 
 void yuyv_to_yuv420(const unsigned char *src, unsigned char *dest,