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

📄 vid_sp4_play.h

📁 凌阳SPCE3200多媒体开发板自带源程序。共安排了32个子目录
💻 H
字号:
/****************************************************************************** * *     The information contained herein is the exclusive property of *   Sunplus Technology Co. And shall not be distributed, reproduced, *   or disclosed in whole in part without prior written permission. * *         (C) COPYRIGHT 2005   SUNPLUS TECHNOLOGY CO. *                        ALL RIGHTS RESERVED * * The entire notice above must be reproduced on all authorized copies. * *****************************************************************************//****************************************************************************** *  Filename:   	vid_sp4_play.h *  Author:     	 *  Tel:        	 *  Date:       	2006-07-18 *  Description:	sp4 define *  Reference: *  Version history: *----------------------------------------------------------------------------- *	Version   YYYY-MM-DD-INDEX   Modified By         Description *	1.0.0     2006-07-18           rex.wu               Create * *****************************************************************************/// SUNPLUS  S+core IDE generated include file.#ifndef ANISPG290_MP4DRV_H_18467_41__INCLUDED_#define ANISPG290_MP4DRV_H_18467_41__INCLUDED_#include ".\System\SystemHeader.h" #include ".\Function\VideoCodec\HW\mp4_DecodeEncodeAPI.h"//#include ".\Function\VideoCodec\AUD\audio_mp3.h"#include ".\Function\FunctionHeader.h"/************************************************************************** *          F U N C T I O N   R E L A T I V E  O P T I O N S              * **************************************************************************/#define IO_TEST/************************************************************************** *                           C O N S T A N T S                            * **************************************************************************/#define SPMP                    0x504D5053	//Header flag "SPMP"#define idx0                    0x30786469  //Index flag "idx0"#define idx1                    0x31786469  //Index flag "idx1"#define SPver0101               0xFF080101  //0x010108FF  //SP4 ver#define PictureFlag1            0x62643030  //00db#define PictureFlag2            0x63643030  //00dc#define BUFFER_START_ADDRESS    0xA0800000#ifdef BLENDING_MODE#define BUFFER_START_ADDRESS_TV 0xA0A00000#else#define BUFFER_START_ADDRESS_TV 0xA0E00000#endif#define MP4_Buffer_Size         0x200000	  //2MB buffer size#define MP4_Buffer_Mask         (MP4_Buffer_Size - 1)#define Data_Length             0xA000      //40K  data length for loading#define BUFFER_GUARD_BAND       0x400       //1K byte guard band#define Max_KF_Amount           32          //Max possible KF (chunk) in the buufer#define GUARD_BAND    0x20#ifdef SD_CARD_DEVICE#define Max_KF_of_File          43200         //Total KF offset of the file#endif#ifdef CDROM_DEVICE#define Max_KF_of_File          43200         //Total KF offset of the file#endif//ADD by WW#define SET_FRAME_START_END_ON  1#define MPEG4_B_POINT           1//End//SP4 video state definition#define MASK_MP4_STOP           0x00000000#define MASK_MP4_PLAY           0x00010000#define MASK_MP4_PAUSE          0x00020000#define MASK_MP4_FORWARD        0x00040000#define MASK_MP4_BACKWARD       0x00080000#define MASK_MP4_AUDIO_TRACK    0x00000001  //If there is audio data in the file or not#define MASK_MP4_AUDIO_NEED     0x00000002#define MASK_MP4_AUDIO_READY    0x00000004#define MASK_MP4_VIDEO_NEED     0x00000010   #define MASK_MP4_AUDIO_NEXT_KF  (MASK_MP4_AUDIO_TRACK | MASK_MP4_AUDIO_NEED)//by ww//#define VIEW_FRAM_RATE//#define TEST_FOR_ALIGN#define NO_SD_DETECTextern U32 pKFOffset1[Max_KF_of_File+2];    //add by wwextern U32 pKFOffset2[Max_KF_of_File+2];    //add by wwextern U32 g_ulWidth,g_ulHeight;//by ww end/************************************************************************** *                          D A T A    T Y P E S                          * **************************************************************************/typedef struct _KEY_FRAME_INFO{	U32     ulKFOffsetAddress;	U32     ulVideoIndexTableOffset;	U32     ulAudioOffset;	U32     ulAudioSize;	U32     ulMP4FrameRate;	U32     ulTotalFrame;	U32     pulVideoData[30];	} KEY_FRAME_INFO, *PKEY_FRAME_INFO;typedef struct _KF_NODE KF_NODE, *PKF_NODE;typedef struct _KF_NODE{    U32              ulReady;         // 0: empty; 1: data available    PKF_NODE         pKFNode_Prev;    PKF_NODE         pKFNode_Next;    KEY_FRAME_INFO   KFData;};// KF_NODE, *PKF_NODE;/************************************************************************** *                  E X T E R N A L    R E F E R E N C E                  * **************************************************************************/ /************************************************************************** *               F U N C T I O N    D E C L A R A T I O N S               * **************************************************************************/int vidSP4_InitTimer(unsigned int ulFrameRate);void vidSP4_FindIdx(U32 *KF_address, U32 *start_address,U32 *end_address,U32 *VOPAddress,U32 total_frame);void vidSP4_FindIdx2(U32 *KF_address, U32 *start_address,U32 *end_address,U32 *VOPAddress,U32 total_frame);U32 vidSP4_CheckBufferSpace(int fp, U32 ulKF_Start_index, U32 *FileKFOffset, U32 *pulKFcount, U32 *pulDataSize);int vidSP4_LoadData(int fp, U32 ulBufferAddress, U32 ulDataSize, U32 ulcount);void vidSP4_FillKFInfo(U32 ulKF_Start_index, U32 *FileKFOffset, KF_NODE *pKFNode, U32 ulBufferAddress, U32 ulKFcount);int vidSP4_Preload(int fp, U32 ulLoadAddress,U32 StartOfFrame);void vidSP4_InitKFList(KF_NODE *pKFNode);U32 vidSP4_RequestBuffer(U32 ulBufferAddress, U32 ulDataSize);int vidSP4Play(int fp, U32 ulBufferAddress);void vidSP4Stop(void);void vidSP4Pause(void);void vidSP4Resume(void);void vidSP4_Change_Buffer(void);U32 vidSP4_GetpKFOffset(int fp,U32 ulStartFrame,U32 ulEndFrame,U8 ucSwithOnOFF, U32 offset);#endif //ANISPG290_MP4DRV_H_18467_41__INCLUDED_

⌨️ 快捷键说明

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