# HG changeset patch # User stefano # Date 1285712638 0 # Node ID 549b1ad3f777501f8a50b9b0b76f496146f8cf62 # Parent ba0ba590dc81737e244cca7b55ff1044c1189cc7 Deprecate sws_getContext(), use sws_alloc_context() and sws_init_context() instead. diff -r ba0ba590dc81 -r 549b1ad3f777 libswscale/swscale.h --- a/libswscale/swscale.h Tue Sep 28 22:23:53 2010 +0000 +++ b/libswscale/swscale.h Tue Sep 28 22:23:58 2010 +0000 @@ -44,6 +44,14 @@ #define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) /** + * Those FF_API_* defines are not part of public API. + * They may change, break or disappear at any time. + */ +#ifndef FF_API_SWS_GETCONTEXT +#define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 1) +#endif + +/** * Returns the LIBSWSCALE_VERSION_INT constant. */ unsigned swscale_version(void); @@ -164,6 +172,7 @@ */ void sws_freeContext(struct SwsContext *swsContext); +#if FF_API_SWS_GETCONTEXT /** * Allocates and returns a SwsContext. You need it to perform * scaling/conversion operations using sws_scale(). @@ -178,10 +187,12 @@ * @return a pointer to an allocated context, or NULL in case of error * @deprecated use sws_alloc_context() and sws_init_context() */ +attribute_deprecated struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, const double *param); +#endif /** * Scales the image slice in srcSlice and puts the resulting scaled diff -r ba0ba590dc81 -r 549b1ad3f777 libswscale/utils.c --- a/libswscale/utils.c Tue Sep 28 22:23:53 2010 +0000 +++ b/libswscale/utils.c Tue Sep 28 22:23:58 2010 +0000 @@ -1146,6 +1146,7 @@ return -1; } +#if FF_API_SWS_GETCONTEXT SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, const double *param) @@ -1181,6 +1182,7 @@ return c; } +#endif SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, @@ -1564,9 +1566,19 @@ } if (!context) { - return sws_getContext(srcW, srcH, srcFormat, - dstW, dstH, dstFormat, flags, - srcFilter, dstFilter, param); + if (!(context = sws_alloc_context())) + return NULL; + context->srcW = srcW; + context->srcH = srcH; + context->srcFormat = srcFormat; + context->dstFormat = dstFormat; + context->flags = flags; + context->param[0] = param[0]; + context->param[1] = param[1]; + if (sws_init_context(context, srcFilter, dstFilter) < 0) { + sws_freeContext(context); + return NULL; + } } return context; }