History

add API only for decode parser for HW decoding support

huili2 committed 12 years ago

Commit efdefdb1 parent e4b373a6 files · +40 −4Browse files

Showing the changes to codec/api (2 of 6 files). Show all

Unified · Split

2 files
  1. codec/api/svc/codec_api.h +12 −0
  2. codec/api/svc/codec_app_def.h +8 −0
codec/api/svc/codec_api.h+12−0
@@ -106,6 +106,14 @@ class ISVCDecoder { · 105 unmodified lines
106106 unsigned char** ppDst,
107107 SBufferInfo* pDstInfo) = 0;
108108
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+
109117 /*
110118 * this API does not work for now!! This is for future use to support non-I420 color format output.
111119 */
@@ -169,6 +177,10 @@ DECODING_STATE (*DecodeFrame2) (ISVCDecoder*, const unsigned char* pSrc, · 57 unmodified lines
169177 unsigned char** ppDst,
170178 SBufferInfo* pDstInfo);
171179
180+DECODING_STATE (*DecodeParser) (ISVCDecoder*, const unsigned char* pSrc,
181+ const int iSrcLen,
182+ SParserBsInfo* pDstInfo);
183+
172184 DECODING_STATE (*DecodeFrameEx) (ISVCDecoder*, const unsigned char* pSrc,
173185 const int iSrcLen,
174186 unsigned char* pDst,
codec/api/svc/codec_app_def.h+8−0
@@ -447,4 +447,12 @@ typedef struct TagDecoderCapability { · 446 unmodified lines
447447 bool bRedPicCap;
448448 } SDecoderCapability;
449449
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+
450458 #endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t