World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
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) |
SwsVector * | sws_allocVec (int length) |
SwsVector * | sws_getGaussianVec (double variance, double quality) |
void | sws_scaleVec (SwsVector *a, double scalar) |
void | sws_normalizeVec (SwsVector *a, double height) |
attribute_deprecated SwsVector * | sws_getConstVec (double c, int length) |
attribute_deprecated SwsVector * | sws_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 SwsVector * | sws_cloneVec (SwsVector *a) |
attribute_deprecated void | sws_printVec2 (SwsVector *a, AVClass *log_ctx, int 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 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 AVClass * | sws_get_class (void) |
Color conversion and scaling library.
Return the LIBSWSCALE_VERSION_INT constant.
unsigned swscale_version | ( | void | ) |
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.
const char* swscale_license | ( | void | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libswscale/swscale.h>
Return the libswscale license.
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().
colorspace | One of the SWS_CS_* macros. If invalid, SWS_CS_DEFAULT is used. |
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.
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.
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_fmt | the pixel format |
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().
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.
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.
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().
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 |
param | extra 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 |
Используется в AVVideoStream::open().
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.
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 |
Используется в AVVideoStream::decode_frame().
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>
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 |
int sws_getColorspaceDetails | ( | struct SwsContext * | c, |
int ** | inv_table, | ||
int * | srcRange, | ||
int ** | table, | ||
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>
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.
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.
#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.
#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.
attribute_deprecated SwsVector* sws_getConstVec | ( | double | c, |
int | length | ||
) |
SwsFilter* sws_getDefaultFilter | ( | float | lumaGBlur, |
float | chromaGBlur, | ||
float | lumaSharpen, | ||
float | chromaSharpen, | ||
float | chromaHShift, | ||
float | chromaVShift, | ||
int | verbose | ||
) |
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.
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.
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 |
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".
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 |
#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.