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