⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmavitypes.h

📁 1. 8623L平台
💻 H
字号:
/******************************************************************** Copyright (c) 2001 Sigma Designs Inc. All rights reserved. ********************************************************************//**  @file   rmavitypes.h  @brief    long description  @author Laurent Crinon  @date   2002-03-25*/#ifndef __RMAVITYPES_H__#define __RMAVITYPES_H__#include "../../rmdef/rmdef.h"// macro#ifndef mmioFOURCC#define mmioFOURCC(ch0, ch1, ch2, ch3) ( (RMint32)(RMint8)ch0 | ((RMint32)(RMint8) ch1 << 8) | ((RMint32)(RMint8)ch2 << 16) | ((RMint32)(RMint8)ch3 << 24))#endif#ifndef aviTWOCC#define aviTWOCC(ch0, ch1) ((RMint32)(RMint8)(ch0) | ((RMint32)(RMint8)(ch1) << 8))#endif#ifdef RMAVI_ALTERNATEDEMUX #define SIZE_INDEX_TABLE 4096#else #define SIZE_INDEX_TABLE 4096#endif#define FILESTREAM_CACHE_SIZE 4096//Nb of audio stream supported#define RMAVI_MAX_AUDIO_STREAMS 8// avi stream header flags#define HASINDEX 0x00000010#define MUSTUSEINDEX 0x00000020#define ISINTERLEAVED 0x00000100#define TRUSTCKTYPE 0x00000800#define WASCAPTUREFILE 0x00010000#define COPYRIGHTED 0x00020000// index flags#define AVIIF_KEYFRAME 0x10//types #define nonAsciiKey 0xffffffff#define formTypeAVI mmioFOURCC('A', 'V', 'I', ' ')#define formTypeAVIX mmioFOURCC('A', 'V', 'I', 'X')#define listTypeAVIHeader mmioFOURCC('h', 'd', 'r', 'l')#define ckidAVIMainHeader mmioFOURCC('a', 'v', 'i', 'h')#define listTypeStreamHeader mmioFOURCC('s', 't', 'r', 'l')#define ckidStreamHeader mmioFOURCC('s', 't', 'r', 'h')#define ckidStreamFormat mmioFOURCC('s', 't', 'r', 'f')#define ckidStreamHandlerData mmioFOURCC('s', 't', 'r', 'd')#define ckidStreamName mmioFOURCC('s', 't', 'r', 'n')#define listTypeAVIMovie mmioFOURCC('m', 'o', 'v', 'i')#define listTypeAviRecord mmioFOURCC('r', 'e', 'c', ' ')#define listTypeINFO mmioFOURCC('I', 'N', 'F', 'O')#define ckidAVIIndex mmioFOURCC('i', 'n', 'd', 'x')#define ckidAVINewIndex mmioFOURCC('i', 'd', 'x', '1')#define formTypeList mmioFOURCC('L', 'I', 'S', 'T')#define formTypeRiff mmioFOURCC('R', 'I', 'F', 'F')#define ckidAVIPadding mmioFOURCC('J', 'U', 'N', 'K')#define ckidAVISegm mmioFOURCC('s', 'e', 'g', 'm')#define ckidMetaData mmioFOURCC('M', 'T', 'D', 'A')// Basic chunk types #define ckTypeDIBBits           aviTWOCC('d', 'b')#define ckTypeDIBCompressed     aviTWOCC('d', 'c')#define ckTypePALChange         aviTWOCC('p', 'c')#define ckTypeWAVEBytes         aviTWOCC('w', 'b')#define streamTypeVideo mmioFOURCC('v', 'i', 'd', 's')#define streamTypeAudio mmioFOURCC('a', 'u', 'd', 's')#define streamTypeMidi mmioFOURCC('m', 'i', 'd', 's')#define streamTypeText mmioFOURCC('t', 'x', 't', 's')#define DIVXFOURCC mmioFOURCC('D','I','V','X')#define divxFOURCC mmioFOURCC('d','i','v','x')#define DX50FOURCC mmioFOURCC('D','X','5','0')#define XVIDFOURCC mmioFOURCC('X','V','I','D')#define xvidFOURCC mmioFOURCC('x','v','i','d')#define XCRDFOURCC mmioFOURCC('X','C','R','D')#define RMP4FOURCC mmioFOURCC('R','M','P','4')#define div3FOURCC mmioFOURCC('d','i','v','3')#define DIV3FOURCC mmioFOURCC('D','I','V','3')#define mp43FOURCC mmioFOURCC('m','p','4','3')#define MP43FOURCC mmioFOURCC('M','P','4','3')#define WMV3FOURCC mmioFOURCC('W','M','V','3')#define wmv3FOURCC mmioFOURCC('w','m','v','3')#define MPG4FOURCC mmioFOURCC('M','P','G','4')#define mpg4FOURCC mmioFOURCC('m','p','g','4')#define PCMFormatTag 0x0001#define MPEG1FormatTag 0x0050#define MP3FormatTag 0x0055#define AC3FormatTag 0x2000#define DTSFormatTag 0x2001#define WMAFormatTag 0x161#define WMAPROFormatTag 0x162#define GSM_AMRCBRFormatTag 0x7A21#define GSM_AMRVBRFormatTag 0x7A22#define I_FRAME 0#define P_FRAME 1#define B_FRAME 2// for flags above#define RMAVI_FLAG_CHUNK_START 0x1#define RMAVI_FLAG_CHUNK_END   0x2// chunk: pointer to data// chunkLength: length of data// flags: indicates start and end of chunk (cf below)// context: user contexttypedef void (*moviCallback)(RMuint8 chunkid[4], RMuint8 *chunk, RMuint32 chunkLength, RMuint32 flags, void *context);// progress: progress valuetypedef void (*progressCallback)(RMuint32 progress);typedef struct tagStreamHeader {	RMuint32 fccType;	RMuint32 fccHandler;	RMuint32 flags;	RMuint16 priority;	RMuint16 language;	RMuint32 initialFrames;	RMuint32 scale;	RMuint32 rate;	RMuint32 start;	RMuint32 length;	RMuint32 suggestedBufferSize;	RMuint32 quality;	RMuint32 sampleSize;	RMuint16 frameTop;	RMuint16 frameLeft;	RMuint16 frameBottom;	RMuint16 frameRight;	} RMAviStreamHeader;typedef struct tagAudioFormat{	RMuint16 formatTag;	RMuint16 nChannels;	RMuint32 nSamplesPerSec;	RMuint32 nAvgBytesPerSec;	RMuint16 nBlockAlign;	RMuint16 wBitsPerSample;	RMuint16 cbSize;} RMAviAudioFormat;typedef struct tagVideoFormat{	RMuint32 size;	RMuint32 width;	RMuint32 height;	RMuint16 planes;	RMuint16 bitCount;	RMuint32 compression;	RMuint32 sizeImage;	RMuint32 XPelsPerMeter;	RMuint32 YPelsPerMeter;	RMuint32 ClrUsed;	RMuint32 ClrImportant;	RMuint32 Colors[1];	RMuint8 *extraData;	RMuint32 extraDataSize;} RMAviVideoFormat;typedef enum{	RMAVI_VIDEO_STREAM =0,	RMAVI_VIDEO_DIVX3_STREAM,	RMAVI_AUDIO_STREAM,	RMAVI_UNKNOWN_STREAM}typeStream;typedef struct tagAviHeader{	RMuint32 microSecPerFrame;	RMuint32 maxBytesPerSec;	RMuint32 paddingGranularity;	RMuint32 flags;	RMuint32 totalFrames;	RMuint32 initialFrames;	RMuint32 streams;	RMuint32 suggestedBufferSize;	RMuint32 width;	RMuint32 height;	RMuint32 reserved[4];}RMAviHeader;typedef struct tagAVIINDEX{	RMuint16 id_stream;	RMuint32 flags;	RMuint32 offset;	RMuint32 size;	RMreal timeStamp;}RMAVIIndex;typedef struct tagRMAviIndexEntry{	RMuint32 offset;	RMuint32 offsetInIndexTable;	RMuint64 timeStamp;	RMuint32 numFrame;} RMAviIndexEntry;#endif //__RMAVITYPES_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -