summaryrefslogtreecommitdiffstats
path: root/baseline/source/g723_enc/g723_enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'baseline/source/g723_enc/g723_enc.c')
-rw-r--r--baseline/source/g723_enc/g723_enc.c45
1 files changed, 22 insertions, 23 deletions
diff --git a/baseline/source/g723_enc/g723_enc.c b/baseline/source/g723_enc/g723_enc.c
index 209e3ce..bf2df51 100644
--- a/baseline/source/g723_enc/g723_enc.c
+++ b/baseline/source/g723_enc/g723_enc.c
@@ -172,6 +172,9 @@ short g723_enc_fitab[16] = {0, 0, 0, 0x200, 0x200, 0x200, 0x600, 0xE00,
172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0 172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0
173 }; 173 };
174 174
175static unsigned int g723_enc_out_buffer = 0;
176static int g723_enc_out_bits = 0;
177static int g723_enc_i = 0;
175 178
176/* 179/*
177 Declaration of macros 180 Declaration of macros
@@ -753,24 +756,21 @@ g723_enc_pack_output(
753 unsigned char code, 756 unsigned char code,
754 int bits ) 757 int bits )
755{ 758{
756 static unsigned int out_buffer = 0;
757 static int out_bits = 0;
758 unsigned char out_byte; 759 unsigned char out_byte;
759 static int i = 0; 760
760 761 g723_enc_out_buffer |= ( code << g723_enc_out_bits );
761 out_buffer |= ( code << out_bits ); 762 g723_enc_out_bits += bits;
762 out_bits += bits; 763 if ( g723_enc_out_bits >= 8 ) {
763 if ( out_bits >= 8 ) { 764 out_byte = g723_enc_out_buffer & 0xff;
764 out_byte = out_buffer & 0xff; 765 g723_enc_out_bits -= 8;
765 out_bits -= 8; 766 g723_enc_out_buffer >>= 8;
766 out_buffer >>= 8;
767 //fwrite(&out_byte, sizeof (char), 1, fp_out); 767 //fwrite(&out_byte, sizeof (char), 1, fp_out);
768 //fwrite(&out_byte, 1, 1, fp_out); 768 //fwrite(&out_byte, 1, 1, fp_out);
769 g723_enc_OUTPUT[i] = out_byte; 769 g723_enc_OUTPUT[g723_enc_i] = out_byte;
770 i = i + 1; 770 g723_enc_i = g723_enc_i + 1;
771 } 771 }
772 772
773 return ( out_bits > 0 ); 773 return ( g723_enc_out_bits > 0 );
774} 774}
775 775
776/* 776/*
@@ -815,6 +815,9 @@ void g723_enc_init()
815{ 815{
816 int i; 816 int i;
817 volatile int x = 0; 817 volatile int x = 0;
818 g723_enc_out_buffer = 0;
819 g723_enc_out_bits = 0;
820 g723_enc_i = 0;
818 g723_enc_init_state( &g723_enc_state ); 821 g723_enc_init_state( &g723_enc_state );
819 822
820 _Pragma( "loopbound min 256 max 256" ) 823 _Pragma( "loopbound min 256 max 256" )
@@ -872,16 +875,12 @@ void _Pragma( "entrypoint" ) g723_enc_main()
872 875
873int main( int argc, char **argv ) 876int main( int argc, char **argv )
874{ 877{
875 //SET_UP 878 SET_UP
876 int jobsComplete; 879 for_each_job {
877 int maxJobs=9; 880 g723_enc_init();
878 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 881 g723_enc_main();
879 // START_LOOP 882 }
880 g723_enc_init(); 883 WRITE_TO_FILE
881 g723_enc_main();
882 // STOP_LOOP
883 }
884 //WRITE_TO_FILE
885 return ( g723_enc_return() ); 884 return ( g723_enc_return() );
886} 885}
887 886