]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/huffyuvdsp.h
avcodec/dnxhddec: fix decoding of DNxHR HQX 10-bit
[ffmpeg] / libavcodec / huffyuvdsp.h
index db377289eef06df23d5238322904d65196936775..7680f2ec9c98a508a2bc1b6093b5ea626d9ca79d 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <stdint.h>
 #include "config.h"
+#include "avcodec.h"
 
 #if HAVE_BIGENDIAN
 #define B 3
 #endif
 
 typedef struct HuffYUVDSPContext {
-    void (*add_bytes)(uint8_t *dst /* align 16 */, uint8_t *src /* align 16 */,
-                      intptr_t w);
-    void (*add_hfyu_median_pred)(uint8_t *dst, const uint8_t *top,
-                                 const uint8_t *diff, intptr_t w,
-                                 int *left, int *left_top);
-    int (*add_hfyu_left_pred)(uint8_t *dst, const uint8_t *src,
-                              intptr_t w, int left);
+    void (*add_int16)(uint16_t *dst/*align 16*/, const uint16_t *src/*align 16*/,
+                      unsigned mask, int w);
+
+    void (*add_hfyu_median_pred_int16)(uint16_t *dst, const uint16_t *top,
+                                       const uint16_t *diff, unsigned mask,
+                                       int w, int *left, int *left_top);
     void (*add_hfyu_left_pred_bgr32)(uint8_t *dst, const uint8_t *src,
                                      intptr_t w, uint8_t *left);
 } HuffYUVDSPContext;
 
-void ff_huffyuvdsp_init(HuffYUVDSPContext *c);
-void ff_huffyuvdsp_init_ppc(HuffYUVDSPContext *c);
-void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c);
+void ff_huffyuvdsp_init(HuffYUVDSPContext *c, AVCodecContext *avctx);
+void ff_huffyuvdsp_init_ppc(HuffYUVDSPContext *c, AVCodecContext *avctx);
+void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c, AVCodecContext *avctx);
 
 #endif /* AVCODEC_HUFFYUVDSP_H */