libswscale/utils.c File Reference
#include "config.h"
#include <inttypes.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/bswap.h"
#include "libavutil/cpu.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"
Include dependency graph for libswscale/utils.c:

Go to the source code of this file.

Data Structures

struct  FormatEntry
 

Macros

#define _SVID_SOURCE
 
#define _DARWIN_C_SOURCE
 
#define LICENSE_PREFIX   "libswscale license: "
 
#define RET   0xC3
 
#define USE_MMAP   (HAVE_MMAP && HAVE_MPROTECT && defined MAP_ANONYMOUS)
 

Typedefs

typedef struct FormatEntry FormatEntry
 

Functions

unsigned swscale_version (void)
 Return the LIBSWSCALE_VERSION_INT constant. More...
 
const char * swscale_configuration (void)
 Return the libswscale build-time configuration. More...
 
const char * swscale_license (void)
 Return the libswscale license. More...
 
int sws_isSupportedInput (enum AVPixelFormat pix_fmt)
 Return a positive value if pix_fmt is a supported input format, 0 otherwise. More...
 
int sws_isSupportedOutput (enum AVPixelFormat pix_fmt)
 Return a positive value if pix_fmt is a supported output format, 0 otherwise. More...
 
const char * sws_format_name (enum AVPixelFormat format)
 
static double getSplineCoeff (double a, double b, double c, double d, double dist)
 
static int initFilter (int16_t **outFilter, int32_t **filterPos, int *outFilterSize, int xInc, int srcW, int dstW, int filterAlign, int one, int flags, int cpu_flags, SwsVector *srcFilter, SwsVector *dstFilter, double param[2])
 
static void getSubSampleFactors (int *h, int *v, enum AVPixelFormat format)
 
static void fill_rgb2yuv_table (SwsContext *c, const int table[4], int dstRange)
 
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)
 
static int handle_jpeg (enum AVPixelFormat *format)
 
static int handle_0alpha (enum AVPixelFormat *format)
 
SwsContextsws_alloc_context (void)
 Allocate an empty SwsContext. More...
 
av_cold int sws_init_context (SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
 Initialize the swscaler context sws_context. More...
 
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. More...
 
SwsFiltersws_getDefaultFilter (float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, float chromaHShift, float chromaVShift, int verbose)
 
SwsVectorsws_allocVec (int length)
 Allocate and return an uninitialized vector with length coefficients. More...
 
SwsVectorsws_getGaussianVec (double variance, double quality)
 Return a normalized Gaussian curve used to filter stuff quality = 3 is high quality, lower is lower quality. More...
 
SwsVectorsws_getConstVec (double c, int length)
 Allocate and return a vector with length coefficients, all with the same value c. More...
 
SwsVectorsws_getIdentityVec (void)
 Allocate and return a vector with just one coefficient, with value 1.0. More...
 
static double sws_dcVec (SwsVector *a)
 
void sws_scaleVec (SwsVector *a, double scalar)
 Scale all the coefficients of a by the scalar value. More...
 
void sws_normalizeVec (SwsVector *a, double height)
 Scale all the coefficients of a so that their sum equals height. More...
 
static SwsVectorsws_getConvVec (SwsVector *a, SwsVector *b)
 
static SwsVectorsws_sumVec (SwsVector *a, SwsVector *b)
 
static SwsVectorsws_diffVec (SwsVector *a, SwsVector *b)
 
static SwsVectorsws_getShiftedVec (SwsVector *a, int shift)
 
void sws_shiftVec (SwsVector *a, int shift)
 
void sws_addVec (SwsVector *a, SwsVector *b)
 
void sws_subVec (SwsVector *a, SwsVector *b)
 
void sws_convVec (SwsVector *a, SwsVector *b)
 
SwsVectorsws_cloneVec (SwsVector *a)
 Allocate and return a clone of the vector a, that is a vector with the same coefficients as a. More...
 
void sws_printVec2 (SwsVector *a, AVClass *log_ctx, int log_level)
 Print with av_log() a textual representation of the vector a if log_level <= av_log_level. More...
 
void sws_freeVec (SwsVector *a)
 
void sws_freeFilter (SwsFilter *filter)
 
void sws_freeContext (SwsContext *c)
 Free the swscaler context swsContext. More...
 
struct SwsContextsws_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)
 Check if context can be reused, otherwise reallocate a new one. More...
 

