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

📄 rmavitypes.h

📁 这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,CD MP3...有很好的参考价值.
💻 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 2// 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 formTypeAVI mmioFOURCC('A', 'V', 'I', ' ')#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 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')// 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')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];} 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 + -