xref: /OK3568_Linux_fs/external/rockit/tgi/sdk/include/RTMediaMetaKeys.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright 2018 Rockchip Electronics Co. LTD
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Licensed under the Apache License, Version 2.0 (the "License");
5*4882a593Smuzhiyun  * you may not use this file except in compliance with the License.
6*4882a593Smuzhiyun  * You may obtain a copy of the License at
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  *      http://www.apache.org/licenses/LICENSE-2.0
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * Unless required by applicable law or agreed to in writing, software
11*4882a593Smuzhiyun  * distributed under the License is distributed on an "AS IS" BASIS,
12*4882a593Smuzhiyun  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4882a593Smuzhiyun  * See the License for the specific language governing permissions and
14*4882a593Smuzhiyun  * limitations under the License.
15*4882a593Smuzhiyun  *
16*4882a593Smuzhiyun  * author: martin.cheng@rock-chips.com
17*4882a593Smuzhiyun  *   date: 20181226
18*4882a593Smuzhiyun  * Module: audio/video/subtitle track's kKeys for metadata.
19*4882a593Smuzhiyun  */
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun #ifndef INCLUDE_RT_MEDIA_RTMEDIAMETAKEYS_H_
22*4882a593Smuzhiyun #define INCLUDE_RT_MEDIA_RTMEDIAMETAKEYS_H_
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun enum {
25*4882a593Smuzhiyun     /* media format features */
26*4882a593Smuzhiyun     kKeyFormatDuration   = MKTAG('f', 'd', 'u', 'r'),  // UINT64
27*4882a593Smuzhiyun     kKeyFormatEOS        = MKTAG('f', 'e', 'o', 's'),
28*4882a593Smuzhiyun     kKeyFormatUri        = MKTAG('f', 'u', 'r', 'i'),
29*4882a593Smuzhiyun     kKeyUriHeaders       = MKTAG('u', 'r', 'h', 'd'),
30*4882a593Smuzhiyun     kKeyProtocol         = MKTAG('p', 't', 'c', 'l'),
31*4882a593Smuzhiyun     kKeyTimeBaseNum      = MKTAG('t', 'i', 'b', 'n'),
32*4882a593Smuzhiyun     kKeyTimeBaseDen      = MKTAG('t', 'i', 'b', 'd'),
33*4882a593Smuzhiyun     kKeyPlaySpeed        = MKTAG('p', 'l', 's', 'p'),  // float
34*4882a593Smuzhiyun     kKeyStartTime        = MKTAG('s', 't', 't', 'm'),  // INT64
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun     /* common track features*/
37*4882a593Smuzhiyun     kKeyCodecType        = MKTAG('c', 't', 'y', 'p'),
38*4882a593Smuzhiyun     kKeyCodecID          = MKTAG('c', 'c', 'i', 'd'),
39*4882a593Smuzhiyun     kKeyCodecOriginID    = MKTAG('c', 'o', 'i', 'd'),
40*4882a593Smuzhiyun     kKeyCodecProfile     = MKTAG('c', 'p', 'r', 'o'),
41*4882a593Smuzhiyun     kKeyCodecLevel       = MKTAG('c', 'l', 'e', 'v'),
42*4882a593Smuzhiyun     kKeyCodecFormat      = MKTAG('c', 'f', 'o', 'r'),
43*4882a593Smuzhiyun     kKeyCodecTag         = MKTAG('c', 't', 'a', 'g'),
44*4882a593Smuzhiyun     kKeyCodecBitrate     = MKTAG('c', 'b', 'i', 't'),  // INT64
45*4882a593Smuzhiyun     kKeyCodecExtraData   = MKTAG('v', 'd', 'a', 't'),  // void *
46*4882a593Smuzhiyun     kKeyCodecExtraSize   = MKTAG('v', 's', 'i', 'z'),  // INT32
47*4882a593Smuzhiyun     kKeyCodecError       = MKTAG('c', 'e', 'r', 'r'),
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun     /* video track features*/
50*4882a593Smuzhiyun     kKeyVCodecWidth          = MKTAG('v', 'w', 'i', 'd'),
51*4882a593Smuzhiyun     kKeyVCodecHeight         = MKTAG('v', 'h', 'e', 'i'),
52*4882a593Smuzhiyun     kKeyVCodecVideoDelay     = MKTAG('v', 'v', 'd', 'e'),  // INT32
53*4882a593Smuzhiyun     kKeyVCodecFrameRate      = MKTAG('v', 'f', 'r', 'a'),  // INT32 23.976 x 1000
54*4882a593Smuzhiyun     kKeyVCodecFieldOrder     = MKTAG('v', 'f', 'i', 'e'),  // INT32
55*4882a593Smuzhiyun     kKeyVCodecColorRange     = MKTAG('v', 'c', 'r', 'a'),  // INT32
56*4882a593Smuzhiyun     kKeyVCodecColorPrimary   = MKTAG('v', 'c', 'p', 'r'),  // INT32
57*4882a593Smuzhiyun     kKeyVCodecColorTransfer  = MKTAG('v', 'c', 't', 'r'),  // INT32
58*4882a593Smuzhiyun     kKeyVCodecColorSpace     = MKTAG('v', 'c', 's', 'p'),  // INT32
59*4882a593Smuzhiyun     kKeyVCodecChromaLocation = MKTAG('v', 'c', 'l', 'o'),  // INT32
60*4882a593Smuzhiyun     kKeyVCodecBufferCount    = MKTAG('v', 'c', 'b', 'c'),  // INT32
61*4882a593Smuzhiyun     kKeyVCodecBufferSize     = MKTAG('v', 'c', 'b', 's'),  // INT32
62*4882a593Smuzhiyun 
63*4882a593Smuzhiyun     /* video extra features*/
64*4882a593Smuzhiyun     kKeyVCodecGopSize        = MKTAG('g', 'p', 's', 'z'),  // INT32 encoder feature
65*4882a593Smuzhiyun     kKeyVCodecMaxBFrames     = MKTAG('m', 'b', 'f', 'm'),  // INT32 encoder feature
66*4882a593Smuzhiyun     kKeyVCodecRCMode         = MKTAG('v', 'r', 'c', 'm'),  // INT32 encoder feature
67*4882a593Smuzhiyun     kKeyVCodecQP             = MKTAG('v', 'c', 'q', 'p'),  // INT32 encoder feature
68*4882a593Smuzhiyun     kKeyVCodecSurfaceCB      = MKTAG('v', 'c', 's', 'b'),  // void *
69*4882a593Smuzhiyun     kKeyVCodecRotation       = MKTAG('v', 'r', 't', 'e'),  // INT32
70*4882a593Smuzhiyun     kKeyVCodecFlagExtractor  = MKTAG('v', 'c', 'f', 'e'),  // INT32
71*4882a593Smuzhiyun     kKeyVMaxInputBufferCnt   = MKTAG('v', 'x', 'i', 'b'),  // INT32
72*4882a593Smuzhiyun     kKeyVMaxOutputBufferCnt  = MKTAG('v', 'x', 'o', 'b'),  // INT32
73*4882a593Smuzhiyun     kKeyVMinOutputBufferCnt  = MKTAG('v', 'n', 'o', 'b'),  // INT32
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun     /* audio track features*/
76*4882a593Smuzhiyun     kKeyACodecChanneLayout      = MKTAG('a', 'c', 'l', 't'),
77*4882a593Smuzhiyun     kKeyACodecChannels          = MKTAG('a', 'd', 'h', 's'),
78*4882a593Smuzhiyun     kKeyACodecSampleRate        = MKTAG('a', 's', 'r', 'e'),
79*4882a593Smuzhiyun     kKeyACodecBlockAlign        = MKTAG('a', 'e', 'b', 'n'),
80*4882a593Smuzhiyun     kKeyACodecFrameSize         = MKTAG('a', 'd', 'f', 'e'),
81*4882a593Smuzhiyun     kKeyACodecInitialPadding    = MKTAG('a', 's', 'r', 'g'),
82*4882a593Smuzhiyun     kKeyACodecTrailinglPadding  = MKTAG('a', 'e', 't', 'p'),
83*4882a593Smuzhiyun     kKeyACodecBitPerCodedSample = MKTAG('a', 'b', 'p', 'c'),
84*4882a593Smuzhiyun     kKeyAUseSoftVol             = MKTAG('a', 'u', 's', 'd'),
85*4882a593Smuzhiyun     kKeyAudioFormat             = MKTAG('a', 'f', 'm', 't'),
86*4882a593Smuzhiyun     kkeyAudioAECTrans           = MKTAG('a', 'a', 't', 's'),
87*4882a593Smuzhiyun 
88*4882a593Smuzhiyun     /* subtitle track features */
89*4882a593Smuzhiyun     kKeySCodecLanguage      = MKTAG('s', 'l', 'a', 'n'),  // char*
90*4882a593Smuzhiyun     kKeySCodecEncoding      = MKTAG('s', 'e', 'n', 'g'),  // INT32
91*4882a593Smuzhiyun     kKeyCharsetName         = MKTAG('s', 'c', 's', 'n'),  // char*
92*4882a593Smuzhiyun     kKeySSourceFrom         = MKTAG('s', 'f', 'r', 'm'),  // INT32
93*4882a593Smuzhiyun     kKeySubVisible          = MKTAG('s', 'v', 'b', 'l'),  // INT32
94*4882a593Smuzhiyun 
95*4882a593Smuzhiyun     /* RTFrame */
96*4882a593Smuzhiyun     kKeyFrameType        = MKTAG('f', 't', 'y', 'e'),   // INT32
97*4882a593Smuzhiyun     kKeyFieldOrder       = MKTAG('f', 'f', 'o', 'r'),   // INT32
98*4882a593Smuzhiyun     kKeyFrameW           = MKTAG('f', 'w', 'i', 'd'),   // INT32
99*4882a593Smuzhiyun     kKeyFrameH           = MKTAG('f', 'h', 'e', 'i'),   // INT32
100*4882a593Smuzhiyun     kKeyFramePts         = MKTAG('f', 'p', 't', 's'),   // INT64 AVPacket pts
101*4882a593Smuzhiyun     kKeyFrameDts         = MKTAG('f', 'd', 't', 's'),   // INT64 AVPacket dts
102*4882a593Smuzhiyun     kKeyFrameEOS         = MKTAG('p', 'e', 'o', 's'),   // INT32 EOS
103*4882a593Smuzhiyun     kKeyFrameDuration    = MKTAG('d', 'u', 'r', 't'),   // INT32
104*4882a593Smuzhiyun     kKeyFrameError       = MKTAG('f', 'e', 'r', 'r'),   // INT32 Frame Error
105*4882a593Smuzhiyun     kKeyFrameSequence    = MKTAG('f', 's', 'e', 'q'),   // INT32 Frame Sequence
106*4882a593Smuzhiyun     kKeyDisplayW         = MKTAG('d', 'w', 'i', 'd'),   // INT32
107*4882a593Smuzhiyun     kKeyDisplayH         = MKTAG('d', 'h', 'e', 'i'),   // INT32
108*4882a593Smuzhiyun 
109*4882a593Smuzhiyun     /* RTPacket */
110*4882a593Smuzhiyun     kKeyPacketPtr        = MKTAG('a', 'v', 'p', 't'),   // AVPacket
111*4882a593Smuzhiyun     kKeyPacketPts        = MKTAG('p', 'p', 't', 's'),   // INT64 AVPacket dts
112*4882a593Smuzhiyun     kKeyPacketDts        = MKTAG('p', 'd', 't', 's'),   // INT64 AVPacket pts
113*4882a593Smuzhiyun     kKeyPacketPos        = MKTAG('p', 'p', 'o', 's'),   // INT64 AVPacket pos
114*4882a593Smuzhiyun     kKeyPacketSize       = MKTAG('p', 's', 'i', 'z'),   // INT32 AVPacket size
115*4882a593Smuzhiyun     kKeyPacketFlag       = MKTAG('p', 'f', 'l', 'g'),   // INT32 AVPacket flag
116*4882a593Smuzhiyun     kKeyPacketIndex      = MKTAG('p', 'i', 'd', 'x'),   // INT32 AVPacket index
117*4882a593Smuzhiyun     kKeyPacketData       = MKTAG('p', 'd', 'a', 't'),   // AVPacket data
118*4882a593Smuzhiyun     kKeyPacketEOS        = MKTAG('p', 'e', 'o', 's'),   // INT32 EOS
119*4882a593Smuzhiyun     kKeyPacketIsExtra    = MKTAG('p', 'i', 'e', 'e'),   // INT32 is extradata
120*4882a593Smuzhiyun     kKeyPacketSerial     = MKTAG('p', 's', 'e', 'r'),   // INT32 AVPacket serial
121*4882a593Smuzhiyun     kKeyPacketDuration   = MKTAG('p', 'd', 'u', 'r'),   // INT32 AVPacket duration
122*4882a593Smuzhiyun     // memory features
123*4882a593Smuzhiyun     kKeyMemAlign            = MKTAG('m', 'e', 'a', 'l'),  // INT32
124*4882a593Smuzhiyun     kKeyMemMapFlags         = MKTAG('m', 'm', 'f', 'g'),  // INT32
125*4882a593Smuzhiyun     kKeyMemHeapFlags        = MKTAG('m', 'h', 'f', 'g'),  // INT32
126*4882a593Smuzhiyun     kKeyMemUsage            = MKTAG('m', 'e', 'u', 's'),  // INT32
127*4882a593Smuzhiyun 
128*4882a593Smuzhiyun     /* command options */
129*4882a593Smuzhiyun     kKeySeekTimeUs          = MKTAG('s', 't', 'u', 's'),  // INT64
130*4882a593Smuzhiyun     kKeySeekMode            = MKTAG('s', 'm', 'o', 'd'),  // INT32
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun     /* media cache options */
133*4882a593Smuzhiyun     kKeyMaxCacheSize        = MKTAG('m', 'c', 's', 'z'),  // INT32
134*4882a593Smuzhiyun     kKeyHighCacheUs         = MKTAG('h', 'c', 'u', 's'),  // INT64
135*4882a593Smuzhiyun     kKeyLowCacheUs          = MKTAG('l', 'c', 'u', 's'),  // INT64
136*4882a593Smuzhiyun     kKeyResumeCacheUs       = MKTAG('r', 'c', 'u', 's'),  // INT64
137*4882a593Smuzhiyun     kKeyAudioBitrate        = MKTAG('a', 'b', 't', 'r'),  // INT32
138*4882a593Smuzhiyun     kKeyVideoBitrate        = MKTAG('v', 'b', 't', 'r'),  // INT32
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun     /*audio setting features*/
141*4882a593Smuzhiyun     kKeyASettingDecoderPtr  = MKTAG('a', 's', 'd', 'p'),  // void *
142*4882a593Smuzhiyun     kKeyASettingBistreamPtr = MKTAG('a', 's', 'b', 'r'),  // void *
143*4882a593Smuzhiyun     kKeyACodecOutputMode    = MKTAG('a', 'c', 'o', 'm'),  // INT32
144*4882a593Smuzhiyun     kKeyACodecBufferDelay   = MKTAG('a', 'c', 'd', 't'),  // INT32
145*4882a593Smuzhiyun 
146*4882a593Smuzhiyun     /*video setting features*/
147*4882a593Smuzhiyun     kKeyVSettingResolutionPtr  = MKTAG('v', 's', 'r', 'p'),  // void *
148*4882a593Smuzhiyun     kKeyVSettingBitdepth       = MKTAG('v', 's', 'b', 'h'),  // INT32
149*4882a593Smuzhiyun     kKeyVSettingHdr            = MKTAG('v', 's', 'h', 'r'),  // INT32
150*4882a593Smuzhiyun     kKeyVSettingCodecPtr       = MKTAG('v', 's', 'c', 't'),  // void *
151*4882a593Smuzhiyun 
152*4882a593Smuzhiyun     /* tracks infor for cache features*/
153*4882a593Smuzhiyun     kKeyTrackNum               = MKTAG('t', 'n', 'u', 'm'),  // INT32 the default number of tracks
154*4882a593Smuzhiyun     kKeyTrackCacheSize         = MKTAG('t', 'c', 's', 'z'),  // INT32 the max cache size of every track
155*4882a593Smuzhiyun 
156*4882a593Smuzhiyun     /* user's invoke/getparameter/setparameter command*/
157*4882a593Smuzhiyun     kUserInvokeCmd             = MKTAG('u', 'c', 'm', 'd'),
158*4882a593Smuzhiyun     kUserInvokeTracksCount     = MKTAG('t', 'c', 'n', 't'),
159*4882a593Smuzhiyun     kUserInvokeTracksInfor     = MKTAG('t', 'i', 'n', 'f'),
160*4882a593Smuzhiyun     kUserInvokeTracksIdx       = MKTAG('t', 'i', 'd', 'x'),
161*4882a593Smuzhiyun     kUserInvokeGetSelectTrack  = MKTAG('t', 's', 'l', 'e'),
162*4882a593Smuzhiyun     kUserInvokeVideoScallingMode  = MKTAG('v', 's', 'm', 'd'),
163*4882a593Smuzhiyun     kUserInvokeSetPlaybackRate = MKTAG('i', 'p', 'b', 'r'),   // float
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun     /* user's notify command*/
166*4882a593Smuzhiyun     kUserNotifyPts             = MKTAG('u', 'n', 'p', 's'),
167*4882a593Smuzhiyun     kUserNotifySize            = MKTAG('u', 'n', 's', 'e'),
168*4882a593Smuzhiyun     kUserNotifyData            = MKTAG('u', 'n', 'd', 'a'),
169*4882a593Smuzhiyun     kKeyDataSource             = MKTAG('v', 'd', 's', 'c'),
170*4882a593Smuzhiyun     /* post-processing */
171*4882a593Smuzhiyun     kKeyIepI4O2                = MKTAG('f', 'i', 'i', 't'),     // INT32 is iep I4O2
172*4882a593Smuzhiyun 
173*4882a593Smuzhiyun     /* for android media */
174*4882a593Smuzhiyun     kKeyFrameIndex             = MKTAG('f', 'i', 'd', 'x'),     // INT32
175*4882a593Smuzhiyun 
176*4882a593Smuzhiyun     /* setting command */
177*4882a593Smuzhiyun     kKeySettingQueryCmd        = MKTAG('s', 'q', 'u', 'y'),
178*4882a593Smuzhiyun 
179*4882a593Smuzhiyun     /* meta data retriever*/
180*4882a593Smuzhiyun     kRetrieverKey              = MKTAG('r', 'k', 'e', 'y'),
181*4882a593Smuzhiyun     kRetrieverFrameAtTime      = MKTAG('r', 'f', 'a', 't'),
182*4882a593Smuzhiyun     kRetrieverFrameOption      = MKTAG('r', 'f', 'f', 'o'),
183*4882a593Smuzhiyun     kRetrieverDstColorFormat   = MKTAG('r', 'd', 'c', 'f'),
184*4882a593Smuzhiyun     kRetrieverFrameMetaOnly    = MKTAG('r', 'f', 'm', 'o'),
185*4882a593Smuzhiyun     kRetrieverFrameNumber      = MKTAG('r', 'f', 'n', 'u'),
186*4882a593Smuzhiyun     kRetrieverReadMaxTime      = MKTAG('r', 'r', 'm', 't'),
187*4882a593Smuzhiyun     kRetrieverAlbumArtData     = MKTAG('r', 'a', 'a', 'd'),
188*4882a593Smuzhiyun     kRetrieverAlbumArtDataSize = MKTAG('r', 'a', 'a', 's'),
189*4882a593Smuzhiyun     kRetrieverCallbackContext  = MKTAG('r', 'c', 'b', 'c'),
190*4882a593Smuzhiyun     kRetrieverBufferAddress    = MKTAG('r', 'b', 'a', 'r'),
191*4882a593Smuzhiyun 
192*4882a593Smuzhiyun     kRetrieverKeyMIMEType      = MKTAG('r', 'm', 'i', 't'),
193*4882a593Smuzhiyun     kRetrieverKeyCDTrackNumber = MKTAG('r', 'c', 't', 'n'),
194*4882a593Smuzhiyun     kRetrieverKeyDiscNumber    = MKTAG('r', 'd', 'i', 'n'),
195*4882a593Smuzhiyun     kRetrieverKeyAlbum         = MKTAG('r', 'a', 'l', 'b'),
196*4882a593Smuzhiyun     kRetrieverKeyArtist        = MKTAG('r', 'a', 'r', 't'),
197*4882a593Smuzhiyun     kRetrieverKeyAlbumArtist   = MKTAG('r', 'a', 'a', 't'),
198*4882a593Smuzhiyun     kRetrieverKeyAuthor        = MKTAG('r', 'a', 'u', 't'),
199*4882a593Smuzhiyun     kRetrieverKeyComposer      = MKTAG('r', 'c', 'o', 'm'),
200*4882a593Smuzhiyun     kRetrieverKeyDate          = MKTAG('r', 'd', 'a', 't'),
201*4882a593Smuzhiyun     kRetrieverKeyGenre         = MKTAG('r', 'g', 'e', 'n'),
202*4882a593Smuzhiyun     kRetrieverKeyTitle         = MKTAG('r', 't', 'i', 't'),
203*4882a593Smuzhiyun     kRetrieverKeyYear          = MKTAG('r', 'y', 'e', 'r'),
204*4882a593Smuzhiyun     kRetrieverKeyWriter        = MKTAG('r', 'w', 'r', 'i'),
205*4882a593Smuzhiyun     kRetrieverKeyCompilation   = MKTAG('r', 'c', 'p', 'l'),
206*4882a593Smuzhiyun     kRetrieverKeyLocation      = MKTAG('r', 'l', 'o', 'c'),
207*4882a593Smuzhiyun     kRetrieverKeyDuration      = MKTAG('r', 'd', 'u', 'r'),
208*4882a593Smuzhiyun 
209*4882a593Smuzhiyun     /* for new pipeline */
210*4882a593Smuzhiyun     kKeyPipeInvokeCmd          = MKTAG('p', 'c', 'm', 'd'),    // const char *
211*4882a593Smuzhiyun     kKeyTaskNodeId             = MKTAG('t', 'n', 'i', 'd'),    // INT32
212*4882a593Smuzhiyun     kKeyMediaConfig            = MKTAG('m', 'c', 'f', 'g'),    // INT32
213*4882a593Smuzhiyun };
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun enum {
216*4882a593Smuzhiyun     /* user-level configuration for Media(AV) development and debugging */
217*4882a593Smuzhiyun     kKeyUserMediaSync          =  MKTAG('u', 'r', 'm', 's'),    // UINT32
218*4882a593Smuzhiyun     kKeyUserMediaLastFrame     =  MKTAG('u', 'm', 'l', 'f'),    // UINT32
219*4882a593Smuzhiyun     kKeyUserMediaSyncNone      =  MKTAG('u', 'm', 's', 'n'),    // UINT32
220*4882a593Smuzhiyun 
221*4882a593Smuzhiyun     /* user-level configuration for audio development and debugging */
222*4882a593Smuzhiyun     kKeyUserAudioCodecNone     =  MKTAG('u', 'a', 'c', 'n'),    // UINT32
223*4882a593Smuzhiyun 
224*4882a593Smuzhiyun     /* user-level configuration for video development and debugging */
225*4882a593Smuzhiyun     kKeyUserVideoCodecPrior    =  MKTAG('u', 'v', 'c', 'p'),    // UINT32
226*4882a593Smuzhiyun     kKeyUserVideoCodecNone     =  MKTAG('u', 'v', 'h', 'n'),    // UINT32
227*4882a593Smuzhiyun     kKeyUserVideoRefFrameMIN   =  MKTAG('u', 'v', 'r', 'f'),    // UINT32
228*4882a593Smuzhiyun     kKeyUserVideoRefFrameIN    =  MKTAG('u', 'v', 'f', 'i'),    // UINT32
229*4882a593Smuzhiyun     kKeyUserVideoRefFrameNum   =  MKTAG('u', 'v', 'f', 'o'),    // UINT32
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun     /* system-level persistent configuration */
232*4882a593Smuzhiyun     kKeySysVideoDecoderSupport    =  MKTAG('s', 'v', 'd', 's'),    // UINT32
233*4882a593Smuzhiyun     kKeySysVideoEncoderSupport    =  MKTAG('s', 'v', 'e', 's'),    // UINT32
234*4882a593Smuzhiyun     kKeySysAudioOutputMode        =  MKTAG('s', 'a', 'o', 'm'),    // UINT32
235*4882a593Smuzhiyun     kKeySysChipName               =  MKTAG('s', 'c', 'p', 'n'),    // UINT32
236*4882a593Smuzhiyun };
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun enum {
239*4882a593Smuzhiyun     kKeyReadSize = MKTAG('r', 'd', 's', 'z'),
240*4882a593Smuzhiyun };
241*4882a593Smuzhiyun 
242*4882a593Smuzhiyun enum {
243*4882a593Smuzhiyun     kKeyTestInt32   = MKTAG('t', 'i', '3', '2'),
244*4882a593Smuzhiyun     kKeyTestInt64   = MKTAG('t', 'i', '6', '4'),
245*4882a593Smuzhiyun     kKeyTestString  = MKTAG('t', 's', 't', 'r'),
246*4882a593Smuzhiyun     kKeyTestFloat   = MKTAG('t', 'f', 'l', 't'),
247*4882a593Smuzhiyun     kKeyTestPtr     = MKTAG('t', 'p', 't', 'r'),
248*4882a593Smuzhiyun     kKeyTestNone    = MKTAG('t', 'n', 'o', 'e'),
249*4882a593Smuzhiyun };
250*4882a593Smuzhiyun 
251*4882a593Smuzhiyun #endif  // INCLUDE_RT_MEDIA_RTMEDIAMETAKEYS_H_
252*4882a593Smuzhiyun 
253*4882a593Smuzhiyun 
254