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