# bayer.h

Go to the documentation of this file.

    00001
    00024 #ifndef __BAYER_H__
    00025 #define __BAYER_H__
    00026
    00032 typedef enum {
    00033         BAYER_TILE_RGGB = 0,
    00034         BAYER_TILE_GRBG = 1,
    00035         BAYER_TILE_BGGR = 2,
    00036         BAYER_TILE_GBRG = 3,
    00037         BAYER_TILE_RGGB_INTERLACED = 4,
    00038         BAYER_TILE_GRBG_INTERLACED = 5,
    00039         BAYER_TILE_BGGR_INTERLACED = 6,
    00040         BAYER_TILE_GBRG_INTERLACED = 7,
    00041 } BayerTile;
    00042
    00043 int gp_bayer_expand (unsigned char *input, int w, int h, unsigned char *output,
    00044                      BayerTile tile);
    00045 int gp_bayer_decode (unsigned char *input, int w, int h, unsigned char *output,
    00046                      BayerTile tile);
    00047 int gp_bayer_interpolate (unsigned char *image, int w, int h, BayerTile tile);
    00048 /*
    00049  * The following two functions use an alternative procedure called Adaptive
    00050  * Homogeneity-directed demosaicing instead of the standard bilinear
    00051  * interpolation with basic edge-detection method used in the previous two
    00052  * functions. To use or test this method of Bayer interpolation, just use
    00053  * gp_ahd_decode() in the same way and in the same place as gp_bayer_decode()
    00054  * is used.
    00055  */
    00056
    00057 int gp_ahd_decode (unsigned char *input, int w, int h, unsigned char *output,
    00058                      BayerTile tile);
    00059 int gp_ahd_interpolate (unsigned char *image, int w, int h, BayerTile tile);
    00060
    00061 #endif /* __BAYER_H__ */