Mercurial > libavcodec.hg
comparison avcodec.h @ 1505:010f76d07a27 libavcodec
use lagrange multipler instead of qp for ratecontrol, this may break some things, tell me ASAP if u notice anything broken
quality which was 1..31 float is now a 1..FF_LAMBDA_MAX int, and FF_QP2LAMBDA * qp can be used to convert to the new range
author | michaelni |
---|---|
date | Tue, 07 Oct 2003 11:32:40 +0000 |
parents | 726a81d83ddd |
children | 5a43bc31c2eb |
comparison
equal
deleted
inserted
replaced
1504:df7ab60d1ee0 | 1505:010f76d07a27 |
---|---|
13 | 13 |
14 #include "common.h" | 14 #include "common.h" |
15 | 15 |
16 #define FFMPEG_VERSION_INT 0x000408 | 16 #define FFMPEG_VERSION_INT 0x000408 |
17 #define FFMPEG_VERSION "0.4.8" | 17 #define FFMPEG_VERSION "0.4.8" |
18 #define LIBAVCODEC_BUILD 4683 | 18 #define LIBAVCODEC_BUILD 4684 |
19 | 19 |
20 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT | 20 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT |
21 #define LIBAVCODEC_VERSION FFMPEG_VERSION | 21 #define LIBAVCODEC_VERSION FFMPEG_VERSION |
22 | 22 |
23 #define AV_STRINGIFY(s) AV_TOSTRING(s) | 23 #define AV_STRINGIFY(s) AV_TOSTRING(s) |
314 * - decoding: set by lavc\ | 314 * - decoding: set by lavc\ |
315 */\ | 315 */\ |
316 int display_picture_number;\ | 316 int display_picture_number;\ |
317 \ | 317 \ |
318 /**\ | 318 /**\ |
319 * quality (between 1 (good) and 31 (bad)) \ | 319 * quality (between 1 (good) and FF_LAMBDA_MAX (bad)) \ |
320 * - encoding: set by lavc for coded_picture (and set by user for input)\ | 320 * - encoding: set by lavc for coded_picture (and set by user for input)\ |
321 * - decoding: set by lavc\ | 321 * - decoding: set by lavc\ |
322 */\ | 322 */\ |
323 float quality; \ | 323 int quality; \ |
324 \ | 324 \ |
325 /**\ | 325 /**\ |
326 * buffer age (1->was last buffer and dint change, 2->..., ...).\ | 326 * buffer age (1->was last buffer and dint change, 2->..., ...).\ |
327 * set to something large if the buffer has not been used yet \ | 327 * set to INT_MAX if the buffer has not been used yet \ |
328 * - encoding: unused\ | 328 * - encoding: unused\ |
329 * - decoding: MUST be set by get_buffer()\ | 329 * - decoding: MUST be set by get_buffer()\ |
330 */\ | 330 */\ |
331 int age;\ | 331 int age;\ |
332 \ | 332 \ |
1179 /** | 1179 /** |
1180 * internal_buffers. | 1180 * internal_buffers. |
1181 * Dont touch, used by lavc default_get_buffer() | 1181 * Dont touch, used by lavc default_get_buffer() |
1182 */ | 1182 */ |
1183 void *internal_buffer; | 1183 void *internal_buffer; |
1184 | 1184 |
1185 #define FF_QUALITY_SCALE 256 | 1185 #define FF_LAMBDA_SHIFT 7 |
1186 #define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT) | |
1187 #define FF_QP2LAMBDA 118 ///< factor to convert from H.263 QP to lambda | |
1188 #define FF_LAMBDA_MAX (256*128-1) | |
1189 | |
1190 #define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove | |
1186 /** | 1191 /** |
1187 * global quality for codecs which cannot change it per frame. | 1192 * global quality for codecs which cannot change it per frame. |
1188 * this should be proportional to MPEG1/2/4 qscale. | 1193 * this should be proportional to MPEG1/2/4 qscale. |
1189 * - encoding: set by user. | 1194 * - encoding: set by user. |
1190 * - decoding: unused | 1195 * - decoding: unused |
1261 * 0 is default, larger means fewer detected scene changes | 1266 * 0 is default, larger means fewer detected scene changes |
1262 * - encoding: set by user. | 1267 * - encoding: set by user. |
1263 * - decoding: unused | 1268 * - decoding: unused |
1264 */ | 1269 */ |
1265 int scenechange_threshold; | 1270 int scenechange_threshold; |
1271 | |
1272 /** | |
1273 * minimum lagrange multipler | |
1274 * - encoding: set by user. | |
1275 * - decoding: unused | |
1276 */ | |
1277 int lmin; | |
1278 | |
1279 /** | |
1280 * maximum lagrange multipler | |
1281 * - encoding: set by user. | |
1282 * - decoding: unused | |
1283 */ | |
1284 int lmax; | |
1266 } AVCodecContext; | 1285 } AVCodecContext; |
1267 | 1286 |
1268 | 1287 |
1269 /** | 1288 /** |
1270 * AVOption. | 1289 * AVOption. |