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

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

?? lbccode2.c

?? 這是G.723和G.729的音頻編解碼的源代碼
?? C
字號:
/*
**
** File:        "lbccode2.c"
**
** Description:     Top-level source code for G.723.1 dual-rate codec
**
** Functions:       main
**                  Process_files()
**
**
*/

/*
    ITU-T G.723.1 Floating Point Speech Coder ANSI C Source Code.  Version 5.1F

    Original fixed-point code copyright (c) 1995,
    AudioCodes, DSP Group, France Telecom, Universite de Sherbrooke.
    All rights reserved.

    Floating-point code copyright (c) 1995,
    Intel Corporation and France Telecom (CNET).
    All rights reserved.
*/

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

#include "typedef2.h"
#include "cst2.h"
#include "tab2.h"
#include "lbccode2.h"
#include "coder2.h"
#include "decod2.h"
#include "exc2.h"
#include "util2.h"
#include "codcng2.h"
#include "deccng2.h"
#include "vad2.h"

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

Flag  UseHp = True;
Flag  UsePf = True;
Flag  UseVx = False;
Flag  UsePr = True;
int   ReinitSize = 0;


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

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;

    FLOAT  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 files */
    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 (ReinitSize > 0 && (FrCnt % ReinitSize) == 0) {
            Init_Coder();
            Init_Decod();
            if (UseVx) {
                Init_Vad();
                Init_Cod_Cng();
            }
            Init_Dec_Cng();
        }

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

    if (UsePr)
        fprintf(stdout,"\n");

    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 ;
            }
        }

        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 ;
        }

        if ( ! strncmp( "-R", Argv[i], 2) ) {
            ReinitSize = (int) strtol(&Argv[i][2], NULL, 0);
            continue ;
        }

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

