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

📄 avd.h

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 H
字号:
#ifndef	__AVD_H
#define	__AVD_H

#include "global.h"

/*
 **	MPEG1 AV Decoder States.
 */
enum {
    STATE_IDLE			= 0x00,
    STATE_PLAY			= 0x10,
    STATE_PLAYONESLIDE,
    STATE_PLAYROMSLIDE,
    STATE_PLAYSLIDE,
    STATE_PLAYMP3,
    STATE_FAST,
    STATE_FREEZE,
    STATE_PAUSE,
    STATE_PREVIEW,
    STATE_PREVIEW_READY,
    STATE_READCD,
    STATE_SEARCH,
    STATE_SLOWMOTION,
    STATE_SINGLESTEP,
    STATE_READTOC
};

/*
 **	VARIABLE
 **	AVD_state
 **
 **	MPEG A/V Decoder State
 */
EXTERN BYTE		AVD_state;

#define	SetAVDState(x)		(AVD_state = (x))
#define	IsAVDS_PLAY()		(AVD_state == STATE_PLAY)
#define	IsAVDS_READTOC()	(AVD_state == STATE_READTOC)
#define	IsAVDS_PLAYMP3()	(AVD_state == STATE_PLAYMP3)

/*
 **	VARIABLE
 **	AVD_state_flags
 **
 **	MPEG A/V Decoder State Generated Flags.
 */
EXTERN UINT16		AVD_state_flags;

#define	AVD_DATA		0x8000		/* AVD is processing data	*/
#define	AVD_LINEAR_PLAY		0x4000		/* linear playback something	*/
/*
#define	AVD_SEARCHW		0x0800
*/
#define	AVD_SLOW		0x0800
#define	AVD_STEP		0x0400
#define	AVD_FREEZE		0x0200		/* playback has been freezed	*/
#define	AVD_PAUSE		0x0100		/* playback has been paused	*/
#define	AVD_SEEK_I		0x0080		/* in seeking a I picture	*/
#define	AVD_DECODED		0x0040		/* ever-decoded ??		*/
#define	AVD_REALTIME		0x0020		/* realtime playback??		*/
#define	AVD_SLIDE		0x0010		/* playing current-decoding	*/
#define	AVD_PREVIEW		0x0008		/* 9x9 preview??		*/
#define	AVD_PLAY		0x0004		/* play				*/
#define	AVD_PLAY_I		0x0002		/* play I only			*/
#define	AVD_PLAY_IP		0x0001		/* play IP only			*/

#define	IsAVDPlayI()		(AVD_state_flags & AVD_PLAY_I)
#define	IsAVDPlayIP()		(AVD_state_flags & AVD_PLAY_IP)
#define	IsAVDPlayIPB()		((AVD_state_flags & (AVD_PLAY_I|AVD_PLAY_IP))==0)
#define	IsAVDPlayIOnly()	(AVD_state_flags & (AVD_PLAY_I|AVD_PREVIEW))
#define	IsAVDRealTime()		(AVD_state_flags & AVD_REALTIME)
#define	IsAVDPreview()		(AVD_state_flags & AVD_PREVIEW)
#define	IsAVDSlide()		(AVD_state_flags & AVD_SLIDE)
#define	IsAVDLinearPlay()	(AVD_state_flags & AVD_LINEAR_PLAY)
#define	IsAVDSlidePause()	(AVD_state == STATE_PLAYSLIDE)
#define	IsAVDPlaying()		(AVD_state_flags & AVD_PLAY)
#define	IsAVDSeekIPic()		(AVD_state_flags & AVD_SEEK_I)
#define	IsAVDSynchorous()	((AVD_state_flags&(AVD_REALTIME|AVD_PLAY_I|AVD_PLAY_IP))==AVD_REALTIME)
#define	IsAVDDisplayDecoding()	((AVD_state_flags&(AVD_DECODED|AVD_SLIDE)) == AVD_SLIDE)
#define	IsAVDSkipB()		(AVD_state_flags & (AVD_PLAY_I | AVD_PLAY_IP))
#define	IsAVDDecoded()		(AVD_state_flags & AVD_DECODED)
#define	IsAVDData()		(AVD_state_flags & AVD_DATA)

#define	IsAVDPaused()		(AVD_state_flags & AVD_PAUSE)
#define	IsAVDFreezed()		(AVD_state_flags & AVD_FREEZE)
#define	IsAVDStepped()		(AVD_state_flags & AVD_STEP)
#define	IsAVDSlowed()		(AVD_state_flags & AVD_SLOW)

#define	IsAVDForward()		(adv_search_time > 0)
#define	IsAVDBackward()		(adv_search_time < 0)

