Showing the changes to codec/api (2 of 6 files). Show all
Unified · Split
| @@ -106,6 +106,14 @@ class ISVCDecoder { · 105 unmodified lines | ||
| 106 | 106 | unsigned char** ppDst, |
| 107 | 107 | SBufferInfo* pDstInfo) = 0; |
| 108 | 108 | |
| 109 | + /* | |
| 110 | + * This function parse input bitstream only, and rewrite possible SVC syntax to AVC syntax | |
| 111 | + * return: 0 - success; otherwise -failed; | |
| 112 | + */ | |
| 113 | + virtual DECODING_STATE EXTAPI DecodeParser (const unsigned char* pSrc, | |
| 114 | + const int iSrcLen, | |
| 115 | + SParserBsInfo* pDstInfo) = 0; | |
| 116 | + | |
| 109 | 117 | /* |
| 110 | 118 | * this API does not work for now!! This is for future use to support non-I420 color format output. |
| 111 | 119 | */ |
| @@ -169,6 +177,10 @@ DECODING_STATE (*DecodeFrame2) (ISVCDecoder*, const unsigned char* pSrc, · 57 unmodified lines | ||
| 169 | 177 | unsigned char** ppDst, |
| 170 | 178 | SBufferInfo* pDstInfo); |
| 171 | 179 | |
| 180 | +DECODING_STATE (*DecodeParser) (ISVCDecoder*, const unsigned char* pSrc, | |
| 181 | + const int iSrcLen, | |
| 182 | + SParserBsInfo* pDstInfo); | |
| 183 | + | |
| 172 | 184 | DECODING_STATE (*DecodeFrameEx) (ISVCDecoder*, const unsigned char* pSrc, |
| 173 | 185 | const int iSrcLen, |
| 174 | 186 | unsigned char* pDst, |
| @@ -447,4 +447,12 @@ typedef struct TagDecoderCapability { · 446 unmodified lines | ||
| 447 | 447 | bool bRedPicCap; |
| 448 | 448 | } SDecoderCapability; |
| 449 | 449 | |
| 450 | +typedef struct TagParserBsInfo { | |
| 451 | + int iNalNum; //total NAL number in current AU | |
| 452 | + int iNalLenInByte [MAX_NAL_UNITS_IN_LAYER]; //each nal length | |
| 453 | + unsigned char* pDstBuff; //outputted dst buffer for parsed bitstream | |
| 454 | + int iSpsWidthInPixel; //required SPS width info | |
| 455 | + int iSpsHeightInPixel; //required SPS height info | |
| 456 | +} SParserBsInfo, PParserBsInfo; | |
| 457 | + | |
| 450 | 458 | #endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__ |