webOS Userland
Native system APIs for webOS
 
Loading...
Searching...
No Matches
resource_calculator_c.h
1/*
2 * Copyright (c) 2008-2018 LG Electronics, Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9
10
11
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17
18 * SPDX-License-Identifier: Apache-2.0
19 */
20
21#ifndef RESOURCE_CALCULATOR_C_H_
22#define RESOURCE_CALCULATOR_C_H_
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28enum MRCVideoCodec {
29 kVideoEtc = (1 << 0),
30 kVideoH264 = (1 << 1),
31 kVideoH265 = (1 << 2),
32 kVideoMPEG = (1 << 3), // MPEG1/2
33 kVideoMVC = (1 << 4),
34 kVideoSVC = (1 << 5),
35 kVideoVP9 = (1 << 6),
36 kVideoRM = (1 << 7),
37 kVideoAVS = (1 << 8),
38 kVideoVP8 = (1 << 9),
39 kVideoMJPEG = (1 << 10),
40 kVideoMPEG4 = (1 << 11),
41 kVideoJPEG = (1 << 12),
42};
43
44enum MRCScanType {
45 kScanProgressive,
46 kScanInterlaced,
47};
48
49enum MRC3DType {
50 k3DNone,
51 k3DSequential,
52 k3DMultiStream,
53};
54
55enum MRCAudioCodec {
56 kAudioEtc = (1 << 0),
57 kAudioMPEG = (1 << 1),
58 kAudioPCM = (1 << 2),
59 kAudioDTS = (1 << 3),
60 kAudioDTSE = (1 << 4),
61 kAudioMPEGH = (1 << 5),
62 kAudioAC4 = (1 << 6),
63 kAudioATMOS = (1 << 7),
64 kAudioDescription = (1 << 8),
65};
66
67typedef struct MRCResource {
68 char *type;
69 int quantity;
71
72// null-terminated array of MRCResource pointer
75
76// codecs are combination of bitmasks defined in enum MRCVideoCodec.
77// Zero width or height is considered as 4K resolution.
78// Zero frameRate is considered as max frameRate for each codec.
79MRCResourceList MRCCalcVdecResources(int codecs,
80 int width,
81 int height,
82 int frameRate,
83 enum MRCScanType scanType,
84 enum MRC3DType _3dType);
85
86MRCResourceListOptions MRCCalcVdecResourceOptions(int codecs,
87 int width,
88 int height,
89 int frameRate,
90 enum MRCScanType scanType,
91 enum MRC3DType _3dType);
92
93MRCResourceList MRCCalcAdecResources(int codecs,
94 int version,
95 int channel);
96
97MRCResourceList MRCCalcMiscResources(int useSecureVideoPath, int useSecureReformatter);
98
99void MRCDeleteResourceList(MRCResourceList resourceList);
100
101#ifdef __cplusplus
102}
103#endif
104
105#endif // RESOURCE_CALCULATOR_C_H_
Definition resource_calculator_c.h:67