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);