diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2002-04-21 21:18:17 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-04-21 21:18:17 +0000 |
commit | 8b4c7dbc5507425b0c342948dabf01d714af7068 (patch) | |
tree | 52e929eb4145fe5506cc4624e8f842143b99f7a8 /libavcodec/avcodec.h | |
parent | 2c029cd19d7a20aca129a4818212e48e5ce79a76 (diff) | |
download | ffmpeg-8b4c7dbc5507425b0c342948dabf01d714af7068.tar.gz |
fixed ratecontrol & b-frames
2pass ratecontrol
fixed hq with 2pass
inceased build num (a few more vars for the rc stuff)
hopefully no new bugs
Originally committed as revision 408 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/avcodec.h')
-rw-r--r-- | libavcodec/avcodec.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index d4f13024ce..10ebcaeb52 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -5,8 +5,8 @@ #define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION "0.4.6" -#define LIBAVCODEC_BUILD 4600 -#define LIBAVCODEC_BUILD_STR "4600" +#define LIBAVCODEC_BUILD 4601 +#define LIBAVCODEC_BUILD_STR "4601" enum CodecID { CODEC_ID_NONE, @@ -90,7 +90,9 @@ static const int Motion_Est_QTab[] = { 1, 4, 3, 6, 5, 2 }; #define CODEC_FLAG_TYPE 0x0040 /* fixed I/P frame type, from avctx->key_frame */ /* parent program gurantees that the input for b-frame containing streams is not written to for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ -#define CODEC_FLAG_INPUT_PRESERVED 0x0100 +#define CODEC_FLAG_INPUT_PRESERVED 0x0100 +#define CODEC_FLAG_PASS1 0x0200 /* use internal 2pass ratecontrol in first pass mode */ +#define CODEC_FLAG_PASS2 0x0400 /* use internal 2pass ratecontrol in second pass mode */ /* codec capabilities */ @@ -139,13 +141,18 @@ typedef struct AVCodecContext { int key_frame; /* true if the previous compressed frame was a key frame (intra, or seekable) */ int quality; /* quality of the previous encoded frame - (between 1 (good) and 31 (bad)) */ + (between 1 (good) and 31 (bad)) + this is allso used to set the quality in vbr mode + and the per frame quality in CODEC_FLAG_TYPE (second pass mode) */ float qcompress; /* amount of qscale change between easy & hard scenes (0.0-1.0)*/ float qblur; /* amount of qscale smoothing over time (0.0-1.0) */ int qmin; /* min qscale */ int qmax; /* max qscale */ int max_qdiff; /* max qscale difference between frames */ int max_b_frames; /* maximum b frames, the output will be delayed by max_b_frames+1 relative to the input */ + float b_quant_factor;/* qscale factor between ips and b frames */ + int rc_strategy; + int b_frame_strategy; struct AVCodec *codec; void *priv_data; |