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

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

?? i_cpd.cpp

?? CP detector (CPD) only reports the onset and removal of a tone. The analysis of timing (if required)
?? CPP
字號:
/*------------------------------------------------------------------------*
*                                                                         *
*   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 */

#include "icpd.cpp"

/*--------------------- 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 defined (_dsp)
	asm(" .global _CPD_MIKET_IALG");
	asm("_CPD_MIKET_IALG .set _CPD_MIKET_ICPD");
#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一区二区三区免费野_久草精品视频
亚洲免费电影在线| 国产精品色呦呦| 日韩avvvv在线播放| 日韩一区二区三区电影| 国产成人精品午夜视频免费| 亚洲三级视频在线观看| 欧美嫩在线观看| 国产麻豆91精品| 亚洲第一av色| 国产精品理伦片| 国产精品18久久久久久vr| 久久精品国产**网站演员| 国产一区二区在线观看视频| 99久久精品情趣| 欧美偷拍一区二区| 91精品国产色综合久久不卡蜜臀 | 在线播放/欧美激情| 欧美videofree性高清杂交| 精品美女一区二区| 亚洲人午夜精品天堂一二香蕉| 亚洲日本在线天堂| 麻豆91精品视频| 成人国产一区二区三区精品| 一本在线高清不卡dvd| 337p亚洲精品色噜噜狠狠| 国产亚洲成aⅴ人片在线观看| 亚洲已满18点击进入久久| 另类小说色综合网站| 在线欧美日韩国产| 国产精品日韩成人| 国产成人福利片| 欧美不卡一二三| 制服丝袜亚洲色图| 久久这里只精品最新地址| 欧美videossexotv100| 中文字幕一区二区三区在线不卡 | 一区二区三区四区国产精品| 亚洲图片一区二区| 国产一区二区三区四区在线观看| 国产成人免费网站| 99久久久精品| 久久午夜免费电影| 亚洲激情在线播放| 高清不卡一区二区| 欧美电视剧在线看免费| 亚洲欧美国产毛片在线| 老司机免费视频一区二区三区| 国产毛片精品视频| 91精选在线观看| 免费在线观看一区二区三区| 美女看a上一区| 久久精品二区亚洲w码| 欧美精品色综合| 午夜电影网亚洲视频| 欧美日韩综合一区| 亚洲成人一区在线| 精品美女在线播放| 韩日精品视频一区| 精品av久久707| 一区二区欧美在线观看| 成人综合在线观看| 精品国产乱码久久久久久1区2区| 一区二区三区精品| 91在线你懂得| 亚洲伦理在线免费看| 精品一区二区三区日韩| 欧美日韩国产高清一区| 亚洲精品午夜久久久| 色综合久久中文字幕综合网| 久久精品人人做| 国产福利一区二区三区在线视频| 日韩欧美另类在线| 国产在线一区二区综合免费视频| 91精品在线免费观看| 日本不卡在线视频| 日韩无一区二区| 国产91丝袜在线18| 亚洲欧美偷拍三级| 欧美一区二区三区四区在线观看| 日本成人在线电影网| 国产午夜一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲亚洲人成综合网络| 91精品国产高清一区二区三区蜜臀| 亚洲图片欧美一区| 精品国产91洋老外米糕| 99热在这里有精品免费| 奇米在线7777在线精品| 中文字幕国产一区| 这里只有精品视频在线观看| 国产又黄又大久久| 亚洲国产日韩综合久久精品| 精品av久久707| 欧美日韩亚洲高清一区二区| 久久国产精品一区二区| 一区二区三区精品视频| 欧美国产日韩在线观看| 欧美tickling挠脚心丨vk| 色8久久人人97超碰香蕉987| 国产伦精品一区二区三区视频青涩| 亚洲欧美另类在线| 欧美国产精品v| 欧美白人最猛性xxxxx69交| 在线观看亚洲精品视频| 国产一区二区三区黄视频 | 国产丝袜欧美中文另类| 欧美一级精品大片| 69av一区二区三区| 欧美日韩国产成人在线免费| 99久久综合色| 日本精品视频一区二区三区| 成人av在线影院| 91在线丨porny丨国产| av影院午夜一区| 色哟哟一区二区三区| 欧美性大战久久久| 8v天堂国产在线一区二区| 欧美日韩视频在线第一区| 欧美日韩一区二区电影| 欧美日本高清视频在线观看| 欧美一区二区黄色| 久久久久久久久久久久久久久99 | 精品不卡在线视频| 中文字幕亚洲成人| 丝袜美腿成人在线| 国产成人在线看| 日本道在线观看一区二区| 欧美日本在线看| 久久久久久毛片| 亚洲在线观看免费视频| 国内精品久久久久影院色| 99久久久国产精品| 日韩欧美卡一卡二| 亚洲精品免费播放| 精品系列免费在线观看| 成人免费高清在线| 欧美片在线播放| 高潮精品一区videoshd| 裸体一区二区三区| 日韩精品亚洲一区二区三区免费| 日韩和欧美一区二区三区| 久久丁香综合五月国产三级网站| 麻豆成人综合网| 成人在线一区二区三区| aaa欧美色吧激情视频| 欧美午夜一区二区三区免费大片| 日韩亚洲欧美高清| 国产精品美女视频| 亚洲欧美日韩在线不卡| 美脚の诱脚舐め脚责91| 成人av在线资源网站| 欧美日韩大陆一区二区| 久久久久久久国产精品影院| 亚洲另类在线视频| 免费成人av在线播放| 成人激情小说乱人伦| 欧美日韩国产a| 欧美国产精品v| 日韩成人精品在线观看| 国产99久久久久久免费看农村| 色偷偷成人一区二区三区91| 日韩视频一区二区| 国产精品毛片无遮挡高清| 日韩国产欧美在线播放| a在线欧美一区| 欧美电影免费观看高清完整版在 | 激情图片小说一区| 91在线国产观看| 久久久久久久久久看片| 香港成人在线视频| 成人晚上爱看视频| 日韩色在线观看| 亚洲午夜视频在线观看| av高清久久久| 久久久久久日产精品| 久久精品国产亚洲高清剧情介绍| 色综合久久久久综合| 国产精品丝袜一区| 精品一区二区三区在线播放| 欧美日韩国产在线观看| 一区精品在线播放| 高清不卡一二三区| 久久伊99综合婷婷久久伊| 亚洲成人动漫一区| 91久久精品日日躁夜夜躁欧美| 欧美国产日韩a欧美在线观看 | 香蕉av福利精品导航| 91黄色激情网站| 亚洲永久免费av| 在线一区二区三区四区| 亚洲人成在线播放网站岛国| 成人午夜视频福利| 欧美韩国日本综合| 不卡一区二区中文字幕| 国产精品久久久久影院| www.日韩精品| 成人免费一区二区三区视频| 国产成人99久久亚洲综合精品| 国产亚洲精品aa| 99久久精品国产一区二区三区 |