1f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar/*
2f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * Copyright 2018 The Android Open Source Project
3f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar *
4f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * Licensed under the Apache License, Version 2.0 (the "License");
5f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * you may not use this file except in compliance with the License.
6f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * You may obtain a copy of the License at
7f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar *
8f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar *     http://www.apache.org/licenses/LICENSE-2.0
9f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar *
10f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * Unless required by applicable law or agreed to in writing, software
11f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * distributed under the License is distributed on an "AS IS" BASIS,
12f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * See the License for the specific language governing permissions and
14f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar * limitations under the License.
15f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar *
16f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar */
17f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
18f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar#ifndef MEDIA_CODEC_CONSTANTS_H_
19f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar#define MEDIA_CODEC_CONSTANTS_H_
20f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
21f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarnamespace {
22f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
23f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar// from MediaCodecInfo.java
24f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileBaseline = 0x01;
25f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileMain     = 0x02;
26f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileExtended = 0x04;
27f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileHigh     = 0x08;
28f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileHigh10   = 0x10;
29f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileHigh422  = 0x20;
30f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileHigh444  = 0x40;
31f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileConstrainedBaseline = 0x10000;
32f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCProfileConstrainedHigh     = 0x80000;
33f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
34f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel1       = 0x01;
35f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel1b      = 0x02;
36f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel11      = 0x04;
37f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel12      = 0x08;
38f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel13      = 0x10;
39f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel2       = 0x20;
40f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel21      = 0x40;
41f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel22      = 0x80;
42f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel3       = 0x100;
43f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel31      = 0x200;
44f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel32      = 0x400;
45f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel4       = 0x800;
46f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel41      = 0x1000;
47f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel42      = 0x2000;
48f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel5       = 0x4000;
49f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel51      = 0x8000;
50f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AVCLevel52      = 0x10000;
51f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
52f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileBaseline             = 0x01;
53f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileH320Coding           = 0x02;
54f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileBackwardCompatible   = 0x04;
55f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileISWV2                = 0x08;
56f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileISWV3                = 0x10;
57f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileHighCompression      = 0x20;
58f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileInternet             = 0x40;
59f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileInterlace            = 0x80;
60f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263ProfileHighLatency          = 0x100;
61f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
62f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level10      = 0x01;
63f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level20      = 0x02;
64f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level30      = 0x04;
65f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level40      = 0x08;
66f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level45      = 0x10;
67f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level50      = 0x20;
68f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level60      = 0x40;
69f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t H263Level70      = 0x80;
70f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
71f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileSimple              = 0x01;
72f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileSimpleScalable      = 0x02;
73f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileCore                = 0x04;
74f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileMain                = 0x08;
75f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileNbit                = 0x10;
76f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileScalableTexture     = 0x20;
77f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileSimpleFace          = 0x40;
78f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileSimpleFBA           = 0x80;
79f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileBasicAnimated       = 0x100;
80f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileHybrid              = 0x200;
81f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileAdvancedRealTime    = 0x400;
82f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileCoreScalable        = 0x800;
83f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileAdvancedCoding      = 0x1000;
84f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileAdvancedCore        = 0x2000;
85f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileAdvancedScalable    = 0x4000;
86f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4ProfileAdvancedSimple      = 0x8000;
87f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
88f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level0      = 0x01;
89f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level0b     = 0x02;
90f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level1      = 0x04;
91f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level2      = 0x08;
92f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level3      = 0x10;
93f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level3b     = 0x18;
94f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level4      = 0x20;
95f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level4a     = 0x40;
96f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level5      = 0x80;
97f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG4Level6      = 0x100;
98f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
99f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2ProfileSimple              = 0x00;
100f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2ProfileMain                = 0x01;
101f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2Profile422                 = 0x02;
102f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2ProfileSNR                 = 0x03;
103f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2ProfileSpatial             = 0x04;
104f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2ProfileHigh                = 0x05;
105f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
106f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2LevelLL     = 0x00;
107f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2LevelML     = 0x01;
108f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2LevelH14    = 0x02;
109f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2LevelHL     = 0x03;
110f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t MPEG2LevelHP     = 0x04;
111f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
112f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectMain       = 1;
113f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectLC         = 2;
114f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectSSR        = 3;
115f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectLTP        = 4;
116f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectHE         = 5;
117f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectScalable   = 6;
118f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectERLC       = 17;
119f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectERScalable = 20;
120f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectLD         = 23;
121f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectHE_PS      = 29;
122f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectELD        = 39;
123f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t AACObjectXHE        = 42;
124f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
125f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP8Level_Version0 = 0x01;
126f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP8Level_Version1 = 0x02;
127f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP8Level_Version2 = 0x04;
128f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP8Level_Version3 = 0x08;
129f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
130f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP8ProfileMain = 0x01;
131f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
132f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Profile0 = 0x01;
133f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Profile1 = 0x02;
134f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Profile2 = 0x04;
135f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Profile3 = 0x08;
136f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Profile2HDR = 0x1000;
137f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Profile3HDR = 0x2000;
138f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
139f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level1  = 0x1;
140f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level11 = 0x2;
141f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level2  = 0x4;
142f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level21 = 0x8;
143f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level3  = 0x10;
144f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level31 = 0x20;
145f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level4  = 0x40;
146f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level41 = 0x80;
147f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level5  = 0x100;
148f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level51 = 0x200;
149f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level52 = 0x400;
150f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level6  = 0x800;
151f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level61 = 0x1000;
152f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VP9Level62 = 0x2000;
153f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
154f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCProfileMain        = 0x01;
155f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCProfileMain10      = 0x02;
156f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCProfileMainStill   = 0x04;
157f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCProfileMain10HDR10 = 0x1000;
158f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
159f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel1  = 0x1;
160f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel1  = 0x2;
161f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel2  = 0x4;
162f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel2  = 0x8;
163f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel21 = 0x10;
164f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel21 = 0x20;
165f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel3  = 0x40;
166f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel3  = 0x80;
167f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel31 = 0x100;
168f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel31 = 0x200;
169f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel4  = 0x400;
170f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel4  = 0x800;
171f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel41 = 0x1000;
172f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel41 = 0x2000;
173f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel5  = 0x4000;
174f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel5  = 0x8000;
175f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel51 = 0x10000;
176f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel51 = 0x20000;
177f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel52 = 0x40000;
178f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel52 = 0x80000;
179f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel6  = 0x100000;
180f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel6  = 0x200000;
181f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel61 = 0x400000;
182f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel61 = 0x800000;
183f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCMainTierLevel62 = 0x1000000;
184f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t HEVCHighTierLevel62 = 0x2000000;
185f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
186f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvavPer = 0x1;
187f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvavPen = 0x2;
188f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheDer = 0x4;
189f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheDen = 0x8;
190f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheDtr = 0x10;
191f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheStn = 0x20;
192f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheDth = 0x40;
193f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheDtb = 0x80;
194f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvheSt = 0x100;
195f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionProfileDvavSe = 0x200;
196f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
197f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelHd24    = 0x1;
198f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelHd30    = 0x2;
199f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelFhd24   = 0x4;
200f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelFhd30   = 0x8;
201f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelFhd60   = 0x10;
202f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelUhd24   = 0x20;
203f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelUhd30   = 0x40;
204f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelUhd48   = 0x80;
205f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t DolbyVisionLevelUhd60   = 0x100;
206f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
207f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BITRATE_MODE_CBR = 2;
208f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BITRATE_MODE_CQ = 0;
209f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BITRATE_MODE_VBR = 1;
210f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
211f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format12bitRGB444             = 3;
212f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format16bitARGB1555           = 5;
213f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format16bitARGB4444           = 4;
214f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format16bitBGR565             = 7;
215f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format16bitRGB565             = 6;
216f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format18bitARGB1665           = 9;
217f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format18BitBGR666             = 41;
218f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format18bitRGB666             = 8;
219f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format19bitARGB1666           = 10;
220f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format24BitABGR6666           = 43;
221f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format24bitARGB1887           = 13;
222f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format24BitARGB6666           = 42;
223f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format24bitBGR888             = 12;
224f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format24bitRGB888             = 11;
225f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format25bitARGB1888           = 14;
226f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format32bitABGR8888           = 0x7F00A000;
227f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format32bitARGB8888           = 16;
228f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format32bitBGRA8888           = 15;
229f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_Format8bitRGB332              = 2;
230f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatCbYCrY                  = 27;
231f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatCrYCbY                  = 28;
232f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatL16                     = 36;
233f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatL2                      = 33;
234f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatL24                     = 37;
235f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatL32                     = 38;
236f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatL4                      = 34;
237f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatL8                      = 35;
238f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatMonochrome              = 1;
239f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatRawBayer10bit           = 31;
240f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatRawBayer8bit            = 30;
241f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatRawBayer8bitcompressed  = 32;
242f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatRGBAFlexible            = 0x7F36A888;
243f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatRGBFlexible             = 0x7F36B888;
244f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatSurface                 = 0x7F000789;
245f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYCbYCr                  = 25;
246f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYCrYCb                  = 26;
247f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV411PackedPlanar      = 18;
248f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV411Planar            = 17;
249f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV420Flexible          = 0x7F420888;
250f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV420PackedPlanar      = 20;
251f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV420PackedSemiPlanar  = 39;
252f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV420Planar            = 19;
253f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV420SemiPlanar        = 21;
254f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV422Flexible          = 0x7F422888;
255f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV422PackedPlanar      = 23;
256f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV422PackedSemiPlanar  = 40;
257f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV422Planar            = 22;
258f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV422SemiPlanar        = 24;
259f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV444Flexible          = 0x7F444888;
260f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_FormatYUV444Interleaved       = 29;
261f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_QCOM_FormatYUV420SemiPlanar   = 0x7fa30c00;
262f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100;
263f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
264f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char FEATURE_AdaptivePlayback[]       = "adaptive-playback";
265f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char FEATURE_IntraRefresh[] = "intra-refresh";
266f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char FEATURE_PartialFrame[] = "partial-frame";
267f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char FEATURE_SecurePlayback[]         = "secure-playback";
268f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char FEATURE_TunneledPlayback[]       = "tunneled-playback";
269f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
270f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar// from MediaFormat.java
271f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_VP8[] = "video/x-vnd.on2.vp8";
272f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_VP9[] = "video/x-vnd.on2.vp9";
273f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_AVC[] = "video/avc";
274f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_HEVC[] = "video/hevc";
275f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_MPEG4[] = "video/mp4v-es";
276f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_H263[] = "video/3gpp";
277f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_MPEG2[] = "video/mpeg2";
278f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_RAW[] = "video/raw";
279f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_DOLBY_VISION[] = "video/dolby-vision";
280f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_VIDEO_SCRAMBLED[] = "video/scrambled";
281f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
282f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_AMR_NB[] = "audio/3gpp";
283f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_AMR_WB[] = "audio/amr-wb";
284f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_MPEG[] = "audio/mpeg";
285f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_AAC[] = "audio/mp4a-latm";
286f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_QCELP[] = "audio/qcelp";
287f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_VORBIS[] = "audio/vorbis";
288f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_OPUS[] = "audio/opus";
289f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_G711_ALAW[] = "audio/g711-alaw";
290f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_G711_MLAW[] = "audio/g711-mlaw";
291f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_RAW[] = "audio/raw";
292f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_FLAC[] = "audio/flac";
293f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_MSGSM[] = "audio/gsm";
294f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_AC3[] = "audio/ac3";
295f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_EAC3[] = "audio/eac3";
296f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_AUDIO_SCRAMBLED[] = "audio/scrambled";
297f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
298f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_IMAGE_ANDROID_HEIC[] = "image/vnd.android.heic";
299f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
300f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_TEXT_CEA_608[] = "text/cea-608";
301f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_TEXT_CEA_708[] = "text/cea-708";
302f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_TEXT_SUBRIP[] = "application/x-subrip";
303f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIMETYPE_TEXT_VTT[] = "text/vtt";
304f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
305f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_RANGE_FULL = 1;
306f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_RANGE_LIMITED = 2;
307f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_STANDARD_BT2020 = 6;
308f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_STANDARD_BT601_NTSC = 4;
309f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_STANDARD_BT601_PAL = 2;
310f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_STANDARD_BT709 = 1;
311f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_TRANSFER_HLG = 7;
312f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_TRANSFER_LINEAR = 1;
313f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_TRANSFER_SDR_VIDEO = 3;
314f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t COLOR_TRANSFER_ST2084 = 6;
315f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
316f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_DRC_ATTENUATION_FACTOR[] = "aac-drc-cut-level";
317f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_DRC_BOOST_FACTOR[] = "aac-drc-boost-level";
318f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_DRC_EFFECT_TYPE[] = "aac-drc-effect-type";
319f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_DRC_HEAVY_COMPRESSION[] = "aac-drc-heavy-compression";
320f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_DRC_TARGET_REFERENCE_LEVEL[] = "aac-target-ref-level";
321f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_ENCODED_TARGET_LEVEL[] = "aac-encoded-target-level";
322f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT[] = "aac-max-output-channel_count";
323f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_PROFILE[] = "aac-profile";
324f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AAC_SBR_MODE[] = "aac-sbr-mode";
325f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_AUDIO_SESSION_ID[] = "audio-session-id";
326f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_BIT_RATE[] = "bitrate";
327f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_BITRATE_MODE[] = "bitrate-mode";
328f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_CA_SESSION_ID[] = "ca-session-id";
329f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_CA_SYSTEM_ID[] = "ca-system-id";
330f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_CAPTURE_RATE[] = "capture-rate";
331f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_CHANNEL_COUNT[] = "channel-count";
332f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_CHANNEL_MASK[] = "channel-mask";
333f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_COLOR_FORMAT[] = "color-format";
334f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_COLOR_RANGE[] = "color-range";
335f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_COLOR_STANDARD[] = "color-standard";
336f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_COLOR_TRANSFER[] = "color-transfer";
337f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_COMPLEXITY[] = "complexity";
338f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_DURATION[] = "durationUs";
339f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_FEATURE_[] = "feature-";
340f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_FLAC_COMPRESSION_LEVEL[] = "flac-compression-level";
341f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_FRAME_RATE[] = "frame-rate";
342f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_GRID_COLUMNS[] = "grid-cols";
343f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_GRID_ROWS[] = "grid-rows";
344f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_HDR_STATIC_INFO[] = "hdr-static-info";
345f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_HEIGHT[] = "height";
346f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_I_FRAME_INTERVAL[] = "i-frame-interval";
347f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_INTRA_REFRESH_PERIOD[] = "intra-refresh-period";
348f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_IS_ADTS[] = "is-adts";
349f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_IS_AUTOSELECT[] = "is-autoselect";
350f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_IS_DEFAULT[] = "is-default";
351f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_IS_FORCED_SUBTITLE[] = "is-forced-subtitle";
352f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_IS_TIMED_TEXT[] = "is-timed-text";
353f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_LANGUAGE[] = "language";
354f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_LATENCY[] = "latency";
355f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_LEVEL[] = "level";
356f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_MAX_BIT_RATE[] = "max-bitrate";
357f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_MAX_HEIGHT[] = "max-height";
358f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_MAX_INPUT_SIZE[] = "max-input-size";
359f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_MAX_WIDTH[] = "max-width";
360f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_MIME[] = "mime";
361f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_OPERATING_RATE[] = "operating-rate";
362f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_OUTPUT_REORDER_DEPTH[] = "output-reorder-depth";
363f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_PCM_ENCODING[] = "pcm-encoding";
364f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_PRIORITY[] = "priority";
365f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_PROFILE[] = "profile";
366f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_PUSH_BLANK_BUFFERS_ON_STOP[] = "push-blank-buffers-on-shutdown";
367f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_QUALITY[] = "quality";
368f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_REPEAT_PREVIOUS_FRAME_AFTER[] = "repeat-previous-frame-after";
369f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_ROTATION[] = "rotation-degrees";
370f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_SAMPLE_RATE[] = "sample-rate";
371f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_SLICE_HEIGHT[] = "slice-height";
372f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_STRIDE[] = "stride";
373f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_TEMPORAL_LAYERING[] = "ts-schema";
374f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_TILE_HEIGHT[] = "tile-height";
375f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_TILE_WIDTH[] = "tile-width";
376f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_TRACK_ID[] = "track-id";
377f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char KEY_WIDTH[] = "width";
378f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
379f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar// from MediaCodec.java
380f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4;
381f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_INSUFFICIENT_RESOURCE = 1100;
382f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_KEY_EXPIRED = 2;
383f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_NO_KEY = 1;
384f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_RECLAIMED = 1101;
385f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_RESOURCE_BUSY = 3;
386f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_SESSION_NOT_OPENED = 5;
387f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t ERROR_UNSUPPORTED_OPERATION = 6;
388f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char CODEC[] = "android.media.mediacodec.codec";
389f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char ENCODER[] = "android.media.mediacodec.encoder";
390f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char HEIGHT[] = "android.media.mediacodec.height";
391f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MIME_TYPE[] = "android.media.mediacodec.mime";
392f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MODE[] = "android.media.mediacodec.mode";
393f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MODE_AUDIO[] = "audio";
394f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char MODE_VIDEO[] = "video";
395f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char ROTATION[] = "android.media.mediacodec.rotation";
396f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char SECURE[] = "android.media.mediacodec.secure";
397f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char WIDTH[] = "android.media.mediacodec.width";
398f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
399f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BUFFER_FLAG_CODEC_CONFIG = 2;
400f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BUFFER_FLAG_END_OF_STREAM = 4;
401f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BUFFER_FLAG_KEY_FRAME = 1;
402f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BUFFER_FLAG_PARTIAL_FRAME = 8;
403f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t BUFFER_FLAG_SYNC_FRAME = 1;
404f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t CONFIGURE_FLAG_ENCODE = 1;
405f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t CRYPTO_MODE_AES_CBC     = 2;
406f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t CRYPTO_MODE_AES_CTR     = 1;
407f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t CRYPTO_MODE_UNENCRYPTED = 0;
408f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t INFO_OUTPUT_BUFFERS_CHANGED = -3;
409f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t INFO_OUTPUT_FORMAT_CHANGED  = -2;
410f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t INFO_TRY_AGAIN_LATER        = -1;
411f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VIDEO_SCALING_MODE_SCALE_TO_FIT               = 1;
412f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr int32_t VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2;
413f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char PARAMETER_KEY_REQUEST_SYNC_FRAME[] = "request-sync";
414f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char PARAMETER_KEY_SUSPEND[] = "drop-input-frames";
415f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnarconstexpr char PARAMETER_KEY_VIDEO_BITRATE[] = "video-bitrate";
416f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
417f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar}
418f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
419f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar#endif  // MEDIA_CODEC_CONSTANTS_H_
420f97b081857e2dc5c1e448d4f60295ee28e29d049Lajos Molnar
421