diff options
author | ramiro <ramiro@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-04-04 22:45:02 +0000 |
---|---|---|
committer | ramiro <ramiro@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-04-04 22:45:02 +0000 |
commit | 9442096523f977f22dd33998ca4c98dc597bb580 (patch) | |
tree | 33aa5bbf6c436926bbd8a453ed6b49a72169900e /libswscale/swscale_internal.h | |
parent | f89e6c23345e3c93f17752c3e3730868e3da1601 (diff) | |
download | mpv-9442096523f977f22dd33998ca4c98dc597bb580.tar.bz2 mpv-9442096523f977f22dd33998ca4c98dc597bb580.tar.xz |
swscale: Use function pointers for swScale functions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29145 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale/swscale_internal.h')
-rw-r--r-- | libswscale/swscale_internal.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index 785c00aa3c..070161900b 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -214,6 +214,57 @@ typedef struct SwsContext{ uint64_t sparc_coeffs[10] __attribute__((aligned(8))); #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 **chrSrc, int chrFilterSize, + uint8_t *dest, uint8_t *uDest, + int dstW, int chrDstW, int dstFormat); + void (*yuv2yuv1 )(struct SwsContext *c, + const int16_t *lumSrc, const int16_t *chrSrc, const int16_t *alpSrc, + uint8_t *dest, + uint8_t *uDest, uint8_t *vDest, uint8_t *aDest, + long dstW, long chrDstW); + void (*yuv2yuvX )(struct SwsContext *c, + const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, + const int16_t *chrFilter, const int16_t **chrSrc, int chrFilterSize, + const int16_t **alpSrc, + uint8_t *dest, + uint8_t *uDest, uint8_t *vDest, uint8_t *aDest, + long dstW, long chrDstW); + void (*yuv2packed1)(struct SwsContext *c, + const uint16_t *buf0, + const uint16_t *uvbuf0, const uint16_t *uvbuf1, + 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 *uvbuf0, const uint16_t *uvbuf1, + 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 **chrSrc, int chrFilterSize, + const int16_t **alpSrc, uint8_t *dest, + long dstW, long dstY); + + void (*hyscale_internal)(uint8_t *dst, const uint8_t *src, + long width, uint32_t *pal); + void (*hcscale_internal)(uint8_t *dstU, uint8_t *dstV, + const uint8_t *src1, const uint8_t *src2, + long width, uint32_t *pal); + void (*hyscale_fast)(struct SwsContext *c, + int16_t *dst, int dstWidth, + const uint8_t *src, int srcW, int xInc); + void (*hcscale_fast)(struct SwsContext *c, + int16_t *dst, int dstWidth, + const uint8_t *src1, const uint8_t *src2, int srcW, int xInc); + + void (*hScale)(int16_t *dst, int dstW, const uint8_t *src, int srcW, + int xInc, const int16_t *filter, const int16_t *filterPos, long filterSize); + } SwsContext; //FIXME check init (where 0) |