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

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

?? i_cpd.c

?? CP detector (CPD) only reports the onset and removal of a tone. The analysis of timing (if required)
?? C
字號:
/*------------------------------------------------------------------------*
*                                                                         *
*   THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY   *
*   INFORMATION.  IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES:    *
*      "COPYRIGHT 2001 MIKET DSP SOLUTIONS, ALL RIGHTS RESERVED"          *
*                                                                         *
*-------------------------------------------------------------------------*/
/*
 *  This file contains an implementation of the IALG interface
 *  required by XDAS.
 */
 
#include <cpdi.h>

#include <string.h>         /* memcpy() declaration */

#if ! defined(_dsp)
#include "icpd.cpp"
#endif

/*--------------------- local defs ----------------------------------------*/
#define HISTORY 1
#define WORKBUF 2
#define NUMBUFS 3

typedef struct CPD_MIKET_Obj {
    IALG_Obj    alg;            /* MUST be first field of all XDAS algs */
    CPD_tDb *pDb;
    CPD_tSc *pSc;
} CPD_MIKET_Obj;

/*--------------------- local vars ----------------------------------------*/

/*--------------------- local functions -----------------------------------*/

static Void activate
(IALG_Handle handle);

static Void deactivate
(IALG_Handle handle);

static Int alloc
(const IALG_Params *algParams, IALG_Fxns **pf, IALG_MemRec memTab[]);

static Int free
(IALG_Handle handle, IALG_MemRec memTab[]);                     

static Int control
(IALG_Handle, IALG_Cmd, IALG_Status *);

static Int initObj
(IALG_Handle handle, const IALG_MemRec memTab[], 
IALG_Handle parent,const IALG_Params *algParams);
                
static Void moved
(IALG_Handle handle, const IALG_MemRec memTab[], 
IALG_Handle parent,const IALG_Params *algParams);
                
static Int process
(IALG_Handle handle,Int *pIn);

#if defined (_dsp)

#pragma CODE_SECTION(activate, ".text:algActivate")
#pragma CODE_SECTION(alloc, ".text:algAlloc")
#pragma CODE_SECTION(deactivate, ".text:algDeactivate")
#pragma CODE_SECTION(control, ".text:algControl")
#pragma CODE_SECTION(free, ".text:algFree")
#pragma CODE_SECTION(initObj, ".text:algInit")
#pragma CODE_SECTION(moved, ".text:algMoved")
#pragma CODE_SECTION(process, ".text:algProcess")
#pragma CODE_SECTION(CPD_MIKET_init, ".text:init")
#pragma CODE_SECTION(CPD_MIKET_exit, ".text:exit")
#pragma DATA_SECTION(CPD_MIKET_ICPD, ".const:cpd_miket_icpd")
#endif

/*-------------------------------------------------------------------------*/
static Int 					alloc
/*-------------------------------------------------------------------------*/
(
const IALG_Params *algParams,
IALG_Fxns **pf, 
IALG_MemRec memTab[]
)
{
#if 0
    const ICPD_Params *params = (const ICPD_Params *)algParams;

    if (params == NULL) {
        params = &Params;  /* set default parameters */
    }
#endif
    /* Request memory for FIR object */
    memTab[0].size = sizeof(CPD_MIKET_Obj);
    memTab[0].alignment = 4; /* pointers are long */
    memTab[0].space = IALG_EXTERNAL;
    memTab[0].attrs = IALG_PERSIST;

    /*
     *  Request memory filter's "inter-frame" state (i.e., the
     *  delay history)
     *
     *  Note we could have simply added the delay buffer size to the
     *  end of the FIR object by combining this request with the one
     *  above, thereby saving some code.  We separate it here for
     *  clarity.
     */
    memTab[HISTORY].size = sizeof (CPD_tDb);
    memTab[HISTORY].alignment = 0;
    memTab[HISTORY].space = IALG_SARAM;
    memTab[HISTORY].attrs = IALG_PERSIST;

    /*
     *  Request memory for shared working buffer
     */
    memTab[WORKBUF].size = sizeof (CPD_tSc);
    memTab[WORKBUF].alignment = 0;
    memTab[WORKBUF].space = IALG_DARAM0;
    memTab[WORKBUF].attrs = IALG_SCRATCH;
    
    return (NUMBUFS);
}
/*-------------------------------------------------------------------------*/
static Int 						free
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle, 
IALG_MemRec memTab[]
)
{
    CPD_MIKET_Obj *pObj = (CPD_MIKET_Obj *)handle;

    alloc(NULL, NULL, memTab);

    memTab[HISTORY].base = pObj->pDb;
    memTab[HISTORY].size = sizeof(CPD_tDb);

    memTab[WORKBUF].base = pObj->pSc;
    memTab[WORKBUF].size = sizeof(CPD_tSc);

    return (NUMBUFS);
}

