www.pudn.com > G711-729.rar > CODER.C
/* Version 3.3 Last modified: December 26, 1995 */ /* ITU-T G.729 Speech Coder ANSI-C Source Code Copyright (c) 1995, AT&T, France Telecom, NTT, Universite de Sherbrooke. All rights reserved. */ /*-------------------------------------------------------------------* * Main program of the ITU-T G.729 8 kbit/s encoder. * * * * Usage : coder speech_file bitstream_file * *-------------------------------------------------------------------*/ #include#include #include "typedef.h" #include "basic_op.h" #include "ld8k.h" int main(int argc, char *argv[] ) { FILE *f_speech; /* File of speech data */ FILE *f_serial; /* File of serial bits for transmission */ extern Word16 *new_speech; /* Pointer to new speech data */ Word16 prm[PRM_SIZE]; /* Analysis parameters. */ Word16 serial[SERIAL_SIZE]; /* Output bitstream buffer */ Word16 syn[L_FRAME]; /* Buffer for synthesis speech */ Word16 i, frame; /* frame counter */ printf("\n"); printf("*********** ITU G.729 8 KBIT/S SPEECH CODER ***********\n"); printf("\n"); printf("------------------- Fixed point C simulation -----------------\n"); printf("\n"); printf("----------------- Version 3.3 ----------------\n"); printf("\n"); /*--------------------------------------------------------------------------* * Open speech file and result file (output serial bit stream) * *--------------------------------------------------------------------------*/ if ( argc != 3 ) { printf("Usage : coder speech_file bitstream_file\n"); printf("\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) size word,\n"); printf(" 80 words (2-byte) containing 80 bits.\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]); /*--------------------------------------------------------------------------* * Initialization of the coder. * *--------------------------------------------------------------------------*/ Init_Pre_Process(); Init_Coder_ld8k(); for(i=0; i