Variables

static const FormatEntry format_entries [AV_PIX_FMT_NB]
 
const int32_t ff_yuv2rgb_coeffs [8][4]
 

Macro Definition Documentation

#define _DARWIN_C_SOURCE

Definition at line 24 of file libswscale/utils.c.

#define _SVID_SOURCE

Definition at line 23 of file libswscale/utils.c.

#define LICENSE_PREFIX   "libswscale license: "

Referenced by swscale_license().

#define RET   0xC3

Definition at line 72 of file libswscale/utils.c.

Referenced by initFilter().

#define USE_MMAP   (HAVE_MMAP && HAVE_MPROTECT && defined MAP_ANONYMOUS)

Typedef Documentation

typedef struct FormatEntry FormatEntry

Function Documentation

static void fill_rgb2yuv_table ( SwsContext c,
const int  table[4],
int  dstRange 
)
static

dstRange &&

Definition at line 802 of file libswscale/utils.c.

Referenced by sws_setColorspaceDetails().

static double getSplineCoeff ( double  a,
double  b,
double  c,
double  d,
double  dist 
)
static

Definition at line 226 of file libswscale/utils.c.

Referenced by initFilter().

static void getSubSampleFactors ( int *  h,
int *  v,
enum AVPixelFormat  format 
)
static

Definition at line 795 of file libswscale/utils.c.

Referenced by sws_init_context().

static int handle_0alpha ( enum AVPixelFormat format)
static

Definition at line 975 of file libswscale/utils.c.

Referenced by sws_getCachedContext(), sws_getContext(), and sws_init_context().

static int handle_jpeg ( enum AVPixelFormat format)
static

Definition at line 955 of file libswscale/utils.c.

Referenced by sws_getCachedContext(), sws_getContext(), and sws_init_context().

static int initFilter ( int16_t **  outFilter,
int32_t **  filterPos,
int *  outFilterSize,
int  xInc,
int  srcW,
int  dstW,
int  filterAlign,
int  one,
int  flags,
int  cpu_flags,
SwsVector srcFilter,
SwsVector dstFilter,
double  param[2] 
)
static

Definition at line 239 of file libswscale/utils.c.

Referenced by sws_init_context().

static double sws_dcVec ( SwsVector a)
static

Definition at line 1665 of file libswscale/utils.c.

Referenced by sws_normalizeVec().

static SwsVector* sws_diffVec ( SwsVector a,
SwsVector b 
)
static

Definition at line 1724 of file libswscale/utils.c.

Referenced by sws_subVec().

const char* sws_format_name ( enum AVPixelFormat  format)

Definition at line 216 of file libswscale/utils.c.

static SwsVector* sws_getConvVec ( SwsVector a,
SwsVector b 
)
static

Definition at line 1689 of file libswscale/utils.c.

Referenced by sws_convVec().

static SwsVector* sws_getShiftedVec ( SwsVector a,
int  shift 
)
static

Definition at line 1742 of file libswscale/utils.c.

Referenced by sws_shiftVec().

static SwsVector* sws_sumVec ( SwsVector a,
SwsVector b 
)
static

Definition at line 1707 of file libswscale/utils.c.

Referenced by sws_addVec().

Variable Documentation

const int32_t ff_yuv2rgb_coeffs[8][4]
const FormatEntry format_entries[AV_PIX_FMT_NB]
static

Definition at line 78 of file libswscale/utils.c.