Mercurial > libavcodec.hg
comparison ratecontrol.c @ 6526:737b74bec1e5 libavcodec
Fix typo in variable name: blured --> blurred.
author | diego |
---|---|
date | Sat, 22 Mar 2008 17:34:29 +0000 |
parents | 52925923273f |
children | 25dcd46b8160 |
comparison
equal
deleted
inserted
replaced
6525:52925923273f | 6526:737b74bec1e5 |
---|---|
838 double rate_factor=0; | 838 double rate_factor=0; |
839 double step; | 839 double step; |
840 //int last_i_frame=-10000000; | 840 //int last_i_frame=-10000000; |
841 const int filter_size= (int)(a->qblur*4) | 1; | 841 const int filter_size= (int)(a->qblur*4) | 1; |
842 double expected_bits; | 842 double expected_bits; |
843 double *qscale, *blured_qscale, qscale_sum; | 843 double *qscale, *blurred_qscale, qscale_sum; |
844 | 844 |
845 /* find complexity & const_bits & decide the pict_types */ | 845 /* find complexity & const_bits & decide the pict_types */ |
846 for(i=0; i<rcc->num_entries; i++){ | 846 for(i=0; i<rcc->num_entries; i++){ |
847 RateControlEntry *rce= &rcc->entry[i]; | 847 RateControlEntry *rce= &rcc->entry[i]; |
848 | 848 |
861 av_log(s->avctx, AV_LOG_ERROR, "requested bitrate is too low\n"); | 861 av_log(s->avctx, AV_LOG_ERROR, "requested bitrate is too low\n"); |
862 return -1; | 862 return -1; |
863 } | 863 } |
864 | 864 |
865 qscale= av_malloc(sizeof(double)*rcc->num_entries); | 865 qscale= av_malloc(sizeof(double)*rcc->num_entries); |
866 blured_qscale= av_malloc(sizeof(double)*rcc->num_entries); | 866 blurred_qscale= av_malloc(sizeof(double)*rcc->num_entries); |
867 toobig = 0; | 867 toobig = 0; |
868 | 868 |
869 for(step=256*256; step>0.0000001; step*=0.5){ | 869 for(step=256*256; step>0.0000001; step*=0.5){ |
870 expected_bits=0; | 870 expected_bits=0; |
871 rate_factor+= step; | 871 rate_factor+= step; |
900 if(index < 0 || index >= rcc->num_entries) continue; | 900 if(index < 0 || index >= rcc->num_entries) continue; |
901 if(pict_type != rcc->entry[index].new_pict_type) continue; | 901 if(pict_type != rcc->entry[index].new_pict_type) continue; |
902 q+= qscale[index] * coeff; | 902 q+= qscale[index] * coeff; |
903 sum+= coeff; | 903 sum+= coeff; |
904 } | 904 } |
905 blured_qscale[i]= q/sum; | 905 blurred_qscale[i]= q/sum; |
906 } | 906 } |
907 | 907 |
908 /* find expected bits */ | 908 /* find expected bits */ |
909 for(i=0; i<rcc->num_entries; i++){ | 909 for(i=0; i<rcc->num_entries; i++){ |
910 RateControlEntry *rce= &rcc->entry[i]; | 910 RateControlEntry *rce= &rcc->entry[i]; |
911 double bits; | 911 double bits; |
912 rce->new_qscale= modify_qscale(s, rce, blured_qscale[i], i); | 912 rce->new_qscale= modify_qscale(s, rce, blurred_qscale[i], i); |
913 bits= qp2bits(rce, rce->new_qscale) + rce->mv_bits + rce->misc_bits; | 913 bits= qp2bits(rce, rce->new_qscale) + rce->mv_bits + rce->misc_bits; |
914 //printf("%d %f\n", rce->new_bits, blured_qscale[i]); | 914 //printf("%d %f\n", rce->new_bits, blurred_qscale[i]); |
915 bits += 8*ff_vbv_update(s, bits); | 915 bits += 8*ff_vbv_update(s, bits); |
916 | 916 |
917 rce->expected_bits= expected_bits; | 917 rce->expected_bits= expected_bits; |
918 expected_bits += bits; | 918 expected_bits += bits; |
919 } | 919 } |
927 rate_factor-= step; | 927 rate_factor-= step; |
928 ++toobig; | 928 ++toobig; |
929 } | 929 } |
930 } | 930 } |
931 av_free(qscale); | 931 av_free(qscale); |
932 av_free(blured_qscale); | 932 av_free(blurred_qscale); |
933 | 933 |
934 /* check bitrate calculations and print info */ | 934 /* check bitrate calculations and print info */ |
935 qscale_sum = 0.0; | 935 qscale_sum = 0.0; |
936 for(i=0; i<rcc->num_entries; i++){ | 936 for(i=0; i<rcc->num_entries; i++){ |
937 /* av_log(s->avctx, AV_LOG_DEBUG, "[lavc rc] entry[%d].new_qscale = %.3f qp = %.3f\n", | 937 /* av_log(s->avctx, AV_LOG_DEBUG, "[lavc rc] entry[%d].new_qscale = %.3f qp = %.3f\n", |