00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AVCODEC_MSMPEG4_H
00023 #define AVCODEC_MSMPEG4_H
00024
00025 #include "config.h"
00026 #include "avcodec.h"
00027 #include "dsputil.h"
00028 #include "mpegvideo.h"
00029
00030 #define INTER_INTRA_VLC_BITS 3
00031 #define MB_NON_INTRA_VLC_BITS 9
00032 #define MB_INTRA_VLC_BITS 9
00033
00034 extern VLC ff_mb_non_intra_vlc[4];
00035 extern VLC ff_inter_intra_vlc;
00036
00037 void ff_msmpeg4_code012(PutBitContext *pb, int n);
00038 void ff_msmpeg4_encode_block(MpegEncContext * s, DCTELEM * block, int n);
00039 void ff_msmpeg4_handle_slices(MpegEncContext *s);
00040 void ff_msmpeg4_encode_motion(MpegEncContext * s, int mx, int my);
00041 int ff_msmpeg4_coded_block_pred(MpegEncContext * s, int n,
00042 uint8_t **coded_block_ptr);
00043 int ff_msmpeg4_decode_motion(MpegEncContext * s, int *mx_ptr, int *my_ptr);
00044 int ff_msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
00045 int n, int coded, const uint8_t *scan_table);
00046 int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
00047
00048 #define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \
00049 CONFIG_MSMPEG4V2_DECODER || \
00050 CONFIG_MSMPEG4V3_DECODER || \
00051 CONFIG_WMV2_DECODER || \
00052 CONFIG_VC1_DECODER)
00053 #define CONFIG_MSMPEG4_ENCODER (CONFIG_MSMPEG4V2_ENCODER || \
00054 CONFIG_MSMPEG4V3_ENCODER || \
00055 CONFIG_WMV2_ENCODER)
00056
00057 #endif