comparison vc1.c @ 3509:da6095607f26 libavcodec

Don't do non-uniform quantization on zero coeffs.
author kostya
date Sat, 22 Jul 2006 03:54:00 +0000
parents 3d6e4ef3170d
children f8d3be212bce
comparison
equal deleted inserted replaced
3508:3d6e4ef3170d 3509:da6095607f26
2059 /* apply AC prediction if needed */ 2059 /* apply AC prediction if needed */
2060 if(s->ac_pred) { 2060 if(s->ac_pred) {
2061 if(dc_pred_dir) { //left 2061 if(dc_pred_dir) { //left
2062 for(k = 1; k < 8; k++) { 2062 for(k = 1; k < 8; k++) {
2063 block[k << 3] = ac_val[k] * scale; 2063 block[k << 3] = ac_val[k] * scale;
2064 if(!v->pquantizer) 2064 if(!v->pquantizer && block[k << 3])
2065 block[k << 3] += (block[k << 3] < 0) ? -v->pq : v->pq; 2065 block[k << 3] += (block[k << 3] < 0) ? -v->pq : v->pq;
2066 } 2066 }
2067 } else { //top 2067 } else { //top
2068 for(k = 1; k < 8; k++) { 2068 for(k = 1; k < 8; k++) {
2069 block[k] = ac_val[k + 8] * scale; 2069 block[k] = ac_val[k + 8] * scale;
2070 if(!v->pquantizer) 2070 if(!v->pquantizer && block[k])
2071 block[k] += (block[k] < 0) ? -v->pq : v->pq; 2071 block[k] += (block[k] < 0) ? -v->pq : v->pq;
2072 } 2072 }
2073 } 2073 }
2074 i = 63; 2074 i = 63;
2075 } 2075 }
2258 /* apply AC prediction if needed */ 2258 /* apply AC prediction if needed */
2259 if(use_pred) { 2259 if(use_pred) {
2260 if(dc_pred_dir) { //left 2260 if(dc_pred_dir) { //left
2261 for(k = 1; k < 8; k++) { 2261 for(k = 1; k < 8; k++) {
2262 block[k << 3] = ac_val2[k] * scale; 2262 block[k << 3] = ac_val2[k] * scale;
2263 if(!v->pquantizer) 2263 if(!v->pquantizer && block[k << 3])
2264 block[k << 3] += (block[k << 3] < 0) ? -mquant : mquant; 2264 block[k << 3] += (block[k << 3] < 0) ? -mquant : mquant;
2265 } 2265 }
2266 } else { //top 2266 } else { //top
2267 for(k = 1; k < 8; k++) { 2267 for(k = 1; k < 8; k++) {
2268 block[k] = ac_val2[k + 8] * scale; 2268 block[k] = ac_val2[k + 8] * scale;
2269 if(!v->pquantizer) 2269 if(!v->pquantizer && block[k])
2270 block[k] += (block[k] < 0) ? -mquant : mquant; 2270 block[k] += (block[k] < 0) ? -mquant : mquant;
2271 } 2271 }
2272 } 2272 }
2273 i = 63; 2273 i = 63;
2274 } 2274 }