Loading...
Searching...
No Matches
swscale.h File Reference
libswscale

external API header More...

`#include <stdint.h>`
`#include "libavutil/avutil.h"`
`#include "libavutil/frame.h"`
`#include "libavutil/log.h"`
`#include "libavutil/pixfmt.h"`
`#include "version_major.h"`
`#include "version.h"`

Go to the source code of this file.

## Data Structures

struct | SwsContext
| Main external API structure. More...
struct | SwsVector
struct | SwsFilter

## Macros

#define | SWS_SRC_V_CHR_DROP_MASK 0x30000
#define | SWS_SRC_V_CHR_DROP_SHIFT 16
#define | SWS_PARAM_DEFAULT 123456
#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
#define | SWS_CS_BT2020 9

## Enumerations

enum | SwsDither { SWS_DITHER_NONE = 0 , SWS_DITHER_AUTO , SWS_DITHER_BAYER , SWS_DITHER_ED , SWS_DITHER_A_DITHER , SWS_DITHER_X_DITHER , SWS_DITHER_NB }
enum | SwsAlphaBlend { SWS_ALPHA_BLEND_NONE = 0 , SWS_ALPHA_BLEND_UNIFORM , SWS_ALPHA_BLEND_CHECKERBOARD , SWS_ALPHA_BLEND_NB }

enum

SwsFlags {
SWS_FAST_BILINEAR = 1 << 0 , SWS_BILINEAR = 1 << 1 , SWS_BICUBIC = 1 << 2 , SWS_X = 1 << 3 ,
SWS_POINT = 1 << 4 , SWS_AREA = 1 << 5 , SWS_BICUBLIN = 1 << 6 , SWS_GAUSS = 1 << 7 ,
SWS_SINC = 1 << 8 , SWS_LANCZOS = 1 << 9 , SWS_SPLINE = 1 << 10 , SWS_STRICT = 1 << 11 ,
SWS_PRINT_INFO = 1 << 12 , SWS_FULL_CHR_H_INT = 1 << 13 , SWS_FULL_CHR_H_INP = 1 << 14 , SWS_ACCURATE_RND = 1 << 18 ,
SWS_BITEXACT = 1 << 19 , SWS_DIRECT_BGR = 1 << 15 , SWS_ERROR_DIFFUSION = 1 << 23
}

enum | SwsIntent { SWS_INTENT_PERCEPTUAL = 0 , SWS_INTENT_RELATIVE_COLORIMETRIC = 1 , SWS_INTENT_SATURATION = 2 , SWS_INTENT_ABSOLUTE_COLORIMETRIC = 3 , SWS_INTENT_NB }

## 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 AVClass * | sws_get_class (void)
| Get the AVClass for SwsContext.
SwsContext * | sws_alloc_context (void)
| Allocate an empty SwsContext and set its fields to default values.
void | sws_free_context (SwsContext **ctx)
| Free the context and everything associated with it, and write NULL to the provided pointer.
int | sws_test_format (enum AVPixelFormat format, int output)
| Test if a given pixel format is supported.
int | sws_test_colorspace (enum AVColorSpace colorspace, int output)
| Test if a given color space is supported.
int | sws_test_primaries (enum AVColorPrimaries primaries, int output)
| Test if a given set of color primaries is supported.
int | sws_test_transfer (enum AVColorTransferCharacteristic trc, int output)
| Test if a given color transfer function is supported.
int | sws_test_frame (const AVFrame *frame, int output)
| Helper function to run all sws_test_* against a frame, as well as testing the basic frame properties for sanity.
int | sws_frame_setup (SwsContext *ctx, const AVFrame *dst, const AVFrame *src)
| Like sws_scale_frame, but without actually scaling.
int | sws_is_noop (const AVFrame *dst, const AVFrame *src)
| Check if a given conversion is a noop.
int | sws_scale_frame (SwsContext *c, AVFrame *dst, const AVFrame *src)
| Scale source data from src and write the output to dst.
const int * | sws_getCoefficients (int colorspace)
| Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().
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)
av_warn_unused_result int | sws_init_context (SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter)
| Initialize the swscaler context sws_context.
void | sws_freeContext (SwsContext *swsContext)
| Free the swscaler context swsContext.
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.
int | sws_scale (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.
int | sws_frame_start (SwsContext *c, AVFrame *dst, const AVFrame *src)
| Initialize the scaling process for a given pair of source/destination frames.
void | sws_frame_end (SwsContext *c)
| Finish the scaling process for a pair of source/destination frames previously submitted with sws_frame_start().
int | sws_send_slice (SwsContext *c, unsigned int slice_start, unsigned int slice_height)
| Indicate that a horizontal slice of input data is available in the source frame previously provided to sws_frame_start().
int | sws_receive_slice (SwsContext *c, unsigned int slice_start, unsigned int slice_height)
| Request a horizontal slice of the output data to be written into the frame previously provided to sws_frame_start().
unsigned int | sws_receive_slice_alignment (const SwsContext *c)
| Get the alignment required for slices.
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)
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.
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)
SwsContext * | sws_getCachedContext (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.
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.
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.

## Detailed Description

external API header

Definition in file swscale.h.