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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? codec_decoder.asm

?? BLUETOOTH Stereo Headset Source Code,含CVC(噪音消除,回聲抵消),可用于開發(fā)藍(lán)牙立體聲耳機(jī),藍(lán)牙車載,經(jīng)過測(cè)試.
?? ASM
?? 第 1 頁 / 共 2 頁
字號(hào):
// *****************************************************************************
// Copyright (C) Cambridge Silicon Radio plc 2003-2006        http://www.csr.com
// Part of BlueLab 3.6.2-release
//
// $Revision$  $Date$
// *****************************************************************************

// *****************************************************************************
// DESCRIPTION
//    Decoder (SBC/MP3/AAC) for an audio playing device (non USB)
//
// *****************************************************************************

.ifndef SELECTED_CODEC_SBC
   .ifndef SELECTED_CODEC_MP3
      .ifndef SELECTED_CODEC_AAC
         .define SELECTED_CODEC_SBC
      .endif
   .endif
.endif

// select the codec specific options
.ifdef SELECTED_CODEC_SBC
   .define SELECTED_CODEC_FRAME_DECODE_FUNCTION        &$sbcdec.frame_decode
   .define SELECTED_CODEC_RESET_DECODER_FUNCTION       &$sbcdec.reset_decoder
   .define SELECTED_CODEC_SILENCE_DECODER_FUNCTION     &$sbcdec.silence_decoder
   .define SELECTED_CODEC_INITIALISE_DECODER_FUNCTION  $sbcdec.init_decoder
   .define SELECTED_CODEC_LIBRARY_HEADER               "sbc_library.h"
.endif
.ifdef SELECTED_CODEC_MP3
   .define SELECTED_CODEC_FRAME_DECODE_FUNCTION        &$mp3dec.frame_decode
   .define SELECTED_CODEC_RESET_DECODER_FUNCTION       &$mp3dec.reset_decoder
   .define SELECTED_CODEC_SILENCE_DECODER_FUNCTION     &$mp3dec.silence_decoder
   .define SELECTED_CODEC_INITIALISE_DECODER_FUNCTION  $mp3dec.init_decoder
   .define SELECTED_CODEC_LIBRARY_HEADER               "mp3_library.h"
.endif
.ifdef SELECTED_CODEC_AAC
   .define SELECTED_CODEC_FRAME_DECODE_FUNCTION        &$aacdec.frame_decode
   .define SELECTED_CODEC_RESET_DECODER_FUNCTION       &$aacdec.reset_decoder
   .define SELECTED_CODEC_SILENCE_DECODER_FUNCTION     &$aacdec.silence_decoder
   .define SELECTED_CODEC_INITIALISE_DECODER_FUNCTION  $aacdec.init_decoder
   .define SELECTED_CODEC_LIBRARY_HEADER               "aac_library.h"

   // At the moment BL does not ship with AAC support so we do not want to make
   // kalprops.xml files for AAC. However we need to store default values
   // somewhere. This seems the best place to put them as the makefiles will
   // still remove them correctly. When AAC is supported these values will be
   // exported to a kalprops.xml file.
   .define AUDIO_CBUFFER_SIZE                      2048
   // codec buffer size as mp3: max range-3072, normal-1536, low latency-768
   .define CODEC_CBUFFER_SIZE                      3072
   .define COMFORT_NOISE_GAIN                      0
   .define GOOD_WORKING_BUFFER_LEVEL               0.65
   .define POORLINK_DETECT_LEVEL                   0.5
   .define POORLINK_PERIOD                         1000000
   .define ZERO_DATA_RATE_STOPPING                 150000
   .define ZERO_DATA_RATE_BUFFERING                200000
   .define WARP_RATE_MAX_RAMP                      0.008  // 0.8% per sec
   .define WARP_RATE_HIGH_COEFFICIENT              0.015  // 1.5% per 1kb buffer diff
   .define WARP_RATE_LOW_COEFFICIENT               0.002  // 0.2% per 1kb buffer diff
   .define WARP_RATE_TRANSITION_LEVEL_WORDS        100    // use high coef if >100 words
   .define WARP_FILTER_COEFS            cbops.warp_and_shift.high_quality_filter_coefs
   .define WARP_FILTER_LENGTH           cbops.warp_and_shift.high_quality_filter_data_size

.endif

// 1.5ms is chosen as the interrupt rate for the audio input/output because:
// adc/dac mmu buffer is 256byte = 128samples
//                               - upto 8 sample fifo in voice interface
//                               = 120samples = 2.5ms @ 48KHz
// assume absolute worst case jitter on interrupts = 1.0ms
// Hence choose 1.5ms between audio input/output interrupts
.define TMR_PERIOD_AUDIO_COPY         1500

