#include "libavutil/avutil.h"
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
Go to the source code of this file.
Data Structures | |
struct | SwsVector |
struct | SwsFilter |
Defines | |
#define | LIBSWSCALE_VERSION_MAJOR 2 |
#define | LIBSWSCALE_VERSION_MINOR 1 |
#define | LIBSWSCALE_VERSION_MICRO 0 |
#define | LIBSWSCALE_VERSION_INT |
#define | LIBSWSCALE_VERSION |
#define | LIBSWSCALE_BUILD LIBSWSCALE_VERSION_INT |
#define | LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) |
#define | FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 3) |
Those FF_API_* defines are not part of public API. | |
#define | FF_API_SWS_CPU_CAPS (LIBSWSCALE_VERSION_MAJOR < 3) |
#define | FF_API_SWS_FORMAT_NAME (LIBSWSCALE_VERSION_MAJOR < 3) |
#define | SWS_FAST_BILINEAR 1 |
#define | SWS_BILINEAR 2 |
#define | SWS_BICUBIC 4 |
#define | SWS_X 8 |
#define | SWS_POINT 0x10 |
#define | SWS_AREA 0x20 |
#define | SWS_BICUBLIN 0x40 |
#define | SWS_GAUSS 0x80 |
#define | SWS_SINC 0x100 |
#define | SWS_LANCZOS 0x200 |
#define | SWS_SPLINE 0x400 |
#define | SWS_SRC_V_CHR_DROP_MASK 0x30000 |
#define | SWS_SRC_V_CHR_DROP_SHIFT 16 |
#define | SWS_PARAM_DEFAULT 123456 |
#define | SWS_PRINT_INFO 0x1000 |
#define | SWS_FULL_CHR_H_INT 0x2000 |
#define | SWS_FULL_CHR_H_INP 0x4000 |
#define | SWS_DIRECT_BGR 0x8000 |
#define | SWS_ACCURATE_RND 0x40000 |
#define | SWS_BITEXACT 0x80000 |
#define | SWS_CPU_CAPS_MMX 0x80000000 |
CPU caps are autodetected now, those flags are only provided for API compatibility. | |
#define | SWS_CPU_CAPS_MMX2 0x20000000 |
#define | SWS_CPU_CAPS_3DNOW 0x40000000 |
#define | SWS_CPU_CAPS_ALTIVEC 0x10000000 |
#define | SWS_CPU_CAPS_BFIN 0x01000000 |
#define | SWS_CPU_CAPS_SSE2 0x02000000 |
#define | SWS_MAX_REDUCE_CUTOFF 0.002 |
#define | SWS_CS_ITU709 1 |
#define | SWS_CS_FCC 4 |
#define | SWS_CS_ITU601 5 |
#define | SWS_CS_ITU624 5 |
#define | SWS_CS_SMPTE170M 5 |
#define | SWS_CS_SMPTE240M 7 |
#define | SWS_CS_DEFAULT 5 |
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. | |
const int * | sws_getCoefficients (int colorspace) |
Returns a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails(). | |
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. | |
struct SwsContext * | sws_alloc_context (void) |
Allocates an empty SwsContext. | |
int | sws_init_context (struct SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter) |
Initializes the swscaler context sws_context. | |
void | sws_freeContext (struct SwsContext *swsContext) |
Frees the swscaler context swsContext. | |
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) |
Allocates and returns a SwsContext. | |
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[]) |
Scales the image slice in srcSlice and puts the resulting scaled slice in the image in dst. | |
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) |
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, lower is lower 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. | |
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. | |
void | sws_convVec (SwsVector *a, SwsVector *b) |
void | sws_addVec (SwsVector *a, SwsVector *b) |
void | sws_subVec (SwsVector *a, SwsVector *b) |
void | sws_shiftVec (SwsVector *a, int shift) |
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_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 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. | |
void | sws_convertPalette8ToPacked32 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
Converts an 8bit paletted frame into a frame with a color depth of 32-bits. | |
void | sws_convertPalette8ToPacked24 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
Converts an 8bit paletted frame into a frame with a color depth of 24 bits. | |
const AVClass * | sws_get_class (void) |
Get the AVClass for swsContext. |
Definition in file swscale.h.
#define FF_API_SWS_FORMAT_NAME (LIBSWSCALE_VERSION_MAJOR < 3) |
#define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 3) |
#define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) |
#define LIBSWSCALE_VERSION |
Value:
#define LIBSWSCALE_VERSION_INT |
#define SWS_ACCURATE_RND 0x40000 |
Definition at line 103 of file swscale.h.
Referenced by DECLARE_ASM_CONST(), ff_get_unscaled_swscale(), ff_sws_init_swScale_mmx(), initFilter(), and sws_init_swScale_TMPL().
#define SWS_AREA 0x20 |
Definition at line 83 of file swscale.h.
Referenced by initFilter(), selfTest(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_BICUBIC 4 |
Definition at line 80 of file swscale.h.
Referenced by allocStuff(), init_opts(), initFilter(), selfTest(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_BICUBLIN 0x40 |
Definition at line 84 of file swscale.h.
Referenced by sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_BILINEAR 2 |
Definition at line 79 of file swscale.h.
Referenced by doTest(), init(), initFilter(), main(), selfTest(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_BITEXACT 0x80000 |
Definition at line 104 of file swscale.h.
Referenced by ff_get_unscaled_swscale(), ff_sws_init_swScale_altivec(), ff_swscale_get_unscaled_altivec(), and initFilter().
#define SWS_CPU_CAPS_MMX 0x80000000 |
#define SWS_CS_DEFAULT 5 |
Definition at line 127 of file swscale.h.
Referenced by sws_getCachedContext(), sws_getCoefficients(), and sws_getContext().
#define SWS_FAST_BILINEAR 1 |
Definition at line 78 of file swscale.h.
Referenced by ff_get_unscaled_swscale(), initFilter(), selfTest(), sws_getFlagsAndFilterFromCmdLine(), sws_init_context(), and sws_init_swScale_c().
#define SWS_FULL_CHR_H_INP 0x4000 |
#define SWS_FULL_CHR_H_INT 0x2000 |
Definition at line 99 of file swscale.h.
Referenced by ff_sws_init_swScale_altivec(), find_c_packed_planar_out_funcs(), sws_init_context(), and sws_init_swScale_TMPL().
#define SWS_GAUSS 0x80 |
Definition at line 85 of file swscale.h.
Referenced by initFilter(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_LANCZOS 0x200 |
Definition at line 87 of file swscale.h.
Referenced by initFilter(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_MAX_REDUCE_CUTOFF 0.002 |
#define SWS_PARAM_DEFAULT 123456 |
#define SWS_POINT 0x10 |
Definition at line 82 of file swscale.h.
Referenced by allocStuff(), ff_get_unscaled_swscale(), initFilter(), selfTest(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_PRINT_INFO 0x1000 |
Definition at line 95 of file swscale.h.
Referenced by initFilter(), sws_getFlagsAndFilterFromCmdLine(), sws_init_context(), and swScale().
#define SWS_SINC 0x100 |
Definition at line 86 of file swscale.h.
Referenced by initFilter(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_SPLINE 0x400 |
Definition at line 88 of file swscale.h.
Referenced by initFilter(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_SRC_V_CHR_DROP_MASK 0x30000 |
#define SWS_SRC_V_CHR_DROP_SHIFT 16 |
#define SWS_X 8 |
Definition at line 81 of file swscale.h.
Referenced by initFilter(), selfTest(), sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
struct SwsContext* sws_alloc_context | ( | void | ) | [read] |
Allocates an empty SwsContext.
This must be filled and passed to sws_init_context(). For filling see AVOptions, options.c and sws_setColorspaceDetails().
Definition at line 758 of file utils.c.
Referenced by sws_getCachedContext(), and sws_getContext().
SwsVector* sws_allocVec | ( | int | length | ) |
Allocates and returns an uninitialized vector with length coefficients.
Definition at line 1217 of file utils.c.
Referenced by sws_cloneVec(), sws_getConstVec(), and sws_getGaussianVec().
void sws_convertPalette8ToPacked24 | ( | const uint8_t * | src, | |
uint8_t * | dst, | |||
int | num_pixels, | |||
const uint8_t * | palette | |||
) |
Converts an 8bit 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 |
Definition at line 935 of file swscale_unscaled.c.
Referenced by palToRgbWrapper(), and put_image().
void sws_convertPalette8ToPacked32 | ( | const uint8_t * | src, | |
uint8_t * | dst, | |||
int | num_pixels, | |||
const uint8_t * | palette | |||
) |
Converts an 8bit 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 |
Definition at line 926 of file swscale_unscaled.c.
Referenced by palToRgbWrapper(), and put_image().
void sws_freeContext | ( | struct SwsContext * | swsContext | ) |
Frees the swscaler context swsContext.
If swsContext is NULL, then does nothing.
Definition at line 1448 of file utils.c.
Referenced by config_props(), do_video_resample(), doTest(), freeBuffers(), main(), stream_close(), sws_getCachedContext(), sws_getContext(), transcode(), uninit(), and uninit_opts().
void sws_freeVec | ( | SwsVector * | a | ) |
Definition at line 1429 of file utils.c.
Referenced by allocStuff(), sws_freeFilter(), and sws_getDefaultFilter().
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.
Definition at line 71 of file options.c.
Referenced by opt_default(), and opt_help().
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.
Definition at line 1507 of file utils.c.
Referenced by queue_picture().
const int* sws_getCoefficients | ( | int | colorspace | ) |
Returns 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 | |||
) |
SwsVector* sws_getConstVec | ( | double | c, | |
int | length | |||
) |
Allocates and returns a vector with length coefficients, all with the same value c.
Definition at line 1249 of file utils.c.
Referenced by sws_diffVec(), sws_getConvVec(), sws_getIdentityVec(), sws_getShiftedVec(), and sws_sumVec().
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 | |||
) | [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 |
Definition at line 1123 of file utils.c.
Referenced by allocStuff(), config_props(), do_video_resample(), doTest(), init_opts(), main(), sws_getContextFromCmdLine(), and write_video_frame().
SwsFilter* sws_getDefaultFilter | ( | float | lumaGBlur, | |
float | chromaGBlur, | |||
float | lumaSharpen, | |||
float | chromaSharpen, | |||
float | chromaHShift, | |||
float | chromaVShift, | |||
int | verbose | |||
) |
SwsVector* sws_getGaussianVec | ( | double | variance, | |
double | quality | |||
) |
Returns a normalized Gaussian curve used to filter stuff quality=3 is high quality, lower is lower quality.
Definition at line 1229 of file utils.c.
Referenced by allocStuff(), and sws_getDefaultFilter().
SwsVector* sws_getIdentityVec | ( | void | ) |
Allocates and returns a vector with just one coefficient, with value 1.0.
Definition at line 1263 of file utils.c.
Referenced by sws_getDefaultFilter().
int sws_init_context | ( | struct SwsContext * | sws_context, | |
SwsFilter * | srcFilter, | |||
SwsFilter * | dstFilter | |||
) |
Initializes the swscaler context sws_context.
Definition at line 768 of file utils.c.
Referenced by sws_getCachedContext(), and sws_getContext().
int sws_isSupportedInput | ( | enum PixelFormat | pix_fmt | ) |
int sws_isSupportedOutput | ( | enum PixelFormat | pix_fmt | ) |
void sws_normalizeVec | ( | SwsVector * | a, | |
double | height | |||
) |
Scales all the coefficients of a so that their sum equals height.
Definition at line 1287 of file utils.c.
Referenced by sws_getDefaultFilter(), and sws_getGaussianVec().
Prints with av_log() a textual representation of the vector a if log_level <= av_log_level.
Definition at line 1406 of file utils.c.
Referenced by sws_getDefaultFilter().
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[] | |||
) |
Scales the image slice in srcSlice and puts 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 |
Assumes planar YUV to be in YUV order instead of YVU.
Definition at line 793 of file swscale_unscaled.c.
Referenced by blur(), do_video_resample(), doTest(), draw_slice(), main(), queue_picture(), scale_image(), scale_slice(), and write_video_frame().
void sws_scaleVec | ( | SwsVector * | a, | |
double | scalar | |||
) |
Scales all the coefficients of a by the scalar value.
Definition at line 1279 of file utils.c.
Referenced by allocStuff(), sws_getDefaultFilter(), and sws_normalizeVec().
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 | |||
) |
inv_table | the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x] |
Definition at line 701 of file utils.c.
Referenced by sws_getCachedContext(), and sws_getContext().
void sws_shiftVec | ( | SwsVector * | a, | |
int | shift | |||
) |
const char* swscale_configuration | ( | void | ) |
const char* swscale_license | ( | void | ) |
unsigned swscale_version | ( | void | ) |