FFmpeg
|
Files | |
file | swscale.h |
external API header | |
Data Structures | |
struct | SwsVector |
struct | SwsFilter |
Macros | |
#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_ERROR_DIFFUSION 0x800000 |
#define | SWS_CPU_CAPS_MMX 0x80000000 |
CPU caps are autodetected now, those flags are only provided for API compatibility. More... | |
#define | SWS_CPU_CAPS_MMXEXT 0x20000000 |
#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 |
Typedefs | |
typedef struct SwsVector | SwsVector |
typedef struct SwsFilter | SwsFilter |
Functions | |
unsigned | swscale_version (void) |
Return the LIBSWSCALE_VERSION_INT constant. More... | |
const char * | swscale_configuration (void) |
Return the libswscale build-time configuration. More... | |
const char * | swscale_license (void) |
Return the libswscale license. More... | |
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. More... | |
int | sws_isSupportedOutput (enum AVPixelFormat pix_fmt) |
Return a positive value if pix_fmt is a supported output format, 0 otherwise. More... | |
struct SwsContext * | sws_alloc_context (void) |
Allocate an empty SwsContext. More... | |
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. More... | |
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. More... | |
SwsVector * | sws_getConstVec (double c, int length) |
Allocate and return a vector with length coefficients, all with the same value c. More... | |
SwsVector * | sws_getIdentityVec (void) |
Allocate and return a vector with just one coefficient, with value 1.0. More... | |
void | sws_scaleVec (SwsVector *a, double scalar) |
Scale all the coefficients of a by the scalar value. More... | |
void | sws_normalizeVec (SwsVector *a, double height) |
Scale all the coefficients of a so that their sum equals height. More... | |
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) |
Allocate and return a clone of the vector a, that is a vector with the same coefficients as a. More... | |
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. More... | |
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... | |
Detailed Description
Macro Definition Documentation
#define SWS_ACCURATE_RND 0x40000 |
Definition at line 83 of file swscale.h.
Referenced by ff_get_unscaled_swscale(), initFilter(), and sws_init_swScale().
#define SWS_AREA 0x20 |
Definition at line 63 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), selfTest(), and sws_init_context().
#define SWS_BICUBIC 4 |
Definition at line 60 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), init(), init_opts(), initFilter(), selfTest(), and sws_init_context().
#define SWS_BICUBLIN 0x40 |
Definition at line 64 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), and sws_init_context().
#define SWS_BILINEAR 2 |
Definition at line 59 of file swscale.h.
Referenced by configure_input_video_filter(), doTest(), ff_scale_image(), ff_sws_getFlagsAndFilterFromCmdLine(), init(), initFilter(), main(), selfTest(), and sws_init_context().
#define SWS_BITEXACT 0x80000 |
Definition at line 84 of file swscale.h.
Referenced by configure_input_video_filter(), ff_get_unscaled_swscale(), ff_sws_init_swScale_altivec(), ff_swscale_get_unscaled_altivec(), initFilter(), sws_init_swScale(), and sws_scale().
#define SWS_CPU_CAPS_MMX 0x80000000 |
#define SWS_CS_DEFAULT 5 |
Definition at line 109 of file swscale.h.
Referenced by sws_getCoefficients().
#define SWS_ERROR_DIFFUSION 0x800000 |
Definition at line 85 of file swscale.h.
Referenced by ff_get_unscaled_swscale(), sws_init_context(), sws_scale(), yuv2mono_1_c_template(), yuv2mono_2_c_template(), and yuv2mono_X_c_template().
#define SWS_FAST_BILINEAR 1 |
Definition at line 58 of file swscale.h.
Referenced by ff_get_unscaled_swscale(), ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), selfTest(), sws_init_context(), sws_init_swScale(), and sws_init_swScale_c().
#define SWS_FULL_CHR_H_INP 0x4000 |
Definition at line 81 of file swscale.h.
Referenced by sws_init_context().
#define SWS_FULL_CHR_H_INT 0x2000 |
Definition at line 79 of file swscale.h.
Referenced by ff_sws_init_output_funcs(), ff_sws_init_swScale_altivec(), sws_init_context(), and sws_init_swScale().
#define SWS_GAUSS 0x80 |
Definition at line 65 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), and sws_init_context().
#define SWS_LANCZOS 0x200 |
Definition at line 67 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), and sws_init_context().
#define SWS_MAX_REDUCE_CUTOFF 0.002 |
Definition at line 101 of file swscale.h.
Referenced by initFilter().
#define SWS_PARAM_DEFAULT 123456 |
Definition at line 73 of file swscale.h.
Referenced by initFilter(), and sws_getCachedContext().
#define SWS_POINT 0x10 |
Definition at line 62 of file swscale.h.
Referenced by allocStuff(), ff_get_unscaled_swscale(), ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), selfTest(), and sws_init_context().
#define SWS_PRINT_INFO 0x1000 |
Definition at line 75 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), sws_init_context(), and swScale().
#define SWS_SINC 0x100 |
Definition at line 66 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), and sws_init_context().
#define SWS_SPLINE 0x400 |
Definition at line 68 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), and sws_init_context().
#define SWS_SRC_V_CHR_DROP_MASK 0x30000 |
Definition at line 70 of file swscale.h.
Referenced by sws_init_context().
#define SWS_SRC_V_CHR_DROP_SHIFT 16 |
Definition at line 71 of file swscale.h.
Referenced by sws_init_context().
#define SWS_X 8 |
Definition at line 61 of file swscale.h.
Referenced by ff_sws_getFlagsAndFilterFromCmdLine(), initFilter(), selfTest(), and sws_init_context().
Typedef Documentation
Function Documentation
Definition at line 1768 of file libswscale/utils.c.
Referenced by sws_getDefaultFilter().
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().
Definition at line 986 of file libswscale/utils.c.
Referenced by sws_getCachedContext(), and sws_getContext().
SwsVector* sws_allocVec | ( | int | length | ) |
Allocate and return an uninitialized vector with length coefficients.
Definition at line 1603 of file libswscale/utils.c.
Referenced by sws_cloneVec(), sws_getConstVec(), and sws_getGaussianVec().
Allocate and return a clone of the vector a, that is a vector with the same coefficients as a.
Definition at line 1795 of file libswscale/utils.c.
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".
- Parameters
-
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 1135 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
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.
- Parameters
-
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 1125 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
Definition at line 1786 of file libswscale/utils.c.
void sws_freeContext | ( | struct SwsContext * | swsContext | ) |
Free the swscaler context swsContext.
If swsContext is NULL, then does nothing.
Definition at line 1860 of file libswscale/utils.c.
Referenced by config_props(), doTest(), ff_scale_image(), freeBuffers(), main(), stream_close(), sws_getCachedContext(), sws_getContext(), uninit(), uninit_opts(), and uninit_parse_context().
Definition at line 1844 of file libswscale/utils.c.
Definition at line 1835 of file libswscale/utils.c.
Referenced by alloc_sws_context(), allocStuff(), sws_freeFilter(), and sws_getDefaultFilter().
Get the AVClass for swsContext.
It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- See also
- av_opt_find().
Definition at line 78 of file libswscale/options.c.
Referenced by init(), opt_default(), and show_help_default().
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.
Definition at line 1927 of file libswscale/utils.c.
Referenced by alloc_sws_context(), and queue_picture().
const int* sws_getCoefficients | ( | int | colorspace | ) |
Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().
- Parameters
-
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 | ||
) |
- Returns
- -1 if not supported
Definition at line 937 of file libswscale/utils.c.
SwsVector* sws_getConstVec | ( | double | c, |
int | length | ||
) |
Allocate and return a vector with length coefficients, all with the same value c.
Definition at line 1646 of file libswscale/utils.c.
Referenced by sws_diffVec(), sws_getConvVec(), sws_getIdentityVec(), sws_getShiftedVec(), and sws_sumVec().
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().
- Parameters
-
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
- Returns
- a pointer to an allocated context, or NULL in case of error
- Note
- this function is to be removed after a saner alternative is written
- Deprecated:
- Use sws_getCachedContext() instead.
Definition at line 1502 of file libswscale/utils.c.
Referenced by allocStuff(), config_props(), doTest(), ff_scale_image(), ff_sws_getContextFromCmdLine(), init_opts(), main(), and write_video_frame().
SwsFilter* sws_getDefaultFilter | ( | float | lumaGBlur, |
float | chromaGBlur, | ||
float | lumaSharpen, | ||
float | chromaSharpen, | ||
float | chromaHShift, | ||
float | chromaVShift, | ||
int | verbose | ||
) |
Definition at line 1541 of file libswscale/utils.c.
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.
Definition at line 1620 of file libswscale/utils.c.
Referenced by alloc_sws_context(), allocStuff(), and sws_getDefaultFilter().
Allocate and return a vector with just one coefficient, with value 1.0.
Definition at line 1660 of file libswscale/utils.c.
Referenced by sws_getDefaultFilter().
int sws_init_context | ( | struct SwsContext * | sws_context, |
SwsFilter * | srcFilter, | ||
SwsFilter * | dstFilter | ||
) |
Initialize the swscaler context sws_context.
- Returns
- zero or positive value on success, a negative value on error
Definition at line 998 of file libswscale/utils.c.
Referenced by sws_getCachedContext(), and sws_getContext().
int sws_isSupportedInput | ( | enum AVPixelFormat | pix_fmt | ) |
Return a positive value if pix_fmt is a supported input format, 0 otherwise.
Definition at line 201 of file libswscale/utils.c.
Referenced by query_formats(), selfTest(), show_pix_fmts(), and sws_init_context().
int sws_isSupportedOutput | ( | enum AVPixelFormat | pix_fmt | ) |
Return a positive value if pix_fmt is a supported output format, 0 otherwise.
Definition at line 207 of file libswscale/utils.c.
Referenced by query_formats(), selfTest(), show_pix_fmts(), and sws_init_context().
Scale all the coefficients of a so that their sum equals height.
Definition at line 1684 of file libswscale/utils.c.
Referenced by sws_getDefaultFilter(), and sws_getGaussianVec().
Print with av_log() a textual representation of the vector a if log_level <= av_log_level.
Definition at line 1809 of file libswscale/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[] | ||
) |
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.
- Parameters
-
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
- Returns
- the height of the output slice
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.
Definition at line 798 of file swscale.c.
Referenced by blur(), doTest(), ff_scale_image(), main(), queue_picture(), scale_slice(), wrap(), and write_video_frame().
Scale all the coefficients of a by the scalar value.
Definition at line 1676 of file libswscale/utils.c.
Referenced by alloc_sws_context(), 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 | ||
) |
- Parameters
-
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
- Returns
- -1 if not supported
Definition at line 896 of file libswscale/utils.c.
Referenced by sws_getCachedContext(), and sws_getContext().
Definition at line 1759 of file libswscale/utils.c.
Referenced by sws_getDefaultFilter().
Definition at line 1777 of file libswscale/utils.c.
const char* swscale_configuration | ( | void | ) |
Return the libswscale build-time configuration.
Definition at line 61 of file libswscale/utils.c.
const char* swscale_license | ( | void | ) |
Return the libswscale license.
Definition at line 66 of file libswscale/utils.c.
unsigned swscale_version | ( | void | ) |
Return the LIBSWSCALE_VERSION_INT constant.
Definition at line 55 of file libswscale/utils.c.
Generated on Mon Nov 18 2024 06:52:11 for FFmpeg by 1.8.11