Mpeg4ClipsCommon.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:17k
- /****************************************************************************************
- * Copyright (c) 2004 ZORAN Corporation, All Rights Reserved
- * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
- *
- * File: $Workfile: Mpeg4ClipsCommon.h $
- *
- * Description:
- * ============
- * MPEG4 Clips Common
- *
- * Log:
- * ====
- * $Revision: #1 $
- * $Change: 24403 $
- * Last Modified by $Author: robin.jiang $ at $DateTime: 2004/08/02 15:02:11 $
- ****************************************************************************************
- * Updates:
- ****************************************************************************************
- * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_Clips/Mpeg4ClipsCommon.h $
- *
- * 1 8/2/2004 RobinJ
- * Created
- *
- ****************************************************************************************/
- #include "Config.h" // Global Configuration - do not remove!
- #ifndef __MPEG4CLIPSCOMMON_H_
- #define __MPEG4CLIPSCOMMON_H_
- #include "IncludeSysDefs.h"
- #include "Decoderdecoder.h"
- //#include "PlaycoreNav_ClipsAVI.h"
- //#include "PlaycoreNav_ClipsMP4.h"
- //#include "PlaycoreNav_ClipsAVI_private.h"
- #include "PlaycoreScPadSCMGR.h"
- /////////////////////////////////////////////////////////////////////////////
- // Constants and Enumerations
- /* MPEG4 clips header info */
- #define _mpeg4Globals gns.clips.globals.mpeg4Globals
- #define _uiMPEG4TotalDVPIdleTime _mpeg4Globals.uiTotalDVPIdleTime
- #define _bMPEG4IsIndexProcessed _mpeg4Globals.bIsIndexProcessed
- #define _uiMPEG4ProcessedFileAddr _mpeg4Globals.uiProcessedFileAddr
- #define _iMPEG4CurrentScanningMode _mpeg4Globals.iCurrentScanningMode
- #define _uiMPEG4NumOfDecodedChunksMemory _mpeg4Globals.uiNumOfDecodedChunksMemory
- #define _uiMPEG4StartTime _mpeg4Globals.uiStartTime
- #define _bMPEG4TrickModeOn _mpeg4Globals.bTrickModeOn
- #define _bMPEG4WasClockEnabled _mpeg4Globals.bWasClockEnabled
- #define _uiMPEG4NextIndexEntry _mpeg4Globals.NextIndexEntry
- #define _ulMPEG4RequestedFrameIndex _mpeg4Globals.ulRequestedFrameIndex
- //#define _bMPEG4AutoPlay _mpeg4Globals.bAutoPlay
- #define _bMPEG4PauseToSlow _mpeg4Globals.bPauseToSlow
- #ifdef PATCH_VIDEO_NOT_B
- #define _bMPEG4IsBVopExist _mpeg4Globals.bIsBVopExist
- #endif
- #define _dwMPEG4ProcessingEndAddr _mpeg4Globals.dwProcessingEndAddr
- #define _mpeg4ExternalSubtitleAddr _mpeg4Globals.dwExternalSubtitleAddr
- #define _mpeg4TotalSubtitleNum _mpeg4Globals.wTotalSubtitleNum
- #define _mpeg4InternalSubtitleBufferStartAddr _mpeg4Globals.wInternalSubtitleBufferStartAddr
- #define _dwMPEG4FileLocation _mpeg4Globals.dwFileLocation
- #define _dwMPEG4ClipStartLBA _mpeg4Globals.dwClipStartLBA
- #define _wMPEG4ClipStartOffset _mpeg4Globals.wClipStartOffset
- #define _wMPEG4ClipEndOffset _mpeg4Globals.wClipEndOffset
- #define _ulMPEG4TotalBlocksCnt _mpeg4Globals.ulTotalBlocksCnt
- #define _mpeg4AudioAvailableNum _mpeg4Globals.audio_available_num
- #define _mpeg4AudioCurrentDispIdx _mpeg4Globals.audio_current_display
- #define _mpeg4SubtitleAvailableNum _mpeg4Globals.subtitle_available_num
- #define _mpeg4SubtitleInternalAvailableNum _mpeg4Globals.subtitle_internal_available_num
- #define _mpeg4SubtitleCurrentDispIdx _mpeg4Globals.subtitle_current_display
- #define _mpeg4ChapterAvailableNum _mpeg4Globals.chapter_available_num
- #define _mpeg4ChapterCurrentDispIdx _mpeg4Globals.chapter_current_display
- #define _mpeg4VideoStreamInfo _mpeg4Globals.VideoStreamInfo
- #define _mpeg4AudioStreamInfo _mpeg4Globals.CurrAudioStreamInfo
- #define _mpeg4VideoStreamID _mpeg4VideoStreamInfo.streamID
- #define _mpeg4VideoHeaderDataLength _mpeg4VideoStreamInfo.headerDateLength
- #define _mpeg4VideoWidth _mpeg4VideoStreamInfo.wWidth
- #define _mpeg4VideoHeight _mpeg4VideoStreamInfo.wHeight
- #define _mpeg4VideoCodec _mpeg4VideoStreamInfo.videoCodec
- #define _mpeg4VideoLength _mpeg4VideoStreamInfo.dwLength
- #define _mpeg4VideoScale _mpeg4VideoStreamInfo.dwScale
- #define _mpeg4VideoRate _mpeg4VideoStreamInfo.dwRate
-
- #define _mpeg4AudioStreamID _mpeg4AudioStreamInfo.streamID
- //#define _mpeg4AudioHeaderDataLength _mpeg4AudioStreamInfo.headerDateLength
- #define _mpeg4AudioCodec _mpeg4AudioStreamInfo.audioCodec
- #define _mpeg4AudioSamplesPerSec _mpeg4AudioStreamInfo.dwSamplesPerSec
- #define _mpeg4AudioAvgBytesPerSec _mpeg4AudioStreamInfo.dwAvgBytesPerSec
- #define _mpeg4AudioChannels _mpeg4AudioStreamInfo.channels
- #define _mpeg4AudioLength _mpeg4AudioStreamInfo.dwLength
- #define _mpeg4AudioScale _mpeg4AudioStreamInfo.dwScale
- #define _mpeg4AudioRate _mpeg4AudioStreamInfo.dwRate
- #ifdef D_ENABLE_ADPCM_SUPPORT
- #define _mpeg4AudioBitsPerSample_ADPCM _mpeg4AudioStreamInfo._audioInfoEX._adpcmInfoAddition.bitsPerSample
- //#define _mpeg4AudioChannels_ADPCM _mpeg4AudioStreamInfo._audioInfoEX._adpcmInfoAddition.channels
- #define _mpeg4AudioSamplesPerBlock_ADPCM _mpeg4AudioStreamInfo._audioInfoEX._adpcmInfoAddition.wSamplesPerBlock
- #define _mpeg4AudioBlockAlign_ADPCM _mpeg4AudioStreamInfo._audioInfoEX._adpcmInfoAddition.wBlockAlign
- #endif
- #ifdef D_ENABLE_DIVX_WMA_SUPPORT
- //#define _mpeg4AudioChannels_WMA _mpeg4AudioStreamInfo._audioInfoEX._wmaInfoAddition.channels
- #define _mpeg4AudioBlockAlign_WMA _mpeg4AudioStreamInfo._audioInfoEX._wmaInfoAddition.wBlockAlign
- #define _mpeg4AudioEncoderOptions_WMA _mpeg4AudioStreamInfo._audioInfoEX._wmaInfoAddition.encoderOptions
- #endif
- #ifdef D_ENABLE_AAC_SUPPORT
- #define _mpeg4AudioInfo_AAC _mpeg4AudioStreamInfo._audioInfoEX._aacInfoAddition
- #endif //D_ENABLE_AAC_SUPPORT
- #define _mpeg4AudioLanguageCode _mpeg4AudioStreamInfo.languageCode.language
- #define _mpeg4SubtitleStreamInfo _mpeg4Globals.CurrSubtitleStreamInfo
- #define _mpeg4SubtitleStreamID _mpeg4SubtitleStreamInfo.streamID
- #define _mpeg4SubtitleType _mpeg4SubtitleStreamInfo.type
- //#define _mpeg4ExternalSubtitleAddr _mpeg4SubtitleStreamInfo.dwExternalSubtitleAddr
- #define _mpeg4ClassName _mpeg4SubtitleStreamInfo.className
- #define _mpeg4SubtitleTimeScale _mpeg4SubtitleStreamInfo.dwTimeScale // use mp4 subtitle
- #define _mpeg4SubtitleLanguageCode _mpeg4SubtitleStreamInfo.languageCode.language
- #define _mpeg4SubtitleOffsetInAvi _mpeg4SubtitleStreamInfo.dwOffsetInAvi
- #define _aviGlobalsEx _mpeg4Globals.globalsEx.aviGlobals
- #define _bAVIHasIndex _aviGlobalsEx.bHasIndex
- #define _bAVIDrmOn _aviGlobalsEx.bDrmOn
- #define _lAVIPreviousFrameNumber _aviGlobalsEx.lPreviousFrameNumber
- #define _uiAVICurrCachedIdxEntry _aviGlobalsEx.uiCurrCachedIdxEntry
- //#define _m_AVIKeyInstance _aviGlobalsEx.m_KeyInstance
- #define _bAVIVideoBeforeAudio _aviGlobalsEx.bVideoBeforeAudio
- #ifdef IS_ASF_CAPABLE
- #define _asfGlobalsEx _mpeg4Globals.globalsEx.asfGlobals
- #define _asfProperties _asfGlobalsEx.asfProperties
- #define _uiAsfResumePacketNumber _asfGlobalsEx.uiAsfResumePacketNumber
- #endif
- #ifdef IS_MP4_CAPABLE
- #define _mp4GlobalsEx _mpeg4Globals.globalsEx.mp4Globals
- #define _bMP4IsNeroDigital _mp4GlobalsEx.bNeroDigital
- #define _dwMP4ChunkSizeStartAddr _mp4GlobalsEx.dwChunkSizeStartAddr
- //#define _dwMP4ChunkSizeEndAddr _mp4GlobalsEx.dwChunkSizeEndAddr
- #define _dwMP4ChunkSizeEntryTotal _mp4GlobalsEx.dwChunkSizeEntryTotal // RB_TBD
- #define _dwMP4ChunkSizeEntryIndex _mp4GlobalsEx.dwChunkSizeEntryIndex
- //#define _dwMP4AudioSyncEntryAddr _mp4GlobalsEx.dwAudioSyncEntryAddr
- #define _dwMP4FirstChunkOffset _mp4GlobalsEx.dwFirstChunkOffset
- #define _dwMP4LastChunkEndOffset _mp4GlobalsEx.dwLastChunkEndOffset
- #define _dwMP4ChunkSizeBuff _mp4GlobalsEx.dwChunkSizeBuff
- #define _dwMP4ChunkOffset _mp4GlobalsEx.dwChunkOffset
- #define _dwMP4VideoSyncOffset _mp4GlobalsEx.dwVideoSyncOffset
- #define _dwMP4AudioSyncOffset _mp4GlobalsEx.dwAudioSyncOffset
- #define _dwMP4SampleTableAddr _mp4GlobalsEx.dwSampleTableAddr
- #define _MP4SharedBuff _mp4GlobalsEx.sharedBuff
- #define _dwMP4SubtitleSampleAddr _mp4GlobalsEx.dwSubtitleSampleAddr
- #define _dwMP4SubtitleSampleCount _mp4GlobalsEx.dwSubtitleSampleCount
- #define _dwMP4SubtitleSampleStartTime _mp4GlobalsEx.dwSubtitleSampleStartTime
- #define _dwMP4SubtitleSampleAddr _mp4GlobalsEx.dwSubtitleSampleAddr
- #define _dwMP4SubtitleSampleCount _mp4GlobalsEx.dwSubtitleSampleCount
- #define _dwMP4SubtitleSampleStartTime _mp4GlobalsEx.dwSubtitleSampleStartTime
- #define _dwMP4SubtitleWriteDRAMAddr _mp4GlobalsEx.dwSubtitleWriteDRAMAddr
- #define _dwMP4SubtitleReadDRAMAddr _mp4GlobalsEx.dwSubtitleReadDRAMAddr
- #define _dwMP4ChapterOffset _mp4GlobalsEx.dwChapterOffset
- #define _dwMP4ChapterDRAMStartAddr _mp4GlobalsEx.dwChapterDRAMStartAddr
- #define _uiMP4ChapterStartTime _mp4GlobalsEx.uiChapterStartTime
- #define _uiMP4ChapterEndTime _mp4GlobalsEx.uiChapterEndTime
- #define _bMP4InternalSubtitle ((_mpeg4SubtitleStreamID != NO_STREAM) && (_mpeg4SubtitleType == INTERNAL_SUBT))
- #endif
- #define AVI_VBR_AUD_STREAM_SCALE 1152
- #define FOURCC_FIELD_LENGTH 4
- #define MAX_AUDS_PER_CLIP 8
- #define MAX_SUB_PER_CLIP 16
- #define MAX_RESERVED_PER_CLIP 8
- #define NO_STREAM 0xFF
- #define AC3_SID 0x80
- //#define SIZE_OF_AUDIO_STREAM_INFO ((sizeof(MPEG4AudioStreamInfo)+1)<<1) // in word, 8
- //#define MPEG4_CURRENT_AUDIO_STREAM_INFOEX_BUFF (MPEG4_STREAM_INFO_BUFF + ((_mpeg4AudioAvailableNum-1)* SIZE_OF_AUDIO_STREAM_INFOEX))
- //#define CALC_AUDIO_STREAM_INFO_ADDR(num) (MPEG4_CURRENT_AUDIO_STREAM_INFOEX_BUFF+ (num * SIZE_OF_AUDIO_STREAM_INFO))
- #define SIZE_OF_AUDIO_STREAM_INFO (sizeof(MPEG4AudioStreamInfo))
- #define SIZE_OF_SUBTITLE_STREAM_INFO (sizeof(MPEG4SubtitleStreamInfo))
- #define MPEG4_VIDEO_HEADER_CACHE_SIZE 16 // in byte
- #define MPEG4_VIDEO_HEADER_BUFFER_SIZE 1024 // in byte
- //#define SIZE_OF_SUBTITLESTREAMINFO ((sizeof(MPEG4SubtitleStreamInfo)+1)<<1) // in word
- //#define MPEG4_CURRENT_SUBTITLE_STREAM_INFO_BUFF (MPEG4_STREAM_INFO_BUFF + MPEG4_CURRENT_AUDIO_STREAM_INFOEX_BUFF + ((_mpeg4SubtitleAvailableNum-1)* SIZE_OF_SUBTITLESTREAMINFO))
- #define MKTAG(a,b,c,d) ((DWORD)a | ((DWORD)b << 8) | ((DWORD)c << 16) | ((DWORD)d << 24))
- // Note: Any change in the following calculation might affect the accuracy of GoTo time
- //#define CALC_FRAME_OF_TIME(time , rate, scale) (DWORD)( (10000UL * time) / ((10000UL*scale)/rate) )
- //#define CALC_TIME_OF_FRAME(frame, rate, scale) (DWORD)( (1000UL * frame) / (1000UL*rate/scale) )
- #define MPEG4_PROCESSING_BUFF_ADDR COLOCATED_INFO_AVI // descend
- #define DVP_VIDEO_TASK_WATCHDOG_TIME 2000 /* in msec */
- #define DVP_UPDATED_SCLK_MASK 0x2
- typedef DWORD QWORD[2];
- typedef enum
- {
- SCAN_SPEED_2X = 2,
- SCAN_SPEED_4X = 4,
- SCAN_SPEED_8X = 8,
- SCAN_SPEED_20X = 20,
- SCAN_SPEED_40X=40
- } SCAN_SPEED;
- typedef enum
- {
- I_P_INCREMENT = 0,
- ONE_I_INCREMENT = 1,
- TOW_I_INCREMENT = 2,
- FOUR_I_INCREMENT = 4,
- EIGHT_I_INCREMENT = 10
- } I_INCREMENT_VAL;
- /////////////////////////////////////////////////////////////////////////////
- // Common Structures
- typedef UINT32 FOURCC;
- typedef enum
- {
- MP3_AUDIO_SID = 0x55,
- MPEG_AUDIO_SID = 0x50,
- AC3_AUDIO_SID = 0x2000,
- ADPCM_MS_AUDIO_SID = 0x02,
- ADPCM_IMA_WAV_AUDIO_SID = 0x11,
- ADPCM_IMA_DK4_AUDIO_SID = 0x61,
- ADPCM_IMA_DK3_AUDIO_SID = 0x62,
- WMAV1_AUDIO_SID = 0x160,
- WMAV2_AUDIO_SID = 0x161,
- PCM_ALAW_AUDIO_SID = 0x06,
- PCM_MULAW_AUDIO_SID = 0x07,
- PCM_AUDIO_SID = 0x0001
- } AVI_AUDIO_SID;
- typedef enum
- {
- MP2 = 1,
- MP3 = 2,
- PCM = 3,
- ADPCM = 4,
- WMA = 5,
- AC3 = 6,
- AAC = 7,
- AUDIO_UNKNOWN = 0
- } AudioCodec;
- typedef enum
- {
- INTERNAL_SUBP = 0,
- INTERNAL_SUBT,
- EXTERNAL_SUBP,
- MICRODVD,
- SUBRIP,
- SAMI,
- POWERDIVX,
- SUBSTATIONALPHA,
- SUBVIEWER,
- TMPLAYER,
- SUBVIEWERVER1,
- AVI_INTERNAL_TEXT,
- } SubtitleType;
- typedef struct
- {
- char language[3];
- }LanguageCode;
- typedef struct
- {
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwLength;
- } MPEG4StreamHeadInfo; // avi only, ?
- /*
- typedef struct
- {
- DWORD dwWidth;
- DWORD dwHeight;
- FOURCC dwCompression;
- } MPEG4VideoStreamInfoTemp;
- */
- typedef struct
- {
- BYTE streamID;
- DivXVesrion videoCodec;
- WORD wWidth;
- WORD wHeight;
- BYTE headerDateLength;
- DWORD dwLength; // mp4 -sample count
- DWORD dwScale; // mp4 -sampe delta
- DWORD dwRate; // mp4 -time scale
- } MPEG4VideoStreamInfo;
- /*
- typedef struct
- {
- BYTE audioStreamID;
- union {
- WORD wFormatTag; // avi, asf
- FOURCC dwFormatTag; // mp4
- } _formatTag;
-
- DWORD dwSamplesPerSec;
-
- #ifdef D_ENABLE_ADPCM_SUPPORT
- WORD wSamplesPerBlock;
- WORD wBitsPerSample;
- #endif
- #if (defined(D_ENABLE_DIVX_WMA_SUPPORT) || defined(D_ENABLE_ADPCM_SUPPORT))
- WORD wChannels;
- WORD wBlockAlign;
- #endif
- DWORD dwAvgBytesPerSec;
- #ifdef D_ENABLE_DIVX_WMA_SUPPORT
- WORD wEncoderOptions;
- #endif
- } MPEG4AudioStreamInfoTemp;
- */
- #ifdef D_ENABLE_ADPCM_SUPPORT
- typedef struct
- {
- // BYTE channels;
- WORD wBlockAlign;
- WORD wSamplesPerBlock;
- BYTE bitsPerSample;
- } ADPCMInfoAddition;
- #endif
- #ifdef D_ENABLE_DIVX_WMA_SUPPORT
- typedef struct
- {
- // BYTE channels;
- WORD wBlockAlign;
- BYTE encoderOptions;
- } WMAInfoAddition;
- #endif
- #ifdef D_ENABLE_AAC_SUPPORT
- #define MAIN_CHANNEL_ELEMENTS_LEN 16
- #define LFE_CHANNEL_ELEMENTS_LEN 4
- typedef struct
- {
- UINT front_element_is_cpe:1;
- UINT front_element_tag_select:4;
- UINT side_element_is_cpe:1;
- UINT side_element_tag_select:4;
- UINT back_element_is_cpe:1;
- UINT back_element_tag_select:4;
- } MAIN_CHANNEL_ELEMENTS;
- typedef struct
- {
- UINT lfe_element_tag_select:4;
- } LFE_CHANNEL_ELEMENTS;
- typedef struct
- {
- UINT samplingFrequencyIndex:4;
- UINT channelConfiguration:4;
- UINT num_front_channel_elements:4;
- UINT num_side_channel_elements:4;
- UINT num_back_channel_elements:4;
- UINT num_lfe_channel_elements:2;
- MAIN_CHANNEL_ELEMENTS main_channel_elements[MAIN_CHANNEL_ELEMENTS_LEN];
- LFE_CHANNEL_ELEMENTS lfe_channel_elements[LFE_CHANNEL_ELEMENTS_LEN];
- UINT16 maxBlockSize;
- } PROGRAM_CONFIG_ELEMENT;
- typedef PROGRAM_CONFIG_ELEMENT AACInfoAddition;
- #endif //D_ENABLE_AAC_SUPPORT
- typedef struct
- {
- BYTE streamID;
- AudioCodec audioCodec;
- DWORD dwLength; // mp4 -sample count
- DWORD dwScale; // mp4 -time scale
- DWORD dwRate; // mp4 -sampe delta
- DWORD dwSamplesPerSec;
- DWORD dwAvgBytesPerSec;
- BYTE channels;
- #if (defined(D_ENABLE_DIVX_WMA_SUPPORT) || defined(D_ENABLE_ADPCM_SUPPORT))
- union {
- #ifdef D_ENABLE_ADPCM_SUPPORT
- ADPCMInfoAddition _adpcmInfoAddition;
- #endif
- #ifdef D_ENABLE_DIVX_WMA_SUPPORT
- WMAInfoAddition _wmaInfoAddition;
- #endif
- #ifdef D_ENABLE_AAC_SUPPORT
- AACInfoAddition _aacInfoAddition;
- #endif
- } _audioInfoEX;
- #endif
- BYTE headerDateLength;
- LanguageCode languageCode;
- } MPEG4AudioStreamInfo;
- typedef struct
- {
- BYTE streamID;
- SubtitleType type;
- // DWORD dwExternalSubtitleAddr;
- char className[10]; // used in SAMI
- DWORD dwTimeScale; // used in MP4
- LanguageCode languageCode;
- DWORD dwOffsetInAvi; // used in AVI
- } MPEG4SubtitleStreamInfo;
- #define MPEG4_CHAPTER_NAME_LENGTH 15
- typedef struct
- {
- UINT16 uiChapterTime; // in second
- WORD wChapterName[MPEG4_CHAPTER_NAME_LENGTH];
- } MPEG4ChapterEntry;
- #ifdef IS_ASF_CAPABLE
- typedef struct {
- DWORD dwFileSize;
- DWORD dwDataPacketsCount;
- DWORD dwPlayDuration;
- DWORD dwPacketTimeInterval;
- DWORD dwPacketTimeIntervalDelta10000;
- DWORD dwPreroll;
- BOOL bBroadcast;
- BOOL bSeekable;
- DWORD dwDataPacketSize;
- } ASFProperties;
- #endif
- // <<< Robin_0903_2004
- #ifdef DIVX_SUPPORT_MULTI_SUBTITLE
- typedef struct _EXTEND_SUBTITLE_INFO_ST {
- DWORD dwSubtitlesFileAddress;
- DWORD dwSubtitlesFileSize;
- }Extend_Subtitle_Info_St;
- #endif
- // >>> Robin_0903_2004
- #define MP4_CHUNK_SIZE_TABLE_BUFF_SIZE 16
- #define MP4_PACK_CHUNK_SIZE_TABLE_BUFF_SIZE 10
- /////////////////////////////////////////////////////////////////////////////
- // Public Services
- WORD caclTimeOfFrame(DWORD dwFrameNumber, DWORD dwRate, DWORD dwScale);
- DWORD caclFrameOfTime(WORD wTime, DWORD dwRate, DWORD dwScale);
- void convertFOURCCToString(FOURCC forcc, LPSTR str);
- DWORD qwTimeDiv10000(QWORD time);
- void UTF8ToUnicode(BYTE* pUTFBuffer, WORD* pUnicodeBuffer, UINT16 uiBufferSize, WORD* wLastUnicode, WORD* uiUnicodeBufferSize);
- DivXVesrion determineDivXVersion(FOURCC fourccHandle, FOURCC fouccCompression);
- AudioCodec determineAudioCodec(DWORD dwFormatTag, WORD wFormatTag, BOOL bMP4);
- BOOL determineAudioInfo(UINT8* puiAudioSid, UINT8* puiAudioSidDecoder,DWORD* dwSampleRate);
- void prePlayProcessing(DWORD dwSamplingRate, UINT8 uiAudioSid,
- UINT8 uiAudioSIDDecoder, UINT8 uiVideoSid, BOOL bClipStart);
- void MPEG4Clip_dynamic_malloc(UINT16* uiACBStartAddressAVI, UINT16* uiSPBStartAddressAVI, UINT16* uiAPPStartAddressAVI);
- #endif //__MPEG4CLIPSCOMMON_H_