亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? play.old

?? 一個兩碟控制的VCD的代碼,兩碟之間的轉動及連續播放,已大量生產的CODE.
?? OLD
?? 第 1 頁 / 共 5 頁
字號:
/* Copyright 1996, ESS Technology, Inc.                                 */
/* SCCSID @(#)play.c	1.304 5/20/98 */

/*
 * $Log$
 */

#define  VOLUME_CONTROL
#define  ZOOM_IN_OUT_SAME_KEY
#undef   SCREEN_ON_TIME_SAME_KEY
#define  SHOW_LOGO_AT_STOP
#undef   STOP_RETURN_SAME_KEY
#define  NEW_FEATURE

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "buffer.h"
#include "cd.h"
#include "common.h"
#include "const.h"
#include "constvar.h"
#include "audio.h"
#include "debug.h"
#include "dsc.h"
#include "display.h"
#include "mpeg1vid.h"
#include "util.h"
#include "mvd.h"
#include "sysinfo.h"
#include "dsa.h"
#include "ir.h"
#include "tdm.h"
#include "timedef.h"
#include "vcd.h"
#include "micro.h"
#include "fsosd.h"
#include "play.h"
#include "digest.h"
#include "av_play.h"
#include "kara.h"
#include "panelcmd.h"
#include "panel.h"
#include "vcxi.h"
#include "xport.h"
#include "zoom.h"
#ifdef ECHO
#include "echo.h"
#endif

#ifdef REAL_CLOCK
#include "realclk.h"
#endif

#ifdef NGAME
#include "ngame.h"
#endif

#ifdef DVD_VCD
#include "talk.h"
#endif

#ifdef VCDROM
#include "vcd30.h"
#endif

#ifdef MZOOM
#include "mzoom.h"
#endif


#ifdef KANGHUI
 #undef NO_AUTO_PLAY
#else
#ifdef ONE
 #define NO_AUTO_PLAY
#else
#ifdef YONGSHENG
 #define NO_AUTO_PLAY
#else
#ifdef INTECH_1008
 #define NO_AUTO_PLAY
#else
 #undef NO_AUTO_PLAY
#endif
#endif
#endif
#endif

#undef PRINTF
#if 0
#define PRINTF(s)       printf s
#else
#define PRINTF(s)
#endif

#ifdef NO_MICRO
#define PANEL_PLAY_INDEX(a)
#else
#define PANEL_PLAY_INDEX(a) panel_play_index(a)
#endif

DEBUGVAR(play_deadlock, 0);
DEBUGVAR(selection_deadlock, 0);


#define TurnOffTDM system_reset
/* ======================= BEGIN customer section =========================*/

/*------------------------------------------------------------------------
  Fastforwar and Fastreverse variables and difinitions.
------------------------------------------------------------------------*/
/* Definition of Fastforwar and fastrewind speed. */
#ifdef FFFBPLAY
#define FAST_SPEED_LIMIT        5
#define SLOW_MOTION_LIMIT       4
#else
#define FAST_SPEED_LIMIT        4
#define SLOW_MOTION_LIMIT       3
#endif

/* Fast forward/backward interval      */
static int fast_fram_amount_ary[FAST_SPEED_LIMIT]
= {0x000200, 0x000500, 0x001000, 0x002000};;

static unsigned char slow_motion_ary[SLOW_MOTION_LIMIT]
= {4, 8, 12};   /* num of displaying fidld time. For example, if the number
                   is 4, the each picture will be displayed 4 field time.
                   Normal field time for NTSC pictures is 2. */
extern  int  bad_track_len;       /* bad audio frame counter defined in
                                     mpgaudio.c */
/*------------------------------------------------------------------------
  Define the intro interval.
------------------------------------------------------------------------*/
#define INTRO_TIME_MMSSFF                       0x001000 /* 10 seconds */

/* Define number of entries in PLAY_MENU_STATE */
#define SELECT_INTRO	1
#define SELECT_DISC	2
#define SELECT_TRACK	3
#define SELECT_GAME	4
#ifdef JUMPGAME
#define NUM_OF_ENTRY	5
#define SELECT_EXIT	5
#else
#define NUM_OF_ENTRY	4
#define SELECT_EXIT	4
#endif

#ifdef VCDROM
char *ROOT_DIR = "/DATA/VCD_DATA\0";
int	VCD30_DISC;
#endif

