FFmpeg 8.0.1
Loading...
Searching...
No Matches
swscale.h File Reference

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 AVClasssws_get_class (void)
 Get the AVClass for SwsContext.
SwsContextsws_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.
SwsContextsws_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)
SwsVectorsws_allocVec (int length)
 Allocate and return an uninitialized vector with length coefficients.
SwsVectorsws_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)
SwsFiltersws_getDefaultFilter (float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, float chromaHShift, float chromaVShift, int verbose)
void sws_freeFilter (SwsFilter *filter)
SwsContextsws_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.