#include <inttypes.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <unistd.h>
#include "config.h"
#include <assert.h>
#include "swscale.h"
#include "swscale_internal.h"
#include "x86_cpu.h"
#include "bswap.h"
#include "rgb2rgb.h"
#include "libavcodec/opt.h"
#include "swscale_template.c"
Go to the source code of this file.
Defines | |
#define | DITHER1XBPP |
#define | FAST_BGR2YV12 |
#define | RET 0xC3 |
#define | ASSERT(x) ; |
#define | PI 3.14159265358979323846 |
#define | isSupportedIn(x) |
#define | isSupportedOut(x) |
#define | isPacked(x) |
#define | RGB2YUV_SHIFT 16 |
#define | BY ((int)( 0.098*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | BV ((int)(-0.071*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | BU ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | GY ((int)( 0.504*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | GV ((int)(-0.368*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | GU ((int)(-0.291*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | RY ((int)( 0.257*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | RV ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | RU ((int)(-0.148*(1<<RGB2YUV_SHIFT)+0.5)) |
#define | OFFSET(x) offsetof(SwsContext, x) |
#define | DEFAULT 0 |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
#define | YSCALE_YUV_2_PACKEDX_C(type) |
#define | YSCALE_YUV_2_RGBX_C(type) |
#define | YSCALE_YUV_2_PACKED2_C |
#define | YSCALE_YUV_2_RGB2_C(type) |
#define | YSCALE_YUV_2_PACKED1_C |
#define | YSCALE_YUV_2_RGB1_C(type) |
#define | YSCALE_YUV_2_PACKED1B_C |
#define | YSCALE_YUV_2_RGB1B_C(type) |
#define | YSCALE_YUV_2_ANYRGB_C(func, func2) |
#define | COMPILE_C |
#define | RENAME(a) a ## _C |
#define | MAX_FUNNY_CODE_SIZE 10000 |
Functions | |
static SwsVector * | sws_getConvVec (SwsVector *a, SwsVector *b) |
static const char * | sws_context_to_name (void *ptr) |
char * | sws_format_name (enum PixelFormat format) |
static void | yuv2yuvXinC (int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize, int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize, uint8_t *dest, uint8_t *uDest, uint8_t *vDest, int dstW, int chrDstW) |
static void | yuv2nv12XinC (int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize, int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize, uint8_t *dest, uint8_t *uDest, int dstW, int chrDstW, int dstFormat) |
static void | yuv2packedXinC (SwsContext *c, int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize, int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize, uint8_t *dest, int dstW, int y) |
for (i=0;i< dstW-1;i+=2) | |
static double | getSplineCoeff (double a, double b, double c, double d, double dist) |
static int | initFilter (int16_t **outFilter, int16_t **filterPos, int *outFilterSize, int xInc, int srcW, int dstW, int filterAlign, int one, int flags, SwsVector *srcFilter, SwsVector *dstFilter, double param[2]) |
static void | globalInit (void) |
static SwsFunc | getSwsFunc (int flags) |
static int | PlanarToNV12Wrapper (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | PlanarToYuy2Wrapper (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | PlanarToUyvyWrapper (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | rgb2rgbWrapper (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | bgr24toyv12Wrapper (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | yvu9toyv12Wrapper (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | simpleCopy (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | gray16togray (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | graytogray16 (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | gray16swap (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static void | getSubSampleFactors (int *h, int *v, int format) |
static uint16_t | roundToInt16 (int64_t f) |
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) |
static int | handle_jpeg (int *format) |
SwsContext * | sws_getContext (int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param) |
int | sws_scale (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
swscale wrapper, so we don't need to export the SwsContext. | |
int | sws_scale_ordered (SwsContext *c, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
swscale wrapper, so we don't need to export the SwsContext | |
SwsFilter * | sws_getDefaultFilter (float lumaGBlur, float chromaGBlur, float lumaSharpen, float chromaSharpen, float chromaHShift, float chromaVShift, int verbose) |
SwsVector * | sws_getGaussianVec (double variance, double quality) |
returns a normalized gaussian curve used to filter stuff quality=3 is high quality, lowwer is lowwer quality | |
SwsVector * | sws_getConstVec (double c, int length) |
SwsVector * | sws_getIdentityVec (void) |
double | sws_dcVec (SwsVector *a) |
void | sws_scaleVec (SwsVector *a, double scalar) |
void | sws_normalizeVec (SwsVector *a, double height) |
static SwsVector * | sws_sumVec (SwsVector *a, SwsVector *b) |
static SwsVector * | sws_diffVec (SwsVector *a, SwsVector *b) |
static SwsVector * | sws_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) |
SwsVector * | sws_cloneVec (SwsVector *a) |
void | sws_printVec (SwsVector *a) |
void | sws_freeVec (SwsVector *a) |
void | sws_freeFilter (SwsFilter *filter) |
void | sws_freeContext (SwsContext *c) |
struct SwsContext * | sws_getCachedContext (struct SwsContext *context, int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param) |
Checks if context is valid or reallocs a new one instead. | |
Variables | |
const int32_t | Inverse_Table_6_9 [8][4] |
static unsigned char | clip_table [768] |
const uint8_t | dither_2x2_4 [2][8] |
const uint8_t | dither_2x2_8 [2][8] |
const uint8_t | dither_8x8_32 [8][8] |
const uint8_t | dither_8x8_73 [8][8] |
const uint8_t | dither_8x8_220 [8][8] |
static const AVOption | options [] |
static AVClass | sws_context_class = { "SWScaler", sws_context_to_name, options } |
break | |
case | PIX_FMT_BGR24 |
uint8_t * | dest [1] = g[Y1] |
case | PIX_FMT_RGB565 |
const int | dg1 = dither_2x2_4[y&1 ][0] |
const int | db1 = dither_2x2_8[(y&1)^1][0] |
const int | dr2 = dither_2x2_8[y&1 ][1] |
const int | dg2 = dither_2x2_4[y&1 ][1] |
const int | db2 = dither_2x2_8[(y&1)^1][1] |
case | PIX_FMT_RGB555 |
case | PIX_FMT_RGB8 |
const uint8_t *const | d32 = dither_8x8_32[y&7] |
case | PIX_FMT_RGB4 |
const uint8_t *const | d128 = dither_8x8_220[y&7] |
case | PIX_FMT_RGB4_BYTE |
case | PIX_FMT_MONOBLACK |
uint8_t * | g = c->table_gU[128] + c->table_gV[128] |
int | acc = 0 |
case | PIX_FMT_YUYV422 |
case | PIX_FMT_UYVY422 |
#define ASSERT | ( | x | ) | ; |
#define DITHER1XBPP |
#define isPacked | ( | x | ) |
Value:
( \ (x)==PIX_FMT_PAL8 \ || (x)==PIX_FMT_YUYV422 \ || (x)==PIX_FMT_UYVY422 \ || isRGB(x) \ || isBGR(x) \ )
Definition at line 146 of file swscale.c.
Referenced by swScale_TMPL().
#define isSupportedIn | ( | x | ) |
Value:
( \ (x)==PIX_FMT_YUV420P \ || (x)==PIX_FMT_YUVA420P \ || (x)==PIX_FMT_YUYV422 \ || (x)==PIX_FMT_UYVY422 \ || (x)==PIX_FMT_RGB32 \ || (x)==PIX_FMT_BGR24 \ || (x)==PIX_FMT_BGR565 \ || (x)==PIX_FMT_BGR555 \ || (x)==PIX_FMT_BGR32 \ || (x)==PIX_FMT_RGB24 \ || (x)==PIX_FMT_RGB565 \ || (x)==PIX_FMT_RGB555 \ || (x)==PIX_FMT_GRAY8 \ || (x)==PIX_FMT_YUV410P \ || (x)==PIX_FMT_GRAY16BE \ || (x)==PIX_FMT_GRAY16LE \ || (x)==PIX_FMT_YUV444P \ || (x)==PIX_FMT_YUV422P \ || (x)==PIX_FMT_YUV411P \ || (x)==PIX_FMT_PAL8 \ || (x)==PIX_FMT_BGR8 \ || (x)==PIX_FMT_RGB8 \ || (x)==PIX_FMT_BGR4_BYTE \ || (x)==PIX_FMT_RGB4_BYTE \ || (x)==PIX_FMT_YUV440P \ )
#define isSupportedOut | ( | x | ) |
Value:
( \ (x)==PIX_FMT_YUV420P \ || (x)==PIX_FMT_YUYV422 \ || (x)==PIX_FMT_UYVY422 \ || (x)==PIX_FMT_YUV444P \ || (x)==PIX_FMT_YUV422P \ || (x)==PIX_FMT_YUV411P \ || isRGB(x) \ || isBGR(x) \ || (x)==PIX_FMT_NV12 \ || (x)==PIX_FMT_NV21 \ || (x)==PIX_FMT_GRAY16BE \ || (x)==PIX_FMT_GRAY16LE \ || (x)==PIX_FMT_GRAY8 \ || (x)==PIX_FMT_YUV410P \ )
#define MAX_FUNNY_CODE_SIZE 10000 |
#define OFFSET | ( | x | ) | offsetof(SwsContext, x) |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
#define YSCALE_YUV_2_ANYRGB_C | ( | func, | |||
func2 | ) |
#define YSCALE_YUV_2_PACKED1_C |
Value:
for (i=0; i<(dstW>>1); i++){\ const int i2= 2*i;\ int Y1= buf0[i2 ]>>7;\ int Y2= buf0[i2+1]>>7;\ int U= (uvbuf1[i ])>>7;\ int V= (uvbuf1[i+2048])>>7;\
Definition at line 516 of file swscale.c.
Referenced by yuv2packed1_TMPL().
#define YSCALE_YUV_2_PACKED1B_C |
Value:
for (i=0; i<(dstW>>1); i++){\ const int i2= 2*i;\ int Y1= buf0[i2 ]>>7;\ int Y2= buf0[i2+1]>>7;\ int U= (uvbuf0[i ] + uvbuf1[i ])>>8;\ int V= (uvbuf0[i+2048] + uvbuf1[i+2048])>>8;\
Definition at line 531 of file swscale.c.
Referenced by yuv2packed1_TMPL().
#define YSCALE_YUV_2_PACKED2_C |
Value:
for (i=0; i<(dstW>>1); i++){ \ const int i2= 2*i; \ int Y1= (buf0[i2 ]*yalpha1+buf1[i2 ]*yalpha)>>19; \ int Y2= (buf0[i2+1]*yalpha1+buf1[i2+1]*yalpha)>>19; \ int U= (uvbuf0[i ]*uvalpha1+uvbuf1[i ]*uvalpha)>>19; \ int V= (uvbuf0[i+2048]*uvalpha1+uvbuf1[i+2048]*uvalpha)>>19; \
Definition at line 501 of file swscale.c.
Referenced by yuv2packed2_TMPL().
#define YSCALE_YUV_2_RGB1_C | ( | type | ) |
#define YSCALE_YUV_2_RGB1B_C | ( | type | ) |
#define YSCALE_YUV_2_RGB2_C | ( | type | ) |
#define YSCALE_YUV_2_RGBX_C | ( | type | ) |
static int bgr24toyv12Wrapper | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
for | ( | ) |
Definition at line 785 of file swscale.c.
Referenced by add_frame_default(), audio_read_packet(), copy_frame_default(), dca_parse_frame_header(), decode_frame(), dnxhd_unquantize_c(), dv_init_mux(), flashsv_decode_frame(), idcin_decode_init(), ipvideo_decode_block_opcode_0x7(), ipvideo_decode_block_opcode_0xA(), ipvideo_decode_block_opcode_0xD(), ipvideo_decode_opcodes(), msvideo1_decode_16bit(), pack_yuv(), pnm_decode_frame(), qdm2_decode_fft_packets(), shorten_decode_frame(), sp5x_decode_frame(), svq3_decode_frame(), txd_decode_frame(), vmd_decode(), vmdvideo_decode_init(), and vp56_parse_mb_type_models().
static double getSplineCoeff | ( | double | a, | |
double | b, | |||
double | c, | |||
double | d, | |||
double | dist | |||
) | [static] |
static void getSubSampleFactors | ( | int * | h, | |
int * | v, | |||
int | format | |||
) | [static] |
static SwsFunc getSwsFunc | ( | int | flags | ) | [static] |
static int gray16swap | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
static int gray16togray | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
static int graytogray16 | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
static int PlanarToNV12Wrapper | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dstParam[], | |||
int | dstStride[] | |||
) | [static] |
static int PlanarToUyvyWrapper | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dstParam[], | |||
int | dstStride[] | |||
) | [static] |
static int PlanarToYuy2Wrapper | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dstParam[], | |||
int | dstStride[] | |||
) | [static] |
static int rgb2rgbWrapper | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
static int simpleCopy | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
static const char* sws_context_to_name | ( | void * | ptr | ) | [static] |
double sws_dcVec | ( | SwsVector * | a | ) |
char* sws_format_name | ( | enum PixelFormat | format | ) |
Definition at line 279 of file swscale.c.
Referenced by altivec_yuv2packedX(), doTest(), ff_bfin_yuv2rgb_get_func_ptr(), and selfTest().
void sws_freeContext | ( | SwsContext * | c | ) |
struct SwsContext* sws_getCachedContext | ( | struct SwsContext * | context, | |
int | srcW, | |||
int | srcH, | |||
int | srcFormat, | |||
int | dstW, | |||
int | dstH, | |||
int | dstFormat, | |||
int | flags, | |||
SwsFilter * | srcFilter, | |||
SwsFilter * | dstFilter, | |||
double * | param | |||
) | [read] |
Checks if context is valid or reallocs a new one instead.
If context is NULL, just calls sws_getContext() to get a new one. Otherwise, checks if the parameters are the same already saved in context. If that is the case, returns the current context. Otherwise, frees context and gets a new one.
Be warned that srcFilter, dstFilter are not checked, they are asumed to remain valid.
Definition at line 2914 of file swscale.c.
Referenced by get_watermark_picture(), Process(), Process0(), Process1(), and queue_picture().
int sws_getColorspaceDetails | ( | SwsContext * | c, | |
int ** | inv_table, | |||
int * | srcRange, | |||
int ** | table, | |||
int * | dstRange, | |||
int * | brightness, | |||
int * | contrast, | |||
int * | saturation | |||
) |
SwsContext* sws_getContext | ( | int | srcW, | |
int | srcH, | |||
int | srcFormat, | |||
int | dstW, | |||
int | dstH, | |||
int | dstFormat, | |||
int | flags, | |||
SwsFilter * | srcFilter, | |||
SwsFilter * | dstFilter, | |||
double * | param | |||
) | [read] |
Definition at line 1981 of file swscale.c.
Referenced by av_encode(), doTest(), main(), and write_video_frame().
SwsFilter* sws_getDefaultFilter | ( | float | lumaGBlur, | |
float | chromaGBlur, | |||
float | lumaSharpen, | |||
float | chromaSharpen, | |||
float | chromaHShift, | |||
float | chromaVShift, | |||
int | verbose | |||
) |
SwsVector* sws_getGaussianVec | ( | double | variance, | |
double | quality | |||
) |
int sws_scale | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) |
swscale wrapper, so we don't need to export the SwsContext.
assumes planar YUV to be in YUV order instead of YVU
Definition at line 2484 of file swscale.c.
Referenced by do_video_out(), doTest(), get_watermark_picture(), main(), Process(), Process0(), Process1(), queue_picture(), and write_video_frame().
int sws_scale_ordered | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) |
swscale wrapper, so we don't need to export the SwsContext
void sws_scaleVec | ( | SwsVector * | a, | |
double | scalar | |||
) |
int sws_setColorspaceDetails | ( | SwsContext * | c, | |
const int | inv_table[4], | |||
int | srcRange, | |||
const int | table[4], | |||
int | dstRange, | |||
int | brightness, | |||
int | contrast, | |||
int | saturation | |||
) |
static void yuv2packedXinC | ( | SwsContext * | c, | |
int16_t * | lumFilter, | |||
int16_t ** | lumSrc, | |||
int | lumFilterSize, | |||
int16_t * | chrFilter, | |||
int16_t ** | chrSrc, | |||
int | chrFilterSize, | |||
uint8_t * | dest, | |||
int | dstW, | |||
int | y | |||
) | [inline, static] |
static int yvu9toyv12Wrapper | ( | SwsContext * | c, | |
uint8_t * | src[], | |||
int | srcStride[], | |||
int | srcSliceY, | |||
int | srcSliceH, | |||
uint8_t * | dst[], | |||
int | dstStride[] | |||
) | [static] |
int acc = 0 |
Definition at line 784 of file swscale.c.
Referenced by escape_FF(), fill_coding_method_array(), get_intra_count(), get_sae(), and sse().
unsigned char clip_table[768] [static] |
const uint8_t * d128 = dither_8x8_220[y&7] |
const uint8_t* const d32 = dither_8x8_32[y&7] |
const int db1 = dither_2x2_8[(y&1)^1][0] |
const int db2 = dither_2x2_8[(y&1)^1][1] |
Definition at line 709 of file swscale.c.
Referenced by dv_decode_video_segment(), hl_decode_mb_internal(), indeo3_decode_frame(), interleaveBytes_TMPL(), msmpeg4_pred_dc(), rgb24to32_TMPL(), rgb32to24_TMPL(), sdp_parse_fmtp_config_h264(), svq3_mc_dir_part(), yuv2nv12X_TMPL(), yuv2packed2_TMPL(), yuv2packedX_TMPL(), yuv2yuv1_TMPL(), and yuv2yuvX_TMPL().
const int dg1 = dither_2x2_4[y&1 ][0] |
const int dg2 = dither_2x2_4[y&1 ][1] |
const uint8_t dither_2x2_4[2][8] |
const uint8_t dither_2x2_8[2][8] |
const uint8_t dither_8x8_220[8][8] |
const uint8_t dither_8x8_32[8][8] |
const uint8_t dither_8x8_73[8][8] |
const int dr2 = dither_2x2_8[y&1 ][1] |
Definition at line 783 of file swscale.c.
Referenced by add_left_prediction_bgr32(), avcodec_string(), avi_read_packet(), bgr15ToUV_TMPL(), bgr15ToY_TMPL(), bgr16ToUV_TMPL(), bgr16ToY_TMPL(), bgr24ToUV_TMPL(), bgr24ToY_TMPL(), bgr32ToUV_TMPL(), bgr32ToY_TMPL(), build_rgb_palette(), Configure(), convert_to_rgb32(), dct_quantize_refine(), decode_frame(), decode_rgb_frame(), do_output_subblock(), dump_stream_format(), dvbsub_init_decoder(), dvbsub_parse_clut_segment(), encode_dvb_subtitles(), flic_decode_frame_8BPP(), gen_image(), generate_joint_tables(), guess_palette(), idcin_read_packet(), mm_read_packet(), mov_read_stsd(), mp_decode_layer3(), opt_pad_color(), pnm_decode_frame(), Process(), process_ipmovie_chunk(), qtrle_decode_24bpp(), qtrle_decode_32bpp(), rgb15tobgr15(), rgb15tobgr16(), rgb15ToUV_TMPL(), rgb15ToY_TMPL(), rgb16tobgr15(), rgb16tobgr16(), rgb16ToUV_TMPL(), rgb16ToY_TMPL(), rgb24_to_yuv420p(), rgb24to15_TMPL(), rgb24to16_TMPL(), rgb24tobgr15_TMPL(), rgb24tobgr16_TMPL(), rgb24ToUV_TMPL(), rgb24ToY_TMPL(), rgb24toyv12_TMPL(), rgb32tobgr32_TMPL(), rgb32ToUV_TMPL(), rgb32ToY_TMPL(), rgb8tobgr8(), sub_left_prediction_bgr32(), subtitle_thread(), vmd_decode(), vmdvideo_decode_init(), vqa_decode_chunk(), wc3_read_packet(), and yuv_a_to_rgba().
const int32_t Inverse_Table_6_9[8][4] |
Initial value:
{ { "sws_flags", "scaler/cpu flags", OFFSET(flags), FF_OPT_TYPE_FLAGS, DEFAULT, INT_MIN, INT_MAX, VE, "sws_flags" }, { "fast_bilinear", "fast bilinear", 0, FF_OPT_TYPE_CONST, SWS_FAST_BILINEAR, INT_MIN, INT_MAX, VE, "sws_flags" }, { "bilinear", "bilinear", 0, FF_OPT_TYPE_CONST, SWS_BILINEAR, INT_MIN, INT_MAX, VE, "sws_flags" }, { "bicubic", "bicubic", 0, FF_OPT_TYPE_CONST, SWS_BICUBIC, INT_MIN, INT_MAX, VE, "sws_flags" }, { "experimental", "experimental", 0, FF_OPT_TYPE_CONST, SWS_X, INT_MIN, INT_MAX, VE, "sws_flags" }, { "neighbor", "nearest neighbor", 0, FF_OPT_TYPE_CONST, SWS_POINT, INT_MIN, INT_MAX, VE, "sws_flags" }, { "area", "averaging area", 0, FF_OPT_TYPE_CONST, SWS_AREA, INT_MIN, INT_MAX, VE, "sws_flags" }, { "bicublin", "luma bicubic, chroma bilinear", 0, FF_OPT_TYPE_CONST, SWS_BICUBLIN, INT_MIN, INT_MAX, VE, "sws_flags" }, { "gauss", "gaussian", 0, FF_OPT_TYPE_CONST, SWS_GAUSS, INT_MIN, INT_MAX, VE, "sws_flags" }, { "sinc", "sinc", 0, FF_OPT_TYPE_CONST, SWS_SINC, INT_MIN, INT_MAX, VE, "sws_flags" }, { "lanczos", "lanczos", 0, FF_OPT_TYPE_CONST, SWS_LANCZOS, INT_MIN, INT_MAX, VE, "sws_flags" }, { "spline", "natural bicubic spline", 0, FF_OPT_TYPE_CONST, SWS_SPLINE, INT_MIN, INT_MAX, VE, "sws_flags" }, { "print_info", "print info", 0, FF_OPT_TYPE_CONST, SWS_PRINT_INFO, INT_MIN, INT_MAX, VE, "sws_flags" }, { "accurate_rnd", "accurate rounding", 0, FF_OPT_TYPE_CONST, SWS_ACCURATE_RND, INT_MIN, INT_MAX, VE, "sws_flags" }, { "mmx", "MMX SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_MMX, INT_MIN, INT_MAX, VE, "sws_flags" }, { "mmx2", "MMX2 SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_MMX2, INT_MIN, INT_MAX, VE, "sws_flags" }, { "3dnow", "3DNOW SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_3DNOW, INT_MIN, INT_MAX, VE, "sws_flags" }, { "altivec", "AltiVec SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_ALTIVEC, INT_MIN, INT_MAX, VE, "sws_flags" }, { "bfin", "Blackfin SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_BFIN, INT_MIN, INT_MAX, VE, "sws_flags" }, { "full_chroma_int", "full chroma interpolation", 0 , FF_OPT_TYPE_CONST, SWS_FULL_CHR_H_INT, INT_MIN, INT_MAX, VE, "sws_flags" }, { "full_chroma_inp", "full chroma input", 0 , FF_OPT_TYPE_CONST, SWS_FULL_CHR_H_INP, INT_MIN, INT_MAX, VE, "sws_flags" }, { NULL } }
case PIX_FMT_BGR24 |
case PIX_FMT_MONOBLACK |
case PIX_FMT_RGB4 |
case PIX_FMT_RGB4_BYTE |
case PIX_FMT_RGB555 |
case PIX_FMT_RGB565 |
case PIX_FMT_RGB8 |
case PIX_FMT_UYVY422 |
case PIX_FMT_YUYV422 |
AVClass sws_context_class = { "SWScaler", sws_context_to_name, options } [static] |