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

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

?? echo.c

?? TI的例程
?? C
字號:
/*
 *  Copyright 2003 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) DSP/BIOS 4.90.270 01-13-05 (barracuda-o07)" */
/*
 *  ======== echo.c ========
 */

#include <std.h>

#include <log.h>
#include <swi.h>

#include "echocfg.h"

#include "echo.h"

/* Global declarations */
int cancelerLoad = 0;
int decoderLoad = 0;
int encoderLoad = 0;

int echoInFrame  = 0;           /* current input echo frame number */
int echoOutFrame = 2;           /* current output echo frame number */
int encoderFrame  = 0;          /* current input audio frame number */
int decoderFrame  = 0;          /* current output audio frame number */

int audioInBuf[AUDIOBUFLEN];    /* audio input data */
int audioOutBuf[AUDIOBUFLEN];   /* audio output data */
int codeInBuf[CODEBUFLEN];      /* encoded input data */
int codeOutBuf[CODEBUFLEN];     /* encoded output data */

/* Functions */
extern Void ECHO_load(int load);

static Void cancelerAlg(int *input, int *output);
static Void decoderAlg(int *input, int *output);
static Void encoderAlg(int *input, int *output);

/*
 *  ======== main ========
 */
Void main(int argc, char *argv[])
{
    /* Does Nothing */
}

/*
 *  ======== canceler ========
 *  Modify the audio output data based on the most recent input audio
 *  data to eliminate echo feedback.
 */
Void canceler(Void)
{
    int *src, *dst;
    
    /* get last 2.5 ms of input audio data and next 2.5 ms of output data */
    src = audioInBuf + (echoInFrame * ECHOFRAMELEN);
    dst = audioOutBuf + (echoOutFrame * ECHOFRAMELEN);
    
    /* suppress output as necessary to prevent echo feedback */
    cancelerAlg(src, dst);

    /* update echoInFrame and echoOutFrame index */
    if (++echoInFrame >= (AUDIOBUFLEN / ECHOFRAMELEN)) {
        echoInFrame = 0;
    }
    if (++echoOutFrame >= (AUDIOBUFLEN / ECHOFRAMELEN)) {
        echoOutFrame = 0;
    }
}

/*
 *  ======== decoder ========
 *  Convert encoded data into output PCM audio data; i.e., transform 
 *  codeInBuf[] into audioOutBuf[].
 */
Void decoder(Void)
{
    int *src, *dst;

    /* get pointers to next frames of input coded data and output audio */
    src = codeInBuf + (decoderFrame * CODEFRAMELEN);
    dst = audioOutBuf + (decoderFrame * AUDIOFRAMELEN);

    /* decoder data in src and put resulting audio data in dst */
    decoderAlg(src, dst);

    /* update decoderFrame index */
    if (++decoderFrame >= (AUDIOBUFLEN / AUDIOFRAMELEN)) {
        decoderFrame = 0;
    }
}

/*
 *  ======== encoder ========
 *  Convert input audio data to encoded (i.e., compressed) data; i.e., 
 *  transform audioInBuf[] into codeOutBuf[].
 */
Void encoder(Void)
{
    int *src, *dst;
    
    /* get next N ms of input audio data and write next N ms of coded data */
    src = audioInBuf + (encoderFrame * AUDIOFRAMELEN);
    dst = codeOutBuf + (encoderFrame * CODEFRAMELEN);

    /* encoder input audio data in src and put result in dst */
    encoderAlg(src, dst);

    /* update encoderFrame index */
    if (++encoderFrame >= (AUDIOBUFLEN / AUDIOFRAMELEN)) {
        encoderFrame = 0;
    }
}

/*
 *  ======== cancelerAlg ========
 */
static Void cancelerAlg(int *input, int *output)
{
    static int oldLoad = 0;
    
    /* display confirmation of load change */
    if (oldLoad != cancelerLoad) {
        oldLoad = cancelerLoad;
        LOG_printf(&trace,
            "Cancel: new load = %d000 instructions every 2.5 ms", cancelerLoad);
    }
    
    if (cancelerLoad) {
        ECHO_load(cancelerLoad);
    }
}

