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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lbccodec.c

?? g.723.1源代碼
?? C
字號(hào):
/*
**
** File:        "lbccodec.c"
**
** Description:     Top-level source code for G.723 dual-rate codec
**
** Functions:       main
**                  Process_files()
**
**
*/


/*
    ITU-T G.723 Speech Coder   ANSI-C Source Code     Version 5.00
    copyright (c) 1995, AudioCodes, DSP Group, France Telecom,
    Universite de Sherbrooke.  All rights reserved.
*/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

#include "typedef.h"
#include "basop.h"
#include "cst_lbc.h"
#include "tab_lbc.h"
#include "lbccodec.h"
#include "coder.h"
#include "decod.h"
#include "exc_lbc.h"
#include "util_lbc.h"
#include "cod_cng.h"
#include "dec_cng.h"
#include "vad.h"

/* Global variables */
enum  Wmode    WrkMode = Both ;
enum  Crate    WrkRate = Rate63 ;

int   PackedFrameSize[2] = {
   24 ,
   20
   } ;

Flag    UseHp = True ;
Flag    UsePf = True ;
Flag    UseVx = False ;
Flag    UsePr = True ;

char  SignOn[] = "ACL/USH/FT/DSPG ANSI C CODEC ITU LBC Ver 5.00\n" ;

int main( int argc, char *argv[] )
{
    FILE    *Ifp, *Ofp ;            /* I/O File pointers */
    FILE    *Fep  = NULL;           /* Frame erasures file pointer */
    FILE    *Ratp = NULL;           /* Rate file pointer */

    long    FrCnt = 0 ;
    long    FlLen ;

    Word16  DataBuff[Frame] ;
    Word16  Crc ;
    char Rate_Rd;

    char    Line[24] ;

    printf("%s", SignOn ) ;

    /* Process arguments and open I/O files */
    FlLen = Process_Files( &Ifp, &Ofp, &Fep, &Ratp, argc, argv ) ;

    /*
      Init coder and the decoder
    */
    Init_Coder( ) ;
    Init_Decod( ) ;

    /* Init Comfort Noise Functions */
    if( UseVx ) {
        Init_Vad();
        Init_Cod_Cng( );
    }
    Init_Dec_Cng( );

    /* Process all the input file */
    do {

        switch ( WrkMode ) {

            case Both:
                if(Ratp != NULL) {
                    fread((char *)&Rate_Rd, sizeof(char), 1, Ratp);
                    WrkRate = (enum Crate)Rate_Rd;
                }
                if ( WrkRate == Rate53) reset_max_time();
                Read_lbc( DataBuff, Frame, Ifp ) ;
                Coder( DataBuff, Line ) ;
                Decod( DataBuff, Line, (Word16) 0 ) ;
                Write_lbc( DataBuff, Frame, Ofp ) ;
            break ;

            case Cod :
                if(Ratp != NULL) {
                    fread((char *)&Rate_Rd, sizeof(char), 1, Ratp);
                    WrkRate = (enum Crate)Rate_Rd;
                }
                if ( WrkRate == Rate53) reset_max_time();
                Read_lbc( DataBuff, Frame, Ifp ) ;
                Coder( DataBuff, Line ) ;
                Line_Wr( Line, Ofp ) ;
            break ;

            case Dec :
                if(Line_Rd( Line, Ifp ) == (-1)) {
                    FlLen = FrCnt;
                    break;
                }
                if ( Fep == NULL )
                    Crc = (Word16) 0 ;
                else
                    fread( (char *)&Crc, sizeof(Word16), 1, Fep ) ;
                Decod( DataBuff, Line, Crc ) ;
                Write_lbc( DataBuff, Frame, Ofp ) ;
            break ;
        }

        FrCnt ++ ;
        if( UsePr) {
            if( WrkMode == Dec) {
                if(FrCnt < FlLen) {
                    fprintf( stdout, "Done : %6ld\r", FrCnt) ;
                }
            }
            else {
                fprintf( stdout, "Done : %6ld %3ld\r", FrCnt, FrCnt*100/FlLen ) ;
            }
            fflush(stdout);
        }

    }   while ( FrCnt < FlLen ) ;

    if(Ifp) { (void)fclose(Ifp); }
    if(Ofp) { (void)fclose(Ofp); }
    if(Fep) { (void)fclose(Fep); }
    if(Ratp) { (void)fclose(Ratp); }
    return 0 ;
}


