diff mpegvideo.h @ 3064:a5e0b58b4471 libavcodec

xvid ratecontrol support
author michael
date Tue, 24 Jan 2006 21:57:26 +0000
parents 0b546eab515d
children 04b924f8f5a5
line wrap: on
line diff
--- a/mpegvideo.h	Tue Jan 24 10:33:14 2006 +0000
+++ b/mpegvideo.h	Tue Jan 24 21:57:26 2006 +0000
@@ -83,12 +83,14 @@
     int i_tex_bits;
     int p_tex_bits;
     int misc_bits;
+    int header_bits;
     uint64_t expected_bits;
     int new_pict_type;
     float new_qscale;
     int mc_mb_var_sum;
     int mb_var_sum;
     int i_count;
+    int skip_count;
     int f_code;
     int b_code;
 }RateControlEntry;
@@ -116,6 +118,9 @@
     uint64_t qscale_sum[5];
     int frame_count[5];
     int last_non_b_pict_type;
+
+    void *non_lavc_opaque;        ///< context for non lavc rc code (for example xvid)
+    float dry_run_qscale;         ///< for xvid rc
 }RateControlContext;
 
 /**
@@ -983,4 +988,8 @@
 int ff_vbv_update(MpegEncContext *s, int frame_size);
 void ff_get_2pass_fcode(MpegEncContext *s);
 
+int ff_xvid_rate_control_init(MpegEncContext *s);
+void ff_xvid_rate_control_uninit(MpegEncContext *s);
+float ff_xvid_rate_estimate_qscale(MpegEncContext *s, int dry_run);
+
 #endif /* AVCODEC_MPEGVIDEO_H */