1094332d3Sopenharmony_ci/*
2094332d3Sopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd.
3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License.
5094332d3Sopenharmony_ci * You may obtain a copy of the License at
6094332d3Sopenharmony_ci *
7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
8094332d3Sopenharmony_ci *
9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and
13094332d3Sopenharmony_ci * limitations under the License.
14094332d3Sopenharmony_ci */
15094332d3Sopenharmony_ci
16094332d3Sopenharmony_ci/**
17094332d3Sopenharmony_ci * @file video_key_info.h
18094332d3Sopenharmony_ci *
19094332d3Sopenharmony_ci * @brief Declares the key-value pairs used to record key information of a video frame.
20094332d3Sopenharmony_ci *
21094332d3Sopenharmony_ci * @since 1.0
22094332d3Sopenharmony_ci * @version 1.0
23094332d3Sopenharmony_ci */
24094332d3Sopenharmony_ci
25094332d3Sopenharmony_ci#ifndef VIDEO_KEY_INFO_H
26094332d3Sopenharmony_ci#define VIDEO_KEY_INFO_H
27094332d3Sopenharmony_ci
28094332d3Sopenharmony_ci#include <string>
29094332d3Sopenharmony_ci
30094332d3Sopenharmony_cinamespace OHOS::Camera {
31094332d3Sopenharmony_ci/**
32094332d3Sopenharmony_ci * @brief Indicates the data length. The value type is int32_t.
33094332d3Sopenharmony_ci */
34094332d3Sopenharmony_ciconst std::string dataSize = "dataSize";
35094332d3Sopenharmony_ciconst std::string dataWidth = "dataWidth";
36094332d3Sopenharmony_ciconst std::string dataHeight = "dataHeight";
37094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_INFO_DATA_SIZE = 0x01;
38094332d3Sopenharmony_ci
39094332d3Sopenharmony_ci/**
40094332d3Sopenharmony_ci * @brief Indicates the timestamp, in nanoseconds. The value type is int64_t.
41094332d3Sopenharmony_ci */
42094332d3Sopenharmony_ciconst std::string timeStamp = "timeStamp";
43094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_INFO_TIMESTAMP = 0x02;
44094332d3Sopenharmony_ci
45094332d3Sopenharmony_ci/**
46094332d3Sopenharmony_ci * @brief Specifies whether the frame is a key frame.
47094332d3Sopenharmony_ci * The value type is int32_t. The value <b>1</b> means that the frame is a key frame, and <b>0</b> means the opposite.
48094332d3Sopenharmony_ci */
49094332d3Sopenharmony_ciconst std::string isKeyFrame = "isKeyFrame";
50094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_INFO_IS_KEY_FRAME = 0x03;
51094332d3Sopenharmony_ci
52094332d3Sopenharmony_ci/**
53094332d3Sopenharmony_ci * @brief Indicates the stream id corresponding to the image data. The value type is int32_t.
54094332d3Sopenharmony_ci */
55094332d3Sopenharmony_ciconst std::string streamId = "streamId";
56094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_STREAM_ID = 0x04;
57094332d3Sopenharmony_ci
58094332d3Sopenharmony_ci/**
59094332d3Sopenharmony_ci * @brief Indicates the capture id corresponding to the image data. The value type is int32_t.
60094332d3Sopenharmony_ci */
61094332d3Sopenharmony_ciconst std::string captureId = "captureId";
62094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_CAPTRUE_ID = 0x05;
63094332d3Sopenharmony_ci
64094332d3Sopenharmony_ci/**
65094332d3Sopenharmony_ci * @brief Specifies whether the image is a degraded image. The value type is int32_t.
66094332d3Sopenharmony_ci * The value <b>1</b> means that the image is a degraded image, and <b>0</b> means the opposite.
67094332d3Sopenharmony_ci */
68094332d3Sopenharmony_ciconst std::string isDegradedImage = "isDegradedImage";
69094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_IS_DEGRADED_IMAGE = 0x06;
70094332d3Sopenharmony_ci
71094332d3Sopenharmony_ci/**
72094332d3Sopenharmony_ci * @brief Indicates the image id corresponding to the image data. The value type is int32_t.
73094332d3Sopenharmony_ci */
74094332d3Sopenharmony_ciconst std::string imageId = "imageId";
75094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_IMAGE_ID = 0x07;
76094332d3Sopenharmony_ci
77094332d3Sopenharmony_ci/**
78094332d3Sopenharmony_ci * @brief Indicates the type of to the deferred processing.
79094332d3Sopenharmony_ci * The value type is int32_t. The value <b>1</b> means that breakgound process, and <b>0</b> means offline process.
80094332d3Sopenharmony_ci */
81094332d3Sopenharmony_ciconst std::string deferredProcessingType = "deferredProcessingType";
82094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_DEFERRED_PROCESSING_TYPE = 0x08;
83094332d3Sopenharmony_ci
84094332d3Sopenharmony_ci/**
85094332d3Sopenharmony_ci * @brief Indicates the continuous shooting effect score. The value type is int32_t.
86094332d3Sopenharmony_ci */
87094332d3Sopenharmony_ciconst std::string imageScore = "imageScore";
88094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_IMAGE_SCORE = 0x09;
89094332d3Sopenharmony_ci
90094332d3Sopenharmony_ci/**
91094332d3Sopenharmony_ci * @brief Indicates the continuous fromat of image. The value type is int32_t.
92094332d3Sopenharmony_ci * 0 rgba; 1:jpg; 2:heif
93094332d3Sopenharmony_ci */
94094332d3Sopenharmony_ciconst std::string deferredImageFormat = "deferredImageFormat";
95094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_DEFERRED_IMAGE_FORMAT = 0x0A;
96094332d3Sopenharmony_ci
97094332d3Sopenharmony_ci/**
98094332d3Sopenharmony_ci * @brief Indicates the count of image. The value type is int32_t.
99094332d3Sopenharmony_ci * include main image and extend images
100094332d3Sopenharmony_ci */
101094332d3Sopenharmony_ciconst std::string imageCount = "imageCount";
102094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_DEFEREED_COUNT = 0x0B;
103094332d3Sopenharmony_ci
104094332d3Sopenharmony_ci/**
105094332d3Sopenharmony_ci * @brief Indicates the quality level of depth data. The value type is int32_t.
106094332d3Sopenharmony_ci */
107094332d3Sopenharmony_ciconst std::string depthDataQualityLevel = "depthDataQualityLevel";
108094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_DEPTH_DATA_QUALITY_LEVEL = 0x0C;
109094332d3Sopenharmony_ci
110094332d3Sopenharmony_ci/**
111094332d3Sopenharmony_ci * @brief Indicates the sequenceId of capture. The value type is int32_t.
112094332d3Sopenharmony_ci */
113094332d3Sopenharmony_ciconst std::string burstSequenceId = "burstSequenceId";
114094332d3Sopenharmony_ciconst int32_t VIDEO_KEY_BURST_SEQUENCE_ID = 0x0D;
115094332d3Sopenharmony_ci
116094332d3Sopenharmony_ci} // end namespace OHOS::Camera
117094332d3Sopenharmony_ci#endif
118