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

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

?? dit2a.c

?? 完整的EVRC壓縮解壓縮算法源碼,附帶一個簡單的例子程序。
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Permission is granted to 3GPP2 participants to copy any portion of*/
/* this contribution for the legitimate purpose of the 3GPP2.        */
/* Copying this contribution for monetary gain or other non-3GPP2    */
/* purpose is prohibited.                                            */
/*                                                                   */
/*-------------------------------------------------------------------*/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <math.h>
#include "typedef.h"
#include "tty.h"
#include "basic_op.h"

#include "tty_dbg.h"

#define DEBUG_LEVEL     1   /* 0=OFF, -1=ALL ON, or [1-5] */
#define DEBUG(n,x)      if( (n <= DEBUG_LEVEL || DEBUG_LEVEL < 0) && tty_debug_print_flag) {x}

#define MIN_TTY_ONSET_FRAMES    4   /* Minimum times to transmit TTY_ONSET */

#define FRAMING_HANGOVER    12      /* # of frames from the start
                                    *  of framing a character 
                                    *  to still output that  
                                    *  character's info
                                    */


void FlushBuffer(Word16 *inbuf,Word16 bufLen,Word16 fillValue);

Word16    framingCount;
Word16    ttyState;
Word16    last_char_counter;
Word16    first_tty_char_flag;

Word16    last_tty_char;

Word16  tty_bit_hist[TTY_BIT_HIST_LEN];
Word16  tty_bit_len_hist[TTY_BIT_HIST_LEN];

unsigned long   dit2a_char_count = 0;   /* for debugging only */

/*********************************************************************
*   init_dit_to_ascii()
**********************************************************************/

void init_dit_to_ascii()
{
	/* initialize stuff */

    ttyState = NON_TTY_MODE;
    framingCount = -MIN_TTY_ONSET_FRAMES;
    last_tty_char = -1;

    last_char_counter = TTY_COUNTER_STOP;
    first_tty_char_flag = 0;

    FlushBuffer(tty_bit_hist,TTY_BIT_HIST_LEN,UNKNOWN);
    FlushBuffer(tty_bit_len_hist,TTY_BIT_HIST_LEN,0);

} 
	
/*********************************************************************
*   dit_to_ascii()
**********************************************************************/

void dit_to_ascii(
    Word16  *tty_char,      /* (i/o): prev/new character decision   */
    Word16  *char_counter,  /* (i/o): prev/new character counter    */
    Word16  *tty_baud_rate, /* (i/o): prev/new character counter    */
    Word16  ditbuf[])     /* (i): dits for current frame          */
{
    
    Word16  temp;
    Word16  bit_index;


    DEBUG(2,fprintf(stdout,"--------------------------------------\n");)

    if( sub(framingCount,FRAMING_HANGOVER) >= 0 )
    {
        last_tty_char = -1;
        framingCount = 0;
    }

    bit_index = 0;
    while( sub(bit_index,DITBUF_LEN-MIN_BIT_LEN+1) < 0 )
    {
        temp = get_tty_bit( tty_bit_hist,
                            tty_bit_len_hist,
                            &bit_index,
                            ditbuf,
                            *tty_baud_rate );

        DEBUG(2,
        {
          int   i;
            fprintf(stdout,"\ntty_bit_hist[]: ");
            for( i=0 ; i < TTY_BIT_HIST_LEN ; i++ )
            {
                fprintf(stdout," %3d",tty_bit_hist[i]);
            }
            fprintf(stdout,"\n                ");
            for( i=0 ; i < TTY_BIT_HIST_LEN ; i++ )
            {
                fprintf(stdout," %3d",tty_bit_len_hist[i]);
            }
            fprintf(stdout,"\n\n");
        }
        )


        temp = get_tty_char( tty_char, tty_bit_hist, tty_bit_len_hist );

        get_tty_state( &ttyState,
                       first_tty_char_flag,
                       tty_bit_hist,
                       tty_bit_len_hist );

                                                        
        if( temp != 0 )
        {
            if( framingCount > 0 )
            {
                framingCount = 0;                       
            }
            first_tty_char_flag = 1;                    

            /* Increment to next counter value (by shifting) */
            *char_counter = shl(last_char_counter,1);     
                                                        
            if( sub((*char_counter),TTY_COUNTER_STOP) > 0 )
            {
                *char_counter = TTY_COUNTER_START;      
            }
            last_char_counter = *char_counter;          
            last_tty_char = *tty_char;

            tty_rate( tty_baud_rate, tty_bit_len_hist );

            ++dit2a_char_count;

            DEBUG(1,fprintf(stdout,"dit2a: %lu: Regained char = %2d  counter = %d  rate = %d\n",
                dit2a_char_count, *tty_char, *char_counter, *tty_baud_rate );)
        }

    } /* end while() */

    if( last_tty_char < 0 ) /* if a character is not ready */
    {
        if( sub(ttyState,NON_TTY_MODE) == 0 )
        {
                                                        
            *char_counter = NON_TTY;                    
            *tty_char = 0;                              
            framingCount = -MIN_TTY_ONSET_FRAMES;
        }
        else /* ttyState == TTY_ONSET */
        {
            /***
            **** FIX: changed from SILENCE to ONSET so that encoder
            **** forces the rate to full rate - sab
            ***/
            
            *char_counter = TTY_ONSET;                  
            *tty_char = TTY_ONSET_CHAR;                 
            if( framingCount < 0 )
            {
                framingCount = add(framingCount,1);
            }
        }
    }
    else if( framingCount < 0 ) /* if a character is ready but not enough TTY_ONSET messages */
    {
        *char_counter = TTY_ONSET;                  
        *tty_char = TTY_ONSET_CHAR;                 
        framingCount = add(framingCount,1);
    }
    else
    {
        *char_counter = last_char_counter;
        *tty_char = last_tty_char;
        framingCount = add(framingCount,1);
    }


    DEBUG(3,fprintf(stdout,"ttyState = %2d  framingCount = %2d  counter = %2d  char = %2d\n",
        ttyState,framingCount,*char_counter,*tty_char);)

    
} /* end dit_to_ascii() */



