72 |
|
|
73 |
#define TOOSMALL_LIMIT 1 /* skip blocks having a coefficient sum below this value */ |
#define TOOSMALL_LIMIT 1 /* skip blocks having a coefficient sum below this value */ |
74 |
|
|
|
/* this isnt pretty, but its better than 20 ifdefs */ |
|
|
|
|
75 |
void |
void |
76 |
MBTransQuantIntra(const MBParam * pParam, |
MBTransQuantIntra(const MBParam * pParam, |
77 |
FRAMEINFO * frame, |
FRAMEINFO * frame, |
193 |
stop_interlacing_timer(); |
stop_interlacing_timer(); |
194 |
|
|
195 |
for (i = 0; i < 6; i++) { |
for (i = 0; i < 6; i++) { |
196 |
|
uint32_t increase_limit = (iQuant == 1) ? 1 : 0; |
197 |
|
|
198 |
/* |
/* |
199 |
* no need to transfer 8->16-bit |
* no need to transfer 8->16-bit |
200 |
* (this is performed already in motion compensation) |
* (this is performed already in motion compensation) |
213 |
stop_quant_timer(); |
stop_quant_timer(); |
214 |
} |
} |
215 |
|
|
216 |
if ((sum >= TOOSMALL_LIMIT) || (qcoeff[i*64] != 0) || |
if ((sum >= TOOSMALL_LIMIT + increase_limit) || (qcoeff[i*64] != 0) || |
217 |
(qcoeff[i*64+1] != 0) || (qcoeff[i*64+8] != 0)) { |
(qcoeff[i*64+1] != 0) || (qcoeff[i*64+8] != 0)) { |
218 |
|
|
219 |
if (pParam->m_quant_type == H263_QUANT) { |
if (pParam->m_quant_type == H263_QUANT) { |