/*-------------------------------------------------------------------------*/
static Int 						initObj
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle,
const IALG_MemRec memTab[], 
IALG_Handle p,
const IALG_Params *algParams
)
{
    CPD_MIKET_Obj *pObj = (CPD_MIKET_Obj *)handle;

    pObj->pSc = (CPD_tSc*)memTab[WORKBUF].base;
    pObj->pDb = (CPD_tDb*)memTab[HISTORY].base;

	if (algParams == NULL)
	{
	    CPD_MIKET_init_db(pObj->pDb, ICPD_MIKET_DefaultParams.pCfg);
	}
	else
	{
	    CPD_MIKET_init_db(pObj->pDb, ((ICPD_Params *)algParams)->pCfg);
	}
    return (IALG_EOK);
}

/*-------------------------------------------------------------------------*/
static Int 						control
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle, 
IALG_Cmd Cmd, 
IALG_Status *pStatus
)
{
    CPD_MIKET_Obj *pObj = (CPD_MIKET_Obj *)handle;
	CPD_MIKET_control(pObj->pDb, Cmd, (ICPD_Status *)pStatus);
    return (IALG_EOK);
}
/*-------------------------------------------------------------------------*/
static Void 					activate
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle
)
{
/*   TG_MIKET_Obj *pObj = (Void *)handle; */
}

/*-------------------------------------------------------------------------*/
static Void 					deactivate
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle
)
{                 
}
/*-------------------------------------------------------------------------*/
static Void 					moved
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle,
const IALG_MemRec memTab[], 
IALG_Handle p,
const IALG_Params *algParams
)
{
    CPD_MIKET_Obj *pObj = (CPD_MIKET_Obj *)handle;

    pObj->pSc = (CPD_tSc*)memTab[WORKBUF].base;
    pObj->pDb = (CPD_tDb*)memTab[HISTORY].base;
}              

/*-------------------------------------------------------------------------*/
static Int 						process
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle,
Int *pOut
)
{
    CPD_MIKET_Obj *pObj = (CPD_MIKET_Obj *)handle;

	return CPD_MIKET_process(pObj->pDb, pObj->pSc, pOut);
}

/*--------------------- public  functions ---------------------------------*/

/*-------------------------------------------------------------------------*/
Void 				CPD_MIKET_exit
/*-------------------------------------------------------------------------*/
(
) 
{
}
/*-------------------------------------------------------------------------*/
Void 				CPD_MIKET_init
/*-------------------------------------------------------------------------*/
(
)
{
}

/*--------------------- public vars ---------------------------------------*/

#if 1
#if defined (_dsp)
	asm(" .global _CPD_MIKET_IALG");
	asm("_CPD_MIKET_IALG .set _CPD_MIKET_ICPD");
#endif
#else
const IALG_Fxns CPD_MIKET_IALG = {       /* module_vendor_interface */
    (void *)&CPD_MIKET_IALG,       /* module ID */ 
    activate,    /* activate */  
    alloc,       /* alloc */     
    control,     /* control */   
    deactivate,  /* deactivate */
    free,        /* free */      
    initObj,     /* init */      
    moved,       /* moved */     
    NULL                 /* numAlloc (NULL => IALG_MAXMEMRECS) */\
};
#endif

