Mercurial > libavcodec.hg
comparison avcodec.h @ 329:5cc47d0ba53e libavcodec
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
| author | michaelni |
|---|---|
| date | Sun, 21 Apr 2002 21:18:17 +0000 |
| parents | 025825084364 |
| children | c56b45669214 |
comparison
equal
deleted
inserted
replaced
| 328:025825084364 | 329:5cc47d0ba53e |
|---|---|
| 3 | 3 |
| 4 #include "common.h" | 4 #include "common.h" |
| 5 | 5 |
| 6 #define LIBAVCODEC_VERSION_INT 0x000406 | 6 #define LIBAVCODEC_VERSION_INT 0x000406 |
| 7 #define LIBAVCODEC_VERSION "0.4.6" | 7 #define LIBAVCODEC_VERSION "0.4.6" |
| 8 #define LIBAVCODEC_BUILD 4600 | 8 #define LIBAVCODEC_BUILD 4601 |
| 9 #define LIBAVCODEC_BUILD_STR "4600" | 9 #define LIBAVCODEC_BUILD_STR "4601" |
| 10 | 10 |
| 11 enum CodecID { | 11 enum CodecID { |
| 12 CODEC_ID_NONE, | 12 CODEC_ID_NONE, |
| 13 CODEC_ID_MPEG1VIDEO, | 13 CODEC_ID_MPEG1VIDEO, |
| 14 CODEC_ID_H263, | 14 CODEC_ID_H263, |
| 88 #define CODEC_FLAG_QPEL 0x0010 /* use qpel MC */ | 88 #define CODEC_FLAG_QPEL 0x0010 /* use qpel MC */ |
| 89 #define CODEC_FLAG_GMC 0x0020 /* use GMC */ | 89 #define CODEC_FLAG_GMC 0x0020 /* use GMC */ |
| 90 #define CODEC_FLAG_TYPE 0x0040 /* fixed I/P frame type, from avctx->key_frame */ | 90 #define CODEC_FLAG_TYPE 0x0040 /* fixed I/P frame type, from avctx->key_frame */ |
| 91 /* parent program gurantees that the input for b-frame containing streams is not written to | 91 /* parent program gurantees that the input for b-frame containing streams is not written to |
| 92 for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ | 92 for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ |
| 93 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 | 93 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 |
| 94 #define CODEC_FLAG_PASS1 0x0200 /* use internal 2pass ratecontrol in first pass mode */ | |
| 95 #define CODEC_FLAG_PASS2 0x0400 /* use internal 2pass ratecontrol in second pass mode */ | |
| 94 | 96 |
| 95 /* codec capabilities */ | 97 /* codec capabilities */ |
| 96 | 98 |
| 97 /* decoder can use draw_horiz_band callback */ | 99 /* decoder can use draw_horiz_band callback */ |
| 98 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 | 100 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 |
| 137 int frame_size; /* in samples, initialized when calling 'init' */ | 139 int frame_size; /* in samples, initialized when calling 'init' */ |
| 138 int frame_number; /* audio or video frame number */ | 140 int frame_number; /* audio or video frame number */ |
| 139 int key_frame; /* true if the previous compressed frame was | 141 int key_frame; /* true if the previous compressed frame was |
| 140 a key frame (intra, or seekable) */ | 142 a key frame (intra, or seekable) */ |
| 141 int quality; /* quality of the previous encoded frame | 143 int quality; /* quality of the previous encoded frame |
| 142 (between 1 (good) and 31 (bad)) */ | 144 (between 1 (good) and 31 (bad)) |
| 145 this is allso used to set the quality in vbr mode | |
| 146 and the per frame quality in CODEC_FLAG_TYPE (second pass mode) */ | |
| 143 float qcompress; /* amount of qscale change between easy & hard scenes (0.0-1.0)*/ | 147 float qcompress; /* amount of qscale change between easy & hard scenes (0.0-1.0)*/ |
| 144 float qblur; /* amount of qscale smoothing over time (0.0-1.0) */ | 148 float qblur; /* amount of qscale smoothing over time (0.0-1.0) */ |
| 145 int qmin; /* min qscale */ | 149 int qmin; /* min qscale */ |
| 146 int qmax; /* max qscale */ | 150 int qmax; /* max qscale */ |
| 147 int max_qdiff; /* max qscale difference between frames */ | 151 int max_qdiff; /* max qscale difference between frames */ |
| 148 int max_b_frames; /* maximum b frames, the output will be delayed by max_b_frames+1 relative to the input */ | 152 int max_b_frames; /* maximum b frames, the output will be delayed by max_b_frames+1 relative to the input */ |
| 153 float b_quant_factor;/* qscale factor between ips and b frames */ | |
| 154 int rc_strategy; | |
| 155 int b_frame_strategy; | |
| 149 | 156 |
| 150 struct AVCodec *codec; | 157 struct AVCodec *codec; |
| 151 void *priv_data; | 158 void *priv_data; |
| 152 | 159 |
| 153 /* The following data is for RTP friendly coding */ | 160 /* The following data is for RTP friendly coding */ |