/* ======================= END customer section =========================*/

/*-------------------------------------------------------------
  Function Prototypes
-------------------------------------------------------------*/
static void play_item(int playitem_number);
static void play_track(int track_number);
static void play_entry(int entry_number);
static void play_segment(int segment_number);
static void play_entry_in_track(int entry_number);
static int  change_to_trick_mode(int key);
#ifdef NGAME
static void play_game(int playitem_number);
#endif

/* utilities functions */
static void assign_selection_list(unsigned char *scratch);
static void assign_play_list(unsigned char *scratch);
#ifdef NGAME
static void assign_game_list(unsigned char *scratch);
#endif
static void compute_cd_total_remain(void);
static int find_track_number(int track_number);
static void fill_track_list(void);
static int get_next_track();
static int peek_next_track();
static int get_previous_track();
static void get_current_track_time(void);
static int is_time_expired(unsigned int begin_time, short expire_time);
static int processVCD();
static void programRemoveTrack(void);
static void programAddTrack(int track);
static void getTrackTime(int track, int *time);
static void init_PBC_on();
static void change_sequence_mode(int mode);
static void disp_stop_LCD(void);
static void disp_cd_info_LCD(void);
static void display_cddigest_osd(int track);
static void check_entry_number(int track_number, int starttime);
static void save_resume_time(char, char, char);

#ifdef BOOK_MARK
static void record_resume_time();
#endif

/* process key functions */
static void process_close_key();
static void post_process_close_tray();
static void process_open_key(int);
static void process_PBC_key();
void process_power_off_key(void);
static void update_calender_after_resume(int track_index);
static void process_resume_key(void);
static void process_stop_key(int, int);
static int process_zoom_key();

/* play state machine functions */
static int change_play_state();
static int play_state_machine();
static void goto_digest_track_segment(int selection_num);
#ifdef FOUR_LINE_OSD
static void PLAY_update_osd(void);
#endif

/* functions about osd */
static char *hex2string(char *str, int number);

static void load_resume_time(void);
static void show_still_pic();

#ifdef ZOOM
void set_zoom(void);
#endif

#ifdef VCDROM
static void process_vcd30_event(int event);
static void vcd30_play_clip(int);
#endif

/*-------------------------------------------------------------
  Definitions
-------------------------------------------------------------*/

/* definitions for play mode */
#define PLAY_INFO_STOP_MODE     1
#define PLAY_INFO_PLAYING_MODE  2
#define PLAY_INFO_PAUSE_MODE  	3

/* definitions for keys */
#define NO_KEY                  (-1)

/**************************************************************
* NOTE :
* 1. IF KEYS definitions are changed, the KEYS definitions
*    in the vfd_tabl.c should also changed.
* 2. IF the keys are in the switch statement, the difinition
*    values be small, so the jump table will be smaller.
***************************************************************/
#define  KEY_PLUS                0xff0b
#define  KEY_MINUS               0xff0c
#define  KEY_RESUME_KEY          0xff0d
#define  ECHO_PLUS               0xff0e
#define  ECHO_MINUS              0xff0f
#define  SURROUND_KEY            0xff10
#define  VOCAL_ASSIST_KEY        0xff11
#define  REPEAT_KEY              0xff12
#define  PBC_KEY                 0xff13
#define  TIME_KEY                0xff14
#define  SCREEN_ON_KEY           0xff15
#define  RESUME_KEY              0xff16
#define  MUTE_KEY                0xff17
#define  VOLUME_UP_KEY           0xff18
#define  VOLUME_DOWN_KEY         0xff19
#define  CLEAR_KEY               0xff1a

#define  PROGRAM_KEY             0xff1b
#define  SHUFFLE_KEY             0xff1c
#define  INTRO_KEY               0xff1d
#define  MODE_KEY                0xff1e
#define  PLAY_KEY                0xff1f
#define  STOP_KEY                0xff20
#define  GOTO_KEY                0xff21

#define  FB_KEY                  0xff22
#define  FF_KEY                  0xff23
#define  PAUSE_KEY               0xff24
#define  SLOW_KEY                0xff25
#define  STEP_KEY                0xff26
#define  ADVANCE_KEY             0xff27

