comparison cook.c @ 4952:1900e2eaecda libavcodec

Add another tmpbias variable, as bias' value will be used later
author ramiro
date Wed, 09 May 2007 21:56:22 +0000
parents 8f6eda4a0d1e
children a695b3cbfc4d
comparison
equal deleted inserted replaced
4951:8f6eda4a0d1e 4952:1900e2eaecda
381 * @param category_index pointer to the category_index array 381 * @param category_index pointer to the category_index array
382 */ 382 */
383 383
384 static void categorize(COOKContext *q, int* quant_index_table, 384 static void categorize(COOKContext *q, int* quant_index_table,
385 int* category, int* category_index){ 385 int* category, int* category_index){
386 int exp_idx, bias, tmpbias, bits_left, num_bits, index, v, i, j; 386 int exp_idx, bias, tmpbias1, tmpbias2, bits_left, num_bits, index, v, i, j;
387 int exp_index2[102]; 387 int exp_index2[102];
388 int exp_index1[102]; 388 int exp_index1[102];
389 389
390 int tmp_categorize_array1[128]; 390 int tmp_categorize_array1[128];
391 int tmp_categorize_array1_idx=0; 391 int tmp_categorize_array1_idx=0;
428 exp_idx = av_clip((bias - quant_index_table[i]) / 2, 0, 7); 428 exp_idx = av_clip((bias - quant_index_table[i]) / 2, 0, 7);
429 num_bits += expbits_tab[exp_idx]; 429 num_bits += expbits_tab[exp_idx];
430 exp_index1[i] = exp_idx; 430 exp_index1[i] = exp_idx;
431 exp_index2[i] = exp_idx; 431 exp_index2[i] = exp_idx;
432 } 432 }
433 tmpbias = bias = num_bits; 433 tmpbias1 = tmpbias2 = num_bits;
434 434
435 for (j = 1 ; j < q->numvector_size ; j++) { 435 for (j = 1 ; j < q->numvector_size ; j++) {
436 if (tmpbias + bias > 2*bits_left) { /* ---> */ 436 if (tmpbias1 + tmpbias2 > 2*bits_left) { /* ---> */
437 int max = -999999; 437 int max = -999999;
438 index=-1; 438 index=-1;
439 for (i=0 ; i<q->total_subbands ; i++){ 439 for (i=0 ; i<q->total_subbands ; i++){
440 if (exp_index1[i] < 7) { 440 if (exp_index1[i] < 7) {
441 v = (-2*exp_index1[i]) - quant_index_table[i] - 32; 441 v = (-2*exp_index1[i]) - quant_index_table[i] - 32;
445 } 445 }
446 } 446 }
447 } 447 }
448 if(index==-1)break; 448 if(index==-1)break;
449 tmp_categorize_array1[tmp_categorize_array1_idx++] = index; 449 tmp_categorize_array1[tmp_categorize_array1_idx++] = index;
450 tmpbias -= expbits_tab[exp_index1[index]] - 450 tmpbias1 -= expbits_tab[exp_index1[index]] -
451 expbits_tab[exp_index1[index]+1]; 451 expbits_tab[exp_index1[index]+1];
452 ++exp_index1[index]; 452 ++exp_index1[index];
453 } else { /* <--- */ 453 } else { /* <--- */
454 int min = 999999; 454 int min = 999999;
455 index=-1; 455 index=-1;
462 } 462 }
463 } 463 }
464 } 464 }
465 if(index == -1)break; 465 if(index == -1)break;
466 tmp_categorize_array2[tmp_categorize_array2_idx++] = index; 466 tmp_categorize_array2[tmp_categorize_array2_idx++] = index;
467 tmpbias -= expbits_tab[exp_index2[index]] - 467 tmpbias2 -= expbits_tab[exp_index2[index]] -
468 expbits_tab[exp_index2[index]-1]; 468 expbits_tab[exp_index2[index]-1];
469 --exp_index2[index]; 469 --exp_index2[index];
470 } 470 }
471 } 471 }
472 472