hey
how r u?
can anybody help me to understand what am i doing wrong in the code:
assume i parsed the header and buf contain only data
void CAudioGain::changeScaleFactor(UCHAR *buf){
int sb; // Subband
int ch; // Channel
unsigned int val=-1;
unsigned int c=4; //change value;
for (sb=0; sb < header.sblimit; sb++)
for (ch=0; ch < header.nch; ch++) {
unsigned int allocation_value=(NBAL[header.table][sb]);
unsigned int val=getBitFromBuf(allocation_value,buf) ;
allocation[ch][sb] =val;
}
for (sb=0; sb < header.sblimit; sb++)
for (ch=0; ch < header.nch; ch++)
if (allocation[ch][sb] != 0){
unsigned int val=getBitFromBuf(2,buf) ;
scfsi[ch][sb]=val;
}
for (sb=0; sb < header.sblimit; sb++){
for (ch=0; ch < header.nch; ch++)
if (allocation[ch][sb] != 0) {
if (scfsi[ch][sb] == 0) {
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
}
if (scfsi[ch][sb] == 1 ) {
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
}
if ( scfsi[ch][sb] == 3) {
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
}
if (scfsi[ch][sb] == 2) {
val=getBitFromBuf(6,buf);
setBitToBuf(6,buf,val+c);
}
}
}