/*
   This function processes the argument parameters. The function
      opens the IO files, and sets the global arguments accordingly
      to the command line parameters.
*/
long  Process_Files( FILE **Ifp, FILE **Ofp, FILE **Fep, FILE **Ratp,
                                        int Argc, char *Argv[] )
{
    int     i ;
    long    Flen ;
    char    *FerFileName = NULL ;
    char    *RateFileName = NULL ;

    /*
      Process the argument list, if any
    */
    if (Argc < 3 ) {
        printf("Usage: %s [options] inputfile outputfile \n", Argv[0]);
        exit(1);
    }

    for ( i = 1 ; i < Argc-2 ; i ++ ) {

        /* Check the coder rate */
        if ( ! strncmp( "-r", Argv[i], 2) ) {
            if ( ! strcmp("63", Argv[i]+2) ) {
                WrkRate = Rate63 ;
                continue ;
            }

            else if ( ! strcmp("53", Argv[i]+2) ) {
                WrkRate = Rate53 ;
                continue ;
            }

            else {
                RateFileName = &Argv[i][2] ;
                continue ;
            }
        }

        /* Check Working mode */
        if ( ! strcmp("-b", Argv[i]) ) {
            WrkMode = Both ;
            continue ;
        }

        if ( ! strcmp("-c", Argv[i]) ) {
            WrkMode = Cod ;
            continue ;
        }

        if ( ! strcmp("-d", Argv[i]) ) {
            WrkMode = Dec ;
            continue ;
        }

        if ( ! strcmp("-v", Argv[i]) ) {
            UseVx = True ;
            continue ;
        }

        if ( ! strcmp("-Noh", Argv[i]) ) {
            UseHp = False;
            continue ;
        }

        if ( ! strcmp("-Nop", Argv[i]) ) {
            UsePf = False;
            continue ;
        }

        if ( ! strncmp( "-f", Argv[i], 2) ) {
            FerFileName = &Argv[i][2] ;
            continue ;
        }

        if ( ! strcmp("-n", Argv[i]) ) {
            UsePr = False;
            continue ;
        }

        fprintf(stderr, "Illegal argument, %s\n", Argv[i] ) ;
        exit(1) ;
    }

    *Ifp = fopen( Argv[Argc-2], "rb") ;
    if ( *Ifp == NULL ) {
        fprintf(stderr, "Invalid input file name: %s\n", Argv[Argc-2] ) ;
        exit(1) ;
    }

    if ( UsePr )
        printf("Input  file:     %s\n", Argv[Argc-2] ) ;

    *Ofp = fopen( Argv[Argc-1], "wb") ;
    if ( *Ofp == NULL ) {
        fprintf(stderr, "Can't open output file: %s\n", Argv[Argc-1] ) ;
        exit(1) ;
    }
    if ( UsePr )
        printf("Output file:     %s\n", Argv[Argc-1] ) ;

    /* Open Fer file if required */
    if ( WrkMode == Dec ) {

        if ( FerFileName != NULL ) {
            *Fep = fopen( FerFileName, "rb" ) ;
            if ( *Fep == NULL ) {
                fprintf(stderr, "Can't open FER file: %s\n", FerFileName ) ;
                exit(1) ;
            }
            if ( UsePr )
                printf("FER    file:     %s\n", FerFileName ) ;
        }
    }
    else {
        if ( RateFileName != NULL ) {
            *Ratp = fopen( RateFileName, "rb" ) ;
            if ( *Ratp == NULL ) {
                fprintf(stderr, "Can't open Rate file: %s\n", RateFileName ) ;
                exit(1) ;
            }
            if ( UsePr )
                printf("Rate   file:     %s\n", RateFileName ) ;
        }
    }

    /* Options report */
    if ( UsePr ) {

        printf("Options:\n");
        if (WrkMode == Both )
            printf("Encoder/Decoder\n");
        else if (WrkMode == Cod )
            printf("Encoder\n");
        else
            printf("Decoder\n");


        if( WrkMode != Cod ) {
            if (UsePf == 0 )
                printf("Postfilter disabled\n");
            else
                printf("Postfilter enabled\n");
        }

        if( WrkMode <= Cod ) {
            if(*Ratp == NULL) {
                if (WrkRate == Rate63 )
                    printf("Rate 6.3 kb/s\n");
                else
                    printf("Rate 5.3 kb/s\n");
            }
            if (UseHp == 0 )
                printf("Highpassfilter disabled\n");
            else
                printf("Highpassfilter enabled\n");
            if (UseVx == 0 )
                printf("VAD/CNG disabled\n");
            else
                printf("VAD/CNG enabled\n");
        }
    }

    /*
      Compute the file length
    */
    fseek( *Ifp, 0L, SEEK_END ) ;
    Flen = ftell( *Ifp ) ;
    rewind( *Ifp ) ;
    if ( WrkMode == Dec )
        Flen = 0x7fffffffL ;
    else
        Flen /= sizeof(Word16)*Frame ;

    return Flen ;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日韩欧美一区二区在线| 麻豆高清免费国产一区| 国产精品福利一区二区三区| 国产亚洲一区二区在线观看| 国产精品你懂的在线欣赏| 国产精品久久久久国产精品日日| 中文字幕在线观看一区| 午夜伊人狠狠久久| 成人污污视频在线观看| 91美女在线看| 欧美大片日本大片免费观看| 国产精品久线在线观看| 色婷婷亚洲一区二区三区| 4hu四虎永久在线影院成人| 欧美激情中文字幕| 肉色丝袜一区二区| 成年人午夜久久久| 欧美日韩精品福利| 国产欧美一区二区精品婷婷| 一区二区三区欧美亚洲| 精品一区二区久久久| 91久久人澡人人添人人爽欧美| 在线播放视频一区| 国产精品国产三级国产有无不卡| 一区二区三区免费网站| 国产一区二区看久久| 欧美三级日本三级少妇99| 国产亚洲美州欧州综合国| 亚洲国产精品一区二区久久恐怖片 | 高清在线不卡av| 欧美日韩不卡一区| 亚洲人一二三区| 国产伦精品一区二区三区免费迷| 欧美午夜精品久久久久久超碰| 久久久久亚洲蜜桃| 青娱乐精品视频| 欧洲激情一区二区| 亚洲欧美综合网| 韩国欧美国产一区| 日韩午夜精品视频| 午夜影视日本亚洲欧洲精品| 91农村精品一区二区在线| 国产色91在线| 久久精品国产99国产| 欧美精品亚洲一区二区在线播放| 自拍偷自拍亚洲精品播放| 成人激情av网| 日本一区二区视频在线观看| 久久成人免费网站| 欧美一区二区三区在线视频| 一区二区三区日韩欧美精品| 99久久国产综合色|国产精品| 国产亚洲精品中文字幕| 韩国av一区二区三区在线观看| 欧美色图天堂网| 亚洲另类在线制服丝袜| 97精品久久久午夜一区二区三区 | 日韩主播视频在线| 色狠狠色噜噜噜综合网| 国产精品久久午夜夜伦鲁鲁| 国产91精品在线观看| 精品国产凹凸成av人导航| 久久er精品视频| 久久人人97超碰com| 国产一区二区福利| 中文字幕不卡在线观看| 99国内精品久久| 玉足女爽爽91| 91精品欧美福利在线观看| 日本在线不卡一区| 久久网这里都是精品| 国产91丝袜在线18| 亚洲欧美一区二区三区国产精品| 9人人澡人人爽人人精品| 亚洲色图在线播放| 在线免费不卡视频| 日韩综合小视频| 久久久蜜臀国产一区二区| 成+人+亚洲+综合天堂| 亚洲靠逼com| 欧美一区日韩一区| 国产69精品久久99不卡| 亚洲色图制服诱惑 | 国产一区中文字幕| 国产欧美日韩视频一区二区| 91黄视频在线| 久久不见久久见免费视频1| 国产精品网站在线播放| 欧美在线影院一区二区| 奇米精品一区二区三区在线观看| 国产午夜精品理论片a级大结局| 91麻豆免费观看| 精品综合久久久久久8888| 日韩伦理免费电影| 91精品国产免费| 成人综合在线视频| 日日骚欧美日韩| 国产精品污网站| 日韩视频在线你懂得| 91丨porny丨最新| 麻豆91在线播放| 一区二区三区自拍| 国产欧美一区二区三区在线老狼 | 粉嫩欧美一区二区三区高清影视| 亚洲精品成人精品456| 欧美不卡一区二区| 欧美在线观看视频一区二区三区| 久久不见久久见免费视频1| 一区二区三区欧美久久| 国产欧美日韩综合| 91精品国产综合久久久蜜臀粉嫩| 成人免费高清视频在线观看| 蜜臀久久久久久久| 亚洲第一狼人社区| 亚洲男人天堂一区| 国产女主播在线一区二区| 欧美一区二区成人| 欧美三级中文字幕在线观看| 成人av在线看| 精品影院一区二区久久久| 亚洲综合色丁香婷婷六月图片| 久久亚洲免费视频| 欧美大片日本大片免费观看| 欧美日韩国产a| 一本色道a无线码一区v| 国产在线国偷精品免费看| 午夜精品久久久久久| 亚洲黄色小说网站| 亚洲毛片av在线| 中文字幕一区av| 国产精品乱码一区二三区小蝌蚪| 精品入口麻豆88视频| 日韩欧美国产电影| 这里是久久伊人| 欧美无人高清视频在线观看| aaa欧美大片| 91在线高清观看| 成人精品鲁一区一区二区| 国产精品亚洲人在线观看| 久久国产综合精品| 久久精品国产999大香线蕉| 麻豆精品新av中文字幕| 蜜臀av性久久久久蜜臀aⅴ| 日韩电影在线免费看| 亚洲国产精品一区二区久久| 一区二区三区精品在线| 一区二区免费看| 偷窥少妇高潮呻吟av久久免费| 亚洲国产日韩一区二区| 亚洲1区2区3区视频| 爽爽淫人综合网网站| 日韩av午夜在线观看| 蜜桃视频免费观看一区| 久久99久久99小草精品免视看| 狠狠色综合色综合网络| 国产一区二区三区久久久| 国产成人午夜精品影院观看视频| 国内精品视频666| 国产白丝精品91爽爽久久| 国产91精品入口| 91影院在线观看| 欧美综合亚洲图片综合区| 欧美日韩视频一区二区| 日韩你懂的电影在线观看| 久久精品一区蜜桃臀影院| 国产精品久久久一区麻豆最新章节| 综合激情网...| 日韩和欧美一区二区三区| 精品一区二区精品| www.欧美日韩| 欧美视频一区在线| 精品国产凹凸成av人网站| 国产精品久久久久aaaa| 午夜精品成人在线视频| 久88久久88久久久| 99精品国产99久久久久久白柏| 欧美三级中文字幕| 久久精品免视看| 亚洲一区二区三区免费视频| 久久激五月天综合精品| 91首页免费视频| 欧美一区二区福利视频| 国产精品久久久久久久第一福利| 亚洲高清不卡在线| 国产精品亚洲综合一区在线观看| 色综合久久综合中文综合网| 欧美一级夜夜爽| 国产精品久久夜| 青青草国产精品亚洲专区无| 成人蜜臀av电影| 69堂亚洲精品首页| 中文字幕成人网| 蜜臀av一区二区| 91视视频在线观看入口直接观看www| 3atv一区二区三区| 亚洲天堂2014| 国产精品一色哟哟哟| 欧美日本韩国一区二区三区视频| 亚洲国产精品av| 免费亚洲电影在线|