comparison mpegaudiodec.c @ 3626:a6251ee2dfdb libavcodec

move variable declarations so that their scope is smaller
author michael
date Fri, 25 Aug 2006 13:58:27 +0000
parents 8042fcb3a62a
children 8624a5c2824d
comparison
equal deleted inserted replaced
3625:8042fcb3a62a 3626:a6251ee2dfdb
1677 1677
1678 static int huffman_decode(MPADecodeContext *s, GranuleDef *g, 1678 static int huffman_decode(MPADecodeContext *s, GranuleDef *g,
1679 int16_t *exponents, int end_pos) 1679 int16_t *exponents, int end_pos)
1680 { 1680 {
1681 int s_index; 1681 int s_index;
1682 int linbits, code, x, y, l, v, i, j, k, pos; 1682 int i;
1683 int last_pos; 1683 int last_pos;
1684 VLC *vlc; 1684 VLC *vlc;
1685 1685
1686 /* low frequencies (called big values) */ 1686 /* low frequencies (called big values) */
1687 s_index = 0; 1687 s_index = 0;
1688 for(i=0;i<3;i++) { 1688 for(i=0;i<3;i++) {
1689 int j, k, l, linbits;
1689 j = g->region_size[i]; 1690 j = g->region_size[i];
1690 if (j == 0) 1691 if (j == 0)
1691 continue; 1692 continue;
1692 /* select vlc table */ 1693 /* select vlc table */
1693 k = g->table_select[i]; 1694 k = g->table_select[i];
1701 continue; 1702 continue;
1702 } 1703 }
1703 1704
1704 /* read huffcode and compute each couple */ 1705 /* read huffcode and compute each couple */
1705 for(;j>0;j--) { 1706 for(;j>0;j--) {
1706 int exponent; 1707 int exponent, x, y, v;
1707 1708
1708 if (get_bits_count(&s->gb) >= end_pos) 1709 if (get_bits_count(&s->gb) >= end_pos)
1709 break; 1710 break;
1710 y = get_vlc2(&s->gb, vlc->table, 7, 3); 1711 y = get_vlc2(&s->gb, vlc->table, 7, 3);
1711 1712
1766 1767
1767 /* high frequencies */ 1768 /* high frequencies */
1768 vlc = &huff_quad_vlc[g->count1table_select]; 1769 vlc = &huff_quad_vlc[g->count1table_select];
1769 last_pos=0; 1770 last_pos=0;
1770 while (s_index <= 572) { 1771 while (s_index <= 572) {
1772 int pos, code;
1771 pos = get_bits_count(&s->gb); 1773 pos = get_bits_count(&s->gb);
1772 if (pos >= end_pos) { 1774 if (pos >= end_pos) {
1773 if (pos > end_pos && last_pos){ 1775 if (pos > end_pos && last_pos){
1774 /* some encoders generate an incorrect size for this 1776 /* some encoders generate an incorrect size for this
1775 part. We must go back into the data */ 1777 part. We must go back into the data */
1787 g->sb_hybrid[s_index+1]= 1789 g->sb_hybrid[s_index+1]=
1788 g->sb_hybrid[s_index+2]= 1790 g->sb_hybrid[s_index+2]=
1789 g->sb_hybrid[s_index+3]= 0; 1791 g->sb_hybrid[s_index+3]= 0;
1790 while(code){ 1792 while(code){
1791 const static int idxtab[16]={3,3,2,2,1,1,1,1,0,0,0,0,0,0,0,0}; 1793 const static int idxtab[16]={3,3,2,2,1,1,1,1,0,0,0,0,0,0,0,0};
1794 int v;
1792 int pos= s_index+idxtab[code]; 1795 int pos= s_index+idxtab[code];
1793 code ^= 8>>idxtab[code]; 1796 code ^= 8>>idxtab[code];
1794 v = exp_table[ exponents[pos] ]; 1797 v = exp_table[ exponents[pos] ];
1795 // v = exp_table[ (exponents[pos]&3) ] >> FFMIN(0 - (exponents[pos]>>2), 31); 1798 // v = exp_table[ (exponents[pos]&3) ] >> FFMIN(0 - (exponents[pos]>>2), 31);
1796 if(get_bits1(&s->gb)) 1799 if(get_bits1(&s->gb))