World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
libswscale

Color conversion and scaling library. Подробнее...

Файлы

файл  swscale.h
 

Классы

struct  SwsVector
 
struct  SwsFilter
 

Определения типов

typedef struct SwsVector SwsVector
 
typedef struct SwsFilter SwsFilter
 

Функции

unsigned swscale_version (void)
 
const char * swscale_configuration (void)
 
const char * swscale_license (void)
 
const int * sws_getCoefficients (int colorspace)
 
int sws_isSupportedInput (enum AVPixelFormat pix_fmt)
 
int sws_isSupportedOutput (enum AVPixelFormat pix_fmt)
 
int sws_isSupportedEndiannessConversion (enum AVPixelFormat pix_fmt)
 
struct SwsContext * sws_alloc_context (void)
 
av_warn_unused_result int sws_init_context (struct SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter)
 
void sws_freeContext (struct SwsContext *swsContext)
 
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)
 
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[])
 
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)
 
SwsVectorsws_allocVec (int length)
 
SwsVectorsws_getGaussianVec (double variance, double quality)
 
void sws_scaleVec (SwsVector *a, double scalar)
 
void sws_normalizeVec (SwsVector *a, double height)
 
attribute_deprecated SwsVectorsws_getConstVec (double c, int length)
 
attribute_deprecated SwsVectorsws_getIdentityVec (void)
 
attribute_deprecated void sws_convVec (SwsVector *a, SwsVector *b)
 
attribute_deprecated void sws_addVec (SwsVector *a, SwsVector *b)
 
attribute_deprecated void sws_subVec (SwsVector *a, SwsVector *b)
 
attribute_deprecated void sws_shiftVec (SwsVector *a, int shift)
 
attribute_deprecated SwsVectorsws_cloneVec (SwsVector *a)
 
attribute_deprecated void sws_printVec2 (SwsVector *a, AVClass *log_ctx, int log_level)
 
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)
 
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)
 
void sws_convertPalette8ToPacked32 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette)
 
void sws_convertPalette8ToPacked24 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette)
 
const AVClasssws_get_class (void)
 

Подробное описание

Color conversion and scaling library.

Return the LIBSWSCALE_VERSION_INT constant.

Типы

◆ SwsVector

◆ SwsFilter

Функции

◆ swscale_version()

◆ swscale_configuration()

const char* swscale_configuration ( void  )

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Return the libswscale build-time configuration.

◆ swscale_license()

const char* swscale_license ( void  )

◆ sws_getCoefficients()

const int* sws_getCoefficients ( int  colorspace)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().

Аргументы
colorspaceOne of the SWS_CS_* macros. If invalid, SWS_CS_DEFAULT is used.

◆ sws_isSupportedInput()

int sws_isSupportedInput ( enum AVPixelFormat  pix_fmt)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Return a positive value if pix_fmt is a supported input format, 0 otherwise.

◆ sws_isSupportedOutput()

int sws_isSupportedOutput ( enum AVPixelFormat  pix_fmt)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Return a positive value if pix_fmt is a supported output format, 0 otherwise.

◆ sws_isSupportedEndiannessConversion()

int sws_isSupportedEndiannessConversion ( enum AVPixelFormat  pix_fmt)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Аргументы
[in]pix_fmtthe pixel format
Возвращает
a positive value if an endianness conversion for pix_fmt is supported, 0 otherwise.

◆ sws_alloc_context()

struct SwsContext* sws_alloc_context ( void  )

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Allocate an empty SwsContext. This must be filled and passed to sws_init_context(). For filling see AVOptions, options.c and sws_setColorspaceDetails().

◆ sws_init_context()

