Mercurial > libavcodec.hg
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 |