external api for the swscale stuff More...
#include "libavutil/avutil.h"
Go to the source code of this file.
Data Structures | |
struct | SwsVector |
struct | SwsFilter |
Defines | |
#define | LIBSWSCALE_VERSION_MAJOR 0 |
#define | LIBSWSCALE_VERSION_MINOR 7 |
#define | LIBSWSCALE_VERSION_MICRO 1 |
#define | LIBSWSCALE_VERSION_INT |
#define | LIBSWSCALE_VERSION |
#define | LIBSWSCALE_BUILD LIBSWSCALE_VERSION_INT |
#define | LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) |
#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 |
#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_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. | |
void | sws_freeContext (struct SwsContext *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, double *param) |
Allocates and returns a SwsContext. | |
int | sws_scale (struct SwsContext *context, uint8_t *srcSlice[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
Scales the image slice in srcSlice and puts the resulting scaled slice in the image in dst . | |
int | sws_scale_ordered (struct SwsContext *context, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) attribute_deprecated |
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_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 . | |
attribute_deprecated void | sws_printVec (SwsVector *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, double *param) |
Checks if context can be reused, otherwise reallocates a new one. |
external api for the swscale stuff
Definition in file swscale.h.
#define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) |
#define LIBSWSCALE_VERSION |
#define LIBSWSCALE_VERSION_INT |
Definition at line 36 of file swscale.h.
Referenced by swscale_version().
#define SWS_ACCURATE_RND 0x40000 |
Definition at line 77 of file swscale.h.
Referenced by initFilter(), sws_getContext(), yuv2packedX_SSE2(), yuv2yuv1_SSE2(), and yuv2yuvX_SSE2().
#define SWS_AREA 0x20 |
Definition at line 57 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_BICUBIC 4 |
Definition at line 54 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_BICUBLIN 0x40 |
Definition at line 58 of file swscale.h.
Referenced by sws_getContext().
#define SWS_BILINEAR 2 |
Definition at line 53 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_BITEXACT 0x80000 |
Definition at line 78 of file swscale.h.
Referenced by initFilter(), sws_getContext(), yuv2packedX_SSE2(), and yuv2yuvX_SSE2().
#define SWS_CPU_CAPS_3DNOW 0x40000000 |
Definition at line 82 of file swscale.h.
Referenced by args_parse(), getSwsFunc(), and sws_rgb2rgb_init().
#define SWS_CPU_CAPS_ALTIVEC 0x10000000 |
Definition at line 83 of file swscale.h.
Referenced by getSwsFunc(), initFilter(), sws_yuv2rgb_get_func_ptr(), and sws_yuv2rgb_init_altivec().
#define SWS_CPU_CAPS_BFIN 0x01000000 |
Definition at line 84 of file swscale.h.
Referenced by ff_bfin_get_unscaled_swscale(), sws_getContext(), and sws_yuv2rgb_get_func_ptr().
#define SWS_CPU_CAPS_MMX 0x80000000 |
Definition at line 80 of file swscale.h.
Referenced by args_parse(), getSwsFunc(), initFilter(), sws_rgb2rgb_init(), and sws_yuv2rgb_get_func_ptr().
#define SWS_CPU_CAPS_MMX2 0x20000000 |
Definition at line 81 of file swscale.h.
Referenced by args_parse(), getSwsFunc(), sws_rgb2rgb_init(), and sws_yuv2rgb_get_func_ptr().
#define SWS_CS_DEFAULT 5 |
Definition at line 94 of file swscale.h.
Referenced by sws_getContext().
#define SWS_FAST_BILINEAR 1 |
Definition at line 52 of file swscale.h.
Referenced by hcscale_SSE2(), hyscale_SSE2(), initFilter(), and sws_getContext().
#define SWS_FULL_CHR_H_INP 0x4000 |
Definition at line 75 of file swscale.h.
Referenced by sws_getContext().
#define SWS_FULL_CHR_H_INT 0x2000 |
Definition at line 73 of file swscale.h.
Referenced by sws_getContext().
#define SWS_GAUSS 0x80 |
Definition at line 59 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_LANCZOS 0x200 |
Definition at line 61 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_MAX_REDUCE_CUTOFF 0.002 |
Definition at line 86 of file swscale.h.
Referenced by initFilter().
#define SWS_PARAM_DEFAULT 123456 |
Definition at line 67 of file swscale.h.
Referenced by initFilter(), sws_getCachedContext(), and sws_getContext().
#define SWS_POINT 0x10 |
Definition at line 56 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_PRINT_INFO 0x1000 |
Definition at line 69 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_SINC 0x100 |
Definition at line 60 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_SPLINE 0x400 |
Definition at line 62 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
#define SWS_SRC_V_CHR_DROP_MASK 0x30000 |
Definition at line 64 of file swscale.h.
Referenced by sws_getContext().
#define SWS_SRC_V_CHR_DROP_SHIFT 16 |
Definition at line 65 of file swscale.h.
Referenced by sws_getContext().
#define SWS_X 8 |
Definition at line 55 of file swscale.h.
Referenced by initFilter(), and sws_getContext().
Definition at line 3032 of file swscale.c.
Referenced by sws_getDefaultFilter().
void sws_freeContext | ( | struct SwsContext * | swsContext | ) |
Definition at line 556 of file imgresample.c.
Referenced by av_encode(), doTest(), Release(), and sws_getCachedContext().
void sws_freeVec | ( | SwsVector * | a | ) |
Definition at line 3098 of file swscale.c.
Referenced by sws_freeFilter(), and sws_getDefaultFilter().
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, | |||
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 | |||
) |
Allocates and returns a vector with length
coefficients, all with the same value c
.
Definition at line 2908 of file swscale.c.
Referenced by sws_getIdentityVec().
struct SwsContext* sws_getContext | ( | int | srcW, | |
int | srcH, | |||
enum PixelFormat | srcFormat, | |||
int | dstW, | |||
int | dstH, | |||
enum PixelFormat | dstFormat, | |||
int | flags, | |||
SwsFilter * | srcFilter, | |||
SwsFilter * | dstFilter, | |||
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 | |||
) |
Returns a normalized Gaussian curve used to filter stuff quality=3 is high quality, lower is lower quality.
Definition at line 2887 of file swscale.c.
Referenced by sws_getDefaultFilter().
SwsVector* sws_getIdentityVec | ( | void | ) |
Allocates and returns a vector with just one coefficient, with value 1.0.
Definition at line 2923 of file swscale.c.
Referenced by sws_getDefaultFilter().
void sws_normalizeVec | ( | SwsVector * | a, | |
double | height | |||
) |
Scales all the coefficients of a
so that their sum equals height
.
Definition at line 2944 of file swscale.c.
Referenced by sws_getDefaultFilter(), and sws_getGaussianVec().
attribute_deprecated 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 3069 of file swscale.c.
Referenced by sws_getDefaultFilter(), and sws_printVec().
int sws_scale | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
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.
context | 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 |
Scales the image slice in srcSlice
and puts the resulting scaled slice in the image in dst
.
Assumes planar YUV to be in YUV order instead of YVU.
Definition at line 605 of file imgresample.c.
Referenced by do_video_out(), doTest(), get_watermark_picture(), main(), Process(), Process0(), Process1(), queue_picture(), sws_scale_ordered(), and write_video_frame().
int sws_scale_ordered | ( | struct SwsContext * | context, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) |
void sws_scaleVec | ( | SwsVector * | a, | |
double | scalar | |||
) |
Scales all the coefficients of a
by the scalar
value.
Definition at line 2937 of file swscale.c.
Referenced by sws_getDefaultFilter(), and sws_normalizeVec().
int sws_setColorspaceDetails | ( | 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] | |
fullRange | if 1 then the luma range is 0..255 if 0 it is 16..235 |
Definition at line 2082 of file swscale.c.
Referenced by sws_getContext().
void sws_shiftVec | ( | SwsVector * | a, | |
int | shift | |||
) |
Definition at line 3024 of file swscale.c.
Referenced by sws_getDefaultFilter().