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

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

?? codercp.c

?? PA1688網(wǎng)絡(luò)電話機(jī)全部源程序
?? C
字號(hào):
/*
   ITU-T G.729 Annex C+ - Reference C code for floating point
                         implementation of G.729 Annex C+
                         (integration of Annexes B, D and E)
                         Version 2.1 of October 1999
*/
/*
----------------------------------------------------------------------
                    COPYRIGHT NOTICE
----------------------------------------------------------------------
   ITU-T G.729 Annex C+ floating point ANSI C source code
   Copyright (C) 1999, AT&T, France Telecom, NTT, University of
   Sherbrooke, Conexant, Ericsson. All rights reserved.
----------------------------------------------------------------------
*/

/*
 File : CODERCP.C
 */

/*--------------------------------------------------------------------------------------*
 * Main program of the ITU-T G.729C+   11.8/8/6.4 kbit/s encoder.
 *
 *    Usage : codercp speech_file  bitstream_file  DTX_flag [bit_rate or file_bit_rate]
 *--------------------------------------------------------------------------------------*/

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

#include "typedef.h"
#include "ld8k.h"
#include "ld8cp.h"
#include "dtx.h"
#include "octet.h"
#if defined(__BORLANDC__)
extern unsigned _stklen = 48000U;
#endif

extern FLOAT *new_speech;           /* Pointer to new speech data   */

int prm[PRM_SIZE_E+1];          /* Analysis parameters.                  */
int dtx_enable;
int frame;               /* frame counter for VAD*/
int rate, flag_rate;
INT16 serial[SERIAL_SIZE_E];  /* Output bitstream buffer               */

