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

📄 macro.c

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 C
字号:
/*
** FILE
** macro.c
**
** DESCRIPTION
**
*/
#include "auctrl.h"
#include "config.h"

#include "global.h"
#include "memmap.h"
#include "cd.h"
#include "macro.h"
#include "osd.h"
#include "func.h"
#include "dma.h"
#include "vpp.h"
#include "cdxa.h"
#include "hwsetup.h"
#include "dsa.h"
#include "cdfunc.h"
#include "ircmd.h"
#include "util.h"
#include "fs9660.h"
#include "framebuf.h"

//in cd.c
extern void		do_cd_freerun();

//in mpegsys.c
extern void		restart_audio_engine(void);

/*
** Abort()
**
** HIGH PRIORITY.  IMMEDIATE
*/
void MacroAbort()
{
    AVD_state = STATE_IDLE;
    AVD_state_flags = 0;
    SetIntrMask(0);
    SetIntrFlag(0);
}

void MacroSync()
{
    while (IsRPicStart || !IsVPicEnd);
}

void MacroPause()
{
}

void MacroContinue()
{
}

void MacroDisplayPreviewBackground(void)
{
}

void MacroSearch()
{
}

void MacroFreeze()
{
}

void MacroOSD_OnOff()
{
}

void InitializeCDPlayback(int playback_type)
{
    playback_cd_init(playback_type);

    stream_video = STREAM_VIDEO_DEFAULT;	/* bondy_test */

#ifdef SUPPORT_DUAL_CHANNEL
    if (cd_type_loaded == CDSVCD &&
       (CheckUIRepAB(REPEAT_AB_IDLE) || CheckUIRepAB(REPEAT_FIND_A)))
	stream_audio = STREAM_AUDIO_DEFAULT;
#else
    stream_audio = STREAM_AUDIO_DEFAULT;
#endif

    regs0->video_decode_time = 0x04;

    if (playback_type == CDDA) {
#ifdef SUPPORT_AUD_MOVE
	if (cd_type_loaded == CDSVCD)
	    regs0->eabya = MEM_CDDA_EABYA_DEF;
	else if(cd_type_loaded == CDDA)
	    regs0->eabya = MEM_CDDA_EABYA_DEF;
#endif
    }

    pause_audio(0, 1);
#ifdef USE_MUTE_VCD_FUNCTION
    AVAPI_control(C_WRITE, AVAPI_MUTE, FlagMuteOn);
#endif

    FreezeState = 0;
}

void MacroPlay()
{
    AVD_state_flags = AVD_LINEAR_PLAY | AVD_REALTIME;
    AVD_ResetMediaStatus();

    s_msf = CDMSF_FINDFIRST;
    e_msf = 0xffffffff;

    InitializeCDPlayback(cd_type_loaded);
    stream_video = 0xe0;	// STREAM_VIDEO_AUTO;
    stream_audio = 0xc0;	// STREAM_AUDIO_AUTO;

    regs0->video_decode_time = 0x02;

    CDSetPlay();
    do_cd_freerun();
    vcd_state = VCD_VIDEO | VCD_AUDIO;
    SetIntrMask(INTR_MASK_NORMAL_LINEAR);
    SetIntrFlag(0);

    FreezeState = 0;
//  timeout_playback = 0;
}

void MacroPlayMSF(void)
{
}

void MacroPlayMSFPreview(void)
{
}

void MacroPlayTrackPreview(void)
{
}

void MacroPlayTrack()
{
}

void MacroPlayEntry()
{
}

void MacroPlaySegment(void)
{
}

void MacroPlayMP3(void)
{
}

void MacroPlayRomSlide()
{
    /*
     ** setup video source and server.
     */
    romimage_ptr = MacroParam.PlayRomSlide.rom_addr;
    srv_kernel = srv_rom;

    SetIntrMask(INTR_MASK_NORMAL_ROM);
    SetIntrFlag(0);

    restart_video_engine();
    restart_audio_engine();

/*  if (play_hires)	preset_framebuffer(MEM_CONFIG_HIRES);
    else */		preset_framebuffer(MEM_CONFIG_LORES);

    vpp_mode = VPP_CENTERED;

    timeout_playback = 0;
    regs0->rtc_31_16 = 0;
    AVD_state = STATE_PLAYROMSLIDE;
    AVD_state_flags = AVD_PLAY | AVD_SLIDE;
    AVD_ResetMediaStatus();
    B_skip = 0;
    R_skip = 0;

    /*
     ** play video elementary bitstream only.
     */
    vcd_state = BITSTREAM_VIDEO;
    FirstPlay |= 0x01;	/* jhuang 01-6-1 16:33 diff nav header */

    FreezeState = 0;
}

void MacroSetVideoFormat()
{
    BYTE		format = MacroParam.SetVideoFormat.format;

    if (format == MODE_NTSC)
	mode_display = MODE_NTSC;
    else if (format == MODE_PAL)
	mode_display = MODE_PAL;
    else if (format == MODE_PALM)
	mode_display = MODE_PALM;

#ifdef SUPPORT_GPIO_BUS_FUNCTION
    TVSystem();
#endif
    reset_video_decoder();
}

void MacroSlowMotion()
{
}

void MacroStep()
{
}

void MacroStop()
{
}

void ReShowState(void)
{
}

⌨️ 快捷键说明

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