]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mpegvideoencdsp.h
DirectDraw Surface image decoder
[ffmpeg] / libavcodec / mpegvideoencdsp.h
index 2e8427d0a2521e56d7e17f49cd3c4356344a8ec1..91a292a296476277cc2c906d963dd8daf8f3b07d 100644 (file)
 #define BASIS_SHIFT 16
 #define RECON_SHIFT 6
 
+#define EDGE_TOP    1
+#define EDGE_BOTTOM 2
+
 typedef struct MpegvideoEncDSPContext {
     int (*try_8x8basis)(int16_t rem[64], int16_t weight[64],
                         int16_t basis[64], int scale);
     void (*add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale);
 
+    int (*pix_sum)(uint8_t *pix, int line_size);
+    int (*pix_norm1)(uint8_t *pix, int line_size);
+
+    void (*shrink[4])(uint8_t *dst, int dst_wrap, const uint8_t *src,
+                      int src_wrap, int width, int height);
+
+    void (*draw_edges)(uint8_t *buf, int wrap, int width, int height,
+                       int w, int h, int sides);
 } MpegvideoEncDSPContext;
 
 void ff_mpegvideoencdsp_init(MpegvideoEncDSPContext *c,
                              AVCodecContext *avctx);
+void ff_mpegvideoencdsp_init_arm(MpegvideoEncDSPContext *c,
+                                 AVCodecContext *avctx);
+void ff_mpegvideoencdsp_init_ppc(MpegvideoEncDSPContext *c,
+                                 AVCodecContext *avctx);
 void ff_mpegvideoencdsp_init_x86(MpegvideoEncDSPContext *c,
                                  AVCodecContext *avctx);