/**
+ * Declare inverse transform function types
+ */
+typedef void (InvTransformPtr)(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags);
+typedef void (DCTransformPtr) (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size);
+
+
+/**
* run-value (RLE) table descriptor
*/
typedef struct {
RVMapDesc *rv_map; ///< ptr to the RLE table for this band
int num_tiles; ///< number of tiles in this band
IVITile *tiles; ///< array of tile descriptors
- void (*inv_transform)(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags); ///< inverse transform function pointer
- void (*dc_transform) (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size); ///< dc transform function pointer, it may be NULL
+ InvTransformPtr *inv_transform;
+ DCTransformPtr *dc_transform;
int is_2d_trans; ///< 1 indicates that the two-dimensional inverse transform is used
int32_t checksum; ///< for debug purposes
int checksum_present;