const ICPD_Fxns CPD_MIKET_ICPD = {       /* module_vendor_interface */
    (void *)&CPD_MIKET_ICPD,       /* module ID */ 
    activate,    /* activate */  
    alloc,       /* alloc */     
    control,     /* control */   
    deactivate,  /* deactivate */
    free,        /* free */      
    initObj,     /* init */      
    moved,       /* moved */     
    NULL,                 /* numAlloc (NULL => IALG_MAXMEMRECS) */\
    process      /*  */
};

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产自产视频一区二区三区| 午夜精品福利在线| 精品久久久久av影院| 欧美高清一级片在线| 欧美亚洲禁片免费| 欧美三级电影网| 91高清视频免费看| 欧美色图第一页| 欧美日韩国产三级| 日韩三级av在线播放| 日韩精品一区二区三区蜜臀 | 亚洲欧美综合在线精品| 国产片一区二区| 日韩美女视频一区二区 | 亚洲国产综合色| 亚洲女子a中天字幕| 亚洲18女电影在线观看| 捆绑调教美女网站视频一区| 国产乱子轮精品视频| 成人国产一区二区三区精品| 在线一区二区视频| 91麻豆精品久久久久蜜臀| 国产亚洲一区二区三区四区| 中文字幕在线一区免费| 亚洲一区二区三区四区五区中文| 日韩精品亚洲专区| 国产精选一区二区三区| 91在线播放网址| 欧美日韩另类国产亚洲欧美一级| 欧美大尺度电影在线| 亚洲国产精品ⅴa在线观看| 亚洲综合视频网| 国产精品综合二区| 欧美日韩精品一区二区在线播放| 精品久久国产97色综合| 亚洲欧美色一区| 日av在线不卡| 色狠狠一区二区| 精品久久久久久久人人人人传媒 | 一区二区日韩av| 久久精品99久久久| 日本大香伊一区二区三区| 欧美一二三区在线| 椎名由奈av一区二区三区| 久久99精品久久久久久| 色综合久久久久综合体桃花网| 日韩欧美亚洲另类制服综合在线| 亚洲男同1069视频| 激情亚洲综合在线| 欧美日本在线看| 亚洲人成网站影音先锋播放| 国产精品一区在线观看乱码 | 久久99国产精品免费| 一本色道亚洲精品aⅴ| 久久精品日韩一区二区三区| 日韩电影在线免费观看| 在线免费视频一区二区| 亚洲丝袜美腿综合| www.亚洲免费av| 国产精品人成在线观看免费| 极品瑜伽女神91| 欧美电影免费观看高清完整版在线| 一区二区三区中文字幕电影| 99精品视频在线播放观看| 国产三级欧美三级| 国产精品18久久久久久久久久久久 | 亚洲线精品一区二区三区八戒| 成人av网站免费| 久久精品欧美日韩精品| 日本怡春院一区二区| 欧美三级电影在线观看| 18涩涩午夜精品.www| 成人在线一区二区三区| 久久奇米777| 国产高清精品在线| 国产人伦精品一区二区| 国产丶欧美丶日本不卡视频| 久久婷婷综合激情| 成人免费视频视频在线观看免费| 国产亚洲成aⅴ人片在线观看 | 在线播放一区二区三区| 视频一区在线视频| 日韩欧美激情四射| 国产成人精品亚洲777人妖| 2024国产精品视频| 成人免费毛片嘿嘿连载视频| 1024成人网色www| 欧美网站一区二区| 男女视频一区二区| 久久网站热最新地址| www.日韩精品| 午夜精品爽啪视频| 久久综合国产精品| 99久久夜色精品国产网站| 亚洲精品高清在线观看| 欧美日韩在线播放三区四区| 免费人成精品欧美精品| 国产日韩av一区二区| 日本乱码高清不卡字幕| 免费观看成人鲁鲁鲁鲁鲁视频| 精品国产一区二区三区久久久蜜月 | 色综合欧美在线视频区| 日韩综合一区二区| 欧美极品xxx| 91 com成人网| 北岛玲一区二区三区四区| 日日骚欧美日韩| 国产日韩av一区二区| 欧美日韩国产免费一区二区| 国产成人精品在线看| 亚洲国产欧美日韩另类综合| 久久嫩草精品久久久精品| 欧美亚州韩日在线看免费版国语版| 美女脱光内衣内裤视频久久网站| 亚洲欧洲精品天堂一级| 欧美一区日韩一区| www.视频一区| 黄网站免费久久| 午夜精品久久久久久久99水蜜桃| 久久久久国产精品免费免费搜索| 欧美午夜片在线看| 福利一区二区在线| 青青草97国产精品免费观看无弹窗版| 国产欧美日韩精品a在线观看| 欧美视频在线一区二区三区| 国产成a人亚洲精品| 麻豆中文一区二区| 亚洲一区视频在线| 中文字幕一区在线| 久久蜜桃一区二区| 日韩免费成人网| 欧美日韩国产高清一区二区| 成人av网站在线观看免费| 国产在线精品一区二区| 日本免费在线视频不卡一不卡二 | 日韩一级大片在线| 欧美在线一区二区三区| 波多野结衣精品在线| 国产精品一区二区免费不卡| 免费人成精品欧美精品 | 精品99一区二区| 91精品免费在线| 欧美午夜精品电影| 91在线精品一区二区| 国产成人亚洲综合a∨婷婷图片| 全国精品久久少妇| 日韩va亚洲va欧美va久久| 性做久久久久久免费观看欧美| 亚洲精品欧美专区| 亚洲精品综合在线| 伊人色综合久久天天| 亚洲人妖av一区二区| 成人免费在线视频| 亚洲在线成人精品| 亚洲综合在线电影| 亚洲成人综合视频| 日韩国产欧美在线视频| 秋霞影院一区二区| 老司机午夜精品99久久| 国产在线精品免费av| 国产成人精品www牛牛影视| 国产福利一区二区三区在线视频| 国产精品香蕉一区二区三区| 国产91丝袜在线播放九色| 成人综合婷婷国产精品久久蜜臀| aaa亚洲精品一二三区| 一本大道久久a久久综合| 欧美午夜一区二区三区| 欧美一区二区三区四区在线观看 | 国产999精品久久| 成人av午夜电影| 欧美视频自拍偷拍| 3d成人h动漫网站入口| 日韩精品中文字幕在线不卡尤物 | 三级在线观看一区二区| 裸体一区二区三区| 精品一区二区三区在线观看国产 | 欧美三级在线看| 欧美电影一区二区三区| 精品奇米国产一区二区三区| 精品久久久久久亚洲综合网| 中文字幕在线不卡一区 | 国产精品乡下勾搭老头1| 成+人+亚洲+综合天堂| 欧美性一二三区| 国产亚洲欧美日韩在线一区| 亚洲精品伦理在线| 麻豆freexxxx性91精品| 99免费精品视频| 日韩欧美一区二区在线视频| 欧美国产一区视频在线观看| 亚洲一线二线三线久久久| 久久精品国产亚洲aⅴ| 91丨porny丨户外露出| 91精品午夜视频| 日韩一区在线看| 精品一区二区三区在线观看| 91麻豆国产福利精品| 精品免费99久久| 亚洲愉拍自拍另类高清精品|