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

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

?? tty_dec.c

?? 完整的EVRC壓縮解壓縮算法源碼,附帶一個簡單的例子程序。
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* purpose is prohibited.                                            */
/*                                                                   */
/*-------------------------------------------------------------------*/


#include <stdio.h>
#include "typedef.h"
#include "tty.h"
#include "basic_op.h"

#include "tty_dbg.h"

#define DEBUG_LEVEL     2
#define DEBUG(n,x)      if( (n <= DEBUG_LEVEL || DEBUG_LEVEL < 0) && tty_debug_print_flag) {x}

Word16    counter_hist[TTY_BUF_SIZE];
Word16    char_hist[TTY_BUF_SIZE];
Word16    tty_rate_hist[TTY_BUF_SIZE];

/*Word16    debug_frame_counter = 0; */   /* for debugging only */
/*unsigned long   tty_dec_char_count = 0;*/ /* Moved to tty_gen.c: for debugging only */

/***********************************************************************
*   init_tty_dec()
************************************************************************/
void init_tty_dec()
{
    Word16   i;
    extern Word16    stop_bit_len[NUM_TTY_RATES];
    extern Word16    data_bit_len[NUM_TTY_RATES];

    data_bit_len[TTY_45_BAUD] = DATA_BIT_LEN_45_BAUD;
    stop_bit_len[TTY_45_BAUD] = STOP_BIT_LEN_45_BAUD;
    data_bit_len[TTY_50_BAUD] = DATA_BIT_LEN_50_BAUD;
    stop_bit_len[TTY_50_BAUD] = STOP_BIT_LEN_50_BAUD;

    for( i=0 ; i < TTY_BUF_SIZE ; i++ )
    {
        char_hist[i] = 0;
        counter_hist[i] = NON_TTY;
        tty_rate_hist[i] = DEFAULT_TTY_BAUD_RATE;
    }

    init_tty_gen(NON_TTY,0,0);

}



