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",