int main_encode( int argc, char *argv[])
{
    FILE *f_speech;                     /* Speech data        */
    FILE *f_serial;                     /* Serial bit stream  */
    FILE  *f_rate;
    
    INT32  count_frame;
   
    INT16 sp16[L_FRAME];          /* Buffer to read 16 bits speech */
    
    int i;
    INT16 temp16;
    
    /* For G.729B */
    int nb_words;
    
    for(i = 0; i < argc; i++){
        printf("argument %d : %s\n", i, argv[i]);
    }
    printf("\n");
    printf("*************************************************************************\n");
    printf("****    ITU G.729 ANNEC C+: 6.4, 8.0, and 11.8 KBIT/S SPEECH CODER   ****\n");
    printf("****         INCLUDING OPTIONAL VAD/DTX/CNG (ANNEX B)                ****\n");
    printf("*************************************************************************\n");
    printf("\n");
    printf("------------------ Floating point C simulation ----------------\n");
    printf("\n");
    printf("-----------------          Version 2.1        ----------------\n");
    printf("\n");
    printf("                 Bit rates : 6.4, 8.0, or 11.8 kb/s \n");
    printf("\n");
    
    /*-----------------------------------------------------------------------*
    * Open speech file and result file (output serial bit stream)           *
    *-----------------------------------------------------------------------*/
    if (( argc != 4 ) && (argc != 5) ){
        printf("Usage : codercp speech_file bitstream_file DTX_flag [bitrate or file_bit_rate]\n");
        printf("Format for speech_file:\n");
        printf("  Speech is read from a binary file of 16 bits PCM data.\n");
        printf("\n");
        printf("Format for bitstream_file:\n");
        printf("  One (2-byte) synchronization word \n");
        printf("  One (2-byte) bit-rate word \n");
        printf("\n");
        printf("bitrate = 0 (6.4 kb/s), 1 (8 kb/s)  or 2 (11.8 kb/s)  (default : 8 kb/s)\n");
        printf("Format for bitrate_file:\n");
        printf("  1 16bit-Word per frame , =0 bit rate 6.4 kb/s, =1 bit rate 8 kb/s, or =2 bit rate 11.8 kb/s \n");
        printf("Forward / Backward structure at 11.8 kb/s \n");
        printf("DTX flag:\n");
        printf("  0 to disable the DTX\n");
        printf("  1 to enable the DTX\n");
        printf("\n");
        exit(1);
    }
    if ( (f_speech = fopen(argv[1], "rb")) == NULL) {
        printf("%s - Error opening file  %s !!\n", argv[0], argv[1]);
        exit(0);
    }
    printf(" Input speech file     :  %s\n", argv[1]);

    if ( (f_serial = fopen(argv[2], "wb")) == NULL) {
        printf("%s - Error opening file  %s !!\n", argv[0], argv[2]);
        exit(0);
    }
    printf(" Output bitstream file :  %s\n", argv[2]);

    dtx_enable = (int)atoi(argv[3]);
    if (dtx_enable == 1)
        printf(" DTX enabled\n");
    else
        printf(" DTX disabled\n");

    f_rate = NULL; /* to avoid  visual warning */
    rate = G729;  /* to avoid  visual warning */
    if(argc != 4) {
        if ( (f_rate = fopen(argv[4], "rb")) == NULL) {
            rate  = atoi(argv[4]);
            if( rate == G729E) printf(" Selected Bitrate   :  11.8 kb/s (G.729 Annex E)\n");
            else 
                if( rate == G729)  printf(" Selected Bitrate   :  8.0 kb/s  (G.729 Main Recommendation)\n");
                else 
                    if( rate == G729D) printf(" Selected Bitrate   :  6.4 kb/s  (G.729 Annec D)\n");
                    else {
                        printf(" error bit rate indication\n");
                        printf(" argv[4] = 0 for bit rate 6.4 kb/s (G.729D)\n");
                        printf(" argv[4] = 1 for bit rate 8 kb/s (G.729)\n");
                        printf(" argv[4] = 2 for bit rate 11.8 kb/s (G.729E)\n");
                        exit(-1);
                    }
                    
            flag_rate = 0;
        }
        else {
            printf(" Selected Bitrate  read in file :  %s kb/s\n", argv[4]);
            flag_rate = 1;
        }
    }
    else {
        flag_rate = 0;
        rate = G729;
        printf(" Selected Bitrate   :  8.0 kb/s  (G.729 Main Recommendation)\n");
    }
    
#ifndef OCTET_TX_MODE
        printf(" OCTET TRANSMISSION MODE is disabled\n");
#endif
        
    /*-------------------------------------------------*
    * Initialization of the coder.                    *
    *-------------------------------------------------*/
        
    init_pre_process();
    init_coder_ld8c(dtx_enable);           /* Initialize the coder             */

    /* for G.729B */
    if(dtx_enable == 1) init_cod_cng();

    for(i=0; i<PRM_SIZE_E; i++) prm[i] = 0;

    /* To force the input and output to be time-aligned the variable SYNC
    has to be defined. Note: the test vectors were generated with this option
    disabled
    */

#ifdef SYNC
    /* Read L_NEXT first speech data */
    fread(sp16, sizeof(INT16), L_NEXT, f_speech);

    for (i = 0; i < L_NEXT; i++)  new_speech[-L_NEXT+i] = (FLOAT) sp16[i];
    pre_process(&new_speech[-L_NEXT], L_NEXT);
#endif

   /*-------------------------------------------------------------------------*
    * Loop for every analysis/transmission frame.                             *
    * -New L_FRAME data are read. (L_FRAME = number of speech data per frame) *
    * -Conversion of the speech data from 16 bit integer to real              *
    * -Call cod_ld8c to encode the speech.                                    *
    * -The compressed serial output stream is written to a file.              *
    *-------------------------------------------------------------------------*
    */
        
    frame=0;
    count_frame = 0L;
    
    while( fread((void *)sp16, sizeof(INT16), L_FRAME, f_speech) == L_FRAME){
        if( flag_rate == 1) {
            if( fread(&temp16, sizeof(INT16), 1, f_rate) != 1) {
                printf("error reading bit_rate in file %s for frame %ld\n", argv[4], count_frame);
                exit(-1);
            }
            rate = (int)temp16;
            if( (rate < 0) || (rate > 2) ) {
                printf("error bit_rate in file %s for frame %ld bit rate non avalaible\n", argv[4], count_frame);
                exit(-1);
            }
        }
        
        count_frame++;
        printf(" Frame: %ld\r", count_frame);
        
        if (frame == 32767) frame = 256;
        else frame++;
        
        for (i = 0; i < L_FRAME; i++)  new_speech[i] = (FLOAT) sp16[i];
        
        pre_process( new_speech, L_FRAME);
        
        coder_ld8c(prm, frame, dtx_enable, rate);
        
        prm2bits_ld8c(prm, serial);
        
        nb_words = (int)serial[1] +  2;
        fwrite( (void *)serial, sizeof(INT16), nb_words,  f_serial);
    }
    
    printf("%ld frames processed\n", count_frame);

    if(f_serial) fclose(f_serial);
    if(f_speech) fclose(f_speech);

    return(0);

} /* end of main() */

