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

📄 movie_play.h

📁 dm270 source code
💻 H
字号:
/*
    DM270 ARM Evaluation Software

    (c)Texas Instruments 2003
*/

#ifndef __MOVIE_PLAY_H__
#define __MOVIE_PLAY_H__

#include <appl/movie_main.h>

#define MPEG4_PLAY_NORMAL	(Uint16)0
#define MPEG4_PLAY_FF		(Uint16)1
#define MPEG4_PLAY_REV		(Uint16)2
#define MPEG4_PLAY_SKIP		(Uint16)3

// MPEG-4 decode ARM-DSP communication
#define MPEG4_PLAY_START	 (Uint16)0x0500
#define MPEG4_PLAY_STOP		 (Uint16)0x0501
#define MPEG4_PLAY_THUMBNAIL (Uint16)0x0502
#define MPEG4_PLAY_PAUSE     (Uint16)0x0503

#define MPEG4_PLAY_DISPLAY		 (Uint16)0x0180
#define MPEG4_PLAY_DATA_IN_REQ	 (Uint16)0x0181
#define MPEG4_PLAY_COMPLETE_REQ  (Uint16)0x0182

typedef struct {
	Uint16 RingBuffAddrHigh;
	Uint16 RingBuffAddrLow;
	Uint16 RingBuffSizeHigh;
	Uint16 RingBuffSizeLow;
	Uint16 VideoSizeHigh;
	Uint16 VideoSizeLow;
	Uint16 WorkAreaAddrHigh;
	Uint16 WorkAreaAddrLow;
	Uint16 WorkAreaSizeHigh;
	Uint16 WorkAreaSizeLow;
	Uint16 VideoAddrHigh;
	Uint16 VideoAddrLow;
	Uint16 FrameWidth;
	Uint16 FrameHeight;
	Uint16 StartX;
	Uint16 StartY;
	Uint16 DeblockFilter;
	Uint16 Reserved;
	Uint16 AudioRingBuffAddrHigh;
	Uint16 AudioRingBuffAddrLow;
	Uint16 AudioRingBuffSizeHigh;
	Uint16 AudioRingBuffSizeLow;
	Uint16 AudioSizeHigh;
	Uint16 AudioSizeLow;
	Uint16 AudioBitRate;
	Uint16 AudioFormat;
} MPEG4_PLAY_START_CMD;

typedef struct {
	Uint16 FrameWidth;
	Uint16 FrameHeight;
	Uint16 VideoSizeHigh;
	Uint16 VideoSizeLow;
	Uint16 AudioSizeHigh;
	Uint16 AudioSizeLow;
	Uint16 FrameCountHigh;
	Uint16 FrameCountLow;
} MPEG4_PLAY_CMD_REPLY;

typedef struct {
	Uint16 Status;
	Uint16 Reserved0;
	Uint16 VideoSizeHigh;
	Uint16 VideoSizeLow;
	Uint16 AudioSizeHigh;
	Uint16 AudioSizeLow;
	Uint16 FrameCountHigh;
	Uint16 FrameCountLow;
	Uint16 FrameDataInType;
	Uint16 FrameWidth;
	Uint16 FrameHeight;
	Uint16 TimeRes;
	Uint16 TimeInc;
	Uint16 ModTimeBase;
} MPEG4_PLAY_DSP_REQ;

typedef struct {
	Uint16 VideoAddrHigh;
	Uint16 VideoAddrLow;
	Uint16 StartX;
	Uint16 StartY;
	Uint16 DecodeMode;
	Uint16 SkipSec;
} MPEG4_PLAY_DSP_REQ_REPLY;

//MJPEG
#define MJPEG_PLAY_NORMAL	(Uint16)0
#define MJPEG_PLAY_FF		(Uint16)1
#define MJPEG_PLAY_REV		(Uint16)2
#define MJPEG_PLAY_SKIP		(Uint16)3

// MPEG-4 decode ARM-DSP communication
#define MJPEG_PLAY_START	 (Uint16)0x0500
#define MJPEG_PLAY_STOP		 (Uint16)0x0501
#define MJPEG_PLAY_THUMBNAIL (Uint16)0x0502
#define MJPEG_PLAY_PAUSE     (Uint16)0x0503

#define MJPEG_PLAY_DISPLAY		 (Uint16)0x0180
#define MJPEG_PLAY_DATA_IN_REQ	 (Uint16)0x0181
#define MJPEG_PLAY_COMPLETE_REQ  (Uint16)0x0182

