comparison ratecontrol.c @ 616:0fe52ab8042c libavcodec

forgot the const bits in 2pass curve matching (patch (with rounding removed) by Rmi Guyomarch <rguyom at pobox dot com>)
author michaelni
date Mon, 26 Aug 2002 08:14:36 +0000
parents 459a715f0661
children a5aa53b6e648
comparison
equal deleted inserted replaced
615:459a715f0661 616:0fe52ab8042c
656 + complexity[B_TYPE]/avg_quantizer[B_TYPE]; 656 + complexity[B_TYPE]/avg_quantizer[B_TYPE];
657 657
658 if(expected_bits < all_available_bits) avg_quantizer[P_TYPE]-= step; 658 if(expected_bits < all_available_bits) avg_quantizer[P_TYPE]-= step;
659 //printf("%f %lld %f\n", expected_bits, all_available_bits, avg_quantizer[P_TYPE]); 659 //printf("%f %lld %f\n", expected_bits, all_available_bits, avg_quantizer[P_TYPE]);
660 } 660 }
661 printf("qp_i:%f, qp_p:%f, qp_b:%f\n", avg_quantizer[I_TYPE],avg_quantizer[P_TYPE],avg_quantizer[B_TYPE]); 661 //printf("qp_i:%f, qp_p:%f, qp_b:%f\n", avg_quantizer[I_TYPE],avg_quantizer[P_TYPE],avg_quantizer[B_TYPE]);
662 662
663 for(i=0; i<5; i++){ 663 for(i=0; i<5; i++){
664 available_bits[i]= const_bits[i] + complexity[i]/avg_quantizer[i]; 664 available_bits[i]= const_bits[i] + complexity[i]/avg_quantizer[i];
665 } 665 }
666 //printf("%lld %lld %lld %lld\n", available_bits[I_TYPE], available_bits[P_TYPE], available_bits[B_TYPE], all_available_bits); 666 //printf("%lld %lld %lld %lld\n", available_bits[I_TYPE], available_bits[P_TYPE], available_bits[B_TYPE], all_available_bits);
721 /* find expected bits */ 721 /* find expected bits */
722 for(i=0; i<rcc->num_entries; i++){ 722 for(i=0; i<rcc->num_entries; i++){
723 RateControlEntry *rce= &rcc->entry[i]; 723 RateControlEntry *rce= &rcc->entry[i];
724 double bits; 724 double bits;
725 rce->new_qscale= modify_qscale(s, rce, blured_qscale[i], i); 725 rce->new_qscale= modify_qscale(s, rce, blured_qscale[i], i);
726 bits= qp2bits(rce, rce->new_qscale); 726 bits= qp2bits(rce, rce->new_qscale) + rce->mv_bits + rce->misc_bits;
727 //printf("%d %f\n", rce->new_bits, blured_qscale[i]); 727 //printf("%d %f\n", rce->new_bits, blured_qscale[i]);
728 update_rc_buffer(s, bits); 728 update_rc_buffer(s, bits);
729 729
730 rce->expected_bits= expected_bits; 730 rce->expected_bits= expected_bits;
731 expected_bits += bits; 731 expected_bits += bits;