]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/idctdsp.h
idct: Convert IDCT permutation #defines to an enum
[ffmpeg] / libavcodec / idctdsp.h
index e3a2317679ab5daccbee78daf31ce852effdbb77..b88cc829c2972c4633ea31a3d48af9ae67ec0939 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,13 +92,7 @@ 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;
 
 void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx);