|
FFmpeg
|
Color conversion and scaling library. More...
Files | |
| file | swscale.h |
| external API header | |
Classes | |
| struct | SwsVector |
| struct | SwsFilter |
Typedefs | |
| typedef struct SwsVector | SwsVector |
| typedef struct SwsFilter | SwsFilter |
Functions | |
| unsigned | swscale_version (void) |
| const char * | swscale_configuration (void) |
| Return the libswscale build-time configuration. | |
| const char * | swscale_license (void) |
| Return the libswscale license. | |
| const int * | sws_getCoefficients (int colorspace) |
| Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails(). More... | |
| int | sws_isSupportedInput (enum AVPixelFormat pix_fmt) |
| Return a positive value if pix_fmt is a supported input format, 0 otherwise. | |
| int | sws_isSupportedOutput (enum AVPixelFormat pix_fmt) |
| Return a positive value if pix_fmt is a supported output format, 0 otherwise. | |
| int | sws_isSupportedEndiannessConversion (enum AVPixelFormat pix_fmt) |
| struct SwsContext * | sws_alloc_context (void) |
| Allocate an empty SwsContext. More... | |
| av_warn_unused_result int | sws_init_context (struct SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter) |
| Initialize the swscaler context sws_context. More... | |
| void | sws_freeContext (struct SwsContext *swsContext) |
| Free the swscaler context swsContext. More... | |
| struct 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) |
| Allocate and return an SwsContext. More... | |
| int | sws_scale (struct SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dst[], const int dstStride[]) |
| Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst. More... | |
| int | sws_setColorspaceDetails (struct SwsContext *c, const int inv_table[4], int srcRange, const int table[4], int dstRange, int brightness, int contrast, int saturation) |
| int | sws_getColorspaceDetails (struct SwsContext *c, int **inv_table, int *srcRange, int **table, int *dstRange, int *brightness, int *contrast, int *saturation) |
| SwsVector * | sws_allocVec (int length) |
| Allocate and return an uninitialized vector with length coefficients. | |
| SwsVector * | sws_getGaussianVec (double variance, double quality) |
| Return a normalized Gaussian curve used to filter stuff quality = 3 is high quality, lower is lower quality. | |
| void | sws_scaleVec (SwsVector *a, double scalar) |
| Scale all the coefficients of a by the scalar value. | |
| void | sws_normalizeVec (SwsVector *a, double height) |
| Scale all the coefficients of a so that their sum equals height. | |
| attribute_deprecated SwsVector * | sws_getConstVec (double c, int length) |
| Allocate and return a vector with length coefficients, all with the same value c. | |
| attribute_deprecated SwsVector * | sws_getIdentityVec (void) |
| Allocate and return a vector with just one coefficient, with value 1.0. | |
| attribute_deprecated void | sws_convVec (SwsVector *a, SwsVector *b) |
| attribute_deprecated void | sws_addVec (SwsVector *a, SwsVector *b) |
| attribute_deprecated void | sws_subVec (SwsVector *a, SwsVector *b) |
| attribute_deprecated void | sws_shiftVec (SwsVector *a, int shift) |
| attribute_deprecated SwsVector * | sws_cloneVec (SwsVector *a) |
| attribute_deprecated void | sws_printVec2 (SwsVector *a, AVClass *log_ctx, int log_level) |
| Print with av_log() a textual representation of the vector a if log_level <= av_log_level. | |
| void | sws_freeVec (SwsVector *a) |
| SwsFilter * | sws_getDefaultFilter (float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, float chromaHShift, float chromaVShift, int verbose) |
| void | sws_freeFilter (SwsFilter *filter) |
| struct SwsContext * | sws_getCachedContext (struct SwsContext *context, int srcW, int srcH, enum AVPixelFormat srcFormat, int dstW, int dstH, enum AVPixelFormat dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, const double *param) |
| Check if context can be reused, otherwise reallocate a new one. More... | |
| void | sws_convertPalette8ToPacked32 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
| Convert an 8-bit paletted frame into a frame with a color depth of 32 bits. More... | |
| void | sws_convertPalette8ToPacked24 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
| Convert an 8-bit paletted frame into a frame with a color depth of 24 bits. More... | |
| const AVClass * | sws_get_class (void) |
| Get the AVClass for swsContext. More... | |
Color conversion and scaling library.
Return the LIBSWSCALE_VERSION_INT constant.
| struct SwsContext* sws_alloc_context | ( | void | ) |
Allocate an empty SwsContext.
This must be filled and passed to sws_init_context(). For filling see AVOptions, options.c and sws_setColorspaceDetails().
| void sws_convertPalette8ToPacked24 | ( | const uint8_t * | src, |
| uint8_t * | dst, | ||
| int | num_pixels, | ||
| const uint8_t * | palette | ||
| ) |
Convert an 8-bit paletted frame into a frame with a color depth of 24 bits.
With the palette format "ABCD", the destination frame ends up with the format "ABC".
| src | source frame buffer |
| dst | destination frame buffer |
| num_pixels | number of pixels to convert |
| palette | array with [256] entries, which must match color arrangement (RGB or BGR) of src |
| void sws_convertPalette8ToPacked32 | ( | const uint8_t * | src, |
| uint8_t * | dst, | ||
| int | num_pixels, | ||
| const uint8_t * | palette | ||
| ) |
Convert an 8-bit paletted frame into a frame with a color depth of 32 bits.
The output frame will have the same packed format as the palette.
| src | source frame buffer |
| dst | destination frame buffer |
| num_pixels | number of pixels to convert |
| palette | array with [256] entries, which must match color arrangement (RGB or BGR) of src |
| void sws_freeContext | ( | struct SwsContext * | swsContext | ) |
Free the swscaler context swsContext.
If swsContext is NULL, then does nothing.
| const AVClass* sws_get_class | ( | void | ) |
Get the AVClass for swsContext.
It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
| struct SwsContext* sws_getCachedContext | ( | struct SwsContext * | context, |
| int | srcW, | ||
| int | srcH, | ||
| enum AVPixelFormat | srcFormat, | ||
| int | dstW, | ||
| int | dstH, | ||
| enum AVPixelFormat | dstFormat, | ||
| int | flags, | ||
| SwsFilter * | srcFilter, | ||
| SwsFilter * | dstFilter, | ||
| const double * | param | ||
| ) |
Check if context can be reused, otherwise reallocate 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.
| const int* sws_getCoefficients | ( | int | colorspace | ) |
Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().
| colorspace | One of the SWS_CS_* macros. If invalid, SWS_CS_DEFAULT is used. |
| int sws_getColorspaceDetails | ( | struct SwsContext * | c, |
| int ** | inv_table, | ||
| int * | srcRange, | ||
| int ** | table, | ||
| int * | dstRange, | ||
| int * | brightness, | ||
| int * | contrast, | ||
| int * | saturation | ||
| ) |
| struct 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 | ||
| ) |
Allocate and return an 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 |
| param | extra parameters to tune the used scaler For SWS_BICUBIC param[0] and [1] tune the shape of the basis function, param[0] tunes f(1) and param[1] f´(1) For SWS_GAUSS param[0] tunes the exponent and thus cutoff frequency For SWS_LANCZOS param[0] tunes the width of the window function |
| av_warn_unused_result int sws_init_context | ( | struct SwsContext * | sws_context, |
| SwsFilter * | srcFilter, | ||
| SwsFilter * | dstFilter | ||
| ) |
Initialize the swscaler context sws_context.
| int sws_isSupportedEndiannessConversion | ( | enum AVPixelFormat | pix_fmt | ) |
| [in] | pix_fmt | the pixel format |
| int sws_scale | ( | struct SwsContext * | c, |
| const uint8_t *const | srcSlice[], | ||
| const int | srcStride[], | ||
| int | srcSliceY, | ||
| int | srcSliceH, | ||
| uint8_t *const | dst[], | ||
| const int | dstStride[] | ||
| ) |
Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst.
A slice is a sequence of consecutive rows in an image.
Slices have to be provided in sequential order, either in top-bottom or bottom-top order. If slices are provided in non-sequential order the behavior of the function is undefined.
| c | the scaling context previously created with sws_getContext() |
| srcSlice | the array containing the pointers to the planes of the source slice |
| srcStride | the array containing the strides for each plane of the source image |
| srcSliceY | the position in the source image of the slice to process, that is the number (counted starting from zero) in the image of the first row of the slice |
| srcSliceH | the height of the source slice, that is the number of rows in the slice |
| dst | the array containing the pointers to the planes of the destination image |
| dstStride | the array containing the strides for each plane of the destination image |
Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst.
Assumes planar YUV to be in YUV order instead of YVU.
| int sws_setColorspaceDetails | ( | struct SwsContext * | c, |
| const int | inv_table[4], | ||
| int | srcRange, | ||
| const int | table[4], | ||
| int | dstRange, | ||
| int | brightness, | ||
| int | contrast, | ||
| int | saturation | ||
| ) |
| dstRange | flag indicating the while-black range of the output (1=jpeg / 0=mpeg) |
| srcRange | flag indicating the while-black range of the input (1=jpeg / 0=mpeg) |
| table | the yuv2rgb coefficients describing the output yuv space, normally ff_yuv2rgb_coeffs[x] |
| inv_table | the yuv2rgb coefficients describing the input yuv space, normally ff_yuv2rgb_coeffs[x] |
| brightness | 16.16 fixed point brightness correction |
| contrast | 16.16 fixed point contrast correction |
| saturation | 16.16 fixed point saturation correction |
1.8.12