diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index d14e232640..a210772698 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -42,6 +42,7 @@ #include "qpeldsp.h" #include "vdpau_compat.h" #include "thread.h" +#include "wmv2.h" static enum AVPixelFormat h263_get_format(AVCodecContext *avctx) { diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index fb8570cc9c..4b3e939a70 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -45,6 +45,7 @@ #include "msmpeg4.h" #include "qpeldsp.h" #include "thread.h" +#include "wmv2.h" #include static const uint8_t ff_default_chroma_qscale_table[32] = { diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index a4370bab83..44e60ad36d 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -891,17 +891,6 @@ int ff_msmpeg4_decode_picture_header(MpegEncContext * s); int ff_msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size); int ff_msmpeg4_decode_init(AVCodecContext *avctx); int ff_msmpeg4_encode_init(MpegEncContext *s); -int ff_wmv2_decode_picture_header(MpegEncContext * s); -int ff_wmv2_decode_secondary_picture_header(MpegEncContext * s); -void ff_wmv2_add_mb(MpegEncContext *s, int16_t block[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr); -void ff_mspel_motion(MpegEncContext *s, - uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture, op_pixels_func (*pix_op)[4], - int motion_x, int motion_y, int h); -int ff_wmv2_encode_picture_header(MpegEncContext * s, int picture_number); -void ff_wmv2_encode_mb(MpegEncContext * s, - int16_t block[6][64], - int motion_x, int motion_y); int ff_mpeg_ref_picture(AVCodecContext *avctx, Picture *dst, Picture *src); void ff_mpeg_unref_picture(AVCodecContext *avctx, Picture *picture); diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 2833c55bbb..d608a6e090 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -56,6 +56,7 @@ #include "mpeg4video.h" #include "internal.h" #include "bytestream.h" +#include "wmv2.h" #include #include "sp5x.h" diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 0d75ffa9ce..060f3f25b1 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -32,6 +32,7 @@ #include "mjpegenc.h" #include "msmpeg4.h" #include "qpeldsp.h" +#include "wmv2.h" #include static void gmc1_motion(MpegEncContext *s, diff --git a/libavcodec/msmpeg4.h b/libavcodec/msmpeg4.h index db77ce1d73..ac07762002 100644 --- a/libavcodec/msmpeg4.h +++ b/libavcodec/msmpeg4.h @@ -54,7 +54,6 @@ int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block, int n, int coded, const uint8_t *scan_table); int ff_msmpeg4_pred_dc(MpegEncContext *s, int n, int16_t **dc_val_ptr, int *dir_ptr); -int ff_wmv2_decode_mb(MpegEncContext *s, int16_t block[6][64]); #define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \ CONFIG_MSMPEG4V2_DECODER || \ diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c index cd88ec0f6a..2feb2beb21 100644 --- a/libavcodec/msmpeg4dec.c +++ b/libavcodec/msmpeg4dec.c @@ -33,6 +33,7 @@ #include "mpeg4video.h" #include "msmpeg4data.h" #include "vc1data.h" +#include "wmv2.h" #define DC_VLC_BITS 9 #define V2_INTRA_CBPC_VLC_BITS 3 diff --git a/libavcodec/wmv2.h b/libavcodec/wmv2.h index 4fa5e9bcec..31593b8c38 100644 --- a/libavcodec/wmv2.h +++ b/libavcodec/wmv2.h @@ -56,6 +56,21 @@ typedef struct Wmv2Context { void ff_wmv2_common_init(Wmv2Context *w); +int ff_wmv2_decode_mb(MpegEncContext *s, int16_t block[6][64]); +int ff_wmv2_encode_picture_header(MpegEncContext * s, int picture_number); +void ff_wmv2_encode_mb(MpegEncContext * s, int16_t block[6][64], + int motion_x, int motion_y); +int ff_wmv2_decode_picture_header(MpegEncContext * s); +int ff_wmv2_decode_secondary_picture_header(MpegEncContext * s); +void ff_wmv2_add_mb(MpegEncContext *s, int16_t block[6][64], + uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr); + +void ff_mspel_motion(MpegEncContext *s, + uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, + uint8_t **ref_picture, op_pixels_func (*pix_op)[4], + int motion_x, int motion_y, int h); + + static av_always_inline int wmv2_get_cbp_table_index(MpegEncContext *s, int cbp_index) { static const uint8_t map[3][3] = {