
export
    SWS_FAST_BILINEAR,
    SWS_BILINEAR,
    SWS_BICUBIC,
    SWS_X,
    SWS_POINT,
    SWS_AREA,
    SWS_BICUBLIN,
    SWS_GAUSS,
    SWS_SINC,
    SWS_LANCZOS,
    SWS_SPLINE,
    SWS_SRC_V_CHR_DROP_MASK,
    SWS_SRC_V_CHR_DROP_SHIFT,
    SWS_PARAM_DEFAULT,
    SWS_PRINT_INFO,
    SWS_FULL_CHR_H_INT,
    SWS_FULL_CHR_H_INP,
    SWS_DIRECT_BGR,
    SWS_ACCURATE_RND,
    SWS_BITEXACT,
    SWS_ERROR_DIFFUSION,
    SWS_CPU_CAPS_MMX,
    SWS_CPU_CAPS_MMXEXT,
    SWS_CPU_CAPS_MMX2,
    SWS_CPU_CAPS_3DNOW,
    SWS_CPU_CAPS_ALTIVEC,
    SWS_CPU_CAPS_BFIN,
    SWS_CPU_CAPS_SSE2,
    SWS_MAX_REDUCE_CUTOFF,
    SWS_CS_ITU709,
    SWS_CS_FCC,
    SWS_CS_ITU601,
    SWS_CS_ITU624,
    SWS_CS_SMPTE170M,
    SWS_CS_SMPTE240M,
    SWS_CS_DEFAULT,
    SwsVector,
    SwsFilter,
    SwsContext


const SWS_FAST_BILINEAR = 1
const SWS_BILINEAR = 2
const SWS_BICUBIC = 4
const SWS_X = 8
const SWS_POINT = 0x10
const SWS_AREA = 0x20
const SWS_BICUBLIN = 0x40
const SWS_GAUSS = 0x80
const SWS_SINC = 0x0100
const SWS_LANCZOS = 0x0200
const SWS_SPLINE = 0x0400
const SWS_SRC_V_CHR_DROP_MASK = 0x00030000
const SWS_SRC_V_CHR_DROP_SHIFT = 16
const SWS_PARAM_DEFAULT = 123456
const SWS_PRINT_INFO = 0x1000
const SWS_FULL_CHR_H_INT = 0x2000
const SWS_FULL_CHR_H_INP = 0x4000
const SWS_DIRECT_BGR = 0x8000
const SWS_ACCURATE_RND = 0x00040000
const SWS_BITEXACT = 0x00080000
const SWS_ERROR_DIFFUSION = 0x00800000
const SWS_CPU_CAPS_MMX = 0x80000000
const SWS_CPU_CAPS_MMXEXT = 0x20000000
const SWS_CPU_CAPS_MMX2 = 0x20000000
const SWS_CPU_CAPS_3DNOW = 0x40000000
const SWS_CPU_CAPS_ALTIVEC = 0x10000000
const SWS_CPU_CAPS_BFIN = 0x01000000
const SWS_CPU_CAPS_SSE2 = 0x02000000
const SWS_MAX_REDUCE_CUTOFF = 0.002
const SWS_CS_ITU709 = 1
const SWS_CS_FCC = 4
const SWS_CS_ITU601 = 5
const SWS_CS_ITU624 = 5
const SWS_CS_SMPTE170M = 5
const SWS_CS_SMPTE240M = 7
const SWS_CS_DEFAULT = 5

immutable SwsVector
    coeff::Ptr{Cdouble}
    length::Cint
end

immutable SwsFilter
    lumH::Ptr{SwsVector}
    lumV::Ptr{SwsVector}
    chrH::Ptr{SwsVector}
    chrV::Ptr{SwsVector}
end

typealias SwsContext Void