/*********************************************************************
*   FlushBuffer()
**********************************************************************/

void FlushBuffer(Word16 *inbuf,Word16 bufLen,Word16 fillValue)
{
    Word16  i;

	for(i=0; i<bufLen; ++i)
    {
        inbuf[i] = fillValue;                               
    }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线999| 国产精品一品二品| 欧美日韩精品一二三区| 亚洲一区二区三区视频在线| 欧美精品日韩精品| 亚洲三级视频在线观看| 色婷婷亚洲综合| 丝袜国产日韩另类美女| 日韩欧美一二三| 国产黄色精品网站| 亚洲三级在线免费| 欧美一二三四在线| 国产精品一区二区在线播放| 17c精品麻豆一区二区免费| 欧美探花视频资源| 久久精品二区亚洲w码| 欧美国产在线观看| 欧美日韩第一区日日骚| 精品亚洲免费视频| 亚洲色图在线看| 日韩一区二区三区三四区视频在线观看| 久久91精品久久久久久秒播| 国产精品久线观看视频| 欧美日韩日本视频| 国产寡妇亲子伦一区二区| 亚洲欧美日韩精品久久久久| 51午夜精品国产| 成人av中文字幕| 日韩高清国产一区在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 老司机免费视频一区二区三区| 久久夜色精品国产噜噜av| 日本丶国产丶欧美色综合| 久久aⅴ国产欧美74aaa| 亚洲欧美另类久久久精品2019| 91精品午夜视频| k8久久久一区二区三区| 麻豆国产精品视频| 亚洲精品视频一区| 久久亚洲精品国产精品紫薇| 欧美三级一区二区| 福利电影一区二区三区| 免费观看成人av| 亚洲欧美福利一区二区| wwwwww.欧美系列| 精品视频在线看| 91理论电影在线观看| 韩国毛片一区二区三区| 亚洲成人一二三| 亚洲裸体xxx| 国产日韩欧美电影| 精品伦理精品一区| 欧美人妖巨大在线| 91久久人澡人人添人人爽欧美| 国产大陆精品国产| 久久91精品久久久久久秒播| 日韩精品免费专区| 亚洲成人一区二区| 亚洲综合成人网| 樱桃视频在线观看一区| 国产精品动漫网站| 国产欧美精品一区二区三区四区| 欧美电影免费观看高清完整版在线 | 精品在线视频一区| 日本成人在线网站| 天堂蜜桃91精品| 亚洲成人av一区| 香蕉久久夜色精品国产使用方法 | 精一区二区三区| 日韩不卡在线观看日韩不卡视频| 夜夜爽夜夜爽精品视频| 一区免费观看视频| 国产精品电影院| 亚洲欧洲国产专区| 亚洲欧洲性图库| 国产精品国产三级国产aⅴ无密码| 久久综合视频网| 久久久另类综合| 国产亚洲精品免费| 国产日韩欧美不卡| 日韩美女视频一区| 亚洲美女精品一区| 亚洲综合色区另类av| 婷婷国产在线综合| 久久se精品一区二区| 国产一区在线看| 国产+成+人+亚洲欧洲自线| 91香蕉视频黄| 欧美无人高清视频在线观看| 欧美伦理电影网| 日韩欧美你懂的| 久久美女艺术照精彩视频福利播放| 国产目拍亚洲精品99久久精品| 国产精品的网站| 一区二区三区日韩在线观看| 亚洲成a人片在线观看中文| 免费成人av在线播放| 国产精品1024| 色婷婷久久久亚洲一区二区三区| 欧美日韩亚洲丝袜制服| 欧美一二区视频| 亚洲国产成人在线| 亚洲成人av一区二区三区| 久久99国产精品久久99果冻传媒| 国产成人一级电影| 精品视频免费看| 久久综合久久综合久久综合| 1000精品久久久久久久久| 丝袜诱惑制服诱惑色一区在线观看| 免费在线视频一区| 99国产精品久久久久久久久久久 | 成人精品电影在线观看| 五月天激情小说综合| 蜜桃精品视频在线观看| 精品日韩欧美在线| 国产精品亲子伦对白| 香蕉加勒比综合久久| 国产ts人妖一区二区| 欧美揉bbbbb揉bbbbb| xf在线a精品一区二区视频网站| 国产精品成人网| 久久精品国产亚洲5555| av在线一区二区三区| 欧美电影精品一区二区| 亚洲欧美日韩久久| 国产一区二区三区国产| 欧美群妇大交群的观看方式| 国产欧美一区二区三区沐欲| 亚洲电影你懂得| 成人综合日日夜夜| 欧美一二三在线| 亚洲国产视频一区二区| 粉嫩一区二区三区在线看| 欧美剧在线免费观看网站| 国产精品麻豆一区二区| 麻豆精品久久精品色综合| 色婷婷av一区二区| 国产精品毛片无遮挡高清| 久久国产剧场电影| 欧美日韩午夜在线视频| 亚洲日穴在线视频| 国产乱国产乱300精品| 日韩三级视频中文字幕| 亚洲一区视频在线| 91亚洲午夜精品久久久久久| 久久看人人爽人人| 久久精品国产一区二区三| 欧美另类一区二区三区| 一二三四社区欧美黄| 99久久精品国产观看| 国产亚洲成av人在线观看导航| 免费精品视频在线| 日韩一区二区不卡| 日韩电影一二三区| 精品视频免费在线| 亚洲高清免费观看高清完整版在线观看| 国产视频一区二区在线| 精品亚洲porn| 精品久久久久久最新网址| 人人爽香蕉精品| 欧美精品视频www在线观看| 亚洲黄网站在线观看| 91原创在线视频| 亚洲精品成人a在线观看| 91麻豆国产福利在线观看| 亚洲视频 欧洲视频| 91久久久免费一区二区| 亚洲理论在线观看| 在线观看一区二区视频| 亚洲午夜精品在线| 欧美日韩国产综合一区二区 | 精品国产免费人成电影在线观看四季 | 懂色av中文一区二区三区| 久久精品人人做人人爽97| 麻豆国产一区二区| 国产午夜三级一区二区三| 国模无码大尺度一区二区三区| 精品国产电影一区二区| 国产在线精品免费| 中文字幕中文在线不卡住| 丁香婷婷综合激情五月色| 日韩一区在线看| 欧洲亚洲精品在线| 美国三级日本三级久久99| 久久久久久夜精品精品免费| 成人精品亚洲人成在线| 一区二区三区四区不卡视频| 欧美高清你懂得| 久草热8精品视频在线观看| 中文字幕乱码日本亚洲一区二区| 欧美精品一区二区不卡| 国产高清精品在线| 亚洲精品综合在线| 日韩亚洲欧美一区| 成人在线一区二区三区| 亚洲男同1069视频| 欧美一区二区三区精品| 岛国一区二区三区| 午夜精品久久久久久久久久| 久久婷婷国产综合精品青草 |