📄 aviheader.h
字号:
/*++
Copyright (c) 2001 Sunplus Technology Co., Ltd.
Module Name:
aviheader.h
Abstract:
Header file related to quantization table
Environment:
Keil C51 Compiler
Revision History:
12/20/2001 WZH created
--*/
//---- AVI Header -----------
code BYTE AVIHeader[] =
{
//---------------------------------------------------------------------------
// RIFF Header
//---------------------------------------------------------------------------
/*0x0000*/ 0x52, 0x49, 0x46, 0x46, //Id = "RIFF"
/*0x0004*/ 0x00, 0x00, 0x00, 0x00, //Size = 0x????????
/*0x0008*/ 0x41, 0x56, 0x49, 0x20, //FormType = "AVI "
//---------------------------------------------------------------------------
// AVI Header
//---------------------------------------------------------------------------
/*0x000C*/ 0x4C, 0x49, 0x53, 0x54, //-Id = "LIST"
/*0x0010*/ 0xE0, 0x01, 0x00, 0x00, //-Size = 0x000001E0
/*0x0014*/ 0x68, 0x64, 0x72, 0x6C, //-ListType = "hdrl"
//---------------------------------------------------------------------------
// Main AVI Header
//---------------------------------------------------------------------------
/*0x0018*/ 0x61, 0x76, 0x69, 0x68, //--Id = "avih"
/*0x001C*/ 0x38, 0x00, 0x00, 0x00, //--Size = 0x00000038
//--MainAVIHeader
/*0x0020*/ 0x00, 0x00, 0x00, 0x00, //---dwMicroSecPerFrame = 0x????????
/*0x0024*/ 0x00, 0x00, 0x03, 0x00, //---dwMaxBytesPerSec = 0x00030000
/*0x0028*/ 0x00, 0x00, 0x00, 0x00, //---dwReserved1
/*0x002C*/ 0x10, 0x00, 0x01, 0x00, //---dwFlags = 0x00010010
/*0x0030*/ 0x00, 0x00, 0x00, 0x00, //---dwTotalFrames = 0x????????
/*0x0034*/ 0x00, 0x00, 0x00, 0x00, //---dwInitialFrames = 0x00000000
/*0x0038*/ 0x02, 0x00, 0x00, 0x00, //---dwStreams = 0x????????
/*0x003C*/ 0x00, 0x30, 0x00, 0x00, //---dwSuggestedBufferSize = 0x00003000
/*0x0040*/ 0x20, 0x01, 0x00, 0x00, //---dwWidth = 0x????????
/*0x0044*/ 0xD0, 0x00, 0x00, 0x00, //---dwHeight = 0x????????
/*0x0048*/ 0x00, 0x00, 0x00, 0x00, //---dwScale = 0x00000000
/*0x004C*/ 0x00, 0x00, 0x00, 0x00, //---dwRate = 0x00000000
/*0x0050*/ 0x00, 0x00, 0x00, 0x00, //---dwStart = 0x0000000
/*0x0054*/ 0x00, 0x00, 0x00, 0x00, //---dwLength = 0x00000000
//---------------------------------------------------------------------------
// Stream Header
//---------------------------------------------------------------------------
/*0x0058*/ 0x4C, 0x49, 0x53, 0x54, //--Id = "LIST"
/*0x005C*/ 0x2C, 0x01, 0x00, 0x00, //--Size = 0x0000012C
/*0x0060*/ 0x73, 0x74, 0x72, 0x6C, //--ListType = "strl"
//---------------------------------------------------------------------------
// Video Stream Header
//---------------------------------------------------------------------------
/*0x0064*/ 0x73, 0x74, 0x72, 0x68, //---Id = "strh"
/*0x0068*/ 0x38, 0x00, 0x00, 0x00, //---Size = 0x00000038
//---AVIStreamHeader
/*0x006C*/ 0x76, 0x69, 0x64, 0x73, //----fccType = "vids"
/*0x0070*/ 0x6D, 0x6A, 0x70, 0x67, //----fccHandler = "mjpg"
/*0x0074*/ 0x00, 0x00, 0x00, 0x00, //----dwFlags = 0x00000000
/*0x0078*/ 0x00, 0x00, 0x00, 0x00, //----dwPriority = 0x00000000
/*0x007C*/ 0x00, 0x00, 0x00, 0x00, //----dwInitialFrames = 0x00000000
/*0x0080*/ 0x00, 0x00, 0x00, 0x00, //----dwScale = 0x????????
/*0x0084*/ 0x00, 0x00, 0x00, 0x00, //----dwRate = 0x???????? (dwRate/dwScale = ?? fps)
/*0x0088*/ 0x00, 0x00, 0x00, 0x00, //----dwStart = 0x00000000
/*0x008C*/ 0x00, 0x00, 0x00, 0x00, //----dwLength = 0x????????
/*0x0090*/ 0x00, 0x30, 0x00, 0x00, //----dwSuggestedBufferSize = 0x00003000
/*0x0094*/ 0x10, 0x27, 0x00, 0x00, //----dwQuality = 0x00002710
/*0x0098*/ 0x00, 0x00, 0x00, 0x00, //----dwSampleSize = 0x00000000
/*0x009C*/ 0x00, 0x00, 0x00, 0x00, //----rcFrame = (0, 0, 0, 0)
/*0x00A0*/ 0x00, 0x00, 0x00, 0x00,
//---------------------------------------------------------------------------
// Video Stream Format
//---------------------------------------------------------------------------
/*0x00A4*/ 0x73, 0x74, 0x72, 0x66, //---Id = "strf"
/*0x00A8*/ 0x28, 0x00, 0x00, 0x00, //---Size = 0x00000028
//---BITMAPINFOHEADER
/*0x00AC*/ 0x28, 0x00, 0x00, 0x00, //----biSize = 0x00000028
/*0x00B0*/ 0x20, 0x01, 0x00, 0x00, //----biWidth = 0x????????
/*0x00B4*/ 0xD0, 0x00, 0x00, 0x00, //----biHeight = 0x????????
/*0x00B8*/ 0x01, 0x00, 0x18, 0x00, //----biPlane = 0x0001, biBitCount =0x0018
/*0x00BC*/ 0x4D, 0x4A, 0x50, 0x47, //----biCompression = "MJPG"
/*0x00C0*/ 0x00, 0xBE, 0x02, 0x00, //----biSizeImage = 0x????????
/*0x00C4*/ 0x00, 0x00, 0x00, 0x00, //----biXPelsPerMeter = 0x00000000
/*0x00C8*/ 0x00, 0x00, 0x00, 0x00, //----biYPelsPerMeter = 0x00000000
/*0x00CC*/ 0x00, 0x00, 0x00, 0x00, //----biClrUsed = 0x00000000
/*0x00D0*/ 0x00, 0x00, 0x00, 0x00, //----biClrImportant = 0x00000000
//---------------------------------------------------------------------------
// Video Stream Description
//---------------------------------------------------------------------------
/*0x00D4*/ 0x73, 0x74, 0x72, 0x64, //---Id = "strd"
/*0x00D8*/ 0xB0, 0x00, 0x00, 0x00, //---Size = 0x000000B0
/*0x00DC*/ 0x53, 0x75, 0x6E, 0x70, //---"Sunplus Technology Co., Ltd. ..."
/*0x00E0*/ 0x6C, 0x75, 0x73, 0x20,
/*0x00E4*/ 0x54, 0x65, 0x63, 0x68,
/*0x00E8*/ 0x6E, 0x6F, 0x6C, 0x6F,
/*0x00EC*/ 0x67, 0x79, 0x20, 0x43,
/*0x00F0*/ 0x6F, 0x2E, 0x2C, 0x20,
/*0x00F4*/ 0x4C, 0x74, 0x64, 0x2E,
/*0x00F8*/ 0x20, 0x20, 0x20, 0x20,
/*0x00FC*/ 0x20, 0x20, 0x20, 0x20,
/*0x0100*/ 0x20, 0x20, 0x20, 0x20,
/*0x0104*/ 0x20, 0x20, 0x20, 0x20,
/*0x0108*/ 0x20, 0x20, 0x20, 0x20,
/*0x010C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0110*/ 0x20, 0x20, 0x20, 0x20,
/*0x0114*/ 0x20, 0x20, 0x20, 0x20,
/*0x0118*/ 0x20, 0x20, 0x20, 0x20,
/*0x011C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0120*/ 0x20, 0x20, 0x20, 0x20,
/*0x0124*/ 0x20, 0x20, 0x20, 0x20,
/*0x0128*/ 0x20, 0x20, 0x20, 0x20,
/*0x012C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0130*/ 0x20, 0x20, 0x20, 0x20,
/*0x0134*/ 0x20, 0x20, 0x20, 0x20,
/*0x0138*/ 0x20, 0x20, 0x20, 0x20,
/*0x013C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0140*/ 0x20, 0x20, 0x20, 0x20,
/*0x0144*/ 0x20, 0x20, 0x20, 0x20,
/*0x0148*/ 0x20, 0x20, 0x20, 0x20,
/*0x014C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0150*/ 0x20, 0x20, 0x20, 0x20,
/*0x0154*/ 0x20, 0x20, 0x20, 0x20,
/*0x0158*/ 0x20, 0x20, 0x20, 0x20,
/*0x015C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0160*/ 0x20, 0x20, 0x20, 0x20,
/*0x0164*/ 0x20, 0x20, 0x20, 0x20,
/*0x0168*/ 0x20, 0x20, 0x20, 0x20,
/*0x016C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0170*/ 0x20, 0x20, 0x20, 0x20,
/*0x0174*/ 0x20, 0x20, 0x20, 0x20,
/*0x0178*/ 0x20, 0x20, 0x20, 0x20,
/*0x017C*/ 0x20, 0x20, 0x20, 0x20,
/*0x0180*/ 0x20, 0x20, 0x20, 0x20,
/*0x0184*/ 0x20, 0x20, 0x20, 0x20,
/*0x0188*/ 0x20, 0x20, 0x20, 0x20,
//---------------------------------------------------------------------------
// Stream Header
//---------------------------------------------------------------------------
/*0x018C*/ 0x4C, 0x49, 0x53, 0x54, //--Id = "LIST"
/*0x0190*/ 0x60, 0x00, 0x00, 0x00, //--Size = 0x00000060
/*0x0194*/ 0x73, 0x74, 0x72, 0x6C, //--ListType = "strl"
//---------------------------------------------------------------------------
// Audio Stream Header
//---------------------------------------------------------------------------
/*0x0198*/ 0x73, 0x74, 0x72, 0x68, //---Id = "strh"
/*0x019C*/ 0x38, 0x00, 0x00, 0x00, //---Size = 0x00000038
//---AVIStreamHeader
/*0x01A0*/ 0x61, 0x75, 0x64, 0x73, //----fccType = "auds"
/*0x01A4*/ 0x00, 0x00, 0x00, 0x00, //----fccHandler = 0x00000000
/*0x01A8*/ 0x00, 0x00, 0x00, 0x00, //----dwFlags = 0x00000000
/*0x01AC*/ 0x00, 0x00, 0x00, 0x00, //----dwPriority = 0x00000000
/*0x01B0*/ 0x00, 0x00, 0x00, 0x00, //----dwInitialFrames = 0x00000000
/*0x01B4*/ 0xF9, 0x03, 0x00, 0x00, //----dwScale = 0x000003F9
/*0x01B8*/ 0x40, 0x1F, 0x00, 0x00, //----dwRate = 0x00001F40 (dwRate/dwScale = 8)
/*0x01BC*/ 0x00, 0x00, 0x00, 0x00, //----dwStart = 0x00000000
/*0x01C0*/ 0x00, 0x00, 0x00, 0x00, //----dwLength = 0x00000000
/*0x01C4*/ 0x00, 0x04, 0x00, 0x00, //----dwSuggestedBufferSize = 0x00000400
/*0x01C8*/ 0x10, 0x27, 0x00, 0x00, //----dwQuality = 0x00002710
/*0x01CC*/ 0x00, 0x02, 0x00, 0x00, //----dwSampleSize = 0x00000200
/*0x01D0*/ 0x00, 0x00, 0x00, 0x00, //----rcFrame = (0, 0, 0, 0)
/*0x01D4*/ 0x00, 0x00, 0x00, 0x00,
//---------------------------------------------------------------------------
// Audio Stream Format
//---------------------------------------------------------------------------
/*0x01D8*/ 0x73, 0x74, 0x72, 0x66, //---Id = "strf"
/*0x01DC*/ 0x14, 0x00, 0x00, 0x00, //---Size = 0x00000014
//---WAVEFORMATEX
/*0x01E0*/ 0x11, 0x00, 0x01, 0x00, //----wFormatTag = 0x0011, nChannels = 0x0001
/*0x01E4*/ 0x40, 0x1F, 0x00, 0x00, //----nSamplesPerSec = 0x00001F40
/*0x01E8*/ 0xBC, 0x0F, 0x00, 0x00, //----nAvgBytesPerSec = 0x00000FBC
//----where nAvgBytesPerSec =
/*0x01EC*/ 0x00, 0x02, 0x04, 0x00, //----wBlockAlign = 0x0200, wBitsPerSample = 0x0004
/*0x01F0*/ 0x02, 0x00, 0xF9, 0x03, //----cbSize = 0x0002, wSamplePerBlock = 0x03f9
//----where wSamplesPerBlock = ((nBlockAlign - (4 * nChannels)) * 8) / (wBitsPerSample * nChannels) + 1
//---- = ((0x0200 - (4 * 0x0001)) * 8) / (0x0004 * 0x0001) + 1
//---------------------------------------------------------------------------
// MOVIE Data
//---------------------------------------------------------------------------
/*0x01F4*/ 0x4C, 0x49, 0x53, 0x54, //-Id = "LIST"
/*0x01F8*/ 0x38, 0xA0, 0x06, 0x00, //-Size = 0x????????
/*0x01FC*/ 0x6D, 0x6F, 0x76, 0x69, //-ListType = "movi"
};
//---- Video Header -----------
code BYTE VideoHeader[] =
{
/*0x0000*/ 0x30, 0x30, 0x64, 0x63, //Id = "00dc"
/*0x0004*/ 0x00, 0x00, 0x00, 0x00, //Size = 0x????????
/*0x0008*/ 0xFF, 0xD8, 0xFF, 0xE0, //"SOI", "APP0"
/*0x000C*/ 0x00, 0x10, 0x41, 0x56, //Lp = 0x0010, APn = "AVI1 6F 6E"
/*0x0010*/ 0x49, 0x31, 0x00, 0x00,
/*0x0014*/ 0x00, 0x00, 0x36, 0x46,
/*0x0018*/ 0x00, 0x00, 0x36, 0x45,
/*0x001C*/ 0xFF, 0xDB, 0x00, 0xC5, //"DQT", Lp = 0x00C5
/*0x0020*/ 0x00, 0x16, 0x11, 0x12, //PqTq = 0x00, Qk = ...
/*0x0024*/ 0x14, 0x12, 0x10, 0x16,
/*0x0028*/ 0x14, 0x13, 0x14, 0x18,
/*0x002C*/ 0x17, 0x16, 0x19, 0x24,
/*0x0030*/ 0x40, 0x26, 0x24, 0x22,
/*0x0034*/ 0x22, 0x24, 0x49, 0x35,
/*0x0038*/ 0x37, 0x29, 0x40, 0x58,
/*0x003C*/ 0x51, 0x61, 0x60, 0x57,
/*0x0040*/ 0x51, 0x56, 0x55, 0x64,
/*0x0044*/ 0x72, 0x92, 0x78, 0x64,
/*0x0048*/ 0x68, 0x87, 0x69, 0x55,
/*0x004C*/ 0x56, 0x80, 0x09, 0x81,
/*0x0050*/ 0x87, 0x95, 0x98, 0x03,
/*0x0054*/ 0x04, 0x03, 0x62, 0x77,
/*0x0058*/ 0x13, 0x21, 0x12, 0x00,
/*0x005C*/ 0x20, 0x92, 0x01, 0x03,
/*0x0060*/ 0x99, 0x01, 0x17, 0x18, //PqTq = 0x01
/*0x0064*/ 0x18, 0x24, 0x21, 0x24,
/*0x0068*/ 0x47, 0x26, 0x26, 0x47,
/*0x006C*/ 0x99, 0x66, 0x56, 0x66,
/*0x0070*/ 0x99, 0x99, 0x99, 0x99,
/*0x0074*/ 0x99, 0x99, 0x99, 0x99,
/*0x0078*/ 0x99, 0x99, 0x99, 0x99,
/*0x007C*/ 0x99, 0x99, 0x99, 0x99,
/*0x0080*/ 0x99, 0x99, 0x99, 0x99,
/*0x0084*/ 0x99, 0x99, 0x99, 0x99,
/*0x0088*/ 0x99, 0x99, 0x99, 0x99,
/*0x008C*/ 0x99, 0x99, 0x99, 0x99,
/*0x0090*/ 0x99, 0x99, 0x99, 0x99,
/*0x0094*/ 0x99, 0x99, 0x99, 0x99,
/*0x0098*/ 0x99, 0x99, 0x99, 0x99,
/*0x009C*/ 0x99, 0x99, 0x99, 0x99,
/*0x00A0*/ 0x99, 0x99, 0x02, 0x17, //PqTq = 0x02
/*0x00A4*/ 0x18, 0x18, 0x24, 0x21,
/*0x00A8*/ 0x24, 0x47, 0x26, 0x26,
/*0x00AC*/ 0x47, 0x99, 0x66, 0x56,
/*0x00B0*/ 0x66, 0x99, 0x99, 0x99,
/*0x00B4*/ 0x99, 0x99, 0x99, 0x99,
/*0x00B8*/ 0x99, 0x99, 0x99, 0x99,
/*0x00BC*/ 0x99, 0x99, 0x99, 0x99,
/*0x00C0*/ 0x99, 0x99, 0x99, 0x99,
/*0x00C4*/ 0x99, 0x99, 0x99, 0x99,
/*0x00C8*/ 0x99, 0x99, 0x99, 0x99,
/*0x00CC*/ 0x99, 0x99, 0x99, 0x99,
/*0x00D0*/ 0x99, 0x99, 0x99, 0x99,
/*0x00D4*/ 0x99, 0x99, 0x99, 0x99,
/*0x00D8*/ 0x99, 0x99, 0x99, 0x99,
/*0x00DC*/ 0x99, 0x99, 0x99, 0x99,
/*0x00E0*/ 0x99, 0x99, 0x99, 0xFF, //"SOF0"
/*0x00E4*/ 0xC0, 0x00, 0x11, 0x08, //Lf = 0x11, P = 0x08
/*0x00E8*/ 0x00, 0xD0, 0x01, 0x20, //Y = 0x00D0, X = 0x0120
/*0x00EC*/ 0x03, 0x01, 0x22, 0x00, //Nf = 0x03, C1 = 0x01, H1V1 = 0x22, Tq1 = 0x00
/*0x00F0*/ 0x02, 0x11, 0x01, 0x03, //C2 = 0x02, H2V2 = 0x11, Tq2 = 0x01, C3 = 0x03
/*0x00F4*/ 0x11, 0x01, 0xFF, 0xDA, //H3V3 = 0x11, Tq3 = 0x01, "SOS"
/*0x00F8*/ 0x00, 0x0C, 0x03, 0x01, //Ls = 0x000C, Ns = 0x03, Cs1 = 0x01
/*0x00FC*/ 0x00, 0x02, 0x11, 0x03, //Td1Ta1 = 0x00, Cs2 = 0x02, Td2Ta2 = 0x11, Cs3 = 0x03
/*0x0100*/ 0x11, 0x00, 0x3F, 0x00 //Td3Ta3 = 0x11, Ss = 0x00, Se = 0x3F, AhAl = 0x00
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -