Mercurial > libavcodec.hg
comparison mpegvideo.h @ 10803:4605bd2fdb7f libavcodec
Split the mpeg4 encoder and decoder off h263.c
author | michael |
---|---|
date | Thu, 07 Jan 2010 23:53:49 +0000 |
parents | 9e47b291fa62 |
children | 9ccc13d1144d |
comparison
equal
deleted
inserted
replaced
10802:4f614b69b4e5 | 10803:4605bd2fdb7f |
---|---|
780 void ff_mpeg1_encode_init(MpegEncContext *s); | 780 void ff_mpeg1_encode_init(MpegEncContext *s); |
781 void ff_mpeg1_encode_slice_header(MpegEncContext *s); | 781 void ff_mpeg1_encode_slice_header(MpegEncContext *s); |
782 void ff_mpeg1_clean_buffers(MpegEncContext *s); | 782 void ff_mpeg1_clean_buffers(MpegEncContext *s); |
783 int ff_mpeg1_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size, AVCodecParserContext *s); | 783 int ff_mpeg1_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size, AVCodecParserContext *s); |
784 | 784 |
785 extern const uint8_t ff_mpeg4_y_dc_scale_table[32]; | |
786 extern const uint8_t ff_mpeg4_c_dc_scale_table[32]; | |
787 extern const uint8_t ff_aic_dc_scale_table[32]; | 785 extern const uint8_t ff_aic_dc_scale_table[32]; |
788 extern const int16_t ff_mpeg4_default_intra_matrix[64]; | |
789 extern const int16_t ff_mpeg4_default_non_intra_matrix[64]; | |
790 extern const uint8_t ff_h263_chroma_qscale_table[32]; | 786 extern const uint8_t ff_h263_chroma_qscale_table[32]; |
791 extern const uint8_t ff_h263_loop_filter_strength[32]; | 787 extern const uint8_t ff_h263_loop_filter_strength[32]; |
792 | 788 |
793 /* h261.c */ | 789 /* h261.c */ |
794 void ff_h261_loop_filter(MpegEncContext *s); | 790 void ff_h261_loop_filter(MpegEncContext *s); |
808 AVPacket *avpkt); | 804 AVPacket *avpkt); |
809 int ff_h263_decode_end(AVCodecContext *avctx); | 805 int ff_h263_decode_end(AVCodecContext *avctx); |
810 void h263_encode_mb(MpegEncContext *s, | 806 void h263_encode_mb(MpegEncContext *s, |
811 DCTELEM block[6][64], | 807 DCTELEM block[6][64], |
812 int motion_x, int motion_y); | 808 int motion_x, int motion_y); |
813 void mpeg4_encode_mb(MpegEncContext *s, | |
814 DCTELEM block[6][64], | |
815 int motion_x, int motion_y); | |
816 void h263_encode_picture_header(MpegEncContext *s, int picture_number); | 809 void h263_encode_picture_header(MpegEncContext *s, int picture_number); |
817 void h263_encode_gob_header(MpegEncContext * s, int mb_line); | 810 void h263_encode_gob_header(MpegEncContext * s, int mb_line); |
818 int16_t *h263_pred_motion(MpegEncContext * s, int block, int dir, | 811 int16_t *h263_pred_motion(MpegEncContext * s, int block, int dir, |
819 int *px, int *py); | 812 int *px, int *py); |
820 void mpeg4_pred_ac(MpegEncContext * s, DCTELEM *block, int n, | |
821 int dir); | |
822 void ff_set_mpeg4_time(MpegEncContext * s); | |
823 void mpeg4_encode_picture_header(MpegEncContext *s, int picture_number); | |
824 void h263_encode_init(MpegEncContext *s); | 813 void h263_encode_init(MpegEncContext *s); |
825 void h263_decode_init_vlc(MpegEncContext *s); | 814 void h263_decode_init_vlc(MpegEncContext *s); |
826 int h263_decode_picture_header(MpegEncContext *s); | 815 int h263_decode_picture_header(MpegEncContext *s); |
827 int ff_h263_decode_gob_header(MpegEncContext *s); | 816 int ff_h263_decode_gob_header(MpegEncContext *s); |
828 int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb); | |
829 void ff_h263_update_motion_val(MpegEncContext * s); | 817 void ff_h263_update_motion_val(MpegEncContext * s); |
830 void ff_h263_loop_filter(MpegEncContext * s); | 818 void ff_h263_loop_filter(MpegEncContext * s); |
831 void ff_set_qscale(MpegEncContext * s, int qscale); | 819 void ff_set_qscale(MpegEncContext * s, int qscale); |
832 int ff_h263_decode_mba(MpegEncContext *s); | 820 int ff_h263_decode_mba(MpegEncContext *s); |
833 void ff_h263_encode_mba(MpegEncContext *s); | 821 void ff_h263_encode_mba(MpegEncContext *s); |
837 */ | 825 */ |
838 void ff_h263_show_pict_info(MpegEncContext *s); | 826 void ff_h263_show_pict_info(MpegEncContext *s); |
839 | 827 |
840 int ff_intel_h263_decode_picture_header(MpegEncContext *s); | 828 int ff_intel_h263_decode_picture_header(MpegEncContext *s); |
841 int ff_h263_decode_mb(MpegEncContext *s, | 829 int ff_h263_decode_mb(MpegEncContext *s, |
842 DCTELEM block[6][64]); | |
843 int ff_mpeg4_decode_mb(MpegEncContext *s, | |
844 DCTELEM block[6][64]); | 830 DCTELEM block[6][64]); |
845 | 831 |
846 /** | 832 /** |
847 * Returns the value of the 3bit "source format" syntax element. | 833 * Returns the value of the 3bit "source format" syntax element. |
848 * that represents some standard picture dimensions or indicates that | 834 * that represents some standard picture dimensions or indicates that |
849 * width&height are explicitly stored later. | 835 * width&height are explicitly stored later. |
850 */ | 836 */ |
851 int av_const h263_get_picture_format(int width, int height); | 837 int av_const h263_get_picture_format(int width, int height); |
852 | 838 |
853 void ff_mpeg4_encode_video_packet_header(MpegEncContext *s); | |
854 void ff_mpeg4_clean_buffers(MpegEncContext *s); | |
855 void ff_mpeg4_stuffing(PutBitContext * pbc); | |
856 void ff_mpeg4_init_partitions(MpegEncContext *s); | |
857 void ff_mpeg4_merge_partitions(MpegEncContext *s); | |
858 void ff_clean_mpeg4_qscales(MpegEncContext *s); | |
859 void ff_clean_h263_qscales(MpegEncContext *s); | 839 void ff_clean_h263_qscales(MpegEncContext *s); |
860 int ff_mpeg4_decode_partitions(MpegEncContext *s); | |
861 int ff_mpeg4_get_video_packet_prefix_length(MpegEncContext *s); | |
862 int ff_h263_resync(MpegEncContext *s); | 840 int ff_h263_resync(MpegEncContext *s); |
863 const uint8_t *ff_h263_find_resync_marker(const uint8_t *p, const uint8_t *end); | 841 const uint8_t *ff_h263_find_resync_marker(const uint8_t *p, const uint8_t *end); |
864 int ff_h263_get_gob_height(MpegEncContext *s); | 842 int ff_h263_get_gob_height(MpegEncContext *s); |
865 void ff_mpeg4_init_direct_mv(MpegEncContext *s); | 843 void ff_mpeg4_init_direct_mv(MpegEncContext *s); |
866 int ff_mpeg4_set_direct_mv(MpegEncContext *s, int mx, int my); | 844 int ff_mpeg4_set_direct_mv(MpegEncContext *s, int mx, int my); |