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

📄 echo.h

📁 一个两碟控制的VCD的代码,两碟之间的转动及连续播放,已大量生产的CODE.
💻 H
字号:
/* Copyright 1997, ESS Technology, Inc.					*/
/* SCCSID @(#)echo.h	1.46 7/17/98 */

/*
 * $Log$
 */

/*
 * This code is based on sccs get SCCS at 04-16-97
 */ 
#ifndef __ECHO_H__
#define __ECHO_H__

#define MIC_USE_MACRO

#ifndef _COMMON_H_
#include "common.h"
#endif

#ifdef ECHO

/******************************************************************************

 Exported constants.

 ******************************************************************************/
#define ECHO_AF                 48 /* unit in DWs = (384/2)/2/2 */
#define MIX_size                (2*384)
#ifdef SVCD
GBLDEF(int MIC_start,           2300);
#define MIC_START		2300
#else
GBLDEF(int MIC_start,           124496);
#define MIC_START		124496
#endif
#define MIC_size                16*ECHO_AF
#define MIC_end                 (MIC_start+MIC_size)
#define MIX_start               (PCM_start-MIX_size)
#define MIX_end                 (MIX_start+MIX_size)
#define ECHO_SAVE		(2266+ADJUST_4_LINE)
/******************************************************************************

 Exported functions.

 ******************************************************************************/
extern  void ECHO_init(void);
#ifdef MIC_USE_MACRO
#define MIC_clear_buffer()      dram_clear(MIC_start, MIC_end-MIC_start)
#define MIX_clear_buffer()      dram_clear(MIX_start, MIX_end-MIX_start)
#else
extern  void MIC_clear_buffer(void);
#endif
extern  void MIC_init(void);
extern  void MIC_start_take_in(void);
extern  void MIC_stop_take_in(void);
extern  void ECHO_main(int);
extern  void ECHO_mixing(void);
extern  void MIX_init(void);
extern  int  MIX_out_ready(void);
extern  void MIX_take_out(void);
extern  void MIX_stop_take_out(void);
extern  void MIC_n_MIX_stop(void);
extern  void MIC_n_MIX_restart(void);
extern	void MIC_turn_on(void);

/******************************************************************************

 Exported variables.

 ******************************************************************************/
GBLDEF (int ECHO_rdptr, MIC_START);
GBLDEF (int ECHO_wrptr, MIC_START);
GBLDEF_0 (int ECHO_cnt, 0);	/* Number of times TSK_echo is called	*/
GBLDEF_0 (int ECHO_last_cnt, 0);
GBLDEF (int MIC_rdptr, MIC_START);
GBLDEF (int MIC_wrptr, MIC_START);
GBLDEF_0 (int MIC_filling, 0);
GBLDEF (int MIX_rdptr, MIX_start);
GBLDEF (int MIX_wrptr, MIX_start);
GBLDEF_0 (int MIX_out, 0);
GBLDEF (int vcx_echo_max_level, 8); /* Can be customized to between 5 and 15 */
GBLDEF (int vcx_echo, -1);	/* -1 : MIC off i.e. MIC port is disable */
				/* 0  : MIC on i.e. analog bypass */
				/* >0 : ECHO on */

#ifdef ECHO_ANALOG_BYPASS
GBLDEF(int ECHO_analog_bypass, 1);	/* Analog bypass from MIC to DAC*/
#else
GBLDEF_0 (int ECHO_analog_bypass, 0);	/* Digital bypass		*/
#endif

GBLDEF_0 (int pcm_not_ready, 0);
GBLDEF_0 (int vcx_mic_on, 0);
GBLDEF_0 (int MIC_is_turned_on, 0);	/* Is MIC on?			*/

#ifdef DSC_SW_DETECT_CENTER
GBLDEF_0 (int MIC_got_sample, 0);	/* 0: not sample yet		*
					 * 1: got sample		*
					 * 2: getting sample		*/
#endif
GBLDEF(int mic_sensitivity, 2);	/* MIC sensitivity			*/

#define MIC_service()		ECHO_main(0);

/*****************************************************************************

 Debugging

 *****************************************************************************/
#ifdef DBG_mix
void mix_trace(int);
#endif

#endif /* ECHO */
#endif /* __ECHO_H__ */

⌨️ 快捷键说明

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