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

📄 macro.h

📁 代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考
💻 H
字号:
#ifndef __MACRO_H
#define __MACRO_H

#include "sig.h"
#include "avd.h"

void    MacroSync(void);
void    MacroAbort(void);
void    MacroContinue(void);
void    MacroDisplayBackground(void);
void    MacroDisplayPreviewBackground(void);
void    MacroForward(void);
void    MacroBackward(void);
void    MacroSearch(void);
void    MacroFreeze(void);
void    MacroOSD_OnOff(void);
void    MacroPause(void);
void    MacroPlay(void);
void    MacroPlayLBA(void);
void    MacroPlayOneSlide(void);
void    MacroPlayRomSlide(void);
void    MacroPlaySector(void);
void    MacroPlayMP3(void);
void    MacroPlayMSF(void);
void    MacroPlayMSFPreview();
void    MacroPlayTrackPreview(void);
void    MacroPlayTrack();
void    MacroPlayEntry();
void    MacroPlaySegment();
void    MacroPlaySlides(void);
void    MacroPreview(void);
void    MacroPreviewSector(void);
void    MacroReadCD(void);
void    MacroReadSeqheader(void);
void    MacroSelectStream(void);
void    MacroSetBackgroundColor(void);
void    MacroSetOsdColor(void);
void    MacroSetVideoFormat(void);
void    MacroSetVolume(void);
void    MacroSlowMotion(void);
void    MacroStep(void);
void    MacroStop(void);
void    MacroVolUp(void);
void    MacroVolDn(void);


enum
{
	ID_Abort = 0xf0,
	ID_Continue = 0x10,
	ID_DisplayBackground = 0x14,
	ID_DisplayOsdFifo = 0x02,
	ID_FastCDPlay = 0x13,
	ID_Freeze = 0x08,
	ID_OSD_OnOff = 0x12,
	ID_Pause = 0x09,
	ID_Play = 0x0a,
	ID_PlayOneSlide = 0x04,
	ID_PlayRomSlide = 0x05,
	ID_PlaySector = 0x0b,
	ID_PlaySlides = 0x06,
	ID_Preview = 0x15,
	ID_PreviewSector = 0x16,
	ID_ReadCD = 0x07,
	ID_ReadSeqheader = 0x1a,
	ID_Search = 0x0c,
	ID_SelectStream = 0x0d,
	ID_SetBackgroundColor = 0x01,
	ID_SetOsdColor = 0x03,
	ID_SetVideoFormat = 0x0e,
	ID_SetVolume = 0x18,
	ID_SlowMotion = 0x0f,
	ID_Step = 0x11
};

#define Abort()         MacroAbort()
#define Sync()          MacroSync()
#define Continue()      MacroContinue()
#define DisplayBackground() MacroDisplayBackground()
#define DisplayPreviewBackground()  MacroDisplayPreviewBackground()

#define OSD_OnOff(OnOff)    do {                    \
                  MacroParam.OSD_OnOff.on_off=(OnOff);  \
                  MacroOSD_OnOff();         \
                } while (0)
#define FastForward()   MacroForward()
#define FastBackward()  MacroBackward()
//#define Search()      MacroSearch()       
//#define   Freeze()        MacroFreeze()               
//#define   Pause()         MacroPause()
#define Play()          MacroPlay()
//#define Step()            MacroStep()
#define Stop()      MacroStop()

#define PlayMSF(msf)    do {                    \
                  MacroParam.PlayMSF.addr_msf=(msf);\
                  MacroPlayMSF();           \
                } while (0)
#define PlayLBA(a,b)        do {                    \
                  MacroParam.PlayLBA.lba=(a);       \
                  MacroParam.PlayLBA.len=(b);       \
                  MacroPlayLBA();           \
                } while (0)
#define PlayMSFPreview(a,b,msf,trk)     do {                \
                  MacroParam.PlayMSFPreview.x=(a);      \
                  MacroParam.PlayMSFPreview.y=(b);      \
                  MacroParam.PlayMSFPreview.addr_msf=(msf); \
                  MacroParam.PlayMSFPreview.track=(trk);    \
                  MacroPlayMSFPreview();            \
                } while (0)
#define PlayTrackPreview(a,b,trk) \
                do {                \
                  MacroParam.PlayTrackPreview.x=(a);        \
                  MacroParam.PlayTrackPreview.y=(b);        \
                  MacroParam.PlayTrackPreview.track=(trk);  \
                  MacroPlayTrackPreview();          \
                } while (0)
#define PlayTrack(trk)      do {                    \
                  MacroParam.PlayTrack.track=(trk); \
                  MacroPlayTrack();         \
                } while (0)
#define PlayEntry(ent)      do {                    \
                  MacroParam.PlayEntry.entry=(ent); \
                  MacroPlayEntry();         \
                } while (0)
#define PlaySegment(seg)    do {                    \
                  MacroParam.PlaySegment.segment=(seg); \
                  MacroPlaySegment();           \
                } while (0)
#define PlayMP3(msf,len)    do {                    \
                  MacroParam.PlayMP3.address_msf=(msf); \
                  MacroParam.PlayMP3.length=(len);  \
                  MacroPlayMP3();           \
                } while (0)
//#define PlayOneSlide()      MacroPlayOneSlide()//reduce 11
#define PlayRomSlide(RomAddr)   do { \
                  MacroParam.PlayRomSlide.rom_addr=(RomAddr); \
                  MacroPlayRomSlide(); \
                } while (0)
