Mercurial > libavcodec.hg
comparison mpegvideo.h @ 1422:efeed6e29f9b libavcodec
oooooops, having 2 Eterms open and doing cvs diff in one and cvs commit in the other sucks, especially if they are in different directories (MPlayer/main/libavcodec vs. ffmpeg/libavcodec)
author | michaelni |
---|---|
date | Mon, 25 Aug 2003 22:54:53 +0000 |
parents | 340c90faa1dc |
children | c4539ef4d8cb |
comparison
equal
deleted
inserted
replaced
1421:340c90faa1dc | 1422:efeed6e29f9b |
---|---|
46 #define MAX_FCODE 7 | 46 #define MAX_FCODE 7 |
47 #define MAX_MV 2048 | 47 #define MAX_MV 2048 |
48 | 48 |
49 #define MAX_PICTURE_COUNT 15 | 49 #define MAX_PICTURE_COUNT 15 |
50 | 50 |
51 #if 1 | |
52 #define ME_MAP_SIZE 4096 | |
53 #define ME_MAP_SHIFT 6 | |
54 #else | |
55 #define ME_MAP_SIZE 64 | 51 #define ME_MAP_SIZE 64 |
56 #define ME_MAP_SHIFT 3 | 52 #define ME_MAP_SHIFT 3 |
57 #endif | |
58 #define ME_MAP_MV_BITS 11 | 53 #define ME_MAP_MV_BITS 11 |
59 | 54 |
60 /* run length table */ | 55 /* run length table */ |
61 #define MAX_RUN 64 | 56 #define MAX_RUN 64 |
62 #define MAX_LEVEL 64 | 57 #define MAX_LEVEL 64 |
388 int16_t (*b_bidir_back_mv_table)[2]; ///< MV table (1MV per MB) bidir mode b-frame encoding | 383 int16_t (*b_bidir_back_mv_table)[2]; ///< MV table (1MV per MB) bidir mode b-frame encoding |
389 int16_t (*b_direct_mv_table)[2]; ///< MV table (1MV per MB) direct mode b-frame encoding | 384 int16_t (*b_direct_mv_table)[2]; ///< MV table (1MV per MB) direct mode b-frame encoding |
390 int me_method; ///< ME algorithm | 385 int me_method; ///< ME algorithm |
391 int scene_change_score; | 386 int scene_change_score; |
392 int mv_dir; | 387 int mv_dir; |
393 #define MV_DIR_L1 1 | 388 #define MV_DIR_BACKWARD 1 |
394 #define MV_DIR_L0 2 | 389 #define MV_DIR_FORWARD 2 |
395 #define MV_DIR_BACKWARD MV_DIR_L1 | |
396 #define MV_DIR_FORWARD MV_DIR_L0 | |
397 #define MV_DIRECT 4 ///< bidirectional mode where the difference equals the MV of the last P/S/I-Frame (mpeg4) | 390 #define MV_DIRECT 4 ///< bidirectional mode where the difference equals the MV of the last P/S/I-Frame (mpeg4) |
398 int mv_type; | 391 int mv_type; |
399 #define MV_TYPE_16X16 0 ///< 1 vector for the whole mb | 392 #define MV_TYPE_16X16 0 ///< 1 vector for the whole mb |
400 #define MV_TYPE_8X8 1 ///< 4 vectors (h263, mpeg4 4MV) | 393 #define MV_TYPE_8X8 1 ///< 4 vectors (h263, mpeg4 4MV) |
401 #define MV_TYPE_16X8 2 ///< 2 vectors, one per 16x8 block | 394 #define MV_TYPE_16X8 2 ///< 2 vectors, one per 16x8 block |
573 PutBitContext pb2; ///< used for data partitioned VOPs | 566 PutBitContext pb2; ///< used for data partitioned VOPs |
574 #define PB_BUFFER_SIZE 1024*256 | 567 #define PB_BUFFER_SIZE 1024*256 |
575 uint8_t *tex_pb_buffer; | 568 uint8_t *tex_pb_buffer; |
576 uint8_t *pb2_buffer; | 569 uint8_t *pb2_buffer; |
577 int mpeg_quant; | 570 int mpeg_quant; |
578 #define FF_QUANT_DEFAULT 0 | |
579 #define FF_QUANT_MPEG2 1 | |
580 #define FF_QUANT_MPEG1 2 | |
581 #define FF_QUANT_H263 3 | |
582 | |
583 int16_t (*field_mv_table)[2][2]; ///< used for interlaced b frame decoding | 571 int16_t (*field_mv_table)[2][2]; ///< used for interlaced b frame decoding |
584 int8_t (*field_select_table)[2]; ///< wtf, no really another table for interlaced b frames | 572 int8_t (*field_select_table)[2]; ///< wtf, no really another table for interlaced b frames |
585 int t_frame; ///< time distance of first I -> B, used for interlaced b frames | 573 int t_frame; ///< time distance of first I -> B, used for interlaced b frames |
586 int padding_bug_score; ///< used to detect the VERY common padding bug in MPEG4 | 574 int padding_bug_score; ///< used to detect the VERY common padding bug in MPEG4 |
587 | 575 |
661 int first_slice; | 649 int first_slice; |
662 int first_field; ///< is 1 for the first field of a field picture 0 otherwise | 650 int first_field; ///< is 1 for the first field of a field picture 0 otherwise |
663 | 651 |
664 /* RTP specific */ | 652 /* RTP specific */ |
665 /* These are explained on avcodec.h */ | 653 /* These are explained on avcodec.h */ |
666 int rtp_mode; //FIXME simplify this mess (remove callback, merge mode + payload) | 654 int rtp_mode; |
667 int rtp_payload_size; | 655 int rtp_payload_size; |
668 void (*rtp_callback)(void *data, int size, int packet_number); | 656 void (*rtp_callback)(void *data, int size, int packet_number); |
669 uint8_t *ptr_lastgob; | 657 uint8_t *ptr_lastgob; |
670 | 658 |
671 DCTELEM (*block)[64]; ///< points to one of the following blocks | 659 DCTELEM (*block)[64]; ///< points to one of the following blocks |
879 int msmpeg4_decode_picture_header(MpegEncContext * s); | 867 int msmpeg4_decode_picture_header(MpegEncContext * s); |
880 int msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size); | 868 int msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size); |
881 int ff_msmpeg4_decode_init(MpegEncContext *s); | 869 int ff_msmpeg4_decode_init(MpegEncContext *s); |
882 void ff_msmpeg4_encode_init(MpegEncContext *s); | 870 void ff_msmpeg4_encode_init(MpegEncContext *s); |
883 int ff_wmv2_decode_picture_header(MpegEncContext * s); | 871 int ff_wmv2_decode_picture_header(MpegEncContext * s); |
884 int ff_wmv2_decode_secondary_picture_header(MpegEncContext * s); | |
885 void ff_wmv2_add_mb(MpegEncContext *s, DCTELEM block[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr); | 872 void ff_wmv2_add_mb(MpegEncContext *s, DCTELEM block[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr); |
886 void ff_mspel_motion(MpegEncContext *s, | 873 void ff_mspel_motion(MpegEncContext *s, |
887 uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, | 874 uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, |
888 uint8_t **ref_picture, op_pixels_func (*pix_op)[4], | 875 uint8_t **ref_picture, op_pixels_func (*pix_op)[4], |
889 int motion_x, int motion_y, int h); | 876 int motion_x, int motion_y, int h); |