summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2018-10-04 11:07:04 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2018-10-04 11:07:11 +0900
commit782cd8790998afcd0edf2cb5a5ce57dda2b8d7d7 (patch)
tree7eb12c032dc1a9a2ddb0a15c18648205d787ddeb
parentfdc9d10411bb4b5abe09b1920cf54a1d1a3a1af5 (diff)
parentbb5f4008b3cb5b5f684f9cbf8948267eb45bdfb5 (diff)
downloadcamera-782cd8790998afcd0edf2cb5a5ce57dda2b8d7d7.tar.gz
camera-782cd8790998afcd0edf2cb5a5ce57dda2b8d7d7.tar.bz2
camera-782cd8790998afcd0edf2cb5a5ce57dda2b8d7d7.zip
Merge branch 'tizen' into tizen_line_coverage
Change-Id: Ie1bdf0321e32a6cef46280583eb85a60266e3397 Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r--include/camera.h5
-rw-r--r--include/camera_private.h2
-rw-r--r--packaging/capi-media-camera.spec2
-rw-r--r--src/camera.c5
-rw-r--r--test/camera_test.c42
5 files changed, 38 insertions, 18 deletions
diff --git a/include/camera.h b/include/camera.h
index c5223f4..a374a1e 100644
--- a/include/camera.h
+++ b/include/camera.h
@@ -263,6 +263,11 @@ typedef 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) */
+
+ struct {
+ unsigned char *data; /**< The RGB data pointer */
+ unsigned int size; /**< The size of RGB data */
+ } rgb_plane; /**< RGB plane frame data (Since 5.0) */
} data;
} camera_preview_data_s;
diff --git a/include/camera_private.h b/include/camera_private.h
index 27bc050..fc8c578 100644
--- a/include/camera_private.h
+++ b/include/camera_private.h
@@ -80,7 +80,7 @@ typedef struct _camera_stream_data_s {
struct {
unsigned char *data;
unsigned int length_data;
- } encoded, depth;
+ } encoded, depth, rgb;
} data; /**< pointer of captured stream */
int data_type; /**< data type */
unsigned int length_total; /**< total length of stream buffer (in byte)*/
diff --git a/packaging/capi-media-camera.spec b/packaging/capi-media-camera.spec
index 4edd005..f0fae57 100644
--- a/packaging/capi-media-camera.spec
+++ b/packaging/capi-media-camera.spec
@@ -1,6 +1,6 @@
Name: capi-media-camera
Summary: A Camera API
-Version: 0.4.14
+Version: 0.4.15
Release: 0
Group: Multimedia/API
License: Apache-2.0
diff --git a/src/camera.c b/src/camera.c
index 3b20e70..b2b566a 100644
--- a/src/camera.c
+++ b/src/camera.c
@@ -884,6 +884,11 @@ static void _camera_preview_frame_create(camera_stream_data_s *stream, int num_b
frame->data.depth_plane.data = buf_pos;
frame->data.depth_plane.size = stream->data.depth.length_data;
total_size = stream->data.depth.length_data;
+ } else if (stream->format == MM_PIXEL_FORMAT_RGBA ||
+ stream->format == MM_PIXEL_FORMAT_ARGB) {
+ frame->data.rgb_plane.data = buf_pos;
+ frame->data.rgb_plane.size = stream->data.rgb.length_data;
+ total_size = stream->data.rgb.length_data;
} else {
switch (stream->num_planes) {
case 1:
diff --git a/test/camera_test.c b/test/camera_test.c
index 97b7610..bfe68d7 100644
--- a/test/camera_test.c
+++ b/test/camera_test.c
@@ -464,28 +464,38 @@ static void _camera_interrupt_started_cb(camera_policy_e policy, camera_state_e
void _camera_preview_cb(camera_preview_data_s *frame, void *user_data)
{
-#if 0
- FILE *fp = fopen("/opt/usr/media/test.yuv", "a");
+#if 1
+ FILE *fp = fopen(DEFAULT_FILE_PATH"/test.raw", "a");
if (fp == NULL) {
- g_print("\n============ file open failed ===========================\n");
+ g_print("\n==== file[%s] open failed ====\n", DEFAULT_FILE_PATH"/test.raw");
return;
}
- switch (frame->num_of_planes) {
- case 1:
- fwrite(frame->data.single_plane.yuv, 1, frame->data.single_plane.size, fp);
- case 2:
- fwrite(frame->data.double_plane.y, 1, frame->data.double_plane.y_size, fp);
- fwrite(frame->data.double_plane.uv, 1, frame->data.double_plane.uv_size, fp);
- case 3:
- fwrite(frame->data.triple_plane.y, 1, frame->data.triple_plane.y_size, fp);
- fwrite(frame->data.triple_plane.u, 1, frame->data.triple_plane.u_size, fp);
- fwrite(frame->data.triple_plane.v, 1, frame->data.triple_plane.v_size, fp);
- default:
- break;
+ if (frame->format == CAMERA_PIXEL_FORMAT_RGBA ||
+ frame->format == CAMERA_PIXEL_FORMAT_ARGB) {
+ fwrite(frame->data.rgb_plane.data, 1, frame->data.rgb_plane.size, fp);
+ } else if (frame->format == CAMERA_PIXEL_FORMAT_INVZ) {
+ fwrite(frame->data.depth_plane.data, 1, frame->data.depth_plane.size, fp);
+ } else {
+ switch (frame->num_of_planes) {
+ case 1:
+ fwrite(frame->data.single_plane.yuv, 1, frame->data.single_plane.size, fp);
+ break;
+ case 2:
+ fwrite(frame->data.double_plane.y, 1, frame->data.double_plane.y_size, fp);
+ fwrite(frame->data.double_plane.uv, 1, frame->data.double_plane.uv_size, fp);
+ break;
+ case 3:
+ fwrite(frame->data.triple_plane.y, 1, frame->data.triple_plane.y_size, fp);
+ fwrite(frame->data.triple_plane.u, 1, frame->data.triple_plane.u_size, fp);
+ fwrite(frame->data.triple_plane.v, 1, frame->data.triple_plane.v_size, fp);
+ break;
+ default:
+ break;
+ }
}
- g_print("file write done ---\n");
+ g_print("==== file[%s] write done ====\n", DEFAULT_FILE_PATH"/test.raw");
fclose(fp);
fp = NULL;