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 */