#define  INDEX_MINUS_KEY         0xff28
#define  INDEX_PLUS_KEY          0xff29
#define  SET_A_KEY               0xff2a
#define  SET_B_KEY               0xff2b
#define  XUECHANG_KEY            0xff2c

/* KEYS are not in the switch statements. */
#define DEFAULT_KEY             0xff50
#define TRACK_SCAN_KEY		0xff51
#define DISC_SCAN_KEY		0xff52

/* add Watt 971013 */
#ifdef NGAME
#define GAME_RESET_KEY          0xff51
#endif

#define ROTATE_CLOCK_KEY        0xff53
#define ROTATE_ANTI_CLOCK_KEY   0xff54

#define FIRST_DISC_KEY		0xff55
#define SECOND_DISC_KEY		0xff56
#define THIRD_DISC_KEY		0xff57

#define BOOK_MARK_KEY		0xff58
#define OSD_LANGUAGE_KEY	0xff59

#define POWER_KEY               0xff5a
#define EJECT_KEY               0xff5b
#define PREVIOUS_KEY            0xff5c
#define NEXT_KEY                0xff5d

#ifdef STOP_RETURN_SAME_KEY
#define RETURN_KEY              STOP_KEY
#else
#define RETURN_KEY              0xff60
#endif

#define ZOOM_IN_KEY		0xff61
#define ZOOM_OUT_KEY		0xff62
#define ZOOM_UP_KEY		0xff63
#define ZOOM_LEFT_KEY		0xff64
#define ZOOM_RIGHT_KEY		0xff65
#define ZOOM_DOWN_KEY		0xff66

#define TV_MODE_KEY		0xff67
#define KARAOKE_KEY             0xff68
#define AUTO_POWER_OFF_KEY      0xff69
#define FREEZE_KEY              0xff6a
#define DISC_1_EJECT_KEY        0xff6b
#define DISC_2_EJECT_KEY        0xff6c
#define TURNS_KEY               0xff6d

/* definitions for events */
#define NULL_EVENT                      0
#define NEW_LIST_EVENT                  1
#define WAIT_TIME_EXPIRED_EVENT         2
#define LOOP_COUNT_EVENT                3
#define PREVIOUS_KEY_EVENT              4

#define REPEAT_OFF                      0
#define REPEAT_ONE                      1
#define REPEAT_ALL                      2

#ifdef  NEW_THREE_CDS
#define REPEAT_3ALL                     3
#endif

#ifdef  TWO_CDS
#define REPEAT_3ALL                     3
#endif

#define RESUME_IDLE_STATE                       0
#define RESUME_GET_TIME_STATE                   1
#define RESUME_WAIT_TIME_STATE                  2
#define RESUME_PLAY_TIME_STATE                  3
#define RESUME_PLAY_STOP_TIME_STATE             4

#define VOCAL_LEFT_LEFT                 3
#define VOCAL_RIGHT_RIGHT               4

#define DIGEST_TRACK_PIC_LIMIT          9
#define MAX_TRACK_NUMBER                99
#define	MAX_PROGRAM_TRACKS		99

/* For OSD message buffers */
#define TRACK_NUM_POS   		13
#define CTRACK_NUM_POS   		9
#define SPEED_POS       		4
#define CSPEED_POS       		4
#define SLOW_SPEED_POS  		5
#define CSLOW_SPEED_POS  		3
#define SEL_NUM_POS			8
#define CSEL_NUM_POS			6

/* Play control variables                                               */
static unsigned int seg_sel = 1; /* Use in segment play (select E1 (1)  *
                                 * or E2 (2)                            */
static unsigned char audio_pause_timeout=0;
static unsigned int resume_flag;       /* store the resume states */

#ifdef FAST_MODE_CONTROL
static int fast_mode_ctrl=0;
#endif

/*------------------------------------------------------------------------
 * Variables for display. If we want to save memory, we can use common
 * buffer for all osd display.
 *------------------------------------------------------------------------*/
char *SPA_msg;
static unsigned char *osd_msg;
#ifdef BILINGUAL_OSD
static unsigned char *c_osd_msg;
#endif

static unsigned char osd_region = OSD_FUNCTION_STATUS_REGION;/*default region*/
static unsigned char osd_timeout = DISPLAY_TIME_OUT;/*default timeout */

