diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2018-10-04 11:07:04 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2018-10-04 11:07:11 +0900 |
commit | 782cd8790998afcd0edf2cb5a5ce57dda2b8d7d7 (patch) | |
tree | 7eb12c032dc1a9a2ddb0a15c18648205d787ddeb | |
parent | fdc9d10411bb4b5abe09b1920cf54a1d1a3a1af5 (diff) | |
parent | bb5f4008b3cb5b5f684f9cbf8948267eb45bdfb5 (diff) | |
download | camera-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.h | 5 | ||||
-rw-r--r-- | include/camera_private.h | 2 | ||||
-rw-r--r-- | packaging/capi-media-camera.spec | 2 | ||||
-rw-r--r-- | src/camera.c | 5 | ||||
-rw-r--r-- | test/camera_test.c | 42 |
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; |