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 }