📄 wmv3_volheaddec.h
字号:
/*
* WMV3_VOLHeadDec.h
*/
#ifndef _WMV3_VOLHEADDEC_H
#define _WMV3_VOLHEADDEC_H
typedef void Void_WMV;
typedef int I32_WMV;
typedef unsigned long U32_WMV;
typedef signed short I16_WMV;
typedef unsigned short U16_WMV;
typedef unsigned short U16Char_WMV;
typedef signed char I8_WMV;
typedef unsigned char U8_WMV;
typedef signed short Bool_WMV;
typedef double Double_WMV;
typedef float Float_WMV;
#define TRUE_WMV 1
#define FALSE_WMV 0
#define NULL_WMV 0
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#define WMV_Succeeded 0L
#define WMV_Failed -100L
#define tWMVDecodeStatus int
#define ICERR_OK 0L
#define ICERR_ERROR -100L
#define ICERR_MEMORY -3L
#define ICERR_BADFORMAT -2L
enum { NOT_WMV3 = -1, WMV3_SIMPLE_PROFILE, WMV3_MAIN_PROFILE, WMV3_PC_PROFILE, WMV3_SCREEN };
typedef struct tagWMVBS
{
U8_WMV *m_pbits;
U8_WMV m_incnt;
U32_WMV m_bsptr;
U32_WMV m_bsbfr;
}tWMVBS;
typedef struct tagWMVDecInternalMember
{
I32_WMV m_iWMV3Profile;
I32_WMV m_iBetaRTMMismatchIndex; // Used by V9 loopfilter for RTM/Beta mismatch.
I32_WMV m_iNumBFrames;
Bool_WMV m_bXintra8Switch;
Bool_WMV m_bXformSwitch;
Bool_WMV m_bXintra8;
Bool_WMV m_bDCTTable_MB_ENABLED;
Bool_WMV m_bMultiresEnabled;
Bool_WMV m_b16bitXform; // bilinear 16 bit transform flag
Bool_WMV m_bUVHpelBilinear; // UV speedup
Bool_WMV m_bSequenceOverlap;
Bool_WMV m_bPreProcRange;
Bool_WMV m_bExplicitQuantizer;
Bool_WMV m_bExplicitFrameQuantizer;
Bool_WMV m_bSeqFrameInterpolation;
Bool_WMV m_bRTMContent;
Bool_WMV m_bBroadcastMode;
Bool_WMV m_iDQuantCodingOn; // seq. level bit indicating possibility of DQuant at frame level
Bool_WMV m_bLoopFilter;
I32_WMV m_bSpriteMode;
I32_WMV m_iFrameRate;
I32_WMV m_iBitRate; // in Kbps
I32_WMV m_iBFrameReciprocal;
I32_WMV m_iMVRangeIndex, m_iLogXRange, m_iLogYRange, m_iXMVRange, m_iYMVRange, m_iXMVFlag, m_iYMVFlag;
Bool_WMV m_bV9LoopFilter;
Bool_WMV m_bInterlaceCodingOn; // global flag to indicate interlace coding mode
Bool_WMV m_bRndCtrlOn;
Bool_WMV m_bStartCode;
Bool_WMV m_bExplicitSeqQuantizer;
Bool_WMV m_bUse3QPDZQuantizer;
Bool_WMV m_bMixedPel;
Bool_WMV m_bFrmHybridMVOn;
Bool_WMV m_bBetaContent;
I32_WMV m_iFrmWidthSrc, m_iFrmHeightSrc; // original, non-MB-aligned size of input bitmap
I32_WMV m_iSliceCode;
tWMVBS *m_pbitstrmIn;
}tWMVDecInternalMember;
typedef struct tagWMVDecShareMember
{
I32_WMV m_iWMV3Profile;
I32_WMV m_iBetaRTMMismatchIndex; // Used by V9 loopfilter for RTM/Beta mismatch.
I32_WMV m_iNumBFrames;
Bool_WMV m_bXintra8Switch;
Bool_WMV m_bXformSwitch;
Bool_WMV m_bXintra8;
Bool_WMV m_bDCTTable_MB_ENABLED;
Bool_WMV m_bMultiresEnabled;
Bool_WMV m_b16bitXform; // bilinear 16 bit transform flag
Bool_WMV m_bUVHpelBilinear; // UV speedup
Bool_WMV m_bSequenceOverlap;
Bool_WMV m_bPreProcRange;
Bool_WMV m_bExplicitQuantizer;
Bool_WMV m_bExplicitFrameQuantizer;
Bool_WMV m_bSeqFrameInterpolation;
Bool_WMV m_bRTMContent;
Bool_WMV m_bBroadcastMode;
Bool_WMV m_iDQuantCodingOn; // seq. level bit indicating possibility of DQuant at frame level
Bool_WMV m_bLoopFilter;
}tWMVDecShareMember;
#define NUMBITS_SLICE_SIZE_WMV2 3 // To indicate Processor's #
extern I32_WMV WMVideoDecDecodeSequenceHeader(tWMVDecInternalMember *pWMVDec, U8_WMV *buffer, U8_WMV flag);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -