summaryrefslogtreecommitdiff
path: root/include/metadata_extractor_private.h
blob: f1bde6681948f3b131130bf428cc183f7b8ad600 (plain)
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__*/