static unsigned char track_buf[] = "  TRACK SCAN XX   ";
static unsigned char sel_buf[] = "SELECT    ";
static unsigned char FF_buf[] = "FF X1 ";
static unsigned char FR_buf[] = "FR X1 ";
static unsigned char slow_buf[] = "SLOW   ";
static unsigned char clear_msg[] = " ";
static unsigned char error_msg[] = "#"; /* Show a hand */
#ifdef BILINGUAL_OSD
static unsigned char c_track_buf[] = {
	' ', CN_DAN1, ' ', CN_QU3, ' ', CN_LIU2, ' ' , CN_LAN3,
	' ', 'X', 'X', ' ' , ' ', ' ', '\0'
};
static unsigned char c_slow_buf[] = {
    CN_MAN4, CN_FANG4, ' ', ' ', ' ', '\0'
};
static unsigned char c_sel_buf[] = {
	CN_XUAN3, ' ', ' ', CN_ZE2, ' ', ' ', ' ', ' ', '\0'
};
static unsigned char c_FF_buf[] = {
	CN_KUAI4, CN_JIN4, ' ', 'X', '1', '\0'
};
static unsigned char c_FR_buf[] = {
	CN_KUAI4, CN_TUI4, ' ', 'X', '1', '\0'
};
#endif

static unsigned char disc_buf[] = "DISC   ";
static unsigned char c_disc_buf[] = {CN_DIE2,FONT_SPACE,FONT_SPACE,FONT_SPACE,FONT_SPACE,FONT_SPACE,FONT_SPACE,0 };


/* OSD messages used outside play.c module */
unsigned char goto_buf[] = " GO TO   :  ";
#ifdef BILINGUAL_OSD
unsigned char c_goto_buf[] =
    { ' ', CN_SHI2, ' ', CN_JIAN1, ' ', ' ', ' ', ':', ' ', ' ', '\0' };
#endif

static int                 pre_select = 0;
static int                 pre_select_flag = 0;
static int                 pre_select_timer = 0;

