Mercurial > libavcodec.hg
comparison cook.c @ 4544:f89d4caa8d4e libavcodec
Clairyfication of the gain tool struct.
| author | banan |
|---|---|
| date | Sun, 18 Feb 2007 20:35:22 +0000 |
| parents | 163a74817d83 |
| children | a96d905dcbaa |
comparison
equal
deleted
inserted
replaced
| 4543:d0c94a0d43ca | 4544:f89d4caa8d4e |
|---|---|
| 64 #define SUBBAND_SIZE 20 | 64 #define SUBBAND_SIZE 20 |
| 65 //#define COOKDEBUG | 65 //#define COOKDEBUG |
| 66 | 66 |
| 67 typedef struct { | 67 typedef struct { |
| 68 int size; | 68 int size; |
| 69 int qidx_table1[8]; | 69 int loccode[8]; |
| 70 int qidx_table2[8]; | 70 int levcode[8]; |
| 71 } COOKgain; | 71 } COOKgain; |
| 72 | 72 |
| 73 typedef struct { | 73 typedef struct { |
| 74 GetBitContext gb; | 74 GetBitContext gb; |
| 75 /* stream data */ | 75 /* stream data */ |
| 353 gaininfo->size = get_bits_count(gb) - 1; //amount of elements*2 to update | 353 gaininfo->size = get_bits_count(gb) - 1; //amount of elements*2 to update |
| 354 | 354 |
| 355 if (get_bits_count(gb) - 1 <= 0) return; | 355 if (get_bits_count(gb) - 1 <= 0) return; |
| 356 | 356 |
| 357 for (i=0 ; i<gaininfo->size ; i++){ | 357 for (i=0 ; i<gaininfo->size ; i++){ |
| 358 gaininfo->qidx_table1[i] = get_bits(gb,3); | 358 gaininfo->loccode[i] = get_bits(gb,3); |
| 359 if (get_bits1(gb)) { | 359 if (get_bits1(gb)) { |
| 360 gaininfo->qidx_table2[i] = get_bits(gb,4) - 7; //convert to signed | 360 gaininfo->levcode[i] = get_bits(gb,4) - 7; //convert to signed |
| 361 } else { | 361 } else { |
| 362 gaininfo->qidx_table2[i] = -1; | 362 gaininfo->levcode[i] = -1; |
| 363 } | 363 } |
| 364 } | 364 } |
| 365 } | 365 } |
| 366 | 366 |
| 367 /** | 367 /** |
| 800 int tmp_gain_index; | 800 int tmp_gain_index; |
| 801 | 801 |
| 802 gain_index[8]=0; | 802 gain_index[8]=0; |
| 803 index = gain_previous->size; | 803 index = gain_previous->size; |
| 804 for (i=7 ; i>=0 ; i--) { | 804 for (i=7 ; i>=0 ; i--) { |
| 805 if(index && gain_previous->qidx_table1[index-1]==i) { | 805 if(index && gain_previous->loccode[index-1]==i) { |
| 806 gain_index[i] = gain_previous->qidx_table2[index-1]; | 806 gain_index[i] = gain_previous->levcode[index-1]; |
| 807 index--; | 807 index--; |
| 808 } else { | 808 } else { |
| 809 gain_index[i]=gain_index[i+1]; | 809 gain_index[i]=gain_index[i+1]; |
| 810 } | 810 } |
| 811 } | 811 } |
| 816 } | 816 } |
| 817 | 817 |
| 818 tmp_gain_index = gain_index[0]; | 818 tmp_gain_index = gain_index[0]; |
| 819 index = gain_now->size; | 819 index = gain_now->size; |
| 820 for (i=7 ; i>=0 ; i--) { | 820 for (i=7 ; i>=0 ; i--) { |
| 821 if(index && gain_now->qidx_table1[index-1]==i) { | 821 if(index && gain_now->loccode[index-1]==i) { |
| 822 gain_index[i]= gain_now->qidx_table2[index-1]; | 822 gain_index[i]= gain_now->levcode[index-1]; |
| 823 index--; | 823 index--; |
| 824 } else { | 824 } else { |
| 825 gain_index[i]=gain_index[i+1]; | 825 gain_index[i]=gain_index[i+1]; |
| 826 } | 826 } |
| 827 } | 827 } |
