comparison avcodec.h @ 1945:32f68745c431 libavcodec

passing AVFrame instead of AVPicture around in ffmpeg, that way stuff like motion vectors can be passed from the decoder to the encoder moving ref_index from Picture to AVFrame
author michael
date Sat, 17 Apr 2004 19:41:49 +0000
parents 0181b79f9a00
children a3c60fa850dc
comparison
equal deleted inserted replaced
1944:a3f44c9168aa 1945:32f68745c431
15 #include "rational.h" 15 #include "rational.h"
16 #include <sys/types.h> /* size_t */ 16 #include <sys/types.h> /* size_t */
17 17
18 #define FFMPEG_VERSION_INT 0x000408 18 #define FFMPEG_VERSION_INT 0x000408
19 #define FFMPEG_VERSION "0.4.8" 19 #define FFMPEG_VERSION "0.4.8"
20 #define LIBAVCODEC_BUILD 4708 20 #define LIBAVCODEC_BUILD 4709
21 21
22 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT 22 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
23 #define LIBAVCODEC_VERSION FFMPEG_VERSION 23 #define LIBAVCODEC_VERSION FFMPEG_VERSION
24 24
25 #define AV_STRINGIFY(s) AV_TOSTRING(s) 25 #define AV_STRINGIFY(s) AV_TOSTRING(s)
440 */\ 440 */\
441 uint8_t *mbskip_table;\ 441 uint8_t *mbskip_table;\
442 \ 442 \
443 /**\ 443 /**\
444 * Motion vector table\ 444 * Motion vector table\
445 * - encoding: unused\ 445 * - encoding: set by user\
446 * - decoding: set by lavc\ 446 * - decoding: set by lavc\
447 */\ 447 */\
448 int16_t (*motion_val[2])[2];\ 448 int16_t (*motion_val[2])[2];\
449 \ 449 \
450 /**\ 450 /**\
451 * Macroblock type table\ 451 * Macroblock type table\
452 * mb_type_base + mb_width + 2\ 452 * mb_type_base + mb_width + 2\
453 * - encoding: unused\ 453 * - encoding: set by user\
454 * - decoding: set by lavc\ 454 * - decoding: set by lavc\
455 */\ 455 */\
456 uint32_t *mb_type;\ 456 uint32_t *mb_type;\
457 \ 457 \
458 /**\ 458 /**\
536 * DCT coeffitients\ 536 * DCT coeffitients\
537 * - encoding: unused\ 537 * - encoding: unused\
538 * - decoding: set by lavc\ 538 * - decoding: set by lavc\
539 */\ 539 */\
540 short *dct_coeff;\ 540 short *dct_coeff;\
541 \
542 /**\
543 * Motion referece frame index\
544 * - encoding: set by user\
545 * - decoding: set by lavc\
546 */\
547 int8_t *ref_index[2];
541 548
542 #define FF_QSCALE_TYPE_MPEG1 0 549 #define FF_QSCALE_TYPE_MPEG1 0
543 #define FF_QSCALE_TYPE_MPEG2 1 550 #define FF_QSCALE_TYPE_MPEG2 1
544 551
545 #define FF_BUFFER_TYPE_INTERNAL 1 552 #define FF_BUFFER_TYPE_INTERNAL 1
546 #define FF_BUFFER_TYPE_USER 2 ///< Direct rendering buffers (image is (de)allocated by user) 553 #define FF_BUFFER_TYPE_USER 2 ///< Direct rendering buffers (image is (de)allocated by user)
547 #define FF_BUFFER_TYPE_SHARED 4 ///< buffer from somewher else, dont dealloc image (data/base) 554 #define FF_BUFFER_TYPE_SHARED 4 ///< buffer from somewher else, dont dealloc image (data/base), all other tables are not shared
548 #define FF_BUFFER_TYPE_COPY 8 ///< just a (modified) copy of some other buffer, dont dealloc anything 555 #define FF_BUFFER_TYPE_COPY 8 ///< just a (modified) copy of some other buffer, dont dealloc anything
549 556
550 557
551 #define FF_I_TYPE 1 // Intra 558 #define FF_I_TYPE 1 // Intra
552 #define FF_P_TYPE 2 // Predicted 559 #define FF_P_TYPE 2 // Predicted
1559 * can be used by execute() to store some per AVCodecContext stuff. 1566 * can be used by execute() to store some per AVCodecContext stuff.
1560 * - encoding: set by execute() 1567 * - encoding: set by execute()
1561 * - decoding: set by execute() 1568 * - decoding: set by execute()
1562 */ 1569 */
1563 void *thread_opaque; 1570 void *thread_opaque;
1571
1572 /**
1573 * Motion estimation threshold.
1574 *
1575 * - encoding: set by user
1576 * - decoding: set by user
1577 */
1578 void *me_threshold;
1564 } AVCodecContext; 1579 } AVCodecContext;
1565 1580
1566 1581
1567 /** 1582 /**
1568 * AVOption. 1583 * AVOption.