typedef struct {
	Uint16 RingBuffAddrHigh;
	Uint16 RingBuffAddrLow;
	Uint16 RingBuffSizeHigh;
	Uint16 RingBuffSizeLow;
	Uint16 VideoSizeHigh;
	Uint16 VideoSizeLow;
	Uint16 VideoAddrHigh;
	Uint16 VideoAddrLow;
	Uint16 FrameWidth;
	Uint16 FrameHeight;
	Uint16 StartX;
	Uint16 StartY;
	Uint16 Reserved;
	Uint16 AudioRingBuffAddrHigh;
	Uint16 AudioRingBuffAddrLow;
	Uint16 AudioRingBuffSizeHigh;
	Uint16 AudioRingBuffSizeLow;
	Uint16 AudioSizeHigh;
	Uint16 AudioSizeLow;
	Uint16 AudioBitRate;
	Uint16 FrameRate;
} MJPEG_PLAY_START_CMD;

typedef struct {
	Uint16 FrameWidth;
	Uint16 FrameHeight;
	Uint16 VideoSizeHigh;
	Uint16 VideoSizeLow;
	Uint16 AudioSizeHigh;
	Uint16 AudioSizeLow;
	Uint16 FrameCountHigh;
	Uint16 FrameCountLow;
} MJPEG_PLAY_CMD_REPLY;

typedef struct {
	Uint16 Status;
	Uint16 Reserved0;
	Uint16 VideoSizeHigh;
	Uint16 VideoSizeLow;
	Uint16 AudioSizeHigh;
	Uint16 AudioSizeLow;
	Uint16 FrameCountHigh;
	Uint16 FrameCountLow;
	Uint16 FrameDataInType;
	Uint16 FrameWidth;
	Uint16 FrameHeight;
	/*Uint16 TimeRes;
	Uint16 TimeInc;
	Uint16 ModTimeBase;*/
} MJPEG_PLAY_DSP_REQ;

typedef struct {
	Uint16 VideoAddrHigh;
	Uint16 VideoAddrLow;
	Uint16 StartX;
	Uint16 StartY;
	Uint16 DecodeMode;
	Uint16 SkipSec;
} MJPEG_PLAY_DSP_REQ_REPLY;


STATUS MOVIE_PLAY_init() ;
void MOVIE_PLAY_run(MOVIE_MODE mode) ;
STATUS MOVIE_PLAY_START_run(MOVIE_MODE mode, BOOL thumbnail) ;
void MPEG4_PLAY_isr() ;
void MJPEG_PLAY_isr() ;
void MOVIE_PLAY_IN_PROGRESS_run(MOVIE_MODE mode) ;
void MOVIE_PLAY_STOP_run(MOVIE_MODE mode, BOOL thumbnail) ;
void MOVIE_PLAY_PAUSE_run(MOVIE_MODE mode) ;
void MOVIE_PLAY_FF_run(MOVIE_MODE mode);
void MOVIE_PLAY_REV_run(MOVIE_MODE mode);
void MOVIE_PLAY_CONFIG_run(MOVIE_MODE mode) ;
void MOVIE_PLAY_NEXT_run(MOVIE_MODE mode) ;
void MOVIE_PLAY_PREV_run(MOVIE_MODE mode) ;
void MOVIE_PLAY_initOSD(MOVIE_MODE mode) ;
STATUS MOVIE_PLAY_initMovieCtrl(MOVIE_MODE mode) ;
void MOVIE_PLAY_readBuff(BOOL audio) ;
void MOVIE_PLAY_readBuffReverse(BOOL audio);
void MOVIE_PLAY_switchBuffer();
void MOVIE_PLAY_CONTINOUS_run(MOVIE_MODE mode);
STATUS MOVIE_nextFile(MOVIE_MODE mode) ;
STATUS MOVIE_prevFile(MOVIE_MODE mode) ;
STATUS MOVIE_firstFile(MOVIE_MODE mode) ;
STATUS MOVIE_lastFile(MOVIE_MODE mode) ;
void MOVIE_PLAY_FULLSCREEN_run(MOVIE_MODE mode);
STATUS MOVIE_PLAY_qtffParse(MOVIE_MODE mode, char *fname);


#endif /*	__MOVIE_PLAY_H__	*/

⌨️ 快捷键说明

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