diff options
| author | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-20 16:30:44 -0400 |
|---|---|---|
| committer | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-20 16:30:44 -0400 |
| commit | e9560dbece41136ffedd786723717efaa2a3a9fd (patch) | |
| tree | bbb5cec16daa6f194a57f49cb0532b4eeaa91a41 | |
| parent | 2e4b1efc7e46b1278e162cb63632546af8f3e0e9 (diff) | |
Fix the 4 TACLeBench members that would not loop before
- anagram, audiobeam: Reset heap in _init() function
- g723_enc: Don't use static local variables
- huff_dec: Reset all global state in _init() function
| -rw-r--r-- | all_pairs/source/anagram/anagram.c | 10 | ||||
| -rw-r--r-- | all_pairs/source/anagram/anagram_stdlib.c | 5 | ||||
| -rw-r--r-- | all_pairs/source/anagram/anagram_stdlib.h | 2 | ||||
| -rw-r--r-- | all_pairs/source/audiobeam/audiobeam.c | 12 | ||||
| -rw-r--r-- | all_pairs/source/audiobeam/audiobeamlibmalloc.c | 7 | ||||
| -rw-r--r-- | all_pairs/source/audiobeam/audiobeamlibmalloc.h | 2 | ||||
| -rw-r--r-- | all_pairs/source/g723_enc/g723_enc.c | 39 | ||||
| -rw-r--r-- | all_pairs/source/huff_dec/huff_dec.c | 12 | ||||
| -rw-r--r-- | baseline/source/anagram/anagram.c | 10 | ||||
| -rw-r--r-- | baseline/source/anagram/anagram_stdlib.c | 5 | ||||
| -rw-r--r-- | baseline/source/anagram/anagram_stdlib.h | 2 | ||||
| -rw-r--r-- | baseline/source/audiobeam/audiobeam.c | 12 | ||||
| -rw-r--r-- | baseline/source/audiobeam/audiobeamlibmalloc.c | 7 | ||||
| -rw-r--r-- | baseline/source/audiobeam/audiobeamlibmalloc.h | 2 | ||||
| -rw-r--r-- | baseline/source/g723_enc/g723_enc.c | 39 | ||||
| -rw-r--r-- | baseline/source/huff_dec/huff_dec.c | 12 |
16 files changed, 96 insertions, 82 deletions
diff --git a/all_pairs/source/anagram/anagram.c b/all_pairs/source/anagram/anagram.c index 5c1f29a..1061470 100644 --- a/all_pairs/source/anagram/anagram.c +++ b/all_pairs/source/anagram/anagram.c | |||
| @@ -337,6 +337,8 @@ void anagram_ReadDict( void ) | |||
| 337 | 337 | ||
| 338 | void anagram_init( void ) | 338 | void anagram_init( void ) |
| 339 | { | 339 | { |
| 340 | // Reset heap | ||
| 341 | anagram_free_all(); | ||
| 340 | anagram_ReadDict(); | 342 | anagram_ReadDict(); |
| 341 | } | 343 | } |
| 342 | 344 | ||
| @@ -657,14 +659,10 @@ void _Pragma( "entrypoint" ) anagram_main( void ) | |||
| 657 | int main(int argc, char **argv) | 659 | int main(int argc, char **argv) |
| 658 | { | 660 | { |
| 659 | SET_UP | 661 | SET_UP |
| 660 | //int jobsComplete; | 662 | for_each_job { |
| 661 | //int maxJobs=100; | ||
| 662 | //for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 663 | START_LOOP | ||
| 664 | anagram_init(); | 663 | anagram_init(); |
| 665 | anagram_main(); | 664 | anagram_main(); |
| 666 | STOP_LOOP | 665 | } |
| 667 | //} | ||
| 668 | WRITE_TO_FILE | 666 | WRITE_TO_FILE |
| 669 | return anagram_return(); | 667 | return anagram_return(); |
| 670 | } | 668 | } |
diff --git a/all_pairs/source/anagram/anagram_stdlib.c b/all_pairs/source/anagram/anagram_stdlib.c index 994350b..c766a5e 100644 --- a/all_pairs/source/anagram/anagram_stdlib.c +++ b/all_pairs/source/anagram/anagram_stdlib.c | |||
| @@ -142,6 +142,11 @@ void *anagram_malloc( unsigned int numberOfBytes ) | |||
| 142 | return currentPos; | 142 | return currentPos; |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | void anagram_free_all( void ) | ||
| 146 | { | ||
| 147 | anagram_freeHeapPos = 0; | ||
| 148 | } | ||
| 149 | |||
| 145 | void anagram_bzero( char *p, unsigned long len ) | 150 | void anagram_bzero( char *p, unsigned long len ) |
| 146 | { | 151 | { |
| 147 | unsigned long i; | 152 | unsigned long i; |
diff --git a/all_pairs/source/anagram/anagram_stdlib.h b/all_pairs/source/anagram/anagram_stdlib.h index 0e745d5..536fcc3 100644 --- a/all_pairs/source/anagram/anagram_stdlib.h +++ b/all_pairs/source/anagram/anagram_stdlib.h | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | 24 | ||
| 25 | void *anagram_malloc( unsigned int numberOfBytes ); | 25 | void *anagram_malloc( unsigned int numberOfBytes ); |
| 26 | 26 | ||
| 27 | void anagram_free_all( void ); | ||
| 28 | |||
| 27 | void anagram_qsort( void *va, unsigned long n, unsigned long es ); | 29 | void anagram_qsort( void *va, unsigned long n, unsigned long es ); |
| 28 | 30 | ||
| 29 | #endif | 31 | #endif |
diff --git a/all_pairs/source/audiobeam/audiobeam.c b/all_pairs/source/audiobeam/audiobeam.c index 50ebfff..7d89f06 100644 --- a/all_pairs/source/audiobeam/audiobeam.c +++ b/all_pairs/source/audiobeam/audiobeam.c | |||
| @@ -104,6 +104,8 @@ void audiobeam_init() | |||
| 104 | unsigned int i; | 104 | unsigned int i; |
| 105 | unsigned char *p; | 105 | unsigned char *p; |
| 106 | volatile char bitmask = 0; | 106 | volatile char bitmask = 0; |
| 107 | // Reset heap | ||
| 108 | audiobeam_free_all(); | ||
| 107 | 109 | ||
| 108 | /* | 110 | /* |
| 109 | Apply volatile XOR-bitmask to entire input array. | 111 | Apply volatile XOR-bitmask to entire input array. |
| @@ -578,16 +580,12 @@ void _Pragma( "entrypoint" ) audiobeam_main( void ) | |||
| 578 | 580 | ||
| 579 | int main( int argc, char **argv ) | 581 | int main( int argc, char **argv ) |
| 580 | { | 582 | { |
| 581 | //SET_UP | 583 | SET_UP |
| 582 | int jobsComplete; | 584 | for_each_job { |
| 583 | int maxJobs=100; | ||
| 584 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 585 | // START_LOOP | ||
| 586 | audiobeam_init(); | 585 | audiobeam_init(); |
| 587 | audiobeam_main(); | 586 | audiobeam_main(); |
| 588 | // STOP_LOOP | ||
| 589 | } | 587 | } |
| 590 | //WRITE_TO_FILE | 588 | WRITE_TO_FILE |
| 591 | 589 | ||
| 592 | return ( audiobeam_return() ); | 590 | return ( audiobeam_return() ); |
| 593 | } | 591 | } |
diff --git a/all_pairs/source/audiobeam/audiobeamlibmalloc.c b/all_pairs/source/audiobeam/audiobeamlibmalloc.c index 50c3073..a81b634 100644 --- a/all_pairs/source/audiobeam/audiobeamlibmalloc.c +++ b/all_pairs/source/audiobeam/audiobeamlibmalloc.c | |||
| @@ -11,4 +11,9 @@ void *audiobeam_malloc( unsigned int numberOfBytes ) | |||
| 11 | /* Get a 4-byte address for alignment purposes */ | 11 | /* Get a 4-byte address for alignment purposes */ |
| 12 | audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); | 12 | audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); |
| 13 | return currentPos; | 13 | return currentPos; |
| 14 | } \ No newline at end of file | 14 | } |
| 15 | |||
| 16 | void audiobeam_free_all( void ) | ||
| 17 | { | ||
| 18 | audiobeam_freeHeapPos = 0; | ||
| 19 | } | ||
diff --git a/all_pairs/source/audiobeam/audiobeamlibmalloc.h b/all_pairs/source/audiobeam/audiobeamlibmalloc.h index eccbdb9..354bf0e 100644 --- a/all_pairs/source/audiobeam/audiobeamlibmalloc.h +++ b/all_pairs/source/audiobeam/audiobeamlibmalloc.h | |||
| @@ -24,4 +24,6 @@ | |||
| 24 | 24 | ||
| 25 | void *audiobeam_malloc( unsigned int numberOfBytes ); | 25 | void *audiobeam_malloc( unsigned int numberOfBytes ); |
| 26 | 26 | ||
| 27 | void audiobeam_free_all( void ); | ||
| 28 | |||
| 27 | #endif | 29 | #endif |
diff --git a/all_pairs/source/g723_enc/g723_enc.c b/all_pairs/source/g723_enc/g723_enc.c index 209e3ce..646adcd 100644 --- a/all_pairs/source/g723_enc/g723_enc.c +++ b/all_pairs/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 | ||
| 175 | static unsigned int g723_enc_out_buffer = 0; | ||
| 176 | static int g723_enc_out_bits = 0; | ||
| 177 | static 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 | ||
| 873 | int main( int argc, char **argv ) | 876 | int main( int argc, char **argv ) |
| 874 | { | 877 | { |
| 875 | //SET_UP | 878 | SET_UP |
| 876 | int jobsComplete; | 879 | for_each_job { |
| 877 | int maxJobs=9; | ||
| 878 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 879 | // START_LOOP | ||
| 880 | g723_enc_init(); | 880 | g723_enc_init(); |
| 881 | g723_enc_main(); | 881 | g723_enc_main(); |
| 882 | // STOP_LOOP | ||
| 883 | } | 882 | } |
| 884 | //WRITE_TO_FILE | 883 | WRITE_TO_FILE |
| 885 | return ( g723_enc_return() ); | 884 | return ( g723_enc_return() ); |
| 886 | } | 885 | } |
| 887 | 886 | ||
diff --git a/all_pairs/source/huff_dec/huff_dec.c b/all_pairs/source/huff_dec/huff_dec.c index 58b40d3..e0ebc19 100644 --- a/all_pairs/source/huff_dec/huff_dec.c +++ b/all_pairs/source/huff_dec/huff_dec.c | |||
| @@ -144,6 +144,8 @@ void huff_dec_init( void ) | |||
| 144 | { | 144 | { |
| 145 | huff_dec_input_pos = 0; | 145 | huff_dec_input_pos = 0; |
| 146 | huff_dec_output_pos = 0; | 146 | huff_dec_output_pos = 0; |
| 147 | huff_dec_byte_nb_to_read = 0; | ||
| 148 | huff_dec_val_to_read = 0; | ||
| 147 | } | 149 | } |
| 148 | 150 | ||
| 149 | 151 | ||
| @@ -379,15 +381,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void ) | |||
| 379 | 381 | ||
| 380 | int main( int argc, char **argv ) | 382 | int main( int argc, char **argv ) |
| 381 | { | 383 | { |
| 382 | //SET_UP | 384 | SET_UP |
| 383 | int jobsComplete; | 385 | for_each_job { |
| 384 | int maxJobs=5; | ||
| 385 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 386 | // START_LOOP | ||
| 387 | huff_dec_init(); | 386 | huff_dec_init(); |
| 388 | huff_dec_main(); | 387 | huff_dec_main(); |
| 389 | // STOP_LOOP | ||
| 390 | } | 388 | } |
| 391 | //WRITE_TO_FILE | 389 | WRITE_TO_FILE |
| 392 | return ( huff_dec_return() ); | 390 | return ( huff_dec_return() ); |
| 393 | } | 391 | } |
diff --git a/baseline/source/anagram/anagram.c b/baseline/source/anagram/anagram.c index 5c1f29a..1061470 100644 --- a/baseline/source/anagram/anagram.c +++ b/baseline/source/anagram/anagram.c | |||
| @@ -337,6 +337,8 @@ void anagram_ReadDict( void ) | |||
| 337 | 337 | ||
| 338 | void anagram_init( void ) | 338 | void anagram_init( void ) |
| 339 | { | 339 | { |
| 340 | // Reset heap | ||
| 341 | anagram_free_all(); | ||
| 340 | anagram_ReadDict(); | 342 | anagram_ReadDict(); |
| 341 | } | 343 | } |
| 342 | 344 | ||
| @@ -657,14 +659,10 @@ void _Pragma( "entrypoint" ) anagram_main( void ) | |||
| 657 | int main(int argc, char **argv) | 659 | int main(int argc, char **argv) |
| 658 | { | 660 | { |
| 659 | SET_UP | 661 | SET_UP |
| 660 | //int jobsComplete; | 662 | for_each_job { |
| 661 | //int maxJobs=100; | ||
| 662 | //for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 663 | START_LOOP | ||
| 664 | anagram_init(); | 663 | anagram_init(); |
| 665 | anagram_main(); | 664 | anagram_main(); |
| 666 | STOP_LOOP | 665 | } |
| 667 | //} | ||
| 668 | WRITE_TO_FILE | 666 | WRITE_TO_FILE |
| 669 | return anagram_return(); | 667 | return anagram_return(); |
| 670 | } | 668 | } |
diff --git a/baseline/source/anagram/anagram_stdlib.c b/baseline/source/anagram/anagram_stdlib.c index 994350b..c766a5e 100644 --- a/baseline/source/anagram/anagram_stdlib.c +++ b/baseline/source/anagram/anagram_stdlib.c | |||
| @@ -142,6 +142,11 @@ void *anagram_malloc( unsigned int numberOfBytes ) | |||
| 142 | return currentPos; | 142 | return currentPos; |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | void anagram_free_all( void ) | ||
| 146 | { | ||
| 147 | anagram_freeHeapPos = 0; | ||
| 148 | } | ||
| 149 | |||
| 145 | void anagram_bzero( char *p, unsigned long len ) | 150 | void anagram_bzero( char *p, unsigned long len ) |
| 146 | { | 151 | { |
| 147 | unsigned long i; | 152 | unsigned long i; |
diff --git a/baseline/source/anagram/anagram_stdlib.h b/baseline/source/anagram/anagram_stdlib.h index 0e745d5..536fcc3 100644 --- a/baseline/source/anagram/anagram_stdlib.h +++ b/baseline/source/anagram/anagram_stdlib.h | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | 24 | ||
| 25 | void *anagram_malloc( unsigned int numberOfBytes ); | 25 | void *anagram_malloc( unsigned int numberOfBytes ); |
| 26 | 26 | ||
| 27 | void anagram_free_all( void ); | ||
| 28 | |||
| 27 | void anagram_qsort( void *va, unsigned long n, unsigned long es ); | 29 | void anagram_qsort( void *va, unsigned long n, unsigned long es ); |
| 28 | 30 | ||
| 29 | #endif | 31 | #endif |
diff --git a/baseline/source/audiobeam/audiobeam.c b/baseline/source/audiobeam/audiobeam.c index 50ebfff..7d89f06 100644 --- a/baseline/source/audiobeam/audiobeam.c +++ b/baseline/source/audiobeam/audiobeam.c | |||
| @@ -104,6 +104,8 @@ void audiobeam_init() | |||
| 104 | unsigned int i; | 104 | unsigned int i; |
| 105 | unsigned char *p; | 105 | unsigned char *p; |
| 106 | volatile char bitmask = 0; | 106 | volatile char bitmask = 0; |
| 107 | // Reset heap | ||
| 108 | audiobeam_free_all(); | ||
| 107 | 109 | ||
| 108 | /* | 110 | /* |
| 109 | Apply volatile XOR-bitmask to entire input array. | 111 | Apply volatile XOR-bitmask to entire input array. |
| @@ -578,16 +580,12 @@ void _Pragma( "entrypoint" ) audiobeam_main( void ) | |||
| 578 | 580 | ||
| 579 | int main( int argc, char **argv ) | 581 | int main( int argc, char **argv ) |
| 580 | { | 582 | { |
| 581 | //SET_UP | 583 | SET_UP |
| 582 | int jobsComplete; | 584 | for_each_job { |
| 583 | int maxJobs=100; | ||
| 584 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 585 | // START_LOOP | ||
| 586 | audiobeam_init(); | 585 | audiobeam_init(); |
| 587 | audiobeam_main(); | 586 | audiobeam_main(); |
| 588 | // STOP_LOOP | ||
| 589 | } | 587 | } |
| 590 | //WRITE_TO_FILE | 588 | WRITE_TO_FILE |
| 591 | 589 | ||
| 592 | return ( audiobeam_return() ); | 590 | return ( audiobeam_return() ); |
| 593 | } | 591 | } |
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.c b/baseline/source/audiobeam/audiobeamlibmalloc.c index 50c3073..a81b634 100644 --- a/baseline/source/audiobeam/audiobeamlibmalloc.c +++ b/baseline/source/audiobeam/audiobeamlibmalloc.c | |||
| @@ -11,4 +11,9 @@ void *audiobeam_malloc( unsigned int numberOfBytes ) | |||
| 11 | /* Get a 4-byte address for alignment purposes */ | 11 | /* Get a 4-byte address for alignment purposes */ |
| 12 | audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); | 12 | audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); |
| 13 | return currentPos; | 13 | return currentPos; |
| 14 | } \ No newline at end of file | 14 | } |
| 15 | |||
| 16 | void audiobeam_free_all( void ) | ||
| 17 | { | ||
| 18 | audiobeam_freeHeapPos = 0; | ||
| 19 | } | ||
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.h b/baseline/source/audiobeam/audiobeamlibmalloc.h index eccbdb9..354bf0e 100644 --- a/baseline/source/audiobeam/audiobeamlibmalloc.h +++ b/baseline/source/audiobeam/audiobeamlibmalloc.h | |||
| @@ -24,4 +24,6 @@ | |||
| 24 | 24 | ||
| 25 | void *audiobeam_malloc( unsigned int numberOfBytes ); | 25 | void *audiobeam_malloc( unsigned int numberOfBytes ); |
| 26 | 26 | ||
| 27 | void audiobeam_free_all( void ); | ||
| 28 | |||
| 27 | #endif | 29 | #endif |
diff --git a/baseline/source/g723_enc/g723_enc.c b/baseline/source/g723_enc/g723_enc.c index 209e3ce..646adcd 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 | ||
| 175 | static unsigned int g723_enc_out_buffer = 0; | ||
| 176 | static int g723_enc_out_bits = 0; | ||
| 177 | static 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 | ||
| 873 | int main( int argc, char **argv ) | 876 | int main( int argc, char **argv ) |
| 874 | { | 877 | { |
| 875 | //SET_UP | 878 | SET_UP |
| 876 | int jobsComplete; | 879 | for_each_job { |
| 877 | int maxJobs=9; | ||
| 878 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 879 | // START_LOOP | ||
| 880 | g723_enc_init(); | 880 | g723_enc_init(); |
| 881 | g723_enc_main(); | 881 | g723_enc_main(); |
| 882 | // STOP_LOOP | ||
| 883 | } | 882 | } |
| 884 | //WRITE_TO_FILE | 883 | WRITE_TO_FILE |
| 885 | return ( g723_enc_return() ); | 884 | return ( g723_enc_return() ); |
| 886 | } | 885 | } |
| 887 | 886 | ||
diff --git a/baseline/source/huff_dec/huff_dec.c b/baseline/source/huff_dec/huff_dec.c index 58b40d3..e0ebc19 100644 --- a/baseline/source/huff_dec/huff_dec.c +++ b/baseline/source/huff_dec/huff_dec.c | |||
| @@ -144,6 +144,8 @@ void huff_dec_init( void ) | |||
| 144 | { | 144 | { |
| 145 | huff_dec_input_pos = 0; | 145 | huff_dec_input_pos = 0; |
| 146 | huff_dec_output_pos = 0; | 146 | huff_dec_output_pos = 0; |
| 147 | huff_dec_byte_nb_to_read = 0; | ||
| 148 | huff_dec_val_to_read = 0; | ||
| 147 | } | 149 | } |
| 148 | 150 | ||
| 149 | 151 | ||
| @@ -379,15 +381,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void ) | |||
| 379 | 381 | ||
| 380 | int main( int argc, char **argv ) | 382 | int main( int argc, char **argv ) |
| 381 | { | 383 | { |
| 382 | //SET_UP | 384 | SET_UP |
| 383 | int jobsComplete; | 385 | for_each_job { |
| 384 | int maxJobs=5; | ||
| 385 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ | ||
| 386 | // START_LOOP | ||
| 387 | huff_dec_init(); | 386 | huff_dec_init(); |
| 388 | huff_dec_main(); | 387 | huff_dec_main(); |
| 389 | // STOP_LOOP | ||
| 390 | } | 388 | } |
| 391 | //WRITE_TO_FILE | 389 | WRITE_TO_FILE |
| 392 | return ( huff_dec_return() ); | 390 | return ( huff_dec_return() ); |
| 393 | } | 391 | } |
