Merge commit '4912b634b517c8acfc476c5d47f10be83fe7e18b'
[ffmpeg.git] / libavcodec / idctdsp.h
index b1fa6e2..8d60656 100644 (file)
@@ -32,12 +32,21 @@ typedef struct ScanTable {
     uint8_t raster_end[64];
 } ScanTable;
 
+enum idct_permutation_type {
+    FF_IDCT_PERM_NONE,
+    FF_IDCT_PERM_LIBMPEG2,
+    FF_IDCT_PERM_SIMPLE,
+    FF_IDCT_PERM_TRANSPOSE,
+    FF_IDCT_PERM_PARTTRANS,
+    FF_IDCT_PERM_SSE2,
+};
+
 void ff_init_scantable(uint8_t *permutation, ScanTable *st,
                        const uint8_t *src_scantable);
 void ff_init_scantable_permutation(uint8_t *idct_permutation,
-                                   int idct_permutation_type);
+                                   enum idct_permutation_type perm_type);
 int ff_init_scantable_permutation_x86(uint8_t *idct_permutation,
-                                      int idct_permutation_type);
+                                      enum idct_permutation_type perm_type);
 
 typedef struct IDCTDSPContext {
     /* pixel ops : interface with DCT */
@@ -83,15 +92,12 @@ typedef struct IDCTDSPContext {
      *    -> simple_idct_mmx -> ...)
      */
     uint8_t idct_permutation[64];
-    int idct_permutation_type;
-#define FF_NO_IDCT_PERM 1
-#define FF_LIBMPEG2_IDCT_PERM 2
-#define FF_SIMPLE_IDCT_PERM 3
-#define FF_TRANSPOSE_IDCT_PERM 4
-#define FF_PARTTRANS_IDCT_PERM 5
-#define FF_SSE2_IDCT_PERM 6
+    enum idct_permutation_type perm_type;
 } IDCTDSPContext;
 
+extern void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
+extern void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
+
 void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx);
 
 void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx,