FFmpeg
|
#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/cpu.h"
#include "libavutil/emms.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/libm.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/slicethread.h"
#include "libavutil/thread.h"
#include "libavutil/aarch64/cpu.h"
#include "libavutil/ppc/cpu.h"
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavutil/loongarch/cpu.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"
#include "utils.h"
#include "graph.h"
Go to the source code of this file.
Data Structures | |
struct | FormatEntry |
struct | ScaleAlgorithm |
Macros | |
#define | _DEFAULT_SOURCE |
#define | _SVID_SOURCE |
#define | _DARWIN_C_SOURCE |
#define | USE_MMAP 0 |
Functions | |
static SwsContext * | alloc_set_opts (int srcW, int srcH, enum AVPixelFormat srcFormat, int dstW, int dstH, enum AVPixelFormat dstFormat, int flags, const double *param) |
Allocate and return an SwsContext without performing initialization. More... | |
int | ff_shuffle_filter_coefficients (SwsInternal *c, int *filterPos, int filterSize, int16_t *filter, int dstW) |
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... | |
int | sws_isSupportedEndiannessConversion (enum AVPixelFormat pix_fmt) |
static double | getSplineCoeff (double a, double b, double c, double d, double dist) |
static av_cold int | get_local_pos (SwsInternal *s, int chr_subsample, int pos, int dir) |
static av_cold 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], int srcPos, int dstPos) |
static void | fill_rgb2yuv_table (SwsInternal *c, const int table[4], int dstRange) |
static void | fill_xyztables (SwsInternal *c) |
static int | handle_jpeg (enum AVPixelFormat *format) |
static int | handle_0alpha (enum AVPixelFormat *format) |
static int | handle_xyz (enum AVPixelFormat *format) |
static void | handle_formats (SwsContext *sws) |
static int | range_override_needed (enum AVPixelFormat format) |
int | sws_setColorspaceDetails (SwsContext *sws, const int inv_table[4], int srcRange, const int table[4], int dstRange, int brightness, int contrast, int saturation) |
int | sws_getColorspaceDetails (SwsContext *sws, int **inv_table, int *srcRange, int **table, int *dstRange, int *brightness, int *contrast, int *saturation) |
SwsContext * | sws_alloc_context (void) |
Allocate an empty SwsContext and set its fields to default values. More... | |
static uint16_t * | alloc_gamma_tbl (double e) |
static enum AVPixelFormat | alphaless_fmt (enum AVPixelFormat fmt) |
av_cold int | ff_sws_init_single_context (SwsContext *sws, SwsFilter *srcFilter, SwsFilter *dstFilter) |
static int | context_init_threaded (SwsContext *sws, SwsFilter *src_filter, SwsFilter *dst_filter) |
av_cold int | sws_init_context (SwsContext *sws, SwsFilter *srcFilter, SwsFilter *dstFilter) |
Initialize the swscaler context sws_context. More... | |
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. More... | |
static int | isnan_vec (SwsVector *a) |
static void | makenan_vec (SwsVector *a) |
SwsVector * | sws_allocVec (int length) |
Allocate and return an uninitialized vector with length coefficients. More... | |
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. More... | |
static SwsVector * | sws_getConstVec (double c, int length) |
Allocate and return a vector with length coefficients, all with the same value c. More... | |
static SwsVector * | sws_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 SwsVector * | sws_sumVec (SwsVector *a, SwsVector *b) |
static SwsVector * | sws_getShiftedVec (SwsVector *a, int shift) |
static void | sws_shiftVec (SwsVector *a, int shift) |
static void | sws_addVec (SwsVector *a, SwsVector *b) |
static 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) |
SwsFilter * | sws_getDefaultFilter (float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, float chromaHShift, float chromaVShift, int verbose) |
void | sws_freeContext (SwsContext *sws) |
Free the swscaler context swsContext. More... | |
void | sws_free_context (SwsContext **pctx) |
Free the context and everything associated with it, and write NULL to the provided pointer. More... | |
SwsContext * | sws_getCachedContext (SwsContext *prev, 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... | |
int | ff_range_add (RangeList *rl, unsigned int start, unsigned int len) |
SwsFormat | ff_fmt_from_frame (const AVFrame *frame, int field) |
This function also sanitizes and strips the input data, removing irrelevant fields for certain formats. More... | |
int | sws_test_format (enum AVPixelFormat format, int output) |
Test if a given pixel format is supported. More... | |
int | sws_test_colorspace (enum AVColorSpace csp, int output) |
Test if a given color space is supported. More... | |
int | sws_test_primaries (enum AVColorPrimaries prim, int output) |
Test if a given set of color primaries is supported. More... | |
int | sws_test_transfer (enum AVColorTransferCharacteristic trc, int output) |
Test if a given color transfer function is supported. More... | |
static int | test_range (enum AVColorRange range) |
static int | test_loc (enum AVChromaLocation loc) |
int | ff_test_fmt (const SwsFormat *fmt, int output) |
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. More... | |
int | sws_is_noop (const AVFrame *dst, const AVFrame *src) |
Check if a given conversion is a noop. More... | |
Variables | |
static const FormatEntry | format_entries [] |
static const ScaleAlgorithm | scale_algorithms [] |
#define USE_MMAP 0 |
|
static |
Allocate and return an SwsContext without performing initialization.
Definition at line 292 of file utils.c.
Referenced by ff_sws_init_single_context(), sws_getContext(), and sws_setColorspaceDetails().
int ff_shuffle_filter_coefficients | ( | SwsInternal * | c, |
int * | filterPos, | ||
int | filterSize, | ||
int16_t * | filter, | ||
int | dstW | ||
) |
Definition at line 316 of file utils.c.
Referenced by check_hscale(), and ff_sws_init_single_context().
Definition at line 391 of file utils.c.
Referenced by initFilter().
|
static |
Definition at line 404 of file utils.c.
Referenced by ff_sws_init_single_context().
|
static |
Definition at line 433 of file utils.c.
Referenced by ff_sws_init_single_context().
|
static |
|
static |
Definition at line 936 of file utils.c.
Referenced by handle_formats().
|
static |
Definition at line 972 of file utils.c.
Referenced by sws_init_context().
|
static |
Definition at line 1010 of file utils.c.
Referenced by handle_formats().
|
static |
Definition at line 1021 of file utils.c.
Referenced by handle_formats().
|
static |
Definition at line 1030 of file utils.c.
Referenced by ff_sws_init_single_context(), and sws_setColorspaceDetails().
|
static |
Definition at line 1041 of file utils.c.
Referenced by sws_getColorspaceDetails(), and sws_setColorspaceDetails().
|
static |
Definition at line 1241 of file utils.c.
Referenced by ff_sws_init_single_context().
|
static |
Definition at line 1255 of file utils.c.
Referenced by ff_sws_init_single_context().
av_cold int ff_sws_init_single_context | ( | SwsContext * | sws, |
SwsFilter * | srcFilter, | ||
SwsFilter * | dstFilter | ||
) |
Definition at line 1316 of file utils.c.
Referenced by context_init_threaded(), init_legacy_subpass(), and sws_init_context().
|
static |
Definition at line 2034 of file utils.c.
Referenced by sws_init_context().
|
static |
Definition at line 2137 of file utils.c.
Referenced by sws_getDefaultFilter().
|
static |
Definition at line 2146 of file utils.c.
Referenced by sws_addVec(), and sws_shiftVec().
Allocate and return a vector with length coefficients, all with the same value c.
Definition at line 2201 of file utils.c.
Referenced by sws_getIdentityVec(), sws_getShiftedVec(), and sws_sumVec().
|
static |
Allocate and return a vector with just one coefficient, with value 1.0.
Definition at line 2220 of file utils.c.
Referenced by sws_getDefaultFilter().
Definition at line 2225 of file utils.c.
Referenced by sws_normalizeVec().
Definition at line 2249 of file utils.c.
Referenced by sws_addVec().
Definition at line 2267 of file utils.c.
Referenced by sws_shiftVec().
|
static |
Definition at line 2285 of file utils.c.
Referenced by sws_getDefaultFilter().
Definition at line 2299 of file utils.c.
Referenced by sws_getDefaultFilter().
Print with av_log() a textual representation of the vector a if log_level <= av_log_level.
Definition at line 2317 of file utils.c.
Referenced by sws_getDefaultFilter().
int ff_range_add | ( | RangeList * | rl, |
unsigned int | start, | ||
unsigned int | len | ||
) |
Definition at line 2589 of file utils.c.
Referenced by sws_send_slice().
This function also sanitizes and strips the input data, removing irrelevant fields for certain formats.
Definition at line 2653 of file utils.c.
Referenced by sws_frame_setup(), sws_is_noop(), and sws_test_frame().
|
static |
Definition at line 2745 of file utils.c.
Referenced by ff_test_fmt().
|
static |
Definition at line 2750 of file utils.c.
Referenced by ff_test_fmt().
int ff_test_fmt | ( | const SwsFormat * | fmt, |
int | output | ||
) |
Definition at line 2755 of file utils.c.
Referenced by sws_frame_setup(), and sws_test_frame().
|
static |
Definition at line 72 of file utils.c.
Referenced by sws_isSupportedEndiannessConversion(), sws_isSupportedInput(), and sws_isSupportedOutput().
|
static |
Definition at line 419 of file utils.c.
Referenced by ff_sws_init_single_context(), and initFilter().