diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2006-01-24 21:57:26 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2006-01-24 21:57:26 +0000 |
commit | 64b7c5b6f6cab1f1332b0886ce0ab0fe2ea423af (patch) | |
tree | ec7a537e31707883477f4d01cdffdfc1a8e2f731 /libavcodec/mpegvideo.h | |
parent | 767b49a56e56151babde2011cbefeec4968f949f (diff) | |
download | ffmpeg-64b7c5b6f6cab1f1332b0886ce0ab0fe2ea423af.tar.gz |
xvid ratecontrol support
Originally committed as revision 4894 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.h')
-rw-r--r-- | libavcodec/mpegvideo.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index d9899ac7de..d45dbdad41 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -83,12 +83,14 @@ typedef struct RateControlEntry{ 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 @@ typedef struct RateControlContext{ 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 @@ double ff_eval(char *s, double *const_value, const char **const_name, 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 */ |