diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-08-08 13:36:49 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-08-08 14:08:16 +0300 |
commit | c382d9e8cbee7635755a559fcd03834aa3daa3a7 (patch) | |
tree | 68382669e37db819f49fff1bd95a0843c796a015 /libswscale/utils.c | |
parent | 7e9cd99627099f6d0b3cc34717fef48e555445ae (diff) |
swscale: Add sws_alloc_set_opts()
This simplifies allocating and initializing swscale contexts with custom options.
The function is internal currently but could be moved into the public header
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libswscale/utils.c')
-rw-r--r-- | libswscale/utils.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/libswscale/utils.c b/libswscale/utils.c index 565c9043ff..106101ab0b 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -1632,10 +1632,9 @@ fail: // FIXME replace things by appropriate error codes return -1; } -SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, - int dstW, int dstH, enum AVPixelFormat dstFormat, - int flags, SwsFilter *srcFilter, - SwsFilter *dstFilter, const double *param) +SwsContext *sws_alloc_set_opts(int srcW, int srcH, enum AVPixelFormat srcFormat, + int dstW, int dstH, enum AVPixelFormat dstFormat, + int flags, const double *param) { SwsContext *c; @@ -1655,6 +1654,22 @@ SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, c->param[1] = param[1]; } + return c; +} + +SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, + int dstW, int dstH, enum AVPixelFormat dstFormat, + int flags, SwsFilter *srcFilter, + SwsFilter *dstFilter, const double *param) +{ + SwsContext *c; + + c = sws_alloc_set_opts(srcW, srcH, srcFormat, + dstW, dstH, dstFormat, + flags, param); + if (!c) + return NULL; + if (sws_init_context(c, srcFilter, dstFilter) < 0) { sws_freeContext(c); return NULL; |