view src/impl/hoofbaby/codec/libav/swscale.d @ 4:a1202aac1124

Started implementing separate encoder class
author fraserofthenight
date Wed, 08 Jul 2009 19:16:39 -0700
parents 3425707ddbf6
children 71ebad05f542
line wrap: on
line source

/* THIS FILE GENERATED BY bcd.gen */
module hoofbaby.codec.libav.swscale;

import hoofbaby.codec.libav.avutil;

enum
{
	LIBSWSCALE_VERSION_MAJOR = 0,
	LIBSWSCALE_VERSION_MINOR = 7,
	LIBSWSCALE_VERSION_MICRO = 1,
	SWS_FAST_BILINEAR = 1,
	SWS_BILINEAR = 2,
	SWS_BICUBIC = 4,
	SWS_X = 8,
	SWS_POINT = 0x10,
	SWS_AREA = 0x20,
	SWS_BICUBLIN = 0x40,
	SWS_GAUSS = 0x80,
	SWS_SINC = 0x100,
	SWS_LANCZOS = 0x200,
	SWS_SPLINE = 0x400,
	SWS_SRC_V_CHR_DROP_MASK = 0x30000,
	SWS_SRC_V_CHR_DROP_SHIFT = 16,
	SWS_PARAM_DEFAULT = 123456,
	SWS_PRINT_INFO = 0x1000,
	SWS_FULL_CHR_H_INT = 0x2000,
	SWS_FULL_CHR_H_INP = 0x4000,
	SWS_DIRECT_BGR = 0x8000,
	SWS_ACCURATE_RND = 0x40000,
	SWS_BITEXACT = 0x80000,
	SWS_CPU_CAPS_MMX = 0x80000000,
	SWS_CPU_CAPS_MMX2 = 0x20000000,
	SWS_CPU_CAPS_3DNOW = 0x40000000,
	SWS_CPU_CAPS_ALTIVEC = 0x10000000,
	SWS_CPU_CAPS_BFIN = 0x01000000,
	SWS_CS_ITU709 = 1,
	SWS_CS_FCC = 4,
	SWS_CS_ITU601 = 5,
	SWS_CS_ITU624 = 5,
	SWS_CS_SMPTE170M = 5,
	SWS_CS_SMPTE240M = 7,
	SWS_CS_DEFAULT = 5,
}

const double SWS_MAX_REDUCE_CUTOFF = 0.002;
typedef void SwsContext;

struct SwsFilter
{
	SwsVector* lumH;
	SwsVector* lumV;
	SwsVector* chrH;
	SwsVector* chrV;
}

struct SwsVector
{
	double* coeff;
	int length;
}

extern(C)
{
	SwsContext* sws_getCachedContext(SwsContext*, int, int, int, int, int, int, int, SwsFilter*, SwsFilter*, double*);
	void sws_freeFilter(SwsFilter*);
	SwsFilter* sws_getDefaultFilter(float, float, float, float, float, float, int);
	void sws_freeVec(SwsVector*);
	void sws_printVec2(SwsVector*, AVCLASS*, int);
	void sws_printVec(SwsVector*);
	SwsVector* sws_cloneVec(SwsVector*);
	void sws_shiftVec(SwsVector*, int);
	void sws_subVec(SwsVector*, SwsVector*);
	void sws_addVec(SwsVector*, SwsVector*);
	void sws_convVec(SwsVector*, SwsVector*);
	void sws_normalizeVec(SwsVector*, double);
	void sws_scaleVec(SwsVector*, double);
	SwsVector* sws_getIdentityVec();
	SwsVector* sws_getConstVec(double, int);
	SwsVector* sws_getGaussianVec(double, double);
	int sws_getColorspaceDetails(SwsContext*, int**, int*, int**, int*, int*, int*, int*);
	int sws_setColorspaceDetails(SwsContext*, int*, int, int*, int, int, int, int);
	int sws_scale_ordered(SwsContext*, char**, int*, int, int, char**, int*);
	int sws_scale(SwsContext*, char**, int*, int, int, char**, int*);
	SwsContext* sws_getContext(int, int, int, int, int, int, int, SwsFilter*, SwsFilter*, double*);
	void sws_freeContext(SwsContext*);
	uint swscale_version();
}