comparison mpegvideo.h @ 1661:4c9fd29f1606 libavcodec

h263 slice structured mode slice cleanup
author michael
date Sun, 07 Dec 2003 01:33:45 +0000
parents 34b0e799aeb6
children 30746f429df6
comparison
equal deleted inserted replaced
1660:806afb8e9085 1661:4c9fd29f1606
521 int error_resilience; 521 int error_resilience;
522 522
523 ParseContext parse_context; 523 ParseContext parse_context;
524 524
525 /* H.263 specific */ 525 /* H.263 specific */
526 int gob_number;
527 int gob_index; 526 int gob_index;
528 int obmc; ///< overlapped block motion compensation 527 int obmc; ///< overlapped block motion compensation
529 528
530 /* H.263+ specific */ 529 /* H.263+ specific */
531 int umvplus; ///< == H263+ && unrestricted_mv 530 int umvplus; ///< == H263+ && unrestricted_mv
532 int h263_aic; ///< Advanded INTRA Coding (AIC) 531 int h263_aic; ///< Advanded INTRA Coding (AIC)
533 int h263_aic_dir; ///< AIC direction: 0 = left, 1 = top 532 int h263_aic_dir; ///< AIC direction: 0 = left, 1 = top
533 int h263_slice_structured;
534 int alt_inter_vlc; ///< alternative inter vlc 534 int alt_inter_vlc; ///< alternative inter vlc
535 int modified_quant; 535 int modified_quant;
536 int loop_filter; 536 int loop_filter;
537 537
538 /* mpeg4 specific */ 538 /* mpeg4 specific */
539 int time_increment_resolution; 539 int time_increment_resolution;
540 int time_increment_bits; ///< number of bits to represent the fractional part of time 540 int time_increment_bits; ///< number of bits to represent the fractional part of time
541 int last_time_base; 541 int last_time_base;
661 int progressive_frame; 661 int progressive_frame;
662 int full_pel[2]; 662 int full_pel[2];
663 int interlaced_dct; 663 int interlaced_dct;
664 int first_slice; 664 int first_slice;
665 int first_field; ///< is 1 for the first field of a field picture 0 otherwise 665 int first_field; ///< is 1 for the first field of a field picture 0 otherwise
666 666
667 /* RTP specific */ 667 /* RTP specific */
668 /* These are explained on avcodec.h */
669 int rtp_mode; 668 int rtp_mode;
670 int rtp_payload_size; 669
671 void (*rtp_callback)(void *data, int size, int packet_number);
672 uint8_t *ptr_lastgob; 670 uint8_t *ptr_lastgob;
673 int swap_uv;//vcr2 codec is mpeg2 varint with UV swaped 671 int swap_uv;//vcr2 codec is mpeg2 varint with UV swaped
674 short * pblocks[12]; 672 short * pblocks[12];
675 673
676 DCTELEM (*block)[64]; ///< points to one of the following blocks 674 DCTELEM (*block)[64]; ///< points to one of the following blocks
823 extern uint8_t ff_mpeg4_y_dc_scale_table[32]; 821 extern uint8_t ff_mpeg4_y_dc_scale_table[32];
824 extern uint8_t ff_mpeg4_c_dc_scale_table[32]; 822 extern uint8_t ff_mpeg4_c_dc_scale_table[32];
825 extern uint8_t ff_aic_dc_scale_table[32]; 823 extern uint8_t ff_aic_dc_scale_table[32];
826 extern const int16_t ff_mpeg4_default_intra_matrix[64]; 824 extern const int16_t ff_mpeg4_default_intra_matrix[64];
827 extern const int16_t ff_mpeg4_default_non_intra_matrix[64]; 825 extern const int16_t ff_mpeg4_default_non_intra_matrix[64];
828 extern const uint16_t ff_mba_max[6];
829 extern const uint8_t ff_mba_length[6];
830 extern const uint8_t ff_h263_chroma_qscale_table[32]; 826 extern const uint8_t ff_h263_chroma_qscale_table[32];
831 extern const uint8_t ff_h263_loop_filter_strength[32]; 827 extern const uint8_t ff_h263_loop_filter_strength[32];
832 828
833 829
834 int ff_h263_decode_init(AVCodecContext *avctx); 830 int ff_h263_decode_init(AVCodecContext *avctx);
842 void mpeg4_encode_mb(MpegEncContext *s, 838 void mpeg4_encode_mb(MpegEncContext *s,
843 DCTELEM block[6][64], 839 DCTELEM block[6][64],
844 int motion_x, int motion_y); 840 int motion_x, int motion_y);
845 void h263_encode_picture_header(MpegEncContext *s, int picture_number); 841 void h263_encode_picture_header(MpegEncContext *s, int picture_number);
846 void ff_flv_encode_picture_header(MpegEncContext *s, int picture_number); 842 void ff_flv_encode_picture_header(MpegEncContext *s, int picture_number);
847 int h263_encode_gob_header(MpegEncContext * s, int mb_line); 843 void h263_encode_gob_header(MpegEncContext * s, int mb_line);
848 int16_t *h263_pred_motion(MpegEncContext * s, int block, 844 int16_t *h263_pred_motion(MpegEncContext * s, int block,
849 int *px, int *py); 845 int *px, int *py);
850 void mpeg4_pred_ac(MpegEncContext * s, DCTELEM *block, int n, 846 void mpeg4_pred_ac(MpegEncContext * s, DCTELEM *block, int n,
851 int dir); 847 int dir);
852 void ff_set_mpeg4_time(MpegEncContext * s, int picture_number); 848 void ff_set_mpeg4_time(MpegEncContext * s, int picture_number);
857 int ff_h263_decode_gob_header(MpegEncContext *s); 853 int ff_h263_decode_gob_header(MpegEncContext *s);
858 int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb); 854 int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb);
859 void ff_h263_update_motion_val(MpegEncContext * s); 855 void ff_h263_update_motion_val(MpegEncContext * s);
860 void ff_h263_loop_filter(MpegEncContext * s); 856 void ff_h263_loop_filter(MpegEncContext * s);
861 void ff_set_qscale(MpegEncContext * s, int qscale); 857 void ff_set_qscale(MpegEncContext * s, int qscale);
862 858 int ff_h263_decode_mba(MpegEncContext *s);
859 void ff_h263_encode_mba(MpegEncContext *s);
863 860
864 int intel_h263_decode_picture_header(MpegEncContext *s); 861 int intel_h263_decode_picture_header(MpegEncContext *s);
865 int flv_h263_decode_picture_header(MpegEncContext *s); 862 int flv_h263_decode_picture_header(MpegEncContext *s);
866 int ff_h263_decode_mb(MpegEncContext *s, 863 int ff_h263_decode_mb(MpegEncContext *s,
867 DCTELEM block[6][64]); 864 DCTELEM block[6][64]);