X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmsmpeg4.h;h=28372a0bc8d56362123c74894e6ddb19a75b0023;hb=c9b87628568a95e5c9fe788afa9534e809d32e0d;hp=1b2dabdb29b61deb8ae0aecaeaf239199f095f88;hpb=eb75a69818c15272e94de9aba8e87a2c3535437a;p=ffmpeg diff --git a/libavcodec/msmpeg4.h b/libavcodec/msmpeg4.h index 1b2dabdb29b..28372a0bc8d 100644 --- a/libavcodec/msmpeg4.h +++ b/libavcodec/msmpeg4.h @@ -20,25 +20,43 @@ */ /** - * @file msmpeg4.h + * @file */ -#ifndef MSMPEG4_H -#define MSMPEG4_H +#ifndef AVCODEC_MSMPEG4_H +#define AVCODEC_MSMPEG4_H #include "config.h" +#include "avcodec.h" +#include "dsputil.h" +#include "mpegvideo.h" -#define ENABLE_MSMPEG4_DECODER (ENABLE_MSMPEG4V1_DECODER || \ - ENABLE_MSMPEG4V2_DECODER || \ - ENABLE_MSMPEG4V3_DECODER || \ - ENABLE_WMV2_DECODER) -#define ENABLE_MSMPEG4_ENCODER (ENABLE_MSMPEG4V1_ENCODER || \ - ENABLE_MSMPEG4V2_ENCODER || \ - ENABLE_MSMPEG4V3_ENCODER || \ - ENABLE_WMV2_ENCODER) -#define ENABLE_MSMPEG4 (ENABLE_MSMPEG4_DECODER || ENABLE_MSMPEG4_ENCODER) -#define ENABLE_WMV2 (ENABLE_WMV2_DECODER || ENABLE_WMV2_ENCODER) -#define ENABLE_WMV_DECODER (ENABLE_WMV1_DECODER || ENABLE_WMV2_DECODER) -#define ENABLE_WMV_ENCODER (ENABLE_WMV1_ENCODER || ENABLE_WMV2_ENCODER) - -#endif /* MSMPEG4_H */ +#define INTER_INTRA_VLC_BITS 3 +#define MB_NON_INTRA_VLC_BITS 9 +#define MB_INTRA_VLC_BITS 9 + +extern VLC ff_mb_non_intra_vlc[4]; +extern VLC ff_inter_intra_vlc; + +void ff_msmpeg4_code012(PutBitContext *pb, int n); +void ff_msmpeg4_encode_block(MpegEncContext * s, DCTELEM * block, int n); +void ff_msmpeg4_handle_slices(MpegEncContext *s); +void ff_msmpeg4_encode_motion(MpegEncContext * s, int mx, int my); +int ff_msmpeg4_coded_block_pred(MpegEncContext * s, int n, + uint8_t **coded_block_ptr); +int ff_msmpeg4_decode_motion(MpegEncContext * s, int *mx_ptr, int *my_ptr); +int ff_msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block, + int n, int coded, const uint8_t *scan_table); +int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]); + +#define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \ + CONFIG_MSMPEG4V2_DECODER || \ + CONFIG_MSMPEG4V3_DECODER || \ + CONFIG_WMV2_DECODER || \ + CONFIG_VC1_DECODER) +#define CONFIG_MSMPEG4_ENCODER (CONFIG_MSMPEG4V1_ENCODER || \ + CONFIG_MSMPEG4V2_ENCODER || \ + CONFIG_MSMPEG4V3_ENCODER || \ + CONFIG_WMV2_ENCODER) + +#endif /* AVCODEC_MSMPEG4_H */