[ACR-1853] Support spherical stitched info 67/313367/3 accepted/tizen/unified/20240628.172822 accepted/tizen/unified/dev/20240701.072801 accepted/tizen/unified/x/20240701.021506
authorMinje Ahn <minje.ahn@samsung.com>
Tue, 25 Jun 2024 02:21:41 +0000 (11:21 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 27 Jun 2024 03:30:38 +0000 (12:30 +0900)
Change-Id: Id9bc249c238e3b5ec936e4274a21b1d8ff5c8a50
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/metadata_extractor_private.h
include/metadata_extractor_type.h
packaging/capi-media-metadata-extractor.spec
src/metadata_extractor.c
test/metadata_extractor_test.c

index 262a498fa4ee71cc5fab47992a622a3b2a308f97..6186fda5f91819f3dd71ffcb4ba0cf0679fcebfa 100644 (file)
@@ -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) */
index 5798163b473229c6cca5857cc1ea28af426b143f..5566e5fad14daf2a326b02d5dd313a804e4a6a06 100644 (file)
@@ -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;
 
 /**
index 41fa71c9761138456de41071804d0fd7c55bba74..e7f2df78373ede3d49151e4568438d600efd624a 100644 (file)
@@ -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
index 4a5f4bbdf19a6e08d9842c470d7e4e13f9d7dd76..7ad2f53da6b032765f4f85418912400a3b3d8b89 100644 (file)
@@ -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);
index 09e3051e6e4409a974bfe3f49c20f731bf1d7e0a..8f8c249d7a77874e435526231ca0217728383a09 100644 (file)
@@ -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);