Mercurial > libavcodec.hg
comparison avcodec.h @ 1606:a1ac8e675b95 libavcodec
Add cr codec capability and buffer hints
| author | rtognimp |
|---|---|
| date | Fri, 07 Nov 2003 21:20:24 +0000 |
| parents | 932d306bf1dc |
| children | 639972344c6f |
comparison
equal
deleted
inserted
replaced
| 1605:2fb583cb0013 | 1606:a1ac8e675b95 |
|---|---|
| 14 #include "common.h" | 14 #include "common.h" |
| 15 #include "rational.h" | 15 #include "rational.h" |
| 16 | 16 |
| 17 #define FFMPEG_VERSION_INT 0x000408 | 17 #define FFMPEG_VERSION_INT 0x000408 |
| 18 #define FFMPEG_VERSION "0.4.8" | 18 #define FFMPEG_VERSION "0.4.8" |
| 19 #define LIBAVCODEC_BUILD 4690 | 19 #define LIBAVCODEC_BUILD 4691 |
| 20 | 20 |
| 21 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT | 21 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT |
| 22 #define LIBAVCODEC_VERSION FFMPEG_VERSION | 22 #define LIBAVCODEC_VERSION FFMPEG_VERSION |
| 23 | 23 |
| 24 #define AV_STRINGIFY(s) AV_TOSTRING(s) | 24 #define AV_STRINGIFY(s) AV_TOSTRING(s) |
| 273 #define CODEC_CAP_DR1 0x0002 | 273 #define CODEC_CAP_DR1 0x0002 |
| 274 /* if 'parse_only' field is true, then avcodec_parse_frame() can be | 274 /* if 'parse_only' field is true, then avcodec_parse_frame() can be |
| 275 used */ | 275 used */ |
| 276 #define CODEC_CAP_PARSE_ONLY 0x0004 | 276 #define CODEC_CAP_PARSE_ONLY 0x0004 |
| 277 #define CODEC_CAP_TRUNCATED 0x0008 | 277 #define CODEC_CAP_TRUNCATED 0x0008 |
| 278 /* | |
| 279 * Codec can use conditional replenishment if available. | |
| 280 */ | |
| 281 #define CODEC_CAP_CR 0x0010 | |
| 278 | 282 |
| 279 /** | 283 /** |
| 280 * Pan Scan area. | 284 * Pan Scan area. |
| 281 * this specifies the area which should be displayed. Note there may be multiple such areas for one frame | 285 * this specifies the area which should be displayed. Note there may be multiple such areas for one frame |
| 282 */ | 286 */ |
| 458 * tell user application that palette has changed from previous frame.\ | 462 * tell user application that palette has changed from previous frame.\ |
| 459 * - encoding: ??? (no palette-enabled encoder yet)\ | 463 * - encoding: ??? (no palette-enabled encoder yet)\ |
| 460 * - decoding: set by lavc (default 0)\ | 464 * - decoding: set by lavc (default 0)\ |
| 461 */\ | 465 */\ |
| 462 int palette_has_changed;\ | 466 int palette_has_changed;\ |
| 467 \ | |
| 468 /**\ | |
| 469 * Codec suggestion on buffer type if != 0\ | |
| 470 * - encoding: unused\ | |
| 471 * - decoding: set by lavc (before get_buffer() call))\ | |
| 472 */\ | |
| 473 int buffer_hints;\ | |
| 463 | 474 |
| 464 #define FF_QSCALE_TYPE_MPEG1 0 | 475 #define FF_QSCALE_TYPE_MPEG1 0 |
| 465 #define FF_QSCALE_TYPE_MPEG2 1 | 476 #define FF_QSCALE_TYPE_MPEG2 1 |
| 466 | 477 |
| 467 #define FF_BUFFER_TYPE_INTERNAL 1 | 478 #define FF_BUFFER_TYPE_INTERNAL 1 |
| 474 #define FF_P_TYPE 2 // Predicted | 485 #define FF_P_TYPE 2 // Predicted |
| 475 #define FF_B_TYPE 3 // Bi-dir predicted | 486 #define FF_B_TYPE 3 // Bi-dir predicted |
| 476 #define FF_S_TYPE 4 // S(GMC)-VOP MPEG4 | 487 #define FF_S_TYPE 4 // S(GMC)-VOP MPEG4 |
| 477 #define FF_SI_TYPE 5 | 488 #define FF_SI_TYPE 5 |
| 478 #define FF_SP_TYPE 6 | 489 #define FF_SP_TYPE 6 |
| 490 | |
| 491 #define FF_BUFFER_HINTS_VALID 0x01 // Buffer hints value is meaningful (if 0 ignore) | |
| 492 #define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer | |
| 493 #define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content | |
| 494 #define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update) | |
| 479 | 495 |
| 480 /** | 496 /** |
| 481 * Audio Video Frame. | 497 * Audio Video Frame. |
| 482 */ | 498 */ |
| 483 typedef struct AVFrame { | 499 typedef struct AVFrame { |
| 1363 * noise reduction strength | 1379 * noise reduction strength |
| 1364 * - encoding: set by user. | 1380 * - encoding: set by user. |
| 1365 * - decoding: unused | 1381 * - decoding: unused |
| 1366 */ | 1382 */ |
| 1367 int noise_reduction; | 1383 int noise_reduction; |
| 1384 | |
| 1385 /** | |
| 1386 * Conditional replenishment support | |
| 1387 * - encoding: unused | |
| 1388 * - decoding: set by user, if 1 user can allocate reusable buffers | |
| 1389 */ | |
| 1390 int cr_available; | |
| 1368 | 1391 |
| 1369 } AVCodecContext; | 1392 } AVCodecContext; |
| 1370 | 1393 |
| 1371 | 1394 |
| 1372 /** | 1395 /** |
