48 |
* exception also makes it possible to release a modified version which |
* exception also makes it possible to release a modified version which |
49 |
* carries forward this exception. |
* carries forward this exception. |
50 |
* |
* |
51 |
* $Id: quant_h263.c,v 1.4 2002-11-17 00:41:19 edgomez Exp $ |
* $Id: quant_h263.c,v 1.5 2002-11-26 23:44:11 edgomez Exp $ |
52 |
* |
* |
53 |
*************************************************************************/ |
*************************************************************************/ |
54 |
|
|
75 |
|
|
76 |
#define DIV_DIV(a, b) ((a)>0) ? ((a)+((b)>>1))/(b) : ((a)-((b)>>1))/(b) |
#define DIV_DIV(a, b) ((a)>0) ? ((a)+((b)>>1))/(b) : ((a)-((b)>>1))/(b) |
77 |
|
|
78 |
// function pointers |
/* function pointers */ |
79 |
quanth263_intraFuncPtr quant_intra; |
quanth263_intraFuncPtr quant_intra; |
80 |
quanth263_intraFuncPtr dequant_intra; |
quanth263_intraFuncPtr dequant_intra; |
81 |
|
|
148 |
} |
} |
149 |
|
|
150 |
acLevel = (acLevel * mult) >> SCALEBITS; |
acLevel = (acLevel * mult) >> SCALEBITS; |
151 |
sum += acLevel; // sum += |acLevel| |
sum += acLevel; /* sum += |acLevel| */ |
152 |
coeff[i] = -acLevel; |
coeff[i] = -acLevel; |
153 |
} else { |
} else { |
154 |
acLevel -= quant_d_2; |
acLevel -= quant_d_2; |
195 |
} else if (acLevel < 0) { |
} else if (acLevel < 0) { |
196 |
acLevel = quant_m_2 * -acLevel + quant_add; |
acLevel = quant_m_2 * -acLevel + quant_add; |
197 |
data[i] = (acLevel <= 2048 ? -acLevel : -2048); |
data[i] = (acLevel <= 2048 ? -acLevel : -2048); |
198 |
} else // if (acLevel > 0) { |
} else /* if (acLevel > 0) { */ |
199 |
{ |
{ |
200 |
acLevel = quant_m_2 * acLevel + quant_add; |
acLevel = quant_m_2 * acLevel + quant_add; |
201 |
data[i] = (acLevel <= 2047 ? acLevel : 2047); |
data[i] = (acLevel <= 2047 ? acLevel : 2047); |
225 |
} else if (acLevel < 0) { |
} else if (acLevel < 0) { |
226 |
acLevel = acLevel * quant_m_2 - quant_add; |
acLevel = acLevel * quant_m_2 - quant_add; |
227 |
data[i] = (acLevel >= -2048 ? acLevel : -2048); |
data[i] = (acLevel >= -2048 ? acLevel : -2048); |
228 |
} else // if (acLevel > 0) |
} else /* if (acLevel > 0) */ |
229 |
{ |
{ |
230 |
acLevel = acLevel * quant_m_2 + quant_add; |
acLevel = acLevel * quant_m_2 + quant_add; |
231 |
data[i] = (acLevel <= 2047 ? acLevel : 2047); |
data[i] = (acLevel <= 2047 ? acLevel : 2047); |