/*  Open I/O files  */

    *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 requiered */
    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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区5566日韩| 午夜精品影院在线观看| 一区二区三区中文免费| 蜜臀a∨国产成人精品| 成人一区二区在线观看| 欧美丰满美乳xxx高潮www| 久久精品夜色噜噜亚洲a∨| 亚洲一区二区欧美| 粉嫩av亚洲一区二区图片| 欧美一级午夜免费电影| 亚洲精品免费在线播放| 国产大片一区二区| 精品成人免费观看| 免费成人性网站| 欧美绝品在线观看成人午夜影视| 国产精品福利一区二区| 国产精品一区在线观看你懂的| 6080日韩午夜伦伦午夜伦| 樱花影视一区二区| 91在线一区二区三区| 国产精品网站在线播放| 国产乱码精品一区二区三| 日韩欧美一级二级三级| 日本人妖一区二区| 日韩亚洲欧美成人一区| 肉肉av福利一精品导航| 欧美日韩dvd在线观看| 亚洲自拍偷拍九九九| 色妹子一区二区| 亚洲乱码国产乱码精品精小说| 9i看片成人免费高清| 亚洲欧洲日韩在线| 色综合天天做天天爱| 一区二区久久久| 欧美三级电影精品| 亚洲bt欧美bt精品| 欧美一级搡bbbb搡bbbb| 秋霞成人午夜伦在线观看| 日韩一二三四区| 久久99在线观看| 久久久久久久久久久久久夜| 国产一区在线视频| 中文字幕成人在线观看| 91热门视频在线观看| 一区二区三区在线高清| 欧美乱熟臀69xxxxxx| 看国产成人h片视频| 久久女同性恋中文字幕| 成人免费高清在线| 亚洲免费色视频| 欧美日韩三级视频| 久久国产综合精品| 国产精品入口麻豆九色| 欧美在线色视频| 欧美aaaaa成人免费观看视频| 2020国产精品| 日本韩国一区二区| 日本中文字幕一区二区视频| 久久亚洲精品小早川怜子| 99久久精品99国产精品| 亚洲成a人v欧美综合天堂下载 | 高清av一区二区| 综合色中文字幕| 在线播放日韩导航| 国产成人综合视频| 亚洲成人久久影院| 国产亚洲午夜高清国产拍精品| 91麻豆swag| 国产一区二区三区免费看| 亚洲欧洲日韩女同| 日韩精品一区二区在线| 99国产精品久久久久久久久久久| 亚洲成人福利片| 国产蜜臀97一区二区三区 | 欧美日韩在线综合| 国产麻豆视频一区二区| 伊人婷婷欧美激情| 久久蜜桃av一区二区天堂| 色狠狠一区二区三区香蕉| 蜜臀av在线播放一区二区三区| 成人欧美一区二区三区在线播放| 日韩欧美亚洲国产精品字幕久久久 | 国产一区二区免费看| 一区二区三区中文字幕在线观看| 欧美mv和日韩mv国产网站| 色视频一区二区| 丰满岳乱妇一区二区三区| 奇米综合一区二区三区精品视频| 亚洲欧美日韩人成在线播放| 亚洲精品在线三区| 欧美一区二区在线不卡| 在线精品视频免费播放| 成人黄色av电影| 久久99精品国产91久久来源| 日韩精品一区第一页| 亚洲免费观看高清完整版在线观看熊| 久久久久久久久97黄色工厂| 91精品在线免费观看| 国产调教视频一区| 日韩欧美色综合网站| 欧美日韩1234| 欧美日韩在线不卡| 色噜噜狠狠色综合中国| www.爱久久.com| 不卡一区二区中文字幕| 国产成人一区二区精品非洲| 精品在线亚洲视频| 久久国产精品无码网站| 美女精品一区二区| 免费在线观看一区二区三区| 天堂va蜜桃一区二区三区| 亚洲18女电影在线观看| 午夜精品爽啪视频| 丝袜美腿高跟呻吟高潮一区| 天天综合色天天综合| 日韩不卡在线观看日韩不卡视频| 亚洲成人av福利| 日本中文字幕一区二区视频| 日本va欧美va精品发布| 麻豆成人av在线| 国产原创一区二区| 成人在线一区二区三区| 色综合天天综合| 欧美亚洲丝袜传媒另类| 在线播放中文字幕一区| 欧美电影免费观看高清完整版在| 精品处破学生在线二十三| 国产欧美日韩三区| 亚洲欧洲成人自拍| 亚洲国产乱码最新视频| 日韩综合小视频| 国产剧情av麻豆香蕉精品| 高清视频一区二区| 91精品办公室少妇高潮对白| 精品视频一区三区九区| 欧美一区二区免费观在线| 久久夜色精品国产噜噜av| 国产精品久久久久桃色tv| 亚洲一区二区中文在线| 麻豆成人av在线| 972aa.com艺术欧美| 欧美精品一二三四| 亚洲国产成人av网| 极品少妇xxxx精品少妇| 成人动漫一区二区三区| 欧美性高清videossexo| 26uuu亚洲综合色欧美| 亚洲视频在线一区| 免费黄网站欧美| 99re成人在线| 日韩精品在线网站| 成人免费在线视频| 免费在线成人网| 一本一道波多野结衣一区二区| 日韩一区二区三区在线视频| 国产精品电影一区二区| 免费不卡在线视频| 99久久99久久精品免费看蜜桃| 在线播放中文字幕一区| 中文字幕亚洲一区二区av在线| 亚洲成av人片在线| 不卡一区二区中文字幕| 日韩美一区二区三区| 亚洲午夜免费电影| 国产**成人网毛片九色| 日韩亚洲电影在线| 亚洲免费电影在线| 国产综合久久久久久鬼色| 欧美影视一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 婷婷成人综合网| 91国内精品野花午夜精品| 日本一区二区三区四区 | 亚洲婷婷综合色高清在线| 另类欧美日韩国产在线| 欧美午夜精品免费| 亚洲三级视频在线观看| 国产一区二区三区香蕉| 91精品国产综合久久久久久 | 久久久99久久精品欧美| 日韩国产一区二| 欧美日韩精品一二三区| 成人欧美一区二区三区| 粉嫩av亚洲一区二区图片| 精品久久久久久久久久久久久久久久久| 一区二区三区**美女毛片| 99在线精品一区二区三区| 国产精品网站导航| 国产91精品一区二区| 久久中文娱乐网| 国产一区二区0| 26uuu国产电影一区二区| 久草这里只有精品视频| 日韩欧美电影一区| 免费人成黄页网站在线一区二区 | 精品国产99国产精品| 裸体一区二区三区| 日韩美女视频一区二区在线观看| 偷拍自拍另类欧美| 日韩一区二区精品在线观看|