// 8ms is chosen as the interrupt rate for the codec input/output as this is a
// good compromise between not overloading the xap with messages and making
// sure that the xap side buffer is emptied relatively often.
.define TMR_PERIOD_CODEC_COPY         8000

// includes
.include "core_library.h"
.include "cbops_library.h"
.include "codec_library.h"
.include SELECTED_CODEC_LIBRARY_HEADER

.MODULE $M.main;
   .CODESEGMENT PM;
   .DATASEGMENT DM;

   $main:

   // ** setup ports that are to be used **
   .CONST  $AUDIO_LEFT_OUT_PORT    ($cbuffer.WRITE_PORT_MASK + 0);
   .CONST  $AUDIO_RIGHT_OUT_PORT   ($cbuffer.WRITE_PORT_MASK + 1);
   .CONST  $CODEC_IN_PORT          ($cbuffer.READ_PORT_MASK  + 0);


   // ** allocate memory for cbuffers **
   .VAR/DMCIRC $audio_out_left[AUDIO_CBUFFER_SIZE];
   .VAR/DMCIRC $audio_out_right[AUDIO_CBUFFER_SIZE];
   .VAR/DMCIRC $codec_in[CODEC_CBUFFER_SIZE];


   // ** allocate memory for cbuffer structures **
   .VAR $codec_in_cbuffer_struc[$cbuffer.STRUC_SIZE] =
          LENGTH($codec_in),              // size
          &$codec_in,                     // read pointer
          &$codec_in;                     // write pointer
   .VAR $audio_out_left_cbuffer_struc[$cbuffer.STRUC_SIZE] =
          LENGTH($audio_out_left),        // size
          &$audio_out_left,               // read pointer
          &$audio_out_left;               // write pointer
   .VAR $audio_out_right_cbuffer_struc[$cbuffer.STRUC_SIZE] =
          LENGTH($audio_out_right),       // size
          &$audio_out_right,              // read pointer
          &$audio_out_right;              // write pointer


   // ** allocate memory for timer structures **
   .VAR $codec_in_timer_struc[$timer.STRUC_SIZE];
   .VAR $audio_out_timer_struc[$timer.STRUC_SIZE];


   // ** allocate memory for codec input cbops copy routine **
   .VAR $codec_in_copy_struc[] =
          &$codec_in_copy_op,             // first operator block
          1,                              // number of inputs
          $CODEC_IN_PORT,                 // input
          1,                              // number of outputs
          &$codec_in_cbuffer_struc;       // output

   .BLOCK $codec_in_copy_op;
      .VAR $codec_in_copy_op.next = $cbops.NO_MORE_OPERATORS;
      .VAR $codec_in_copy_op.func = &$cbops.copy_op;
      .VAR $codec_in_copy_op.param[$cbops.copy_op.STRUC_SIZE] =
               0,                         // Input index
               1;                         // Output index
   .ENDBLOCK;


   // ** allocate memory for stereo audio out cbops copy routine **
   .VAR $stereo_out_copy_struc[] =
      &$audio_out_dc_remove_op_left,      // first operator block
      2,                                  // number of inputs
      &$audio_out_left_cbuffer_struc,     // input
      &$audio_out_right_cbuffer_struc,    // input
      2,                                  // number of outputs
      $AUDIO_LEFT_OUT_PORT,               // output
      $AUDIO_RIGHT_OUT_PORT;              // output

   .BLOCK $audio_out_dc_remove_op_left;
      .VAR audio_out_dc_remove_op_left.next = &$audio_out_warp_and_shift_op_left;
      .VAR audio_out_dc_remove_op_left.func = &$cbops.dc_remove;
      .VAR audio_out_dc_remove_op_left.param[$cbops.dc_remove.STRUC_SIZE] =
               0,                         // Input index (left cbuffer)
               0;                         // Output index (left cbuffer)
   .ENDBLOCK;

   .BLOCK $audio_out_warp_and_shift_op_left;
      .VAR audio_out_warp_and_shift_op_left.next = &$audio_out_dc_remove_op_right;
      .VAR audio_out_warp_and_shift_op_left.func = &$cbops.warp_and_shift;
      .VAR audio_out_warp_and_shift_op_left.param[$cbops.warp_and_shift.STRUC_SIZE] =
               0,                         // Input index (left cbuffer)
               2,                         // Output index (left output port)
               -8,                        // Shift amount
               &$WARP_FILTER_COEFS,                                                   // warp filter coefs
               &audio_out_warp_and_shift_op.left_buf,                                 // warp filter buffer
               &$decoder_codec_stream_struc + $codec.stream_decode.WARP_TARGET_FIELD, // warp target address
               (WARP_RATE_MAX_RAMP / 1000000 * TMR_PERIOD_AUDIO_COPY);                // warp rate max ramp
   .ENDBLOCK;

   .BLOCK $audio_out_dc_remove_op_right;
      .VAR audio_out_dc_remove_op_right.next = &$audio_out_warp_and_shift_op_right;
      .VAR audio_out_dc_remove_op_right.func = &$cbops.dc_remove;
      .VAR audio_out_dc_remove_op_right.param[$cbops.dc_remove.STRUC_SIZE] =
               1,                         // Input index (right cbuffer)
               1;                         // Output index (right cbuffer)
   .ENDBLOCK;

   .BLOCK $audio_out_warp_and_shift_op_right;
      .VAR audio_out_warp_and_shift_op_right.next = $cbops.NO_MORE_OPERATORS;
      .VAR audio_out_warp_and_shift_op_right.func = &$cbops.warp_and_shift;
      .VAR audio_out_warp_and_shift_op_right.param[$cbops.warp_and_shift.STRUC_SIZE] =
               1,                         // Input index (right cbuffer)
               3,                         // Output index (right output port)
               -8,                        // Shift amount
               &$WARP_FILTER_COEFS,                                                   // warp filter coefs
               &audio_out_warp_and_shift_op.right_buf,                                // warp filter buffer
               &$decoder_codec_stream_struc + $codec.stream_decode.WARP_TARGET_FIELD, // warp target address
               (WARP_RATE_MAX_RAMP / 1000000 * TMR_PERIOD_AUDIO_COPY);                // warp rate max ramp
   .ENDBLOCK;


   // ** allocate memory for mono audio out cbops copy routine **
   .VAR $mono_out_copy_struc[] =
      &$audio_out_dc_remove_op_mono,      // first operator block
      1,                                  // number of inputs
      &$audio_out_left_cbuffer_struc,     // input
      1,                                  // number of outputs
      $AUDIO_LEFT_OUT_PORT;               // output

   .BLOCK $audio_out_dc_remove_op_mono;
      .VAR audio_out_dc_remove_op_mono.next = &$audio_out_warp_and_shift_op_mono;
      .VAR audio_out_dc_remove_op_mono.func = &$cbops.dc_remove;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品99久久人人澡| 国产综合色产在线精品| 久久久亚洲高清| 色婷婷综合久色| 国产自产视频一区二区三区| 亚洲国产成人av| 中文字幕在线不卡一区二区三区| 欧美成人艳星乳罩| 欧美日韩国产首页在线观看| 北岛玲一区二区三区四区| 久久电影网电视剧免费观看| 亚洲成av人片在线观看无码| 国产精品久久久久影院| 精品国产亚洲在线| 欧美人妖巨大在线| 91行情网站电视在线观看高清版| 国产黄色精品视频| 免费观看91视频大全| 香蕉久久一区二区不卡无毒影院| 亚洲免费视频中文字幕| 欧美激情一区二区在线| 精品国产乱码久久久久久影片| 欧美日韩国产综合一区二区三区| 色哟哟国产精品| 99re成人精品视频| 99精品久久只有精品| 成人网男人的天堂| 成人免费av资源| 成人永久免费视频| 成人精品在线视频观看| 成人涩涩免费视频| 成人精品免费看| 成人va在线观看| 成人app软件下载大全免费| 成人在线视频首页| 不卡的av电影| 成人精品免费网站| 99久久免费视频.com| 91丨porny丨在线| 在线观看日韩av先锋影音电影院| 91香蕉视频在线| 在线免费观看不卡av| 欧美在线观看一二区| 欧美性生交片4| 欧美羞羞免费网站| 欧美天堂一区二区三区| 欧美日韩国产区一| 欧美一级理论性理论a| 欧美xxx久久| 久久精品亚洲麻豆av一区二区| 欧美精彩视频一区二区三区| 成人免费一区二区三区在线观看| 亚洲图片另类小说| 亚洲国产一区二区在线播放| 蜜臀a∨国产成人精品| 国产主播一区二区| 9久草视频在线视频精品| 91视频免费播放| 欧美日韩国产在线观看| 日韩女同互慰一区二区| 国产亚洲精品精华液| 中文字幕中文在线不卡住| 一区二区高清在线| 日产欧产美韩系列久久99| 国产乱码精品一区二区三区忘忧草| 成人黄色一级视频| 欧美性猛交xxxx乱大交退制版| 欧美精品一级二级| 久久精品综合网| 亚洲一区二区三区在线播放| 精品制服美女丁香| 99国内精品久久| 在线播放国产精品二区一二区四区 | 欧美一级一区二区| 欧美经典一区二区三区| 亚洲电影在线播放| 狠狠网亚洲精品| 色婷婷狠狠综合| 精品国一区二区三区| 亚洲天堂精品视频| 午夜精品免费在线观看| 国产福利一区二区三区| 欧美日韩二区三区| 国产日本欧美一区二区| 天天综合色天天| 北条麻妃国产九九精品视频| 欧美一区二区二区| 1024成人网色www| 久久99久国产精品黄毛片色诱| a4yy欧美一区二区三区| 精品免费99久久| 亚洲精品免费看| 国产成人亚洲综合色影视| 欧美日韩一区不卡| 国产精品美女久久久久久久久久久 | 国产精品欧美久久久久一区二区| 五月婷婷色综合| 91污片在线观看| 国产无人区一区二区三区| 午夜成人免费电影| 99国产精品久久久久久久久久| 日韩亚洲国产中文字幕欧美| 亚洲激情自拍视频| 成人免费毛片高清视频| 欧美电影免费观看高清完整版| 亚洲免费在线播放| 北岛玲一区二区三区四区| 久久一二三国产| 日本中文在线一区| 欧美三级蜜桃2在线观看| 综合久久久久久久| 国产成人精品免费一区二区| 日韩欧美激情四射| 亚洲线精品一区二区三区八戒| 不卡欧美aaaaa| 久久久国产精品不卡| 久久99国产精品免费| 欧美三级蜜桃2在线观看| 一区二区三区中文在线| av成人免费在线观看| 中文字幕成人在线观看| 国产成人午夜高潮毛片| 亚洲精品一区二区三区99| 蜜臀精品一区二区三区在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲精品视频观看| 91久久一区二区| 亚洲欧美日韩国产另类专区 | 日韩一区二区三区观看| 丝袜脚交一区二区| 欧美精品精品一区| 日精品一区二区| 欧美一区二区三区四区久久| 无吗不卡中文字幕| 欧美一级在线视频| 久久精品国产第一区二区三区| 日韩色在线观看| 久久精品国产精品亚洲红杏| 久久综合给合久久狠狠狠97色69| 狠狠色狠狠色综合日日91app| 欧美精品一区二区三区视频 | 制服丝袜日韩国产| 日本欧美久久久久免费播放网| 欧美电影一区二区| 麻豆视频观看网址久久| 精品电影一区二区| 国产精品一二三四| 亚洲视频狠狠干| 欧美揉bbbbb揉bbbbb| 日韩国产欧美一区二区三区| 欧美xxxxx牲另类人与| 粉嫩一区二区三区在线看| 成人欧美一区二区三区白人| 欧美亚洲综合另类| 男人的天堂久久精品| 国产亚洲女人久久久久毛片| 99这里只有久久精品视频| 一区二区免费视频| 日韩女优视频免费观看| 大白屁股一区二区视频| 亚洲免费观看高清完整| 在线不卡一区二区| 国产成人aaaa| 亚洲精品成人悠悠色影视| 91精品国产综合久久婷婷香蕉 | 国产一区二区在线观看视频| 国产欧美一区二区在线观看| 一本到高清视频免费精品| 日本欧美在线看| 国产精品丝袜久久久久久app| 91福利视频网站| 精品综合久久久久久8888| 亚洲同性gay激情无套| 8v天堂国产在线一区二区| 国产精品亚洲第一区在线暖暖韩国 | 国产精品区一区二区三区| 欧美影院一区二区| 国产一区二区三区香蕉 | 丝袜美腿成人在线| 亚洲国产岛国毛片在线| 欧美三级一区二区| 国产黄色91视频| 视频一区中文字幕| 国产精品久久久久久妇女6080| 欧美日免费三级在线| 丰满白嫩尤物一区二区| 日韩影院免费视频| 国产精品久久毛片a| 日韩欧美国产系列| 色欧美乱欧美15图片| 韩国中文字幕2020精品| 亚洲一区二区av在线| 国产精品网站一区| 欧美一二区视频| 欧美午夜一区二区三区| 99久久精品国产网站| 国产精品一二三区| 美女网站色91| 午夜精品久久久久久| 日韩美女啊v在线免费观看|