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