#define	AVD_SetPaused()		(AVD_state_flags |= AVD_PAUSE)
#define	AVD_SetNoPaused()	(AVD_state_flags &= ~AVD_PAUSE)
#define	AVD_SetFreezed()	(AVD_state_flags |= AVD_FREEZE)
#define	AVD_SetNoFreezed()	(AVD_state_flags &= ~AVD_FREEZE)
#define	AVD_SetStepped()	(AVD_state_flags |= AVD_STEP)
#define	AVD_SetNoStepped()	(AVD_state_flags &= ~AVD_STEP)
#define	AVD_SetSlowed()		(AVD_state_flags |= AVD_SLOW)
#define	AVD_SetNoSlowed()	(AVD_state_flags &= ~AVD_SLOW)

#define	AVD_SetDecoded()	(AVD_state_flags |= AVD_DECODED)
#define	AVD_SetSeekIPic()	(AVD_state_flags |= AVD_SEEK_I)
#define	AVD_SetNoSeekIPic()	(AVD_state_flags &= ~AVD_SEEK_I)

/*
 **	Video bitstream level status.
 **
 **	1. NTSC/PAL frame-rate
 **	2. NTSC/PAL size
 */
/*	Decode type */
#define	AVD_VIDEO_DECODE_UNKNOWN	0x00
#define	AVD_VIDEO_DECODE_NTSC		0x01
#define	AVD_VIDEO_DECODE_PAL		0x02
#define	AVD_VIDEO_DECODE_MOVIE		0x03
#define	AVD_VIDEO_DECODE_MASK		0x03

/*	Decode size */
#define	AVD_VIDEO_SIZE_PAL		0x04
#define	AVD_VIDEO_FRAMERATE		0x80

EXTERN BYTE		AVD_video_flags;

#define	AVDDecodeType()		(AVD_video_flags & AVD_VIDEO_DECODE_MASK)

#define	IsAVDDecodeNTSC()	(AVDDecodeType() == AVD_VIDEO_DECODE_NTSC)
#define	IsAVDDecodePAL()	(AVDDecodeType() == AVD_VIDEO_DECODE_PAL)
#define	IsAVDDecodeMOVIE()	(AVDDecodeType() == AVD_VIDEO_DECODE_MOVIE)

#define	AVD_SetDecodeNTSC()	(AVD_video_flags = (AVD_video_flags&(~AVD_VIDEO_DECODE_MASK))| AVD_VIDEO_DECODE_NTSC)
#define	AVD_SetDecodePAL()	(AVD_video_flags = (AVD_video_flags&(~AVD_VIDEO_DECODE_MASK))| AVD_VIDEO_DECODE_PAL)
#define	AVD_SetDecodeMOVIE()	(AVD_video_flags = (AVD_video_flags&(~AVD_VIDEO_DECODE_MASK))| AVD_VIDEO_DECODE_MOVIE)
#define	AVD_SetDecodeUnknown()	(AVD_video_flags = (AVD_video_flags&(~AVD_VIDEO_DECODE_MASK))| AVD_VIDEO_DECODE_UNKNOWN)

#define	IsAVDSizePAL()		(AVD_video_flags & AVD_VIDEO_SIZE_PAL)

#define	AVD_SetSizePAL()	(AVD_video_flags |= AVD_VIDEO_SIZE_PAL)
#define	AVD_SetSizeNTSC()	(AVD_video_flags &= ~AVD_VIDEO_SIZE_PAL)

#define	IsAVDFrameRate()	((AVD_video_flags&AVD_VIDEO_FRAMERATE) && IsAVDPlayIPB())
#define	AVD_SetFrameRate()	(AVD_video_flags |= AVD_VIDEO_FRAMERATE)
#define	AVD_SetNoFrameRate()	(AVD_video_flags &= ~AVD_VIDEO_FRAMERATE)

#define	IsAVDDisplayNTSC()	(mode_display == MODE_NTSC)
#define	IsAVDDisplayPAL()	(mode_display == MODE_PAL)
#define	IsAVDDisplayPALM()	(mode_display == MODE_PALM)

EXTERN BYTE		AVD_status;

#define	AVD_MEDIA_TIMEOUT	0x01
#define	AVD_MEDIA_INTERRUPT	0x02
#define	AVD_MEDIA_ERROR		0x80

#define	IsAVDMediaTimeout()	(AVD_status & AVD_MEDIA_TIMEOUT)
#define	IsAVDMediaInterrupt()	(AVD_status & AVD_MEDIA_INTERRUPT)
#define	IsAVDMediaError()	(AVD_status & AVD_MEDIA_ERROR)

#define	AVD_SetMediaTimeout()	(AVD_status |= AVD_MEDIA_TIMEOUT)
#define	AVD_SetMediaInterrupt()	(AVD_status |= AVD_MEDIA_INTERRUPT)
#define	AVD_SetMediaError()	(AVD_status |= AVD_MEDIA_ERROR)

#define	AVD_ResetMediaStatus()	(AVD_status = 0)

#endif	__AVD_H

⌨️ 快捷键说明

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