FFmpeg
|
#include "config.h"
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#include "libavutil/pixdesc.h"
Go to the source code of this file.
Data Structures | |
struct | SwsContext |
Macros | |
#define | STR(s) AV_TOSTRING(s) |
#define | YUVRGB_TABLE_HEADROOM 128 |
#define | MAX_FILTER_SIZE 256 |
#define | DITHER1XBPP |
#define | ALT32_CORR 1 |
#define | APCK_PTR2 4 |
#define | APCK_COEF 8 |
#define | APCK_SIZE 16 |
#define | RY_IDX 0 |
#define | GY_IDX 1 |
#define | BY_IDX 2 |
#define | RU_IDX 3 |
#define | GU_IDX 4 |
#define | BU_IDX 5 |
#define | RV_IDX 6 |
#define | GV_IDX 7 |
#define | BV_IDX 8 |
#define | RGB2YUV_SHIFT 15 |
#define | RED_DITHER "0*8" |
#define | GREEN_DITHER "1*8" |
#define | BLUE_DITHER "2*8" |
#define | Y_COEFF "3*8" |
#define | VR_COEFF "4*8" |
#define | UB_COEFF "5*8" |
#define | VG_COEFF "6*8" |
#define | UG_COEFF "7*8" |
#define | Y_OFFSET "8*8" |
#define | U_OFFSET "9*8" |
#define | V_OFFSET "10*8" |
#define | LUM_MMX_FILTER_OFFSET "11*8" |
#define | CHR_MMX_FILTER_OFFSET "11*8+4*4*256" |
#define | DSTW_OFFSET "11*8+4*4*256*2" |
#define | ESP_OFFSET "11*8+4*4*256*2+8" |
#define | VROUNDER_OFFSET "11*8+4*4*256*2+16" |
#define | U_TEMP "11*8+4*4*256*2+24" |
#define | V_TEMP "11*8+4*4*256*2+32" |
#define | Y_TEMP "11*8+4*4*256*2+40" |
#define | ALP_MMX_FILTER_OFFSET "11*8+4*4*256*2+48" |
#define | UV_OFF_PX "11*8+4*4*256*3+48" |
#define | UV_OFF_BYTE "11*8+4*4*256*3+56" |
#define | DITHER16 "11*8+4*4*256*3+64" |
#define | DITHER32 "11*8+4*4*256*3+80" |
#define | isNBPS(x) is9_OR_10BPS(x) |
#define | isGray(x) |
#define | isRGBinInt(x) |
#define | isBGRinInt(x) |
#define | isRGBinBytes(x) |
#define | isBGRinBytes(x) |
#define | isAnyRGB(x) |
#define | isPacked(x) |
#define | FILL(wfunc) |
Typedefs | |
typedef int(* | SwsFunc) (struct SwsContext *context, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
typedef void(* | yuv2planar1_fn) (const int16_t *src, uint8_t *dest, int dstW, const uint8_t *dither, int offset) |
Write one line of horizontally scaled data to planar output without any additional vertical scaling (or point-scaling). More... | |
typedef void(* | yuv2planarX_fn) (const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, int dstW, const uint8_t *dither, int offset) |
Write one line of horizontally scaled data to planar output with multi-point vertical scaling between input pixels. More... | |
typedef void(* | yuv2interleavedX_fn) (struct SwsContext *c, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest, int dstW) |
Write one line of horizontally scaled chroma to interleaved output with multi-point vertical scaling between input pixels. More... | |
typedef void(* | yuv2packed1_fn) (struct SwsContext *c, const int16_t *lumSrc, const int16_t *chrUSrc[2], const int16_t *chrVSrc[2], const int16_t *alpSrc, uint8_t *dest, int dstW, int uvalpha, int y) |
Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB output without any additional vertical scaling (or point-scaling). More... | |
typedef void(* | yuv2packed2_fn) (struct SwsContext *c, const int16_t *lumSrc[2], const int16_t *chrUSrc[2], const int16_t *chrVSrc[2], const int16_t *alpSrc[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y) |
Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB output by doing bilinear scaling between two input lines. More... | |
typedef void(* | yuv2packedX_fn) (struct SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int y) |
Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB output by doing multi-point vertical scaling between input pixels. More... | |
typedef void(* | yuv2anyX_fn) (struct SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t **dest, int dstW, int y) |
Write one line of horizontally scaled Y/U/V/A to YUV/RGB output by doing multi-point vertical scaling between input pixels. More... | |
typedef struct SwsContext | SwsContext |
Variables | |
const uint64_t | ff_dither4 [2] |
const uint64_t | ff_dither8 [2] |
const uint8_t | dithers [8][8][8] |
const uint16_t | dither_scale [15][16] |
const AVClass | sws_context_class |
Macro Definition Documentation
#define ALP_MMX_FILTER_OFFSET "11*8+4*4*256*2+48" |
Definition at line 409 of file swscale_internal.h.
Referenced by yuv2rgb32_X(), and yuv2rgb32_X_ar().
#define ALT32_CORR 1 |
Definition at line 49 of file swscale_internal.h.
Referenced by findRgbConvFn(), and rgbToRgbWrapper().
#define APCK_COEF 8 |
Definition at line 58 of file swscale_internal.h.
#define APCK_PTR2 4 |
Definition at line 57 of file swscale_internal.h.
#define APCK_SIZE 16 |
Definition at line 59 of file swscale_internal.h.
Referenced by initFilter().
#define BLUE_DITHER "2*8" |
Definition at line 392 of file swscale_internal.h.
Referenced by yuv2rgb555_1(), yuv2rgb555_2(), yuv2rgb555_X(), yuv2rgb555_X_ar(), yuv2rgb565_1(), yuv2rgb565_2(), yuv2rgb565_X(), and yuv2rgb565_X_ar().
#define BU_IDX 5 |
Definition at line 367 of file swscale_internal.h.
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb_to_uv(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64ToUV_c_template(), and rgb64ToUV_half_c_template().
#define BV_IDX 8 |
Definition at line 370 of file swscale_internal.h.
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb_to_uv(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64ToUV_c_template(), and rgb64ToUV_half_c_template().
#define BY_IDX 2 |
Definition at line 364 of file swscale_internal.h.
Referenced by bgr24ToY_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), planar_rgb16_to_y(), planar_rgb_to_y(), rgb24ToY_c(), rgb48funcs(), rgb64funcs(), and rgb64ToY_c_template().
#define CHR_MMX_FILTER_OFFSET "11*8+4*4*256" |
Definition at line 402 of file swscale_internal.h.
#define DITHER16 "11*8+4*4*256*3+64" |
Definition at line 412 of file swscale_internal.h.
#define DITHER1XBPP |
Definition at line 44 of file swscale_internal.h.
Referenced by sws_init_context().
#define DITHER32 "11*8+4*4*256*3+80" |
Definition at line 413 of file swscale_internal.h.
#define DSTW_OFFSET "11*8+4*4*256*2" |
Definition at line 403 of file swscale_internal.h.
#define ESP_OFFSET "11*8+4*4*256*2+8" |
Definition at line 404 of file swscale_internal.h.
Referenced by yuv2bgr24_1(), yuv2bgr24_2(), yuv2rgb32_1(), yuv2rgb32_2(), yuv2rgb555_1(), yuv2rgb555_2(), yuv2rgb565_1(), yuv2rgb565_2(), yuv2yuyv422_1(), and yuv2yuyv422_2().
#define FILL | ( | wfunc | ) |
Referenced by fillPlane16().
#define GREEN_DITHER "1*8" |
Definition at line 391 of file swscale_internal.h.
Referenced by yuv2rgb555_1(), yuv2rgb555_2(), yuv2rgb555_X(), yuv2rgb555_X_ar(), yuv2rgb565_1(), yuv2rgb565_2(), yuv2rgb565_X(), and yuv2rgb565_X_ar().
#define GU_IDX 4 |
Definition at line 366 of file swscale_internal.h.
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb_to_uv(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64ToUV_c_template(), and rgb64ToUV_half_c_template().
#define GV_IDX 7 |
Definition at line 369 of file swscale_internal.h.
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb_to_uv(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64ToUV_c_template(), and rgb64ToUV_half_c_template().
#define GY_IDX 1 |
Definition at line 363 of file swscale_internal.h.
Referenced by bgr24ToY_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), planar_rgb16_to_y(), planar_rgb_to_y(), rgb24ToY_c(), rgb48funcs(), rgb64funcs(), and rgb64ToY_c_template().
#define isAnyRGB | ( | x | ) |
Definition at line 724 of file swscale_internal.h.
Referenced by ff_get_unscaled_swscale(), hScale16To15_c(), hScale16To19_c(), sws_init_context(), and sws_init_swScale_c().
#define isBGRinBytes | ( | x | ) |
Definition at line 714 of file swscale_internal.h.
#define isBGRinInt | ( | x | ) |
Definition at line 683 of file swscale_internal.h.
Referenced by findRgbConvFn().
#define isGray | ( | x | ) |
Definition at line 655 of file swscale_internal.h.
#define isNBPS | ( | x | ) | is9_OR_10BPS(x) |
Definition at line 620 of file swscale_internal.h.
Referenced by ff_sws_init_input_funcs(), planarCopyWrapper(), sws_init_context(), and swScale().
#define isPacked | ( | x | ) |
Definition at line 748 of file swscale_internal.h.
Referenced by ff_get_unscaled_swscale(), and swScale().
#define isRGBinBytes | ( | x | ) |
Definition at line 705 of file swscale_internal.h.
#define isRGBinInt | ( | x | ) |
Definition at line 662 of file swscale_internal.h.
Referenced by findRgbConvFn().
#define LUM_MMX_FILTER_OFFSET "11*8" |
Definition at line 401 of file swscale_internal.h.
#define MAX_FILTER_SIZE 256 |
Definition at line 42 of file swscale_internal.h.
Referenced by initFilter().
#define RED_DITHER "0*8" |
Definition at line 390 of file swscale_internal.h.
Referenced by yuv2rgb555_1(), yuv2rgb555_2(), yuv2rgb555_X(), yuv2rgb555_X_ar(), yuv2rgb565_1(), yuv2rgb565_2(), yuv2rgb565_X(), and yuv2rgb565_X_ar().
#define RGB2YUV_SHIFT 15 |
Definition at line 371 of file swscale_internal.h.
#define RU_IDX 3 |
Definition at line 365 of file swscale_internal.h.
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb_to_uv(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64ToUV_c_template(), and rgb64ToUV_half_c_template().
#define RV_IDX 6 |
Definition at line 368 of file swscale_internal.h.
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb_to_uv(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64ToUV_c_template(), and rgb64ToUV_half_c_template().
#define RY_IDX 0 |
Definition at line 362 of file swscale_internal.h.
Referenced by bgr24ToY_c(), ff_rgb24toyv12_c(), fill_rgb2yuv_table(), planar_rgb16_to_y(), planar_rgb_to_y(), rgb24ToY_c(), rgb48funcs(), rgb64funcs(), and rgb64ToY_c_template().
#define STR | ( | s | ) | AV_TOSTRING(s) |
Definition at line 38 of file swscale_internal.h.
Referenced by av_register_all().
#define U_OFFSET "9*8" |
Definition at line 399 of file swscale_internal.h.
#define U_TEMP "11*8+4*4*256*2+24" |
Definition at line 406 of file swscale_internal.h.
Referenced by yuv2rgb32_2(), and yuv2rgb32_X_ar().
#define UB_COEFF "5*8" |
Definition at line 395 of file swscale_internal.h.
#define UG_COEFF "7*8" |
Definition at line 397 of file swscale_internal.h.
#define UV_OFF_BYTE "11*8+4*4*256*3+56" |
Definition at line 411 of file swscale_internal.h.
#define UV_OFF_PX "11*8+4*4*256*3+48" |
Definition at line 410 of file swscale_internal.h.
#define V_OFFSET "10*8" |
Definition at line 400 of file swscale_internal.h.
#define V_TEMP "11*8+4*4*256*2+32" |
Definition at line 407 of file swscale_internal.h.
Referenced by yuv2rgb32_2(), and yuv2rgb32_X_ar().
#define VG_COEFF "6*8" |
Definition at line 396 of file swscale_internal.h.
#define VR_COEFF "4*8" |
Definition at line 394 of file swscale_internal.h.
#define VROUNDER_OFFSET "11*8+4*4*256*2+16" |
Definition at line 405 of file swscale_internal.h.
#define Y_COEFF "3*8" |
Definition at line 393 of file swscale_internal.h.
#define Y_OFFSET "8*8" |
Definition at line 398 of file swscale_internal.h.
#define Y_TEMP "11*8+4*4*256*2+40" |
Definition at line 408 of file swscale_internal.h.
Referenced by yuv2rgb32_X_ar().
#define YUVRGB_TABLE_HEADROOM 128 |
Definition at line 40 of file swscale_internal.h.
Referenced by fill_gv_table(), fill_table(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().
Typedef Documentation
typedef struct SwsContext SwsContext |
typedef int(* SwsFunc) (struct SwsContext *context, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
Definition at line 64 of file swscale_internal.h.
typedef void(* yuv2anyX_fn) (struct SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t **dest, int dstW, int y) |
Write one line of horizontally scaled Y/U/V/A to YUV/RGB output by doing multi-point vertical scaling between input pixels.
- Parameters
-
c SWS scaling context lumFilter vertical luma/alpha scaling coefficients, 12bit [0,4096] lumSrc scaled luma (Y) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) lumFilterSize number of vertical luma/alpha input lines to scale chrFilter vertical chroma scaling coefficients, 12bit [0,4096] chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrFilterSize number of vertical chroma input lines to scale alpSrc scaled alpha (A) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) dest pointer to the output planes. For 16bit output, this is uint16_t dstW width of lumSrc and alpSrc in pixels, number of pixels to write into dest[] y vertical line number for this output. This does not need to be used to calculate the offset in the destination, but can be used to generate comfort noise using dithering or some output formats.
Definition at line 250 of file swscale_internal.h.
typedef void(* yuv2interleavedX_fn) (struct SwsContext *c, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest, int dstW) |
Write one line of horizontally scaled chroma to interleaved output with multi-point vertical scaling between input pixels.
- Parameters
-
c SWS scaling context chrFilter vertical chroma scaling coefficients, 12bit [0,4096] chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrFilterSize number of vertical chroma input lines to scale dest pointer to the output plane. For >8bit output, this is in uint16_t dstW width of chroma planes
Definition at line 115 of file swscale_internal.h.
typedef void(* yuv2packed1_fn) (struct SwsContext *c, const int16_t *lumSrc, const int16_t *chrUSrc[2], const int16_t *chrVSrc[2], const int16_t *alpSrc, uint8_t *dest, int dstW, int uvalpha, int y) |
Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB output without any additional vertical scaling (or point-scaling).
Note that this function may do chroma scaling, see the "uvalpha" argument.
- Parameters
-
c SWS scaling context lumSrc scaled luma (Y) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) alpSrc scaled alpha (A) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) dest pointer to the output plane. For 16bit output, this is uint16_t dstW width of lumSrc and alpSrc in pixels, number of pixels to write into dest[] uvalpha chroma scaling coefficient for the second line of chroma pixels, either 2048 or 0. If 0, one chroma input is used for 2 output pixels (or if the SWS_FLAG_FULL_CHR_INT flag is set, it generates 1 output pixel). If 2048, two chroma input pixels should be averaged for 2 output pixels (this only happens if SWS_FLAG_FULL_CHR_INT is not set) y vertical line number for this output. This does not need to be used to calculate the offset in the destination, but can be used to generate comfort noise using dithering for some output formats.
Definition at line 151 of file swscale_internal.h.
typedef void(* yuv2packed2_fn) (struct SwsContext *c, const int16_t *lumSrc[2], const int16_t *chrUSrc[2], const int16_t *chrVSrc[2], const int16_t *alpSrc[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y) |
Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB output by doing bilinear scaling between two input lines.
- Parameters
-
c SWS scaling context lumSrc scaled luma (Y) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) alpSrc scaled alpha (A) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) dest pointer to the output plane. For 16bit output, this is uint16_t dstW width of lumSrc and alpSrc in pixels, number of pixels to write into dest[] yalpha luma/alpha scaling coefficients for the second input line. The first line's coefficients can be calculated by using 4096 - yalpha uvalpha chroma scaling coefficient for the second input line. The first line's coefficients can be calculated by using 4096 - uvalpha y vertical line number for this output. This does not need to be used to calculate the offset in the destination, but can be used to generate comfort noise using dithering for some output formats.
Definition at line 184 of file swscale_internal.h.
typedef void(* yuv2packedX_fn) (struct SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int y) |
Write one line of horizontally scaled Y/U/V/A to packed-pixel YUV/RGB output by doing multi-point vertical scaling between input pixels.
- Parameters
-
c SWS scaling context lumFilter vertical luma/alpha scaling coefficients, 12bit [0,4096] lumSrc scaled luma (Y) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) lumFilterSize number of vertical luma/alpha input lines to scale chrFilter vertical chroma scaling coefficients, 12bit [0,4096] chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) chrFilterSize number of vertical chroma input lines to scale alpSrc scaled alpha (A) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) dest pointer to the output plane. For 16bit output, this is uint16_t dstW width of lumSrc and alpSrc in pixels, number of pixels to write into dest[] y vertical line number for this output. This does not need to be used to calculate the offset in the destination, but can be used to generate comfort noise using dithering or some output formats.
Definition at line 216 of file swscale_internal.h.
typedef void(* yuv2planar1_fn) (const int16_t *src, uint8_t *dest, int dstW, const uint8_t *dither, int offset) |
Write one line of horizontally scaled data to planar output without any additional vertical scaling (or point-scaling).
- Parameters
-
src scaled source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) dest pointer to the output plane. For >8bit output, this is in uint16_t dstW width of destination in pixels dither ordered dither array of type int16_t and size 8 offset Dither offset
Definition at line 80 of file swscale_internal.h.
typedef void(* yuv2planarX_fn) (const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, int dstW, const uint8_t *dither, int offset) |
Write one line of horizontally scaled data to planar output with multi-point vertical scaling between input pixels.
- Parameters
-
filter vertical luma/alpha scaling coefficients, 12bit [0,4096] src scaled luma (Y) or alpha (A) source data, 15bit for 8-10bit output, 19-bit for 16bit output (in int32_t) filterSize number of vertical input lines to scale dest pointer to output plane. For >8bit output, this is in uint16_t dstW width of destination pixels offset Dither offset
Definition at line 96 of file swscale_internal.h.
Function Documentation
void ff_bfin_get_unscaled_swscale | ( | SwsContext * | c | ) |
Definition at line 74 of file swscale_bfin.c.
Referenced by ff_get_unscaled_swscale().
void ff_get_unscaled_swscale | ( | SwsContext * | c | ) |
Set c->swScale to an unscaled converter if one exists for the specific source and destination formats, bit depths, flags, etc.
Definition at line 997 of file swscale_unscaled.c.
Referenced by sws_init_context(), and usePal().
SwsFunc ff_getSwsFunc | ( | SwsContext * | c | ) |
Return function pointer to fastest main scaler path function depending on architecture and available optimizations.
Definition at line 755 of file swscale.c.
Referenced by sws_init_context(), and usePal().
void ff_sws_init_input_funcs | ( | SwsContext * | c | ) |
Definition at line 889 of file input.c.
Referenced by sws_init_swScale_c(), and usePal().
void ff_sws_init_output_funcs | ( | SwsContext * | c, |
yuv2planar1_fn * | yuv2plane1, | ||
yuv2planarX_fn * | yuv2planeX, | ||
yuv2interleavedX_fn * | yuv2nv12cX, | ||
yuv2packed1_fn * | yuv2packed1, | ||
yuv2packed2_fn * | yuv2packed2, | ||
yuv2packedX_fn * | yuv2packedX, | ||
yuv2anyX_fn * | yuv2anyX | ||
) |
Definition at line 1565 of file output.c.
Referenced by sws_init_swScale_c(), swScale(), and usePal().
void ff_sws_init_swScale_altivec | ( | SwsContext * | c | ) |
Definition at line 288 of file swscale_altivec.c.
Referenced by ff_getSwsFunc(), and usePal().
void ff_sws_init_swScale_mmx | ( | SwsContext * | c | ) |
Definition at line 380 of file x86/swscale.c.
Referenced by ff_getSwsFunc(), and usePal().
void ff_swscale_get_unscaled_altivec | ( | SwsContext * | c | ) |
Definition at line 182 of file yuv2yuv_altivec.c.
Referenced by ff_get_unscaled_swscale(), and usePal().
int ff_yuv2rgb_c_init_tables | ( | SwsContext * | c, |
const int | inv_table[4], | ||
int | fullRange, | ||
int | brightness, | ||
int | contrast, | ||
int | saturation | ||
) |
Definition at line 706 of file yuv2rgb.c.
Referenced by sws_setColorspaceDetails().
SwsFunc ff_yuv2rgb_get_func_ptr | ( | SwsContext * | c | ) |
Definition at line 607 of file yuv2rgb.c.
Referenced by ff_get_unscaled_swscale().
SwsFunc ff_yuv2rgb_get_func_ptr_bfin | ( | SwsContext * | c | ) |
Definition at line 171 of file yuv2rgb_bfin.c.
Referenced by ff_yuv2rgb_get_func_ptr().
SwsFunc ff_yuv2rgb_init_altivec | ( | SwsContext * | c | ) |
Definition at line 535 of file yuv2rgb_altivec.c.
Referenced by ff_yuv2rgb_get_func_ptr().
SwsFunc ff_yuv2rgb_init_mmx | ( | SwsContext * | c | ) |
Definition at line 72 of file x86/yuv2rgb.c.
Referenced by ff_yuv2rgb_get_func_ptr().
void ff_yuv2rgb_init_tables_altivec | ( | SwsContext * | c, |
const int | inv_table[4], | ||
int | brightness, | ||
int | contrast, | ||
int | saturation | ||
) |
Definition at line 595 of file yuv2rgb_altivec.c.
Referenced by sws_setColorspaceDetails().
SwsFunc ff_yuv2rgb_init_vis | ( | SwsContext * | c | ) |
Definition at line 188 of file yuv2rgb_vis.c.
Referenced by ff_yuv2rgb_get_func_ptr().
|
inlinestatic |
Definition at line 829 of file swscale_internal.h.
Referenced by planarCopyWrapper(), and swScale().
|
static |
Definition at line 606 of file swscale_internal.h.
Referenced by ff_sws_init_input_funcs(), ff_sws_init_output_funcs(), ff_sws_init_swScale_altivec(), planarCopyWrapper(), sws_init_context(), sws_init_swScale(), and swScale().
|
static |
Definition at line 613 of file swscale_internal.h.
Referenced by ff_sws_init_output_funcs(), ff_sws_init_swScale_altivec(), sws_init_swScale(), and swScale().
|
static |
Definition at line 740 of file swscale_internal.h.
|
static |
Definition at line 622 of file swscale_internal.h.
Referenced by ff_sws_init_input_funcs(), ff_sws_init_output_funcs(), ff_sws_init_swScale_mmx(), planarCopyWrapper(), swScale(), and yuv2gbrp_full_X_c().
|
static |
Definition at line 773 of file swscale_internal.h.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 766 of file swscale_internal.h.
Referenced by ff_get_unscaled_swscale(), ff_yuv2rgb_c_init_tables(), reset_ptr(), and swScale().
|
static |
Definition at line 780 of file swscale_internal.h.
Referenced by sws_init_context().
|
static |
Definition at line 636 of file swscale_internal.h.
Referenced by ff_get_unscaled_swscale(), and swScale().
|
static |
Definition at line 643 of file swscale_internal.h.
|
static |
Definition at line 629 of file swscale_internal.h.
Referenced by isPlanarYUV(), sws_getColorspaceDetails(), and sws_setColorspaceDetails().
void updateMMXDitherTables | ( | SwsContext * | c, |
int | dstY, | ||
int | lumBufIndex, | ||
int | chrBufIndex, | ||
int | lastInLumBuf, | ||
int | lastInChrBuf | ||
) |
Referenced by swScale().
|
static |
Definition at line 788 of file swscale_internal.h.
Referenced by ff_get_unscaled_swscale(), palToRgbWrapper(), reset_ptr(), sws_scale(), and swScale().
Variable Documentation
const uint16_t dither_scale[15][16] |
Definition at line 112 of file swscale_unscaled.c.
Referenced by usePal().
const uint64_t ff_dither4[2] |
Referenced by usePal(), and yuv420_rgb16().
const uint64_t ff_dither8[2] |
Referenced by usePal(), yuv420_rgb15(), and yuv420_rgb16().
const AVClass sws_context_class |
Definition at line 70 of file libswscale/options.c.
Referenced by sws_alloc_context(), sws_get_class(), and usePal().
Generated on Fri Dec 20 2024 06:56:16 for FFmpeg by 1.8.11