#include <inttypes.h>#include <string.h>#include <math.h>#include <stdio.h>#include "config.h"#include <assert.h>#include "swscale.h"#include "swscale_internal.h"#include "rgb2rgb.h"#include "libavutil/intreadwrite.h"#include "libavutil/x86_cpu.h"#include "libavutil/avutil.h"#include "libavutil/bswap.h"#include "libavutil/pixdesc.h"Go to the source code of this file.
Defines | |
| #define | _SVID_SOURCE |
| #define | _DARWIN_C_SOURCE |
| #define | LICENSE_PREFIX "libswscale license: " |
| #define | RET 0xC3 |
| #define | isSupportedIn(x) |
| #define | isSupportedOut(x) |
Functions | |
| unsigned | swscale_version (void) |
| Returns the LIBSWSCALE_VERSION_INT constant. | |
| const char * | swscale_configuration (void) |
| Returns the libswscale build-time configuration. | |
| const char * | swscale_license (void) |
| Returns the libswscale license. | |
| int | sws_isSupportedInput (enum PixelFormat pix_fmt) |
| Returns a positive value if pix_fmt is a supported input format, 0 otherwise. | |
| int | sws_isSupportedOutput (enum PixelFormat pix_fmt) |
| Returns a positive value if pix_fmt is a supported output format, 0 otherwise. | |
| const char * | sws_format_name (enum PixelFormat format) |
| static double | getSplineCoeff (double a, double b, double c, double d, double dist) |
| static int | initFilter (int16_t **outFilter, int16_t **filterPos, int *outFilterSize, int xInc, int srcW, int dstW, int filterAlign, int one, int flags, SwsVector *srcFilter, SwsVector *dstFilter, double param[2]) |
| static void | getSubSampleFactors (int *h, int *v, enum PixelFormat format) |
| int | sws_setColorspaceDetails (SwsContext *c, const int inv_table[4], int srcRange, const int table[4], int dstRange, int brightness, int contrast, int saturation) |
| int | sws_getColorspaceDetails (SwsContext *c, int **inv_table, int *srcRange, int **table, int *dstRange, int *brightness, int *contrast, int *saturation) |
| static int | handle_jpeg (enum PixelFormat *format) |
| static int | update_flags_cpu (int flags) |
| 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) |
| Allocates and returns a SwsContext. | |
| SwsFilter * | sws_getDefaultFilter (float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, float chromaHShift, float chromaVShift, int verbose) |
| SwsVector * | sws_allocVec (int length) |
| Allocates and returns an uninitialized vector with length coefficients. | |
| SwsVector * | sws_getGaussianVec (double variance, double quality) |
| returns a normalized gaussian curve used to filter stuff quality=3 is high quality, lowwer is lowwer quality | |
| SwsVector * | sws_getConstVec (double c, int length) |
| Allocates and returns a vector with length coefficients, all with the same value c. | |
| SwsVector * | sws_getIdentityVec (void) |
| Allocates and returns a vector with just one coefficient, with value 1.0. | |
| static double | sws_dcVec (SwsVector *a) |
| void | sws_scaleVec (SwsVector *a, double scalar) |
| Scales all the coefficients of a by the scalar value. | |
| void | sws_normalizeVec (SwsVector *a, double height) |
| Scales all the coefficients of a so that their sum equals height. | |
| static SwsVector * | sws_getConvVec (SwsVector *a, SwsVector *b) |
| static SwsVector * | sws_sumVec (SwsVector *a, SwsVector *b) |
| static SwsVector * | sws_diffVec (SwsVector *a, SwsVector *b) |
| static SwsVector * | sws_getShiftedVec (SwsVector *a, int shift) |
| void | sws_shiftVec (SwsVector *a, int shift) |
| void | sws_addVec (SwsVector *a, SwsVector *b) |
| void | sws_subVec (SwsVector *a, SwsVector *b) |
| void | sws_convVec (SwsVector *a, SwsVector *b) |
| SwsVector * | sws_cloneVec (SwsVector *a) |
| Allocates and returns a clone of the vector a, that is a vector with the same coefficients as a. | |
| void | sws_printVec2 (SwsVector *a, AVClass *log_ctx, int log_level) |
| Prints with av_log() a textual representation of the vector a if log_level <= av_log_level. | |
| void | sws_printVec (SwsVector *a) |
| void | sws_freeVec (SwsVector *a) |
| void | sws_freeFilter (SwsFilter *filter) |
| void | sws_freeContext (SwsContext *c) |
| Frees the swscaler context swsContext. | |
| struct SwsContext * | sws_getCachedContext (struct SwsContext *context, int srcW, int srcH, enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, const double *param) |
| Checks if context can be reused, otherwise reallocates a new one. | |
Variables | |
| const int32_t | ff_yuv2rgb_coeffs [8][4] |
| #define isSupportedOut | ( | x | ) |
Value:
( \
(x)==PIX_FMT_YUV420P \
|| (x)==PIX_FMT_YUVA420P \
|| (x)==PIX_FMT_YUYV422 \
|| (x)==PIX_FMT_UYVY422 \
|| (x)==PIX_FMT_YUV444P \
|| (x)==PIX_FMT_YUV422P \
|| (x)==PIX_FMT_YUV411P \
|| (x)==PIX_FMT_YUVJ420P \
|| (x)==PIX_FMT_YUVJ422P \
|| (x)==PIX_FMT_YUVJ440P \
|| (x)==PIX_FMT_YUVJ444P \
|| isAnyRGB(x) \
|| (x)==PIX_FMT_NV12 \
|| (x)==PIX_FMT_NV21 \
|| (x)==PIX_FMT_GRAY16BE \
|| (x)==PIX_FMT_GRAY16LE \
|| (x)==PIX_FMT_GRAY8 \
|| (x)==PIX_FMT_YUV410P \
|| (x)==PIX_FMT_YUV440P \
|| (x)==PIX_FMT_YUV420P16LE \
|| (x)==PIX_FMT_YUV422P16LE \
|| (x)==PIX_FMT_YUV444P16LE \
|| (x)==PIX_FMT_YUV420P16BE \
|| (x)==PIX_FMT_YUV422P16BE \
|| (x)==PIX_FMT_YUV444P16BE \
)
| #define LICENSE_PREFIX "libswscale license: " |
| static double getSplineCoeff | ( | double | a, | |
| double | b, | |||
| double | c, | |||
| double | d, | |||
| double | dist | |||
| ) | [static] |
| static void getSubSampleFactors | ( | int * | h, | |
| int * | v, | |||
| enum PixelFormat | format | |||
| ) | [static] |
| static int handle_jpeg | ( | enum PixelFormat * | format | ) | [static] |
| SwsVector* sws_allocVec | ( | int | length | ) |
Allocates and returns an uninitialized vector with length coefficients.
Definition at line 1213 of file utils.c.
Referenced by sws_cloneVec(), sws_getConstVec(), and sws_getGaussianVec().
| const char* sws_format_name | ( | enum PixelFormat | format | ) |
| void sws_freeContext | ( | struct SwsContext * | swsContext | ) |
| struct SwsContext* sws_getCachedContext | ( | struct SwsContext * | context, | |
| int | srcW, | |||
| int | srcH, | |||
| enum PixelFormat | srcFormat, | |||
| int | dstW, | |||
| int | dstH, | |||
| enum PixelFormat | dstFormat, | |||
| int | flags, | |||
| SwsFilter * | srcFilter, | |||
| SwsFilter * | dstFilter, | |||
| const double * | param | |||
| ) | [read] |
Checks if context can be reused, otherwise reallocates a new one.
If context is NULL, just calls sws_getContext() to get a new context. Otherwise, checks if the parameters are the ones already saved in context. If that is the case, returns the current context. Otherwise, frees context and gets a new context with the new parameters.
Be warned that srcFilter and dstFilter are not checked, they are assumed to remain the same.
| int sws_getColorspaceDetails | ( | SwsContext * | c, | |
| int ** | inv_table, | |||
| int * | srcRange, | |||
| int ** | table, | |||
| int * | dstRange, | |||
| int * | brightness, | |||
| int * | contrast, | |||
| int * | saturation | |||
| ) |
| SwsVector* sws_getConstVec | ( | double | c, | |
| int | length | |||
| ) |
| 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 | |||
| ) | [read] |
Allocates and returns a SwsContext.
You need it to perform scaling/conversion operations using sws_scale().
| srcW | the width of the source image | |
| srcH | the height of the source image | |
| srcFormat | the source image format | |
| dstW | the width of the destination image | |
| dstH | the height of the destination image | |
| dstFormat | the destination image format | |
| flags | specify which algorithm and options to use for rescaling |
| SwsFilter* sws_getDefaultFilter | ( | float | lumaGBlur, | |
| float | chromaGBlur, | |||
| float | lumaSharpen, | |||
| float | chromaSharpen, | |||
| float | chromaHShift, | |||
| float | chromaVShift, | |||
| int | verbose | |||
| ) |
| SwsVector* sws_getGaussianVec | ( | double | variance, | |
| double | quality | |||
| ) |
| SwsVector* sws_getIdentityVec | ( | void | ) |
| int sws_isSupportedInput | ( | enum PixelFormat | pix_fmt | ) |
| int sws_isSupportedOutput | ( | enum PixelFormat | pix_fmt | ) |
| void sws_normalizeVec | ( | SwsVector * | a, | |
| double | height | |||
| ) |
| void sws_printVec | ( | SwsVector * | a | ) |
Prints with av_log() a textual representation of the vector a if log_level <= av_log_level.
Definition at line 1402 of file utils.c.
Referenced by sws_getDefaultFilter(), and sws_printVec().
| void sws_scaleVec | ( | SwsVector * | a, | |
| double | scalar | |||
| ) |
| int sws_setColorspaceDetails | ( | SwsContext * | c, | |
| const int | inv_table[4], | |||
| int | srcRange, | |||
| const int | table[4], | |||
| int | dstRange, | |||
| int | brightness, | |||
| int | contrast, | |||
| int | saturation | |||
| ) |
| const char* swscale_configuration | ( | void | ) |
| const char* swscale_license | ( | void | ) |
| unsigned swscale_version | ( | void | ) |
| static int update_flags_cpu | ( | int | flags | ) | [static] |
| const int32_t ff_yuv2rgb_coeffs[8][4] |
1.5.6