|
|
|
@ -292,6 +292,31 @@ typedef void (*yuv2anyX_fn)(struct SwsContext *c, const int16_t *lumFilter, |
|
|
|
|
const int16_t **alpSrc, uint8_t **dest, |
|
|
|
|
int dstW, int y); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Unscaled conversion of luma/alpha plane to YV12 for horizontal scaler. |
|
|
|
|
*/ |
|
|
|
|
typedef void (*planar1_YV12_fn)(uint8_t *dst, const uint8_t *src, const uint8_t *src2, |
|
|
|
|
const uint8_t *src3, int width, uint32_t *pal, |
|
|
|
|
void *opaque); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Unscaled conversion of chroma plane to YV12 for horizontal scaler. |
|
|
|
|
*/ |
|
|
|
|
typedef void (*planar2_YV12_fn)(uint8_t *dst, uint8_t *dst2, const uint8_t *src, |
|
|
|
|
const uint8_t *src2, const uint8_t *src3, |
|
|
|
|
int width, uint32_t *pal, void *opaque); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Unscaled conversion of arbitrary planar data (e.g. RGBA) to YV12, through |
|
|
|
|
* conversion using the given color matrix. |
|
|
|
|
*/ |
|
|
|
|
typedef void (*planarX_YV12_fn)(uint8_t *dst, const uint8_t *src[4], int width, |
|
|
|
|
int32_t *rgb2yuv, void *opaque); |
|
|
|
|
|
|
|
|
|
typedef void (*planarX2_YV12_fn)(uint8_t *dst, uint8_t *dst2, |
|
|
|
|
const uint8_t *src[4], int width, |
|
|
|
|
int32_t *rgb2yuv, void *opaque); |
|
|
|
|
|
|
|
|
|
struct SwsSlice; |
|
|
|
|
struct SwsFilterDescriptor; |
|
|
|
|
|
|
|
|
@ -561,28 +586,18 @@ struct SwsContext { |
|
|
|
|
/// Opaque data pointer passed to all input functions.
|
|
|
|
|
void *input_opaque; |
|
|
|
|
|
|
|
|
|
/// Unscaled conversion of luma plane to YV12 for horizontal scaler.
|
|
|
|
|
void (*lumToYV12)(uint8_t *dst, const uint8_t *src, const uint8_t *src2, const uint8_t *src3, |
|
|
|
|
int width, uint32_t *pal, void *opq); |
|
|
|
|
/// Unscaled conversion of alpha plane to YV12 for horizontal scaler.
|
|
|
|
|
void (*alpToYV12)(uint8_t *dst, const uint8_t *src, const uint8_t *src2, const uint8_t *src3, |
|
|
|
|
int width, uint32_t *pal, void *opq); |
|
|
|
|
/// Unscaled conversion of chroma planes to YV12 for horizontal scaler.
|
|
|
|
|
void (*chrToYV12)(uint8_t *dstU, uint8_t *dstV, |
|
|
|
|
const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, |
|
|
|
|
int width, uint32_t *pal, void *opq); |
|
|
|
|
planar1_YV12_fn lumToYV12; |
|
|
|
|
planar1_YV12_fn alpToYV12; |
|
|
|
|
planar2_YV12_fn chrToYV12; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Functions to read planar input, such as planar RGB, and convert |
|
|
|
|
* internally to Y/UV/A. |
|
|
|
|
*/ |
|
|
|
|
/** @{ */ |
|
|
|
|
void (*readLumPlanar)(uint8_t *dst, const uint8_t *src[4], int width, int32_t *rgb2yuv, |
|
|
|
|
void *opq); |
|
|
|
|
void (*readChrPlanar)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], |
|
|
|
|
int width, int32_t *rgb2yuv, void *opq); |
|
|
|
|
void (*readAlpPlanar)(uint8_t *dst, const uint8_t *src[4], int width, int32_t *rgb2yuv, |
|
|
|
|
void *opq); |
|
|
|
|
planarX_YV12_fn readLumPlanar; |
|
|
|
|
planarX_YV12_fn readAlpPlanar; |
|
|
|
|
planarX2_YV12_fn readChrPlanar; |
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|