#define PlaySector()        MacroPlaySector()
#define PlaySlides()        MacroPlaySlides()
#define Preview()       MacroPreview()
#define PreviewSector()     MacroPreviewSector()
#define ReadCD()        MacroReadCD()
#define ReadSeqheader()     MacroReadSeqheader()
#define SelectStream(A,V)   do { \
                  MacroParam.SelectStream.audio = (A); \
                  MacroParam.SelectStream.video = (V); \
                  MacroSelectStream();  \
                } while (0)
#define SetBackgroundColor()    MacroSetBackgroundColor()

#define SetOsdColor(Region,Color,Y,U,V) \
                do {                        \
                  MacroParam.SetOsdColor.region = (Region); \
                  MacroParam.SetOsdColor.color  = (Color);  \
                  MacroParam.SetOsdColor.y  = (Y);      \
                  MacroParam.SetOsdColor.u  = (U);      \
                  MacroParam.SetOsdColor.v  = (V);      \
                  MacroParam.SetOsdColor.b  = 0x03;     \
                  MacroSetOsdColor();               \
                } while (0)

#define SetVideoFormat(Fmt) do {                        \
                  MacroParam.SetVideoFormat.format=(Fmt);   \
                  MacroSetVideoFormat();            \
                } while (0)
#define Step(a) do {                        \
                  MacroParam.Step.factor=(a);   \
                  MacroStep();          \
                } while (0)
#define Pause(a)    do {                        \
                  MacroParam.Pause.factor=(a);  \
                  MacroPause();         \
                } while (0)
#define Search(a)   do {                        \
                  MacroParam.Search.factor=(a); \
                  MacroSearch();            \
                } while (0)
#define SlowMotion(a)       do {                        \
                  MacroParam.SlowMotion.slow=(a);       \
                  MacroSlowMotion();                \
                } while (0)
#define Freeze(a)       do {                        \
                  MacroParam.Freeze.enable=(a);     \
                  MacroFreeze();                \
                } while (0)

#define SetVolume()     MacroSetVolume()
//#define SlowMotion()      MacroSlowMotion()
#define VolumeUp()         MacroVolUp()
#define VolumeDown()    MacroVolDn()


/*
** SetVideoFormat(BYTE format)
*/
enum
{
	TV_NTSC = 0,
	TV_PAL = 1,
	TV_PALM = 2,
	// TV_NTSC_D       = 2,
	// TV_PAL_D        = 3,
	//TV_NTSC_A       = 4,
	// TV_PAL_A        = 5
};

/*
** MacroParam
**
** Parameter for macros
*/
typedef struct
{
	BYTE    mm, ss, ff;
	BYTE    sectors;
	BYTE   *dst;
}
t_ReadCD;

typedef struct
{
	BYTE    region;
	BYTE    color;
	BYTE    y, u, v, b;
}
t_SetOsdColor;

typedef struct
{
	BYTE    on_off;
}
t_OSD_OnOff;

typedef struct
{
	BYTE    format;
}
t_SetVideoFormat;

typedef struct
{
	BYTE    video;
	BYTE    audio;
}
t_SelectStream;

typedef struct
{
	BYTE    volume;
}
t_SetVolume;

typedef struct
{
	BYTE   *rom_addr;
}
t_PlayRomSlide;

typedef struct
{
	UINT32  addr_msf;
}
t_PlayMSF;

typedef struct
{
	UINT32  lba;
	UINT32  len;
}
t_PlayLBA;

typedef struct
{
	BYTE    track;
}
t_PlayTrack;
typedef struct
{
	UINT16  x;
	UINT16  y;
	UINT32  addr_msf;
	BYTE    track;
}
t_PlayMSFPreview;
typedef struct
{
	UINT16  x;
	UINT16  y;
	BYTE    track;
}
t_PlayTrackPreview;
typedef struct
{
	UINT16  entry;
}
t_PlayEntry;
typedef struct
{
	UINT16  segment;
}
t_PlaySegment;
typedef struct
{
	UINT32  address_msf;
	UINT32  length;
}
t_PlayMP3;
typedef struct
{
	BYTE    factor;
}
t_Step;
typedef struct
{
	BYTE    factor;
}
t_Pause;
typedef struct
{
	int     factor;
}
t_Search;
typedef struct
{
	BYTE    slow;
}
t_SlowMotion;
typedef struct
{
	BYTE    enable;
}
t_Freeze;

/*
** COmmand Record
*/
EXTERN union
{
	t_ReadCD ReadCD;
	t_SetOsdColor SetOsdColor;
	t_OSD_OnOff OSD_OnOff;
	t_SetVideoFormat SetVideoFormat;
	t_SelectStream SelectStream;
	t_PlayRomSlide PlayRomSlide;
	t_PlayTrack PlayTrack;
	t_PlayTrackPreview PlayTrackPreview;
	t_PlayMSF PlayMSF;
	t_PlayMSFPreview PlayMSFPreview;
	t_PlayLBA PlayLBA;
	t_PlayEntry PlayEntry;
	t_PlaySegment PlaySegment;
	t_PlayMP3 PlayMP3;
	t_SetVolume SetVolume;
	t_Step  Step;
	t_Pause Pause;
	t_Search Search;
	t_SlowMotion SlowMotion;
	t_Freeze Freeze;
}
MacroParam;



#endif/*__MACRO_H*/

⌨️ 快捷键说明

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