/*------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三区在线观看| 91国产成人在线| 久久综合色8888| 久久电影网电视剧免费观看| 91精品在线观看入口| 亚洲二区视频在线| 欧美日韩精品三区| 免费在线成人网| 日韩欧美国产综合| 欧美吞精做爰啪啪高潮| 日韩成人午夜电影| 欧美精品一区二区不卡| 粉嫩一区二区三区在线看| 国产欧美日韩精品一区| 在线观看一区日韩| 精品一区二区久久| 国产精品久99| 日韩欧美一级片| 一本一道波多野结衣一区二区| 青娱乐精品视频| 国产日韩影视精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 一区二区三区欧美日| 日韩精品一区二区三区四区 | 首页国产丝袜综合| 久久精品免视看| 在线成人小视频| 国产精品夜夜爽| 视频一区二区三区在线| 中文字幕一区二区三区不卡在线| 91精品免费观看| 欧美优质美女网站| 成人精品一区二区三区中文字幕| 蜜桃精品视频在线观看| 一区二区高清视频在线观看| 国产清纯在线一区二区www| 欧美巨大另类极品videosbest | 捆绑调教美女网站视频一区| 天天操天天干天天综合网| 国产精品久久久久久久久搜平片| 欧美精品一区二区三区在线 | 99久久久久久| 丁香亚洲综合激情啪啪综合| 国产激情一区二区三区四区| 日本不卡免费在线视频| 亚洲国产欧美一区二区三区丁香婷| 国产欧美日韩激情| 日本一区二区三区高清不卡| 欧美韩日一区二区三区| 亚洲天天做日日做天天谢日日欢| 国产精品久久久久久妇女6080| 久久久久久久久久久久电影| 国产色综合久久| 国产三级一区二区| 亚洲九九爱视频| 日韩二区三区四区| 久久国产婷婷国产香蕉| 国产美女主播视频一区| 成人高清免费在线播放| 在线视频你懂得一区| 日韩精品一区二区三区老鸭窝| 久久免费视频色| 亚洲午夜一区二区三区| 激情亚洲综合在线| 99免费精品视频| 91精品国产91久久综合桃花 | 成人午夜激情在线| 69精品人人人人| 国产精品不卡在线| 亚洲成a天堂v人片| 国产成人av一区二区三区在线| 欧亚一区二区三区| 国产目拍亚洲精品99久久精品| 亚洲国产视频一区二区| av日韩在线网站| 精品久久免费看| 日韩和的一区二区| 欧美日韩一区成人| 亚洲免费看黄网站| 成人av第一页| 国产亚洲婷婷免费| 精品午夜久久福利影院| 欧美图区在线视频| 中文字幕一区在线观看视频| 蜜桃视频在线观看一区| 欧美一区二区三区在线| 一区二区三区日韩在线观看| 91亚洲精华国产精华精华液| 久久品道一品道久久精品| 青青草原综合久久大伊人精品| 一本高清dvd不卡在线观看| 亚洲欧洲成人精品av97| 国产成人综合视频| 2020日本不卡一区二区视频| 激情综合色丁香一区二区| 精品免费国产一区二区三区四区| 秋霞影院一区二区| 日韩精品中文字幕在线一区| 日本午夜一区二区| 精品美女在线播放| 国产一区二区三区四区在线观看| 久久精品水蜜桃av综合天堂| 国产麻豆精品95视频| 亚洲欧洲精品一区二区精品久久久| 波多野洁衣一区| 亚洲制服丝袜av| 日韩欧美久久一区| 国产一区二区伦理| 国产精品午夜春色av| 欧美视频一区在线| 国产精品白丝jk白祙喷水网站| 中文字幕一区二区不卡| 欧美精品免费视频| 国产精品18久久久久久vr| 亚洲伦在线观看| 欧美mv日韩mv| 大胆亚洲人体视频| 亚洲国产日韩综合久久精品| 日韩午夜激情免费电影| av不卡免费在线观看| 免费久久99精品国产| 亚洲欧美自拍偷拍| 日韩免费电影一区| 色999日韩国产欧美一区二区| 美腿丝袜亚洲综合| 亚洲欧美偷拍另类a∨色屁股| 欧美高清视频在线高清观看mv色露露十八| 国内精品第一页| 日韩国产欧美视频| 一区二区三区四区不卡在线| 欧美国产欧美综合| 精品少妇一区二区三区日产乱码| 在线观看国产一区二区| www.成人网.com| 国产精品99久久久| 精品在线一区二区三区| 免费成人在线观看视频| 亚洲午夜影视影院在线观看| 亚洲人成影院在线观看| 欧美激情综合在线| 国产三级欧美三级| 精品精品国产高清a毛片牛牛| 欧美一区二区网站| 精品久久久久久久久久久久久久久久久 | 国产999精品久久久久久绿帽| 精品一区二区三区不卡 | 中文字幕av一区二区三区| 欧美激情资源网| 亚洲精品中文在线观看| 亚洲线精品一区二区三区 | 国产精品免费视频观看| 日韩毛片精品高清免费| 亚洲精品中文在线| 偷拍一区二区三区四区| 老司机免费视频一区二区三区| 国内精品国产三级国产a久久| 国产91露脸合集magnet| 色欧美片视频在线观看| 欧美在线小视频| 欧美一级欧美三级| 国产欧美精品日韩区二区麻豆天美| 亚洲欧洲性图库| 午夜激情综合网| 精品一区二区三区av| 91福利在线导航| 欧美成人猛片aaaaaaa| 国产精品久久精品日日| 午夜精品久久久| 9l国产精品久久久久麻豆| 欧美日韩一区二区在线观看 | 欧美日韩国产乱码电影| 国产女同性恋一区二区| 日本一不卡视频| 色综合天天综合网国产成人综合天 | 欧美精三区欧美精三区 | 日韩一区和二区| 亚洲欧洲成人自拍| 成人免费毛片app| 欧美大片在线观看| 日韩av一二三| 在线一区二区三区四区五区| 亚洲国产成人私人影院tom| 麻豆精品国产91久久久久久| 欧美亚洲动漫另类| 亚洲精品第1页| av一二三不卡影片| 国产精品国产三级国产aⅴ原创| 精品在线一区二区| 欧美不卡123| 国产一区二区伦理片| 精品久久久久久最新网址| 麻豆91在线观看| 欧美精品一区二区在线播放| 蜜桃免费网站一区二区三区| 精品久久国产老人久久综合| 国产在线播放一区二区三区| 久久久久国色av免费看影院| 风间由美一区二区av101| 国产精品久久福利| 欧美综合天天夜夜久久|