av_warn_unused_result int sws_init_context ( struct SwsContext *  sws_context,
SwsFilter srcFilter,
SwsFilter dstFilter 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Initialize the swscaler context sws_context.

Возвращает
zero or positive value on success, a negative value on error

◆ sws_freeContext()

void sws_freeContext ( struct SwsContext *  swsContext)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Free the swscaler context swsContext. If swsContext is NULL, then does nothing.

◆ sws_getContext()

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 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Allocate and return an SwsContext. You need it to perform scaling/conversion operations using sws_scale().

Аргументы
srcWthe width of the source image
srcHthe height of the source image
srcFormatthe source image format
dstWthe width of the destination image
dstHthe height of the destination image
dstFormatthe destination image format
flagsspecify which algorithm and options to use for rescaling
paramextra parameters to tune the used scaler For SWS_BICUBIC param[0] and [1] tune the shape of the basis function, param[0] tunes f(1) and param[1] f´(1) For SWS_GAUSS param[0] tunes the exponent and thus cutoff frequency For SWS_LANCZOS param[0] tunes the width of the window function
Возвращает
a pointer to an allocated context, or NULL in case of error
Заметки
this function is to be removed after a saner alternative is written

Используется в AVVideoStream::open().

+ Граф вызова функции:

◆ sws_scale()

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[] 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

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.

Аргументы
cthe scaling context previously created with sws_getContext()
srcSlicethe array containing the pointers to the planes of the source slice
srcStridethe array containing the strides for each plane of the source image
srcSliceYthe 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
srcSliceHthe height of the source slice, that is the number of rows in the slice
dstthe array containing the pointers to the planes of the destination image
dstStridethe array containing the strides for each plane of the destination image
Возвращает
the height of the output slice

Используется в AVVideoStream::decode_frame().

+ Граф вызова функции:

◆ sws_setColorspaceDetails()

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 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Аргументы
dstRangeflag indicating the while-black range of the output (1=jpeg / 0=mpeg)
srcRangeflag indicating the while-black range of the input (1=jpeg / 0=mpeg)
tablethe yuv2rgb coefficients describing the output yuv space, normally ff_yuv2rgb_coeffs[x]
inv_tablethe yuv2rgb coefficients describing the input yuv space, normally ff_yuv2rgb_coeffs[x]
brightness16.16 fixed point brightness correction
contrast16.16 fixed point contrast correction
saturation16.16 fixed point saturation correction
Возвращает
-1 if not supported

◆ sws_getColorspaceDetails()

int sws_getColorspaceDetails ( struct SwsContext *  c,
int **  inv_table,
int *  srcRange,
int **  table,
int *  dstRange,
int *  brightness,
int *  contrast,
int *  saturation 
)

◆ sws_allocVec()

SwsVector* sws_allocVec ( int  length)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Allocate and return an uninitialized vector with length coefficients.

◆ sws_getGaussianVec()

SwsVector* sws_getGaussianVec ( double  variance,
double  quality 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Return a normalized Gaussian curve used to filter stuff quality = 3 is high quality, lower is lower quality.

◆ sws_scaleVec()

void sws_scaleVec ( SwsVector a,
double  scalar 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Scale all the coefficients of a by the scalar value.

◆ sws_normalizeVec()

void sws_normalizeVec ( SwsVector a,
double  height 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Scale all the coefficients of a so that their sum equals height.

◆ sws_getConstVec()

attribute_deprecated SwsVector* sws_getConstVec ( double  c,
int  length 
)

◆ sws_getIdentityVec()

◆ sws_convVec()

◆ sws_addVec()

◆ sws_subVec()

◆ sws_shiftVec()

attribute_deprecated void sws_shiftVec ( SwsVector a,
int  shift 
)

◆ sws_cloneVec()

◆ sws_printVec2()

attribute_deprecated void sws_printVec2 ( SwsVector a,
AVClass log_ctx,
int  log_level 
)

◆ sws_freeVec()

◆ sws_getDefaultFilter()

SwsFilter* sws_getDefaultFilter ( float  lumaGBlur,
float  chromaGBlur,
float  lumaSharpen,
float  chromaSharpen,
float  chromaHShift,
float  chromaVShift,
int  verbose 
)

◆ sws_freeFilter()

◆ sws_getCachedContext()

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 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

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.

◆ sws_convertPalette8ToPacked32()

void sws_convertPalette8ToPacked32 ( const uint8_t src,
uint8_t dst,
int  num_pixels,
const uint8_t palette 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

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.

Аргументы
srcsource frame buffer
dstdestination frame buffer
num_pixelsnumber of pixels to convert
palettearray with [256] entries, which must match color arrangement (RGB or BGR) of src

◆ sws_convertPalette8ToPacked24()

void sws_convertPalette8ToPacked24 ( const uint8_t src,
uint8_t dst,
int  num_pixels,
const uint8_t palette 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

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".

Аргументы
srcsource frame buffer
dstdestination frame buffer
num_pixelsnumber of pixels to convert
palettearray with [256] entries, which must match color arrangement (RGB or BGR) of src

◆ sws_get_class()

const AVClass* sws_get_class ( void  )

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>

Get the AVClass for swsContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.

См. также
av_opt_find().