1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
/*
* Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __TIZEN_MEDIA_METADATA_EXTRACTOR_PRIVATE_H__
#define __TIZEN_MEDIA_METADATA_EXTRACTOR_PRIVATE_H__
#include <stdbool.h>
#include <mm_types.h>
#include <dlog.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef LOG_TAG
#undef LOG_TAG
#endif
#define LOG_TAG "CAPI_MEDIA_METADATA_EXTRACTOR"
#define metadata_extractor_debug(fmt, arg...) do { \
LOGD(""fmt"", ##arg); \
} while (0)
#define metadata_extractor_info(fmt, arg...) do { \
LOGI(""fmt"", ##arg); \
} while (0)
#define metadata_extractor_error(fmt, arg...) do { \
LOGE(""fmt"", ##arg); \
} while (0)
#define metadata_extractor_debug_fenter() do { \
LOGD("<Enter>"); \
} while (0)
#define metadata_extractor_debug_fleave() do { \
LOGD("<Leave>"); \
} while (0)
#define metadata_extractor_sucure_info(fmt, arg...) do { \
SECURE_LOGI(""fmt"", ##arg); \
} while (0)
typedef struct {
char *path;
void *buffer;
int buffer_size;
bool extract_meta;
int audio_track_cnt;
int video_track_cnt;
MMHandleType attr_h;
MMHandleType tag_h;
} metadata_extractor_s;
/*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) */
#define METADATA_360_V1_SOURCE_COUNT 39 /**< Number of cameras used to create the spherical video. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_INIT_VIEW_HEADING 40 /**< The heading angle of the initial view in degrees. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_INIT_VIEW_PITCH 41 /**< The pitch angle of the initial view in degrees. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_INIT_VIEW_ROLL 42 /**< The roll angle of the initial view in degrees. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_TIMESTAMP 43 /**< Epoch timestamp of when the first frame in the video was recorded. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_FULL_PANO_WIDTH 44 /**< Width of the encoded video frame in pixels. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_FULL_PANO_HEIGHT 45 /**< Height of the encoded video frame in pixels. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_CROPPED_AREA_IMAGE_WIDTH 46 /**< Width of the video frame to display (e.g. cropping). Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_CROPPED_AREA_IMAGE_HEIGHT 47 /**< Height of the video frame to display (e.g. cropping). Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_CROPPED_AREA_LEFT 48 /**< Column where the left edge of the image was cropped from the full sized panorama. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V1_CROPPED_AREA_TOP 49 /**< Row where the top edge of the image was cropped from the full sized panorama. Spherical Video Metadata RFC v1 (Since 4.0) */
#define METADATA_360_V2_STEREO_MODE 50 /**< Stereo frame layout. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_METADATA_SOURCE 51 /**< Tool used to create the Spherical Video Metadata V2 (Since 4.0) */
#define METADATA_360_V2_PROJ_TYPE 52 /**< Projection type. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_POSE_YAW 53 /**< Counter-clockwise rotation in degrees around the up vector. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_POSE_PITCH 54 /**< Counter-clockwise rotation in degrees around the right vector post yaw transform. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_POSE_ROLL 55 /**< Clockwise-rotation in degrees around the forward vector post yaw and pitch transform. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_CBMP_LAYOUT 56 /**< Layout of cube faces for the Cubemap Projection. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_CBMP_PADDING 57 /**< Number of pixels to pad from the edge of each cube face for the Cubemap Projection. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_EQUI_BOUNDS_TOP 58 /**< Amount from the top of the frame to crop. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_EQUI_BOUNDS_BOTTOM 59 /**< Amount from the bottom of the frame to crop. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_EQUI_BOUNDS_LEFT 60 /**< Amount from the left of the frame to crop. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_360_V2_EQUI_BOUNDS_RIGHT 61 /**< Amount from the right of the frame to crop. Spherical Video Metadata RFC v2 (Since 4.0) */
#define METADATA_AMBISONIC_TYPE 62 /**< Ambisonics type in User Data Information (Since 4.0) */
#define METADATA_AMBISONIC_FORMAT 63 /**< Ambisonics format in User Data Information (Since 4.0) */
#define METADATA_AMBISONIC_ORDER 64 /**< Ambisonics order in User Data Information (Since 4.0) */
#endif
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /*__TIZEN_MEDIA_METADATA_EXTRACTOR_PRIVATE_H__*/
|