📄 pixfileformat.h
字号:
#ifndef _PIXFILEFORMAT_H_2003_12_12
#define _PIXFILEFORMAT_H_2003_12_12
typedef struct _PIXFILEHEADER
{
unsigned char FileType[4]; // 颇老狼 屈侥 ? “PIX“
unsigned int Version; // 颇老器杆狼 滚傈 ? 1
struct _VIDEO{
unsigned char VideoType[4]; // 胶飘覆 屈侥 ? “MP4 “
unsigned int Width; // 承捞 ? 176
unsigned int Height; // 臭捞 ? 144
unsigned int Framerate; // 橇饭烙啦 ? 15
unsigned int TotalFrame; // 醚橇饭烙荐 ? XXX
unsigned int uiVideoDataStartPos;
unsigned int uiVideoDataLength;
unsigned int VideoHeader_Length; // 庆歹狼 辨捞 ? XXX
unsigned int VideoHeader_Offset; // 庆歹狼 矫累困摹 ? XXX
unsigned int IndexTable_Length; // 牢郸胶狼 醚辨捞 ? XXX
unsigned int IndexTable_Offset; // 牢郸胶狼 矫累困摹 ? XXX
}VIDEO;
struct _AUDIO{
unsigned char AudioType[4]; // 胶飘烙 屈侥 ? “MP3”
unsigned int BitsPerSample; // 檬寸 厚飘 ? 16
unsigned int SamplesPerSec; // 檬寸 基敲傅 ? 44100
unsigned int Channels; // 盲澄 ? 2
unsigned int TotalFrame; // 醚橇饭烙荐 ? XXX
unsigned int uiAudioDataStartPos;
unsigned int uiAudioDataLength;
unsigned int IndexTable_Length; // 牢郸胶狼 醚辨捞 ? XXX
unsigned int IndexTable_Offset; // 牢郸胶狼 矫累困摹 ? XXX
}AUDIO;
} PIXFILEHEADER, *PPIXFILEHEADER;
typedef struct _ELEMENTSTREAM
{
unsigned int uiTotalDataLength;
unsigned int uiAdvancedDataLength;
unsigned int uiTotalFrame;
unsigned int uiOrgPos;
unsigned int uiStartPosInBuf;
unsigned int uiEndPosInBuf;
unsigned int uiMaxBufSize;
unsigned int uiActualBufSize;
unsigned int* pBuf;
}ELEMENTSTREAM, *PELEMENTSTREAM;
typedef struct _AVIDX
{
unsigned int uiPos;
unsigned int uiSize;
}AVIDX, *PAVIDX, **PPAVIDX;
typedef struct _VIDEOFRAMEINFO
{
int iPts;
unsigned char ucHeaderType;
unsigned char ucReserved[3];
}VIDEOFRAMEINFO, *PVIDEOFRAMEINFO;
typedef struct _DPBFRAMEINFO
{
int iFrame;
int iPts;
}DPBFRAMEINFO, *PDPBFRAMEINFO;
typedef struct _AUDIOFRAMEINFO
{
int iPts;
unsigned char BitsPerSample;
unsigned char Channels;
unsigned short SamplesPerSec;
}AUDIOFRAMEINFO, *PAUDIOFRAMEINFO;
#define VIDEO_FRAME_TYPE_VOL (0)
#define VIDEO_FRAME_TYPE_DATA (1)
#define PIX_FILE_VERSION (3)
#define PIX_FILE_TYPE_STRING ("PIX ")
#define VIDOE_TYPE_STRING ("MP4V")
#define AUDIO_TYPE_STRING ("MP3 ")
#define MAX_SIZE_OF_VIDEO_INDEX_TABLE (64*1024)
#define MAX_SIZE_OF_AUDIO_INDEX_TABLE (64*1024)
#define MAX_SIZE_OF_VIDEO_STREAM_BUF (64*1024)
#define MAX_SIZE_OF_AIDEO_STREAM_BUF (64*1024)
#define MAX_SIZE_OF_VIDEO_FRAME (32*1024)
#define MAX_SIZE_OF_AUDIO_FRAME (576)//(2*1024) MP3 32kHz
#define MAX_NUM_OF_VFB_ELEMENT (16)
#define MAX_SIZE_OF_VFB_ELEMENT (MAX_SIZE_OF_VIDEO_FRAME)
#define MAX_NUM_OF_AFB_ELEMENT (64)
#define MAX_SIZE_OF_AFB_ELEMENT (MAX_SIZE_OF_AUDIO_FRAME)
#ifndef EXTERN
#ifdef __cplusplus
#define EXTERN extern "C"
#else
#define EXTERN extern
#endif
#endif
EXTERN void* g_hVFB;
EXTERN void* g_hAFB;
//EXTERN int InitDeMuxPixFileForamt();
#ifdef WIN32
//EXTERN int DeMuxPixFileFormat(void* hNotify);
#else
//EXTERN int DeMuxPixFileFormat();
extern int DeMuxPixFileFormat(char* pFileName);
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -