• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavcodec/

Lines Matching refs:rce

43 static double get_qscale(MpegEncContext *s, RateControlEntry *rce, double rate_factor, int frame_num);
52 static inline double qp2bits(RateControlEntry *rce, double qp){
56 return rce->qscale * (double)(rce->i_tex_bits + rce->p_tex_bits+1)/ qp;
59 static inline double bits2qp(RateControlEntry *rce, double bits){
63 return rce->qscale * (double)(rce->i_tex_bits + rce->p_tex_bits+1)/ bits;
146 RateControlEntry *rce= &rcc->entry[i];
147 rce->pict_type= rce->new_pict_type=AV_PICTURE_TYPE_P;
148 rce->qscale= rce->new_qscale=FF_QP2LAMBDA * 2;
149 rce->misc_bits= s->mb_num + 10;
150 rce->mb_var_sum= s->mb_num*100;
156 RateControlEntry *rce;
170 rce= &rcc->entry[picture_number];
173 &rce->pict_type, &rce->qscale, &rce->i_tex_bits, &rce->p_tex_bits, &rce->mv_bits, &rce->misc_bits,
174 &rce->f_code, &rce->b_code, &rce->mc_mb_var_sum, &rce->mb_var_sum, &rce->i_count, &rce->skip_count, &rce->header_bits);
212 RateControlEntry rce;
214 if (i%((s->gop_size+3)/4)==0) rce.pict_type= AV_PICTURE_TYPE_I;
215 else if(i%(s->max_b_frames+1)) rce.pict_type= AV_PICTURE_TYPE_B;
216 else rce.pict_type= AV_PICTURE_TYPE_P;
218 rce.new_pict_type= rce.pict_type;
219 rce.mc_mb_var_sum= bits*s->mb_num/100000;
220 rce.mb_var_sum = s->mb_num;
221 rce.qscale = FF_QP2LAMBDA * 2;
222 rce.f_code = 2;
223 rce.b_code = 1;
224 rce.misc_bits= 1;
227 rce.i_count = s->mb_num;
228 rce.i_tex_bits= bits;
229 rce.p_tex_bits= 0;
230 rce.mv_bits= 0;
232 rce.i_count = 0; //FIXME we do know this approx
233 rce.i_tex_bits= 0;
234 rce.p_tex_bits= bits*0.9;
235 rce.mv_bits= bits*0.1;
237 rcc->i_cplx_sum [rce.pict_type] += rce.i_tex_bits*rce.qscale;
238 rcc->p_cplx_sum [rce.pict_type] += rce.p_tex_bits*rce.qscale;
239 rcc->mv_bits_sum[rce.pict_type] += rce.mv_bits;
240 rcc->frame_count[rce.pict_type] ++;
242 get_qscale(s, &rce, rcc->pass1_wanted_bits/rcc->pass1_rc_eq_output_sum, i);
305 static double get_qscale(MpegEncContext *s, RateControlEntry *rce, double rate_factor, int frame_num){
309 const int pict_type= rce->new_pict_type;
316 rce->i_tex_bits*rce->qscale,
317 rce->p_tex_bits*rce->qscale,
318 (rce->i_tex_bits + rce->p_tex_bits)*(double)rce->qscale,
319 rce->mv_bits/mb_num,
320 rce->pict_type == AV_PICTURE_TYPE_B ? (rce->f_code + rce->b_code)*0.5 : rce->f_code,
321 rce->i_count/mb_num,
322 rce->mc_mb_var_sum/mb_num,
323 rce->mb_var_sum/mb_num,
324 rce->pict_type == AV_PICTURE_TYPE_I,
325 rce->pict_type == AV_PICTURE_TYPE_P,
326 rce->pict_type == AV_PICTURE_TYPE_B,
341 bits = av_expr_eval(rcc->rc_eq_eval, const_values, rce);
359 bits= qp2bits(rce, rco[i].qscale); //FIXME move at end to really force it?
364 q= bits2qp(rce, bits);
376 static double get_diff_limited_q(MpegEncContext *s, RateControlEntry *rce, double q){
379 const int pict_type= rce->new_pict_type;
432 static double modify_qscale(MpegEncContext *s, RateControlEntry *rce, double q, int frame_num){
435 const int pict_type= rce->new_pict_type;
459 q_limit= bits2qp(rce, FFMAX((min_rate - buffer_size + rcc->buffer_index) * s->avctx->rc_min_vbv_overflow_use, 1));
474 q_limit= bits2qp(rce, FFMAX(rcc->buffer_index * s->avctx->rc_max_available_vbv_use, 1));
647 RateControlEntry *rce;
649 rce= &rcc->entry[picture_number];
650 s->f_code= rce->f_code;
651 s->b_code= rce->b_code;
668 RateControlEntry local_rce, *rce;
694 rce= &rcc->entry[picture_number];
695 wanted_bits= rce->expected_bits;
698 rce= &local_rce;
725 assert(pict_type == rce->new_pict_type);
727 q= rce->new_qscale / br_compensation;
728 //printf("%f %f %f last:%d var:%d type:%d//\n", q, rce->new_qscale, br_compensation, s->frame_bits, var, pict_type);
730 rce->pict_type=
731 rce->new_pict_type= pict_type;
732 rce->mc_mb_var_sum= pic->mc_mb_var_sum;
733 rce->mb_var_sum = pic-> mb_var_sum;
734 rce->qscale = FF_QP2LAMBDA * 2;
735 rce->f_code = s->f_code;
736 rce->b_code = s->b_code;
737 rce->misc_bits= 1;
739 bits= predict_size(&rcc->pred[pict_type], rce->qscale, sqrt(var));
741 rce->i_count = s->mb_num;
742 rce->i_tex_bits= bits;
743 rce->p_tex_bits= 0;
744 rce->mv_bits= 0;
746 rce->i_count = 0; //FIXME we do know this approx
747 rce->i_tex_bits= 0;
748 rce->p_tex_bits= bits*0.9;
750 rce->mv_bits= bits*0.1;
752 rcc->i_cplx_sum [pict_type] += rce->i_tex_bits*rce->qscale;
753 rcc->p_cplx_sum [pict_type] += rce->p_tex_bits*rce->qscale;
754 rcc->mv_bits_sum[pict_type] += rce->mv_bits;
757 bits= rce->i_tex_bits + rce->p_tex_bits;
760 q= get_qscale(s, rce, rate_factor, picture_number);
766 q= get_diff_limited_q(s, rce, q);
782 q= modify_qscale(s, rce, q, picture_number);
834 RateControlEntry *rce= &rcc->entry[i];
836 rce->new_pict_type= rce->pict_type;
837 rcc->i_cplx_sum [rce->pict_type] += rce->i_tex_bits*rce->qscale;
838 rcc->p_cplx_sum [rce->pict_type] += rce->p_tex_bits*rce->qscale;
839 rcc->mv_bits_sum[rce->pict_type] += rce->mv_bits;
840 rcc->frame_count[rce->pict_type] ++;
842 complexity[rce->new_pict_type]+= (rce->i_tex_bits+ rce->p_tex_bits)*(double)rce->qscale;
843 const_bits[rce->new_pict_type]+= rce->mv_bits + rce->misc_bits;
864 RateControlEntry *rce= &rcc->entry[i];
866 rcc->last_qscale_for[rce->pict_type] = qscale[i];
872 RateControlEntry *rce= &rcc->entry[i];
874 qscale[i]= get_diff_limited_q(s, rce, qscale[i]);
879 RateControlEntry *rce= &rcc->entry[i];
880 const int pict_type= rce->new_pict_type;
899 RateControlEntry *rce= &rcc->entry[i];
901 rce->new_qscale= modify_qscale(s, rce, blurred_qscale[i], i);
902 bits= qp2bits(rce, rce->new_qscale) + rce->mv_bits + rce->misc_bits;
903 //printf("%d %f\n", rce->new_bits, blurred_qscale[i]);
906 rce->expected_bits= expected_bits;