/*
 *  ======== decoderAlg ========
 */
static Void decoderAlg(int *input, int *output)
{
    static int oldLoad = 0;
    
    /* display confirmation of load change */
    if (oldLoad != decoderLoad) {
        oldLoad = decoderLoad;
        LOG_printf(&trace,
            "Decode: new load = %d000 instructions every 22.5 ms", decoderLoad);
    }
    
    if (decoderLoad) {
        ECHO_load(decoderLoad);
    }
}

/*
 *  ======== encoderAlg ========
 */
static Void encoderAlg(int *input, int *output)
{
    static int oldLoad = 0;
    
    /* display confirmation of load change */
    if (oldLoad != encoderLoad) {
        oldLoad = encoderLoad;
        LOG_printf(&trace,
            "Encode: new load = %d000 instructions every 22.5 ms", encoderLoad);
    }
    
    if (encoderLoad) {
        ECHO_load(encoderLoad);
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩大陆一区二区| www.视频一区| 在线观看日韩一区| 国产亚洲一区二区三区在线观看 | 欧美日韩成人综合| 中文字幕日韩一区| 国产麻豆日韩欧美久久| 欧美人与禽zozo性伦| 成人免费小视频| 国产成人av福利| 日韩欧美国产精品| 亚洲国产综合91精品麻豆| 成人18视频日本| 久久久久久久精| 久久国产精品第一页| 欧美精三区欧美精三区| 亚洲黄色av一区| 99视频在线精品| 国产拍揄自揄精品视频麻豆| 精品影视av免费| 91精品国产欧美一区二区成人| 亚洲精品少妇30p| 成人午夜电影小说| 久久久国际精品| 美女视频黄a大片欧美| 欧美精品自拍偷拍动漫精品| 亚洲国产另类av| 一本到一区二区三区| 亚洲视频网在线直播| av一区二区不卡| 国产精品女同互慰在线看 | 亚洲素人一区二区| 成人av中文字幕| 日本一区二区三区dvd视频在线| 黄色精品一二区| 日韩欧美亚洲国产精品字幕久久久 | 日本高清成人免费播放| 亚洲天堂精品在线观看| 99精品视频在线观看免费| 中文字幕中文乱码欧美一区二区| 国产成人av一区二区三区在线观看| 精品电影一区二区| 国产综合一区二区| 欧美精品一区二区三区蜜桃视频| 蜜臀久久久99精品久久久久久| 欧美一区三区四区| 奇米亚洲午夜久久精品| 欧美大肚乱孕交hd孕妇| 精品一区二区三区视频| 精品国产在天天线2019| 国产精品一二三| 欧美国产激情二区三区 | 午夜天堂影视香蕉久久| 欧美区视频在线观看| 日韩高清电影一区| 精品国产乱码久久| 国产不卡一区视频| 亚洲欧洲在线观看av| 99精品欧美一区二区三区小说| 亚洲男人天堂av| 欧美自拍偷拍一区| 日本中文字幕一区| 久久久久国色av免费看影院| 成人午夜在线播放| 亚洲欧美一区二区三区久本道91| 91精品1区2区| 日韩高清一级片| 久久―日本道色综合久久 | 丝袜诱惑制服诱惑色一区在线观看| 777xxx欧美| 久久www免费人成看片高清| 2020日本不卡一区二区视频| 成人av在线一区二区| 亚洲综合激情小说| 日韩亚洲欧美综合| 国产成人免费9x9x人网站视频| 国产精品久99| 欧美日韩在线播放三区四区| 狠狠色丁香婷综合久久| 国产精品三级久久久久三级| 色狠狠一区二区| 日本视频在线一区| 国产色产综合产在线视频| 在线免费观看不卡av| 蜜桃一区二区三区四区| 国产欧美日韩三区| 欧美性一级生活| 精彩视频一区二区三区| 亚洲欧美激情一区二区| 欧美一级精品大片| av电影在线观看不卡| 日韩中文字幕亚洲一区二区va在线| 久久尤物电影视频在线观看| 91亚洲精华国产精华精华液| 午夜婷婷国产麻豆精品| 国产精品三级在线观看| 欧美理论片在线| 成人在线一区二区三区| 性欧美疯狂xxxxbbbb| 国产欧美日韩麻豆91| 欧美私人免费视频| 国产成人av影院| 天堂va蜜桃一区二区三区漫画版| 欧美激情一区二区三区| 7777精品伊人久久久大香线蕉的 | 欧美mv和日韩mv的网站| 91丨九色丨黑人外教| 美女网站一区二区| 一级特黄大欧美久久久| 亚洲精品一区二区三区影院| 91女厕偷拍女厕偷拍高清| 久久国产视频网| 日韩毛片一二三区| 久久先锋资源网| 欧美日韩久久不卡| gogogo免费视频观看亚洲一| 看国产成人h片视频| 亚洲综合久久久| www国产精品av| 欧美精品色综合| 色婷婷综合久久久| 国产精品18久久久久久久久久久久 | 欧美日韩1区2区| 99久久免费国产| 国产精品一二三| 美女看a上一区| 亚洲国产毛片aaaaa无费看| 国产精品美女久久久久久久久| 欧美一区二视频| 欧美丝袜第三区| av电影在线不卡| 成人污污视频在线观看| 国产综合色视频| 日韩电影在线观看电影| 一区二区三区欧美日| 国产精品毛片a∨一区二区三区| 久久女同互慰一区二区三区| 欧美一区二区在线视频| 欧美日韩视频在线第一区 | 精品在线免费视频| 日韩精品电影在线| 午夜精品久久久久影视| 亚洲精品少妇30p| 亚洲欧洲中文日韩久久av乱码| 国产精品无码永久免费888| 精品国产一区二区三区久久久蜜月| 欧美疯狂做受xxxx富婆| 欧美日韩国产免费一区二区| 色国产精品一区在线观看| 97久久久精品综合88久久| 不卡一卡二卡三乱码免费网站| 国产精品综合网| 国产一区不卡视频| 国产精品一区二区不卡| 国产麻豆成人精品| 久久精品久久综合| 蜜桃视频一区二区三区| 青青青伊人色综合久久| 日韩avvvv在线播放| 日韩高清在线观看| 麻豆91免费看| 麻豆一区二区在线| 国产麻豆精品久久一二三| 国产麻豆成人传媒免费观看| 国产福利不卡视频| 国产福利一区二区三区视频在线| 国产成人精品亚洲777人妖| 国产激情91久久精品导航| 国产成人精品免费| 波多野结衣视频一区| 色哟哟一区二区| 在线精品观看国产| 欧美巨大另类极品videosbest | 亚洲国产精品99久久久久久久久 | 欧美美女一区二区三区| 91精品国产综合久久婷婷香蕉| 欧美高清视频一二三区| 欧美大胆人体bbbb| 国产欧美一区视频| 中文字幕字幕中文在线中不卡视频| 亚洲欧美日韩综合aⅴ视频| 一区二区成人在线观看| 蜜臀va亚洲va欧美va天堂 | 日本午夜一区二区| 激情欧美日韩一区二区| 成人免费观看av| 在线观看欧美日本| 日韩一区二区麻豆国产| 久久综合久久综合九色| 中文一区在线播放| 一区二区三区视频在线看| 婷婷综合久久一区二区三区| 精品一区二区三区在线播放视频| 粉嫩av一区二区三区粉嫩| 91福利视频在线| 日韩一区二区麻豆国产| 国产精品久久久久久久久动漫| 亚洲综合清纯丝袜自拍| 精品一区二区免费在线观看| 不卡欧美aaaaa|