__declspec(dllexport) void g729cp_init_encoder(int iVad)
{
	int i;

	rate = G729;
    frame=0;
	dtx_enable = iVad;
    init_pre_process();
    init_coder_ld8c(dtx_enable);           /* Initialize the coder             */

    /* for G.729B */
    if(dtx_enable == 1) init_cod_cng();

    for(i=0; i<PRM_SIZE_E; i++) prm[i] = 0;
}

__declspec(dllexport) void g729cp_encode_frame(short * sp16, char * pBits)
{
	int i, j, iVal, iCur;
	unsigned char * p = (unsigned char * )pBits;

	if (frame == 32767) frame = 256;
    else frame++;
        
    for (i = 0; i < L_FRAME; i++)  new_speech[i] = (FLOAT) sp16[i];
    pre_process( new_speech, L_FRAME);
    coder_ld8c(prm, frame, dtx_enable, rate);
    prm2bits_ld8c(prm, serial);

	iVal = 0;
	j = 0;
	for (i = 2; i < L_FRAME+2; i ++)
	{
		iCur = (serial[i] == BIT_0) ? 0 : 1;
		iVal |= iCur;
		j ++;
		if (j == 8)
		{
			*p = (unsigned char)iVal;
			p ++;
			j = 0;
			iVal = 0;
		}
		else
		{
			iVal <<= 1;
		}
	}
	pBits[10] = 0;
	pBits[11] = (unsigned char)serial[1]/8;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久午夜老司机| 欧美性猛交一区二区三区精品| 日韩欧美在线网站| 日韩国产欧美在线观看| 91精品婷婷国产综合久久| 日韩精品午夜视频| 日韩精品一区二区三区中文不卡 | 亚洲精品久久久蜜桃| 99久久精品国产精品久久| 自拍偷拍亚洲激情| 欧美日韩国产系列| 精品综合免费视频观看| 国产精品理伦片| 欧洲在线/亚洲| 久久国产精品色婷婷| 亚洲国产精品v| 在线一区二区视频| 日本不卡视频在线观看| 久久日韩粉嫩一区二区三区| 成人精品国产一区二区4080| 亚洲一区免费视频| 精品国产免费视频| 色综合天天综合色综合av| 视频一区视频二区在线观看| 久久精品免费在线观看| 色综合久久久久久久| 蜜桃视频在线一区| 成人欧美一区二区三区1314| 在线不卡免费av| 成人一区二区三区中文字幕| 亚洲v中文字幕| 国产精品免费av| 日韩一区国产二区欧美三区| av电影天堂一区二区在线观看| 亚洲h在线观看| 国产精品天天看| 日韩三级精品电影久久久 | 欧美一区二区三区免费| 国产成人免费视频网站| 日韩一区精品字幕| 亚洲色图一区二区| 久久影视一区二区| 欧美顶级少妇做爰| 色爱区综合激月婷婷| 国产一区二区中文字幕| 日韩精品欧美成人高清一区二区| 国产欧美日韩精品在线| 日韩三级伦理片妻子的秘密按摩| 一本一本大道香蕉久在线精品 | 精品久久久久久亚洲综合网| 色婷婷精品久久二区二区蜜臀av| 激情六月婷婷久久| 五月天视频一区| 亚洲黄色片在线观看| 国产欧美日韩在线视频| 日韩三级精品电影久久久| 欧美丝袜第三区| 色香色香欲天天天影视综合网| 国产一区二区精品久久91| 天使萌一区二区三区免费观看| 亚洲精品欧美激情| 一色屋精品亚洲香蕉网站| 国产调教视频一区| 精品国产麻豆免费人成网站| 欧美午夜精品一区二区三区| av亚洲精华国产精华| 高清在线观看日韩| 国产在线国偷精品免费看| 免费精品视频在线| 人人精品人人爱| 蜜臀国产一区二区三区在线播放| 婷婷丁香久久五月婷婷| 亚洲成av人片一区二区三区| 亚洲国产aⅴ成人精品无吗| 亚洲免费观看高清完整版在线观看| 国产欧美日韩另类一区| 亚洲欧美激情小说另类| 亚洲三级在线免费观看| 亚洲欧美日韩在线| 亚洲人成伊人成综合网小说| 国产精品福利一区二区三区| 中文字幕一区二区三区不卡在线 | 亚洲午夜久久久久久久久久久 | 亚洲国产视频网站| 亚洲国产一区二区视频| 午夜av一区二区| 午夜av区久久| 久久99久久精品| 国产尤物一区二区| 成人av小说网| 在线视频一区二区三| 欧美蜜桃一区二区三区| 欧美一级生活片| 国产亚洲欧美日韩日本| 中文字幕av不卡| 曰韩精品一区二区| 日韩国产精品久久| 国产又黄又大久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 韩国视频一区二区| 国产成人a级片| 日本高清无吗v一区| 3d成人动漫网站| 久久网这里都是精品| 中文字幕免费观看一区| 亚洲欧洲色图综合| 日韩在线一二三区| 国产成人av自拍| 欧美视频一区二区三区在线观看| 欧美一级理论片| 欧美国产日产图区| 亚洲午夜av在线| 国产乱码精品一区二区三区忘忧草| 成人a区在线观看| 7878成人国产在线观看| 国产女人水真多18毛片18精品视频| 亚洲精品成人在线| 韩国精品主播一区二区在线观看| 96av麻豆蜜桃一区二区| 日韩欧美国产一区二区三区| 中文字幕一区免费在线观看 | 欧美国产日产图区| 亚洲va天堂va国产va久| 国产99久久久国产精品免费看| 在线观看av一区二区| 久久久亚洲国产美女国产盗摄 | 亚洲国产裸拍裸体视频在线观看乱了| 免费成人在线视频观看| 91视频国产观看| 精品久久久网站| 天天操天天色综合| 97久久精品人人爽人人爽蜜臀| 日韩欧美一区二区三区在线| 一区二区在线免费观看| 国产超碰在线一区| 日韩视频一区二区三区| 亚洲国产精品欧美一二99| 国产91丝袜在线播放| 日韩精品在线看片z| 亚洲福利视频一区二区| 91视频.com| 国产精品全国免费观看高清| 久久精品噜噜噜成人av农村| 欧美日韩精品一区二区在线播放| 国产精品日产欧美久久久久| 国产一区二区三区在线看麻豆| 欧美精品日韩一区| 亚洲综合在线免费观看| av在线一区二区三区| 久久综合成人精品亚洲另类欧美| 视频一区中文字幕国产| 欧美羞羞免费网站| 亚洲免费av在线| 99精品视频在线播放观看| 国产精品丝袜久久久久久app| 韩国精品久久久| 欧美va天堂va视频va在线| 首页综合国产亚洲丝袜| 欧美精品777| 天天操天天干天天综合网| 欧洲av在线精品| 一区二区三区在线视频观看58| eeuss鲁片一区二区三区在线看| 国产日产欧美一区二区视频| 国产专区欧美精品| 久久亚洲二区三区| 国产成人亚洲精品狼色在线 | 国产欧美一区二区精品秋霞影院| 国产中文字幕精品| 久久久影院官网| 国产.欧美.日韩| 国产精品伦一区二区三级视频| 国产一区二区三区高清播放| 久久精品亚洲精品国产欧美| 国产精品1区二区.| 国产精品拍天天在线| 99热这里都是精品| 亚洲乱码国产乱码精品精小说| 91丨porny丨中文| 亚洲午夜视频在线观看| 欧美一区三区四区| 九九九精品视频| 国产欧美日韩卡一| 91热门视频在线观看| 亚洲电影一级黄| 欧美大片拔萝卜| 成人精品国产一区二区4080| 亚洲人成精品久久久久久| 欧美日韩精品一区二区天天拍小说 | 久久久综合精品| 成人免费黄色大片| 一级特黄大欧美久久久| 欧美喷水一区二区| 国产一区二区三区免费观看| 国产精品盗摄一区二区三区| 欧美日韩精品三区| 麻豆国产精品777777在线| 国产精品亲子伦对白| 欧美三日本三级三级在线播放| 免费美女久久99|