]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/wmv2.h
mmal: Remove setting extradata on input format
[ffmpeg] / libavcodec / wmv2.h
index 80f36ccddbc70ee6e1f7323d85ce74591c01b3f2..b77dd98cd5d8f914a679ddc371d530a0577fec5c 100644 (file)
@@ -22,9 +22,9 @@
 #define AVCODEC_WMV2_H
 
 #include "avcodec.h"
-#include "dsputil.h"
-#include "mpegvideo.h"
 #include "intrax8.h"
+#include "mpegvideo.h"
+#include "wmv2dsp.h"
 
 #define SKIP_TYPE_NONE 0
 #define SKIP_TYPE_MPEG 1
 #define SKIP_TYPE_COL  3
 
 
-typedef struct Wmv2Context{
+typedef struct Wmv2Context {
     MpegEncContext s;
     IntraX8Context x8;
+    WMV2DSPContext wdsp;
     int j_type_bit;
     int j_type;
     int abt_flag;
@@ -50,9 +51,23 @@ typedef struct Wmv2Context{
     int hshift;
 
     ScanTable abt_scantable[2];
-    DECLARE_ALIGNED(16, DCTELEM, abt_block2)[6][64];
-}Wmv2Context;
+    DECLARE_ALIGNED(16, int16_t, abt_block2)[6][64];
+} 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_wmv2_common_init(Wmv2Context * w);
+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);
 
 #endif /* AVCODEC_WMV2_H */