Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits) Remove some non-compiling debug messages. ffplay: Fix non-compiling debug printf and replace it by av_dlog. H264: x86 predict init cosmetics. ac3enc: Fix linking of AC-3 encoder without the E-AC-3 encoder. Move E-AC-3 encoder functions to a separate eac3enc.c file. ac3enc: remove convenience macro, #define DEBUG ac3enc: remove unused #define vc1: re-initialize tables after width/height change. APIchanges: fill-in git commit hash for av_get_bytes_per_sample() addition samplefmt: add av_get_bytes_per_sample() iirfilter: fix biquad filter coefficients. swscale: remove duplicate conversion routine in swScale(). swscale: add yuv2planar/packed function typedefs. swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers. swscale: reindent x86 init code. swscale: extract SWS_FULL_CHR_H_INT conditional into init code. swscale: cosmetics. swscale: remove alp/chr/lumSrcOffset. swscale: un-special-case yuv2yuvX16_c(). shorten: Remove stray DEBUG #define and corresponding av_dlog statement. ... Conflicts: doc/APIchanges libavcodec/ac3enc.c libavutil/avutil.h libavutil/samplefmt.c libswscale/swscale.c libswscale/swscale_internal.h libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -59,6 +59,41 @@ typedef int (*SwsFunc)(struct SwsContext *context, const uint8_t* src[],
|
||||
int srcStride[], int srcSliceY, int srcSliceH,
|
||||
uint8_t* dst[], int dstStride[]);
|
||||
|
||||
typedef void (*yuv2planar1_fn) (struct SwsContext *c,
|
||||
const int16_t *lumSrc, const int16_t *chrUSrc,
|
||||
const int16_t *chrVSrc, const int16_t *alpSrc,
|
||||
uint8_t *dest,
|
||||
uint8_t *uDest, uint8_t *vDest, uint8_t *aDest,
|
||||
int dstW, int chrDstW, const uint8_t *lumDither, const uint8_t *chrDither);
|
||||
typedef void (*yuv2planarX_fn) (struct SwsContext *c,
|
||||
const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize,
|
||||
const int16_t *chrFilter, const int16_t **chrUSrc,
|
||||
const int16_t **chrVSrc, int chrFilterSize,
|
||||
const int16_t **alpSrc,
|
||||
uint8_t *dest,
|
||||
uint8_t *uDest, uint8_t *vDest, uint8_t *aDest,
|
||||
int dstW, int chrDstW, const uint8_t *lumDither, const uint8_t *chrDither);
|
||||
typedef void (*yuv2packed1_fn) (struct SwsContext *c,
|
||||
const uint16_t *buf0,
|
||||
const uint16_t *ubuf0, const uint16_t *ubuf1,
|
||||
const uint16_t *vbuf0, const uint16_t *vbuf1,
|
||||
const uint16_t *abuf0,
|
||||
uint8_t *dest,
|
||||
int dstW, int uvalpha, int dstFormat, int flags, int y);
|
||||
typedef void (*yuv2packed2_fn) (struct SwsContext *c,
|
||||
const uint16_t *buf0, const uint16_t *buf1,
|
||||
const uint16_t *ubuf0, const uint16_t *ubuf1,
|
||||
const uint16_t *vbuf0, const uint16_t *vbuf1,
|
||||
const uint16_t *abuf0, const uint16_t *abuf1,
|
||||
uint8_t *dest,
|
||||
int dstW, int yalpha, int uvalpha, int y);
|
||||
typedef void (*yuv2packedX_fn) (struct SwsContext *c,
|
||||
const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize,
|
||||
const int16_t *chrFilter, const int16_t **chrUSrc,
|
||||
const int16_t **chrVSrc, int chrFilterSize,
|
||||
const int16_t **alpSrc, uint8_t *dest,
|
||||
int dstW, int dstY);
|
||||
|
||||
/* This struct should be aligned on at least a 32-byte boundary. */
|
||||
typedef struct SwsContext {
|
||||
/**
|
||||
@@ -256,46 +291,11 @@ typedef struct SwsContext {
|
||||
#endif
|
||||
|
||||
/* function pointers for swScale() */
|
||||
void (*yuv2nv12X )(struct SwsContext *c,
|
||||
const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize,
|
||||
const int16_t *chrFilter, const int16_t **chrUSrc,
|
||||
const int16_t **chrVSrc, int chrFilterSize,
|
||||
uint8_t *dest, uint8_t *uDest,
|
||||
int dstW, int chrDstW, int dstFormat, const uint8_t *lumDither, const uint8_t *chrDither);
|
||||
void (*yuv2yuv1 )(struct SwsContext *c,
|
||||
const int16_t *lumSrc, const int16_t *chrUSrc,
|
||||
const int16_t *chrVSrc, const int16_t *alpSrc,
|
||||
uint8_t *dest,
|
||||
uint8_t *uDest, uint8_t *vDest, uint8_t *aDest,
|
||||
int dstW, int chrDstW, const uint8_t *lumDither, const uint8_t *chrDither);
|
||||
void (*yuv2yuvX )(struct SwsContext *c,
|
||||
const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize,
|
||||
const int16_t *chrFilter, const int16_t **chrUSrc,
|
||||
const int16_t **chrVSrc, int chrFilterSize,
|
||||
const int16_t **alpSrc,
|
||||
uint8_t *dest,
|
||||
uint8_t *uDest, uint8_t *vDest, uint8_t *aDest,
|
||||
int dstW, int chrDstW, const uint8_t *lumDither, const uint8_t *chrDither);
|
||||
void (*yuv2packed1)(struct SwsContext *c,
|
||||
const uint16_t *buf0,
|
||||
const uint16_t *ubuf0, const uint16_t *ubuf1,
|
||||
const uint16_t *vbuf0, const uint16_t *vbuf1,
|
||||
const uint16_t *abuf0,
|
||||
uint8_t *dest,
|
||||
int dstW, int uvalpha, int dstFormat, int flags, int y);
|
||||
void (*yuv2packed2)(struct SwsContext *c,
|
||||
const uint16_t *buf0, const uint16_t *buf1,
|
||||
const uint16_t *ubuf0, const uint16_t *ubuf1,
|
||||
const uint16_t *vbuf0, const uint16_t *vbuf1,
|
||||
const uint16_t *abuf0, const uint16_t *abuf1,
|
||||
uint8_t *dest,
|
||||
int dstW, int yalpha, int uvalpha, int y);
|
||||
void (*yuv2packedX)(struct SwsContext *c,
|
||||
const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize,
|
||||
const int16_t *chrFilter, const int16_t **chrUSrc,
|
||||
const int16_t **chrVSrc, int chrFilterSize,
|
||||
const int16_t **alpSrc, uint8_t *dest,
|
||||
int dstW, int dstY);
|
||||
yuv2planar1_fn yuv2yuv1;
|
||||
yuv2planarX_fn yuv2yuvX;
|
||||
yuv2packed1_fn yuv2packed1;
|
||||
yuv2packed2_fn yuv2packed2;
|
||||
yuv2packedX_fn yuv2packedX;
|
||||
|
||||
void (*lumToYV12)(uint8_t *dst, const uint8_t *src,
|
||||
int width, uint32_t *pal); ///< Unscaled conversion of luma plane to YV12 for horizontal scaler.
|
||||
@@ -323,10 +323,6 @@ typedef struct SwsContext {
|
||||
void (*lumConvertRange)(int16_t *dst, int width); ///< Color range conversion function for luma plane if needed.
|
||||
void (*chrConvertRange)(int16_t *dst1, int16_t *dst2, int width); ///< Color range conversion function for chroma planes if needed.
|
||||
|
||||
int lumSrcOffset; ///< Offset given to luma src pointers passed to horizontal input functions.
|
||||
int chrSrcOffset; ///< Offset given to chroma src pointers passed to horizontal input functions.
|
||||
int alpSrcOffset; ///< Offset given to alpha src pointers passed to horizontal input functions.
|
||||
|
||||
int needs_hcscale; ///< Set if there are chroma planes to be converted.
|
||||
|
||||
} SwsContext;
|
||||
|
||||
Reference in New Issue
Block a user