/***********************************************************************
*   tty_dec()
************************************************************************/
Word16 tty_dec(
    Word16   buf[],
    Word16   acb_gain,
    Word16   tty_header,
    Word16   tty_char,
    Word16   tty_baud_rate,
    Word16   fer_flag,
    Word16   subframe,
    Word16   num_subfr,
    Word16   length
)
{
    Word16   counter;
    Word16   error;
    Word16   num;
    Word16   best_num;
    Word16   best_counter;
    Word16   best_char;
    Word16   best_rate;
    Word16   i;

    Word16   j;



  /* Convert the received header values */
  counter = tty_header;
  tty_header_in( &counter );

                                                    
  if( subframe == 0 )
  {

    if( sub(fer_flag,1) == 0 )
    {
        DEBUG(1,fprintf(stdout,"Frame Error\n");)
        counter_hist[0] = TTY_FER;                          
        char_hist[0] = 0;                             	    
    }

    /* Detect if Baudot signal is being received */
    else if( acb_gain != 0 )
    {
                                                            
        counter_hist[0] = NON_TTY;                          
        char_hist[0] = 0;                                   
    }

    /* Sanity check the received information */
    else if( (sub(counter,TTY_SILENCE) == 0 && sub(tty_char,TTY_SILENCE_CHAR) != 0)
            || (sub(counter,TTY_ONSET) == 0 && sub(tty_char,TTY_ONSET_CHAR) != 0)
            || sub(counter,TTY_COUNTER_MAX) > 0
            || sub(counter,TTY_COUNTER_MIN) < 0
            || sub(tty_char,TTY_CHAR_MAX) > 0
            || sub(tty_char,TTY_CHAR_MIN) < 0 )
    {
                                                            
        counter_hist[0] = NON_TTY;                          
        char_hist[0] = 0;                                   
    }
    else
    {
                                                            
        counter_hist[0] = counter;                          
        char_hist[0] = tty_char;                            
        tty_rate_hist[0] = tty_baud_rate;                   
    }


/*----------------------------------------------------------------*/
DEBUG(1,
    fprintf(stdout,"----------------------------------------\n");
    for( i=0 ; i < TTY_BUF_SIZE ; i++ )
    {
        if( counter_hist[i] == NON_TTY )
            fprintf(stdout,"( non )");
        else if( counter_hist[i] == TTY_FER )
            fprintf(stdout,"( FER )");
        else if( counter_hist[i] == TTY_SILENCE && char_hist[i] == TTY_SILENCE_CHAR)
            fprintf(stdout," slnce ");
        else if( counter_hist[i] == TTY_ONSET && char_hist[i] == TTY_ONSET_CHAR)
            fprintf(stdout," onset ");
        else if( counter_hist[i] == TTY_EIGHTH_RATE )
            fprintf(stdout,"( 8th )");
        else
            fprintf(stdout,"(%2d,%2d)",10*tty_rate_hist[i]+counter_hist[i],char_hist[i]);
    }
    fprintf(stdout,"__\n");
) /* end DEBUG() */
/*----------------------------------------------------------------*/

    /*************************************************************
    *  The transition from NON_TTY to any TTY state must
    *  be voted on by the TTY FER handler.  Hence all transitions
    *  away from NON_TTY is treated as a FER
    *  This cuts down on false alarms.
    *************************************************************/
    if( (counter_hist[CURRENT_FRAME] & (TTY_SILENCE|TTY_ONSET|COUNTER_BETWEEN_START_STOP)) != 0
        && sub(counter_hist[CURRENT_FRAME+1],NON_TTY) == 0
      )
    {
        DEBUG(2,fprintf(stdout,"tty_dec(): Illegal transition, forcing FER...\n");)
        counter_hist[CURRENT_FRAME] = TTY_FER;              
        char_hist[CURRENT_FRAME] = 0;                       
    }

    /*--------------------------------------------------------------
    * Sanity check and correct FER in middle of character
    *---------------------------------------------------------------*/

    /*********************************************************************
    *  Check for the start of a new character detected or there is an FER
    *  at the beginning or end of a character.  If it is a new character,
    *  make sure the next 8 frames have the same counter and
    *  character value.  This corrects FERS in the middle of a
    *  character.  If there is an FER at the transition of a character,
    *  then use the lookahead frames to vote on the most likely character.
    ***********************************************************************/

    error = 0;                                          
                                                            
    if( ( ( sub(counter_hist[CURRENT_FRAME],counter_hist[CURRENT_FRAME+1]) != 0
            || sub(char_hist[CURRENT_FRAME],char_hist[CURRENT_FRAME+1]) != 0)
          && (counter_hist[CURRENT_FRAME] & COUNTER_BETWEEN_START_STOP) != 0 )
        || sub(counter_hist[CURRENT_FRAME],TTY_FER) == 0
      )
    {

        error = 1;                                          
    }
                                                            
        /*  If an error was detected above, correct it */
    if( error > 0 )
    {
        /* Look ahead 7 frames max for 50 baud */
        error = 7;                          
        if( tty_rate_hist[CURRENT_FRAME+1] == 0 )
        {
            /* Look ahead 8 frames max for 45.45 baud */
            error = 8;                      
        }

        best_num = 2;                                    
        best_counter = counter_hist[CURRENT_FRAME+1];    
        best_char = char_hist[CURRENT_FRAME+1];          
        best_rate = tty_rate_hist[CURRENT_FRAME+1];      
        for( i=CURRENT_FRAME+1 ; i > sub(CURRENT_FRAME,error) ; i-- )
        {
                                                         
            /* Exclude FERs from winning */
            if( sub(counter_hist[i],TTY_FER) != 0 )
            {
                num = 0;                                 
                for( j=CURRENT_FRAME+1 ; j > CURRENT_FRAME-error ; j-- )
                {
                                                         
                    if( sub(counter_hist[i],counter_hist[j]) == 0
                        && sub(char_hist[i],char_hist[j]) == 0
                        && sub(tty_rate_hist[i],tty_rate_hist[j]) == 0 )
                    {
                        num = add(num,1);                           
                    }
                }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本在线高清不卡dvd| 2014亚洲片线观看视频免费| 国产精品网站导航| 99久久精品情趣| 一区二区在线观看免费 | 成人黄色777网| 国产精品久久久久久久裸模| 99久久精品情趣| 亚洲大尺度视频在线观看| 337p亚洲精品色噜噜| 极品少妇xxxx精品少妇偷拍| 中文子幕无线码一区tr | 91久久精品网| 日日摸夜夜添夜夜添精品视频| 91精品国产品国语在线不卡 | 久久se精品一区二区| 国产色产综合产在线视频| 成人福利视频网站| 天天av天天翘天天综合网色鬼国产| 91精品国产色综合久久不卡蜜臀 | 亚洲一区二区综合| 精品少妇一区二区三区在线视频| 国产高清精品久久久久| 亚洲乱码国产乱码精品精98午夜| 欧美日韩国产高清一区| 国产美女久久久久| 亚洲国产综合在线| 精品国产网站在线观看| 91在线国产福利| 蜜桃视频一区二区三区| 国产精品久久网站| 日韩欧美三级在线| 色噜噜夜夜夜综合网| 久久国产精品第一页| 中文字幕在线不卡| 日韩精品一区二区三区在线| 91一区二区在线| 九九国产精品视频| 五月激情六月综合| 亚洲欧美日韩国产一区二区三区| 欧美变态tickle挠乳网站| 色先锋aa成人| 国产v综合v亚洲欧| 久久精品国产一区二区| 亚洲电影视频在线| 亚洲日本电影在线| 久久亚洲影视婷婷| 91精品一区二区三区久久久久久 | 欧美综合亚洲图片综合区| 国产美女久久久久| 老司机免费视频一区二区| 亚洲在线视频免费观看| 国产精品卡一卡二| 久久久久久久久久久黄色| 欧美丰满美乳xxx高潮www| 色呦呦国产精品| 99久久99久久精品免费看蜜桃| 国产一区二区三区在线观看免费视频 | 亚洲成av人片一区二区梦乃 | 亚洲欧美视频在线观看视频| 日韩精品专区在线| 欧美精品在线一区二区三区| 欧美伊人久久久久久久久影院 | 欧美亚洲国产一区二区三区va | 亚洲欧美在线观看| 日本一区二区三区国色天香| 精品国产一区二区国模嫣然| 欧美一级理论片| 欧美一区2区视频在线观看| 在线免费一区三区| 一本到三区不卡视频| aaa国产一区| 97久久久精品综合88久久| 成人国产电影网| 91在线视频观看| 91香蕉视频污在线| 色拍拍在线精品视频8848| 91免费国产在线| 色综合久久综合中文综合网| 99久久免费视频.com| 99精品偷自拍| 色欲综合视频天天天| 91国内精品野花午夜精品 | 欧美日本视频在线| 欧美久久久久久蜜桃| 欧美一级高清片| 欧美精品一区二区三区一线天视频 | 51久久夜色精品国产麻豆| 欧美美女网站色| 日韩一级视频免费观看在线| 精品国产伦理网| 国产欧美日韩精品一区| 国产精品欧美一级免费| 亚洲日穴在线视频| 亚洲成人免费av| 麻豆国产欧美一区二区三区| 国内精品写真在线观看| 丁香激情综合国产| 一本大道久久a久久精二百| 欧美日韩精品三区| 久久伊人中文字幕| ...xxx性欧美| 日韩av高清在线观看| 国产一区二区免费视频| 成人精品视频一区二区三区尤物| 色又黄又爽网站www久久| 欧美一区二区三区视频在线| 久久久亚洲精华液精华液精华液| 亚洲欧洲日韩一区二区三区| 亚洲一区二区在线视频| 国产最新精品精品你懂的| av在线一区二区| 欧美一区二区在线看| 久久精品亚洲国产奇米99| 一区二区久久久久久| 另类调教123区| 91国偷自产一区二区开放时间 | 国产日韩av一区二区| 尤物av一区二区| 国产美女在线观看一区| 色网综合在线观看| 久久久精品中文字幕麻豆发布| 日韩美女视频一区| 欧美变态tickle挠乳网站| 日韩毛片视频在线看| 免费人成在线不卡| 91免费观看在线| 久久综合色8888| 日韩和欧美一区二区三区| 国产成a人亚洲精品| 欧美一区二区三区四区五区| 综合av第一页| 国产精品一区专区| 欧美精品久久天天躁| 最近日韩中文字幕| 国产乱码精品一区二区三区忘忧草| 欧美色图免费看| 亚洲少妇最新在线视频| 国产精一区二区三区| 欧美一区二区三区电影| 一区二区三区在线高清| 国产电影精品久久禁18| 日韩欧美电影在线| 日韩精品一区第一页| 在线免费观看一区| 国产精品的网站| 国产裸体歌舞团一区二区| 日韩欧美自拍偷拍| 亚洲成人一区在线| 91美女精品福利| 亚洲欧洲国产日本综合| 国产成人免费在线视频| 欧美成人精品1314www| 亚洲综合成人在线| 91在线视频18| 自拍av一区二区三区| 丁香激情综合五月| 久久精品欧美一区二区三区不卡| 蜜桃视频在线一区| 日韩精品中午字幕| 久久精品国产一区二区三| 日韩一区二区三区视频在线观看| 日韩精品三区四区| 欧美一区二区网站| 美女国产一区二区| 欧美va亚洲va国产综合| 精品在线免费视频| 亚洲精品在线网站| 国产乱码精品一品二品| 久久免费看少妇高潮| 成人综合婷婷国产精品久久| 久久久久亚洲综合| 国产成人精品影院| 国产精品福利一区二区三区| eeuss鲁一区二区三区| 亚洲人成网站影音先锋播放| 色妞www精品视频| 亚洲在线视频一区| 3atv在线一区二区三区| 激情综合五月婷婷| 久久久www成人免费无遮挡大片| 国产精品99久久久| 亚洲欧美在线另类| 欧美日韩高清影院| 久久99精品久久久| 国产欧美精品一区二区色综合| 99视频一区二区| 午夜免费久久看| 精品久久久久久综合日本欧美| 国产成人综合亚洲网站| 中文字幕av一区二区三区高| 一本色道综合亚洲| 免费欧美高清视频| 国产色综合久久| 欧美在线free| 狠狠色丁香婷综合久久| 中文字幕一区二区三区在线播放 | 舔着乳尖日韩一区| 精品国产乱码久久久久久浪潮| 成人黄动漫网站免费app|