Mercurial > libavcodec.hg
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]); |