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

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

?? itg.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 <itg.h>
#include <tg_miket.h>
#include <tg.h>

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

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

typedef struct TG_MIKET_Obj {
    IALG_Obj    alg;            /* MUST be first field of all XDAS algs */
    TG_tDb *pDb;
    TG_tSc *pSc;
} TG_MIKET_Obj;

/*--------------------- local vars ----------------------------------------*/
/* default parameters of creation */
static const ITG_Params Params = {
    sizeof(ITG_Params)    /* sizeof this structure */
};

/*--------------------- 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);




#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(TG_MIKET_init, ".text:init")
#pragma CODE_SECTION(TG_MIKET_exit, ".text:exit")
#pragma DATA_SECTION(TG_MIKET_ITG, ".const:tg_miket_itg")

/*-------------------------------------------------------------------------*/
static Int 					alloc
/*-------------------------------------------------------------------------*/
(
const IALG_Params *algParams,
IALG_Fxns **pf, 
IALG_MemRec memTab[]
)
{
    const ITG_Params *params = (Void *)algParams;

    if (params == NULL) {
        params = &Params;  /* set default parameters */
    }

    /* Request memory for FIR object */
    memTab[0].size = sizeof(TG_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 (TG_tDb);
    memTab[HISTORY].alignment = 0;
    memTab[HISTORY].space = IALG_EXTERNAL;
    memTab[HISTORY].attrs = IALG_PERSIST;

    /*
     *  Request memory for shared working buffer
     */
    memTab[WORKBUF].size = sizeof (TG_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[]
)
{
    TG_MIKET_Obj *pObj = (Void *)handle;

    alloc(NULL, NULL, memTab);

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

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

    return (NUMBUFS);
}

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

    pObj->pSc = memTab[WORKBUF].base;
    pObj->pDb = memTab[HISTORY].base;

    TG_MIKET_init_db(pObj->pDb);

    return (IALG_EOK);
}

/*-------------------------------------------------------------------------*/
static Int 						control
/*-------------------------------------------------------------------------*/
(
IALG_Handle handle, 
IALG_Cmd Cmd, 
IALG_Status *pStatus
)
{
    TG_MIKET_Obj *pObj = (Void *)handle;
	TG_MIKET_control(pObj->pDb, Cmd, (ITG_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
)
{
    TG_MIKET_Obj *pObj = (Void *)handle;

    pObj->pSc = memTab[WORKBUF].base;
    pObj->pDb = memTab[HISTORY].base;
}              

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

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

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

extern Void TG_MIKET_exit() {}
extern Void TG_MIKET_init() {}

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

#if defined (_dsp)
	asm(" .global _TG_MIKET_IALG");
	asm("_TG_MIKET_IALG .set _TG_MIKET_ITG");
#endif

const ITG_Fxns TG_MIKET_ITG = {       /* module_vendor_interface */
    (void *)&TG_MIKET_ITG,       /* 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一区二区三区免费野_久草精品视频
精品国产亚洲一区二区三区在线观看 | 亚洲精品在线三区| 92精品国产成人观看免费| 精品中文av资源站在线观看| 午夜不卡av在线| 日韩成人一区二区三区在线观看| 亚洲黄色av一区| 亚洲一区二区欧美| 日本不卡视频在线观看| 日本va欧美va精品| 国产一区二区在线看| 国产麻豆精品视频| www.在线欧美| 欧美性色欧美a在线播放| 欧美欧美欧美欧美| 欧美电影免费观看高清完整版在| 日韩精品一区二区三区四区视频 | 国产a精品视频| 成人国产在线观看| 一本到不卡免费一区二区| 在线观看一区日韩| 日韩免费在线观看| 国产视频一区二区在线观看| 欧美国产一区二区在线观看| 亚洲免费伊人电影| 日韩电影免费一区| 成人毛片老司机大片| 欧美在线观看视频一区二区 | 91精品国产91久久久久久一区二区| 91麻豆精品91久久久久久清纯| 日韩视频一区二区在线观看| 国产人伦精品一区二区| 亚洲精品乱码久久久久久黑人| 丝袜诱惑亚洲看片| 成人动漫在线一区| 7777精品久久久大香线蕉| 亚洲国产精品ⅴa在线观看| 亚洲综合激情另类小说区| 久久91精品国产91久久小草| 97se亚洲国产综合自在线| 91精品国产欧美一区二区18| 国产欧美日韩三级| 日韩福利电影在线观看| 成人小视频免费观看| 91精品国产色综合久久不卡蜜臀| 久久99久久久久久久久久久| 国产一区二区三区香蕉| 中文字幕欧美一| 日韩av在线免费观看不卡| 国产91精品久久久久久久网曝门| 欧美亚洲综合久久| 日本一区二区三区免费乱视频| 视频一区欧美精品| 91小视频免费看| 久久久国产一区二区三区四区小说| 亚洲一级电影视频| 91亚洲精品一区二区乱码| 久久精品男人的天堂| 日韩va欧美va亚洲va久久| 欧美日产在线观看| 亚洲一区免费观看| 色一区在线观看| 国产精品久久一级| 床上的激情91.| 国产色综合久久| 国产一区二区伦理片| 欧美一卡2卡三卡4卡5免费| 亚洲va欧美va天堂v国产综合| 色欧美乱欧美15图片| 亚洲欧美日韩在线不卡| www.久久久久久久久| 国产精品热久久久久夜色精品三区 | 欧美性高清videossexo| 亚洲精品国产高清久久伦理二区| 成人免费电影视频| 日韩理论片网站| 91视频观看免费| 亚洲精品中文在线观看| 在线亚洲一区观看| 亚洲一区影音先锋| 91超碰这里只有精品国产| 丝袜诱惑亚洲看片| 日韩精品最新网址| 国产综合久久久久久久久久久久| 精品入口麻豆88视频| 狠狠狠色丁香婷婷综合久久五月| 日韩视频一区二区在线观看| 久久99日本精品| 国产亚洲成aⅴ人片在线观看| 国产在线播放一区| 国产欧美视频在线观看| 91在线视频播放| 亚洲成av人片在线观看无码| 在线播放中文字幕一区| 蜜桃传媒麻豆第一区在线观看| 精品国产区一区| 成人夜色视频网站在线观看| 亚洲三级电影全部在线观看高清| 欧美伊人久久久久久午夜久久久久| 午夜伊人狠狠久久| 2020国产精品久久精品美国| 不卡av在线免费观看| 亚洲成人av中文| 久久久另类综合| 91久久精品网| 激情文学综合网| 亚洲精品久久久久久国产精华液| 欧美人动与zoxxxx乱| 国产福利一区二区三区视频在线| 亚洲天堂成人在线观看| 欧美一级欧美一级在线播放| 丁香另类激情小说| 午夜精品久久久久久久久久| www国产成人免费观看视频 深夜成人网 | 欧美日韩国产色站一区二区三区| 日韩不卡手机在线v区| 中文字幕av资源一区| 欧美群妇大交群中文字幕| 成人av在线一区二区三区| 午夜一区二区三区视频| 国产精品女人毛片| 日韩一级在线观看| 精品视频色一区| 成人深夜在线观看| 美女视频第一区二区三区免费观看网站 | 老司机精品视频线观看86| 国产精品对白交换视频 | 亚洲少妇30p| 久久夜色精品国产噜噜av| 欧美三级中文字幕| 91亚洲国产成人精品一区二三| 精品一区二区三区视频| 五月综合激情日本mⅴ| 综合电影一区二区三区| 久久久久久99精品| 91精品国产麻豆国产自产在线| 一本色道久久综合亚洲精品按摩| 国产九色精品成人porny| 青青草一区二区三区| 亚洲高清在线精品| 亚洲精品第1页| 亚洲人成影院在线观看| 中文字幕欧美国产| 国产肉丝袜一区二区| 精品国产乱码久久久久久免费| 欧美一区二区三区电影| 欧美精选午夜久久久乱码6080| 在线亚洲免费视频| 日本久久一区二区三区| 欧美在线观看禁18| 欧美精品精品一区| 欧美精品久久天天躁| 日韩女优毛片在线| 免费成人在线网站| 日本免费新一区视频| 欧美变态tickle挠乳网站| 欧美精品tushy高清| 欧美乱妇15p| 91精品国产色综合久久不卡电影 | 国产亚洲欧洲997久久综合| 精品裸体舞一区二区三区| 欧美mv日韩mv亚洲| 久久人人爽人人爽| 欧美激情综合网| 亚洲欧美一区二区三区久本道91| 18涩涩午夜精品.www| 一级中文字幕一区二区| 亚洲成人自拍一区| 麻豆中文一区二区| 国产精品1区2区| 97久久精品人人做人人爽50路| 91亚洲男人天堂| 欧美精品 日韩| 精品国产一区久久| 最新欧美精品一区二区三区| 一区二区三区在线视频免费观看| 亚洲成a人v欧美综合天堂下载| 久久精品国产澳门| 岛国av在线一区| 欧美日韩在线综合| 精品福利视频一区二区三区| 亚洲国产精品高清| 亚洲地区一二三色| 国产成人午夜片在线观看高清观看| av男人天堂一区| 欧美精品久久一区二区三区| 久久久影视传媒| 一区二区三区欧美视频| 老司机一区二区| 色综合中文字幕| 欧美不卡一二三| 亚洲伦理在线免费看| 久久国产精品色婷婷| 色域天天综合网| 久久综合九色欧美综合狠狠 | 精品国产sm最大网站| 色激情天天射综合网| 欧美日韩国产色站一区二区三区| 久久婷婷成人综合色| 亚洲一区日韩精品中文字幕|