From: Minje Ahn Date: Tue, 25 Jun 2024 02:21:41 +0000 (+0900) Subject: [ACR-1853] Support spherical stitched info X-Git-Tag: accepted/tizen/unified/20240628.172822^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F67%2F313367%2F3;p=platform%2Fcore%2Fapi%2Fmetadata-extractor.git [ACR-1853] Support spherical stitched info Change-Id: Id9bc249c238e3b5ec936e4274a21b1d8ff5c8a50 Signed-off-by: Minje Ahn --- diff --git a/include/metadata_extractor_private.h b/include/metadata_extractor_private.h index 262a498..6186fda 100644 --- a/include/metadata_extractor_private.h +++ b/include/metadata_extractor_private.h @@ -91,7 +91,6 @@ typedef struct { /*TODO: Move attributes to metadata_extractor_type.h after ACR*/ #ifdef SUPPORT_GSPHERICAL_METADATA -#define METADATA_360_V1_STITCHED 35 /**< Flag indicating if the video is stitched. Spherical Video Metadata RFC v1 (Since 4.0) */ #define METADATA_360_V1_STITCHING_SOFTWARE 36 /**< Software used to stitch the spherical video. Spherical Video Metadata RFC v1 (Since 4.0) */ #define METADATA_360_V1_PROJECTION_TYPE 37 /**< Projection type used in the video frames. Spherical Video Metadata RFC v1 (Since 4.0) */ #define METADATA_360_V1_STEREO_MODE 38 /**< Description of stereoscopic 3D layout. Spherical Video Metadata RFC v1 (Since 4.0) */ diff --git a/include/metadata_extractor_type.h b/include/metadata_extractor_type.h index 5798163..5566e5f 100644 --- a/include/metadata_extractor_type.h +++ b/include/metadata_extractor_type.h @@ -94,7 +94,8 @@ typedef enum { METADATA_ROTATE, /**< Rotate(Orientation) Information */ METADATA_VIDEO_CODEC, /**< Video Codec (Since 3.0) */ METADATA_AUDIO_CODEC, /**< Audio Codec (Since 3.0) */ - METADATA_360, /**< Flag indicating if the video is a spherical video (Since 3.0) */ + METADATA_360, /**< Flag indicating if the video is a spherical video (Since 3.0) */ + METADATA_360_STITCHED, /**< Stitched type. (0:None, 1:Non-stitched, 2:stitched) (Since 9.0) */ } metadata_extractor_attr_e; /** diff --git a/packaging/capi-media-metadata-extractor.spec b/packaging/capi-media-metadata-extractor.spec index 41fa71c..e7f2df7 100644 --- a/packaging/capi-media-metadata-extractor.spec +++ b/packaging/capi-media-metadata-extractor.spec @@ -1,6 +1,6 @@ Name: capi-media-metadata-extractor Summary: A media metadata extractor library in Tizen Native API -Version: 0.1.21 +Version: 0.2.0 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/metadata_extractor.c b/src/metadata_extractor.c index 4a5f4bb..7ad2f53 100644 --- a/src/metadata_extractor.c +++ b/src/metadata_extractor.c @@ -710,10 +710,11 @@ int metadata_extractor_get_metadata(metadata_extractor_h metadata, metadata_extr case METADATA_360: ret = __metadata_extractor_get_tag_int(_metadata, MM_FILE_TAG_SPHERICAL, &i_value); break; -#ifdef SUPPORT_GSPHERICAL_METADATA - case METADATA_360_V1_STITCHED: + case METADATA_360_STITCHED: ret = __metadata_extractor_get_tag_int(_metadata, MM_FILE_TAG_SPHERICAL_STITCHED, &i_value); + i_value >>= 16; break; +#ifdef SUPPORT_GSPHERICAL_METADATA case METADATA_360_V1_PROJECTION_TYPE: is_string = true; ret = __metadata_extractor_get_tag_str(_metadata, MM_FILE_TAG_SPHERICAL_PROJECTION_TYPE, &s_value); diff --git a/test/metadata_extractor_test.c b/test/metadata_extractor_test.c index 09e3051..8f8c249 100644 --- a/test/metadata_extractor_test.c +++ b/test/metadata_extractor_test.c @@ -142,8 +142,8 @@ static bool __capi_metadata_extractor(metadata_extractor_h metadata) char *video_codec = NULL; char *audio_codec = NULL; char *is_360 = NULL; + char *is_stitched = NULL; #ifdef SUPPORT_GSPHERICAL_METADATA - char *is_stitched_v1 = NULL; char *stitching_software_v1 = NULL; char *projection_type_v1 = NULL; char *stereo_mode_v1 = NULL; @@ -263,10 +263,10 @@ static bool __capi_metadata_extractor(metadata_extractor_h metadata) printf("video_codec = [%s]\n", video_codec); metadata_extractor_get_metadata(metadata, METADATA_360, &is_360); printf("is_360 = [%s]\n", is_360); + metadata_extractor_get_metadata(metadata, METADATA_360_STITCHED, &is_stitched); + printf("is_stitched = [%s]\n", is_stitched); #ifdef SUPPORT_GSPHERICAL_METADATA - metadata_extractor_get_metadata(metadata, METADATA_360_V1_STITCHED, &is_stitched_v1); - printf("is_stitched_v1 = [%s]\n", is_stitched_v1); metadata_extractor_get_metadata(metadata, METADATA_360_V1_STITCHING_SOFTWARE, &stitching_software_v1); printf("stitching_software_v1 = [%s]\n", stitching_software_v1); metadata_extractor_get_metadata(metadata, METADATA_360_V1_PROJECTION_TYPE, &projection_type_v1);