xref: /OK3568_Linux_fs/external/rockit/tgi/sdk/include/RTTaskNodeDef.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright 2020 Rockchip Electronics Co. LTD
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  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * author: modified by <martin.cheng@rock-chips.com>
17  *   date: 2020-04-23
18  *  title: task node stub
19  */
20 
21 #ifndef SRC_RT_TASK_TASK_NODE_RTTASKNODEDEF_H_
22 #define SRC_RT_TASK_TASK_NODE_RTTASKNODEDEF_H_
23 
24 #include "RTMediaBufferDef.h"
25 
26 #define RT_PADDING 1
27 
28 typedef enum _RTStubUid {
29     kStubNone              = 0,
30     /* node stubs for media format */
31     kStubDemuxerTMedia     = MKTAG('f', 'm', 'p', 'g'),
32     kStubDemuxerFile       = MKTAG('f', 'f', 'i', 'l'),
33 
34     /* node stubs for media codec */
35     kStubCodecMppDecoder     = MKTAG('c', 'm', 'd', 'c'),
36     kStubCodecMppEncoder     = MKTAG('c', 'm', 'e', 'e'),
37     kStubCodecAudioDecoder   = MKTAG('c', 'a', 'o', 'd'),
38     kStubCodecAudioEncoder   = MKTAG('c', 'a', 'o', 'e'),
39 
40     /* node stubs for media sink */
41     kStubSinkVideo         = MKTAG('s', 'v', 'i', 'd'),
42     kStubSinkAudio         = MKTAG('s', 'v', 'i', 'l'),
43     kStubSinkFile          = MKTAG('s', 'f', 'i', 'l'),
44     kStubLinkOutput        = MKTAG('l', 'k', 'o', 'p'),
45 
46     /* node stubs for media filter */
47     kStubFilterRKRga       = MKTAG('f', 'r', 'g', 'a'),
48     kStubFilterRKNpu       = MKTAG('f', 'n', 'p', 'u'),
49     kStubFilterImage       = MKTAG('f', 'i', 'm', 'g'),
50     kStubFilterScale       = MKTAG('f', 's', 'c', 'a'),
51     kStubFilterRockx       = MKTAG('f', 'r', 'k', 'x'),
52     kStubFilterResample    = MKTAG('f', 'a', 'r', 's'),
53     kStubFilterStAsteria   = MKTAG('f', 's', 'a', 't'),
54     kStubFilterVolume      = MKTAG('f', 'a', 'v', 'l'),
55     kStubFilterEptz        = MKTAG('e', 'p', 't', 'z'),
56     kStubfilterAudio3A     = MKTAG('f', 'a', 'd', 'a'),
57     kStubfilterAnr         = MKTAG('f', 'a', 'n', 'r'),
58     kStubfilterGLPss       = MKTAG('g', 'l', 'p', 's'),
59     kStubfilterVpss        = MKTAG('v', 'p', 's', 's'),
60     kStubFilterAvs         = MKTAG('f', 'a', 'v', 's'),
61     kStubFilterMpiVo       = MKTAG('f', 'm', 'v', 'o'),
62     kStubFilterWbcVo       = MKTAG('f', 'w', 'v', 'o'),
63 
64     kStubfilterSKV        = MKTAG('f', 's', 'k', 'v'),
65     kStubfilterSKVAec     = MKTAG('f', 's', 'a', 'e'),
66     kStubFilterSKVAgc     = MKTAG('f', 'a', 'g', 'c'),
67     kStubFilterSKVBF      = MKTAG('f', 's', 'b', 'f'),
68     kStubFilterSKVDoa     = MKTAG('f', 's', 'd', 'a'),
69     kStubFilterTrackMode  = MKTAG('f', 't', 'k', 'm'),
70     kStubFilterAHPF       = MKTAG('f', 'a', 'h', 'p'),
71     kStubFilterLHPF       = MKTAG('f', 'a', 'l', 'p'),
72     kStubFilterAChnSwap   = MKTAG('f', 'c', 's', 'p'),
73 
74     /* node stubs for media device */
75     kStubDeviceV4L2        = MKTAG('d', 'v', 'l', 'v'),
76     kStubDeviceALSACap     = MKTAG('d', 'a', 'l', 'c'),
77     kStubDeviceALSAPlay    = MKTAG('d', 'a', 'l', 'p'),
78     kStubDeviceMultiCap    = MKTAG('m', 'l', 't', 'c'),
79     kStubDeviceExternal    = MKTAG('d', 'e', 'x', 't'),
80     kStubFilterAIMatting   = MKTAG('a', 'i', 'm', 't'),
81 } RTStubUid;
82 
83 typedef enum _RTPadType {
84     RT_PAD_UNKNOWN,
85     RT_PAD_SRC,
86     RT_PAD_SINK,
87     RT_PAD_LINK,
88     RT_PAD_MAX,
89 } RTPadType;
90 
91 typedef struct _RTCapPair {
92     const char* mKey;
93     const char* mValue;
94 } RTCapPair;
95 
96 typedef struct _RTPadCaps {
97     const char         *mMime;
98     RTPadType           mPadType;
99     RTMediaBufferType   mBufferType;
100     RTCapPair           mCapPairs;
101 } RTPadCaps;
102 
103 #endif  // SRC_RT_TASK_TASK_NODE_RTTASKNODEDEF_H_
104