Support new format - INVZ for depth data 27/184227/8 accepted/tizen/unified/20180802.134826 submit/tizen/20180727.033411
authorJeongmo Yang <jm80.yang@samsung.com>
Mon, 16 Jul 2018 11:11:22 +0000 (20:11 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Mon, 23 Jul 2018 06:13:18 +0000 (15:13 +0900)
[Version] 0.3.18
[Profile] Common
[Issue Type] Update
[Dependency module] libmm-common, libmm-camcorder

Change-Id: I80ba0ed7c363f7b16629ecb40b0e4db98f302089
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
legacy/include/legacy_camera.h
legacy/src/legacy_camera.c
muse/src/muse_camera_dispatcher.c
packaging/mmsvc-camera.spec

index 7972364..decf02b 100644 (file)
@@ -117,6 +117,7 @@ typedef enum {
        CAMERA_PIXEL_FORMAT_ARGB,           /**< ARGB pixel format */
        CAMERA_PIXEL_FORMAT_JPEG,           /**< Encoded pixel format */
        CAMERA_PIXEL_FORMAT_H264 = 15,      /**< Encoded pixel format : H264 (Since 3.0) */
+       CAMERA_PIXEL_FORMAT_INVZ            /**< Depth pixel format : INVZ (Since 5.0) */
 } camera_pixel_format_e;
 
 /**
@@ -250,6 +251,16 @@ typedef struct {
                        unsigned int u_size;    /**< The size of u data */
                        unsigned int v_size;    /**< The size of v data */
                } triple_plane;                 /**< triple plane frame data */
+
+               struct {
+                       unsigned char *data;    /**< The encoded data pointer */
+                       unsigned int size;              /**< The size of encoded data */
+               } encoded_plane;                        /**< encoded plane frame data */
+
+               struct {
+                       unsigned char *data;    /**< The depth data pointer */
+                       unsigned int size;              /**< The size of depth data */
+               } depth_plane;                          /**< depth plane frame data (Since 5.0) */
        } data;
 } camera_preview_data_s;
 
index b86e3e3..e696790 100644 (file)
@@ -1556,7 +1556,7 @@ int legacy_camera_set_capture_format(camera_h camera, camera_pixel_format_e form
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if (format < CAMERA_PIXEL_FORMAT_NV12 || format > CAMERA_PIXEL_FORMAT_H264 ||
+       if (format < CAMERA_PIXEL_FORMAT_NV12 || format > CAMERA_PIXEL_FORMAT_INVZ ||
                (format > CAMERA_PIXEL_FORMAT_JPEG && format < CAMERA_PIXEL_FORMAT_H264)) {
                LOGE("invalid preview format %d", format);
                return CAMERA_ERROR_INVALID_PARAMETER;
@@ -1580,7 +1580,7 @@ int legacy_camera_set_preview_format(camera_h camera, camera_pixel_format_e form
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if (format < CAMERA_PIXEL_FORMAT_NV12 || format > CAMERA_PIXEL_FORMAT_H264 ||
+       if (format < CAMERA_PIXEL_FORMAT_NV12 || format > CAMERA_PIXEL_FORMAT_INVZ ||
                (format > CAMERA_PIXEL_FORMAT_JPEG && format < CAMERA_PIXEL_FORMAT_H264)) {
                LOGE("invalid preview format %d", format);
                return CAMERA_ERROR_INVALID_PARAMETER;
index a4ff8c3..3bc790b 100644 (file)
@@ -952,6 +952,9 @@ void _camera_dispatcher_preview_cb(MMCamcorderVideoStreamDataType *stream, void
                case MM_CAM_STREAM_DATA_ENCODED:
                        data_size = stream->data.encoded.length_data;
                        break;
+               case MM_CAM_STREAM_DATA_DEPTH:
+                       data_size = stream->data.depth.length_data;
+                       break;
                default:
                        LOGW("unknown data type %d", stream->data_type);
                        break;
@@ -995,6 +998,9 @@ void _camera_dispatcher_preview_cb(MMCamcorderVideoStreamDataType *stream, void
                case MM_CAM_STREAM_DATA_ENCODED:
                        memcpy(buf_pos, stream->data.encoded.data, stream->data.encoded.length_data);
                        break;
+               case MM_CAM_STREAM_DATA_DEPTH:
+                       memcpy(buf_pos, stream->data.depth.data, stream->data.depth.length_data);
+                       break;
                default:
                        break;
                }
index 67a091b..8136683 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-camera
 Summary:    A Camera module for muse server
-Version:    0.3.17
+Version:    0.3.18
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0