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