📄 avd.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 + -