libswscale/swscale.c File Reference

#include <inttypes.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include "config.h"
#include <assert.h>
#include "swscale.h"
#include "swscale_internal.h"
#include "rgb2rgb.h"
#include "libavutil/avassert.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/cpu.h"
#include "libavutil/avutil.h"
#include "libavutil/mathematics.h"
#include "libavutil/bswap.h"
#include "libavutil/pixdesc.h"

Go to the source code of this file.

Defines

#define RGB2YUV_SHIFT   15
#define BY   ( (int)(0.114*219/255*(1<<RGB2YUV_SHIFT)+0.5))
#define BV   (-(int)(0.081*224/255*(1<<RGB2YUV_SHIFT)+0.5))
#define BU   ( (int)(0.500*224/255*(1<<RGB2YUV_SHIFT)+0.5))
#define GY   ( (int)(0.587*219/255*(1<<RGB2YUV_SHIFT)+0.5))
#define GV   (-(int)(0.419*224/255*(1<<RGB2YUV_SHIFT)+0.5))
#define GU   (-(int)(0.331*224/255*(1<<RGB2YUV_SHIFT)+0.5))
#define RY   ( (int)(0.299*219/255*(1<<RGB2YUV_SHIFT)+0.5))
#define RV   ( (int)(0.500*224/255*(1<<RGB2YUV_SHIFT)+0.5))
#define RU   (-(int)(0.169*224/255*(1<<RGB2YUV_SHIFT)+0.5))
#define output_pixel(pos, val, bias, signedness)
#define output_pixel(pos, val)
#define yuv2NBPS(bits, BE_LE, is_be, template_size, typeX_t)
#define output_pixel(pos, val)
#define YUV2PACKED16WRAPPER(name, base, ext, fmt)
#define output_pixel(pos, acc)
#define YUV2PACKEDWRAPPER(name, base, ext, fmt)
#define output_pixels(pos, Y1, U, Y2, V)
#define R_B   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? R : B)
#define B_R   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? B : R)
#define output_pixel(pos, val)
#define r_b   ((target == PIX_FMT_RGB24) ? r : b)
#define b_r   ((target == PIX_FMT_RGB24) ? b : r)
#define YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha)
#define YUV2RGBWRAPPER(name, base, ext, fmt, hasAlpha)
#define input_pixel(pos)   (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
#define r   ((origin == PIX_FMT_BGR48BE || origin == PIX_FMT_BGR48LE) ? b_r : r_b)
#define b   ((origin == PIX_FMT_BGR48BE || origin == PIX_FMT_BGR48LE) ? r_b : b_r)
#define rgb48funcs(pattern, BE_LE, origin)
#define input_pixel(i)
#define rgb16_32_wrapper(fmt, name, shr, shg, shb, shp, maskr, maskg, maskb, rsh, gsh, bsh, S)
#define input_pixel(pos)   (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
#define DEBUG_SWSCALE_BUFFERS   0
#define DEBUG_BUFFERS(...)   if (DEBUG_SWSCALE_BUFFERS) av_log(c, AV_LOG_DEBUG, __VA_ARGS__)

Functions

static av_always_inline void yuv2plane1_16_c_template (const int32_t *src, uint16_t *dest, int dstW, int big_endian, int output_bits)
static av_always_inline void yuv2planeX_16_c_template (const int16_t *filter, int filterSize, const int32_t **src, uint16_t *dest, int dstW, int big_endian, int output_bits)
static av_always_inline void yuv2plane1_10_c_template (const int16_t *src, uint16_t *dest, int dstW, int big_endian, int output_bits)
static av_always_inline void yuv2planeX_10_c_template (const int16_t *filter, int filterSize, const int16_t **src, uint16_t *dest, int dstW, int big_endian, int output_bits)
 yuv2NBPS (9, BE, 1, 10, int16_t)
 yuv2NBPS (9, LE, 0, 10, int16_t)
 yuv2NBPS (10, BE, 1, 10, int16_t)
 yuv2NBPS (10, LE, 0, 10, int16_t)
 yuv2NBPS (16, BE, 1, 16, int32_t)
 yuv2NBPS (16, LE, 0, 16, int32_t)
static void yuv2planeX_8_c (const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, int dstW, const uint8_t *dither, int offset)
static void yuv2plane1_8_c (const int16_t *src, uint8_t *dest, int dstW, const uint8_t *dither, int offset)
static void yuv2nv12cX_c (SwsContext *c, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest, int chrDstW)
static av_always_inline void yuv2gray16_X_c_template (SwsContext *c, const int16_t *lumFilter, const int32_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int32_t **chrUSrc, const int32_t **chrVSrc, int chrFilterSize, const int32_t **alpSrc, uint16_t *dest, int dstW, int y, enum PixelFormat target)
static av_always_inline void yuv2gray16_2_c_template (SwsContext *c, const int32_t *buf[2], const int32_t *ubuf[2], const int32_t *vbuf[2], const int32_t *abuf[2], uint16_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2gray16_1_c_template (SwsContext *c, const int32_t *buf0, const int32_t *ubuf[2], const int32_t *vbuf[2], const int32_t *abuf0, uint16_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
 YUV2PACKED16WRAPPER (yuv2gray16,, LE, PIX_FMT_GRAY16LE)
 YUV2PACKED16WRAPPER (yuv2gray16,, BE, PIX_FMT_GRAY16BE)
static av_always_inline void yuv2mono_X_c_template (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, enum PixelFormat target)
static av_always_inline void yuv2mono_2_c_template (SwsContext *c, const int16_t *buf[2], const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2mono_1_c_template (SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf0, uint8_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
 YUV2PACKEDWRAPPER (yuv2mono,, white, PIX_FMT_MONOWHITE)
 YUV2PACKEDWRAPPER (yuv2mono,, black, PIX_FMT_MONOBLACK)
static av_always_inline void yuv2422_X_c_template (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, enum PixelFormat target)
static av_always_inline void yuv2422_2_c_template (SwsContext *c, const int16_t *buf[2], const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2422_1_c_template (SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf0, uint8_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
 YUV2PACKEDWRAPPER (yuv2, 422, yuyv422, PIX_FMT_YUYV422)
 YUV2PACKEDWRAPPER (yuv2, 422, uyvy422, PIX_FMT_UYVY422)
static av_always_inline void yuv2rgb48_X_c_template (SwsContext *c, const int16_t *lumFilter, const int32_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int32_t **chrUSrc, const int32_t **chrVSrc, int chrFilterSize, const int32_t **alpSrc, uint16_t *dest, int dstW, int y, enum PixelFormat target)
static av_always_inline void yuv2rgb48_2_c_template (SwsContext *c, const int32_t *buf[2], const int32_t *ubuf[2], const int32_t *vbuf[2], const int32_t *abuf[2], uint16_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2rgb48_1_c_template (SwsContext *c, const int32_t *buf0, const int32_t *ubuf[2], const int32_t *vbuf[2], const int32_t *abuf0, uint16_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
 YUV2PACKED16WRAPPER (yuv2, rgb48, rgb48be, PIX_FMT_RGB48BE)
 YUV2PACKED16WRAPPER (yuv2, rgb48, rgb48le, PIX_FMT_RGB48LE)
 YUV2PACKED16WRAPPER (yuv2, rgb48, bgr48be, PIX_FMT_BGR48BE)
 YUV2PACKED16WRAPPER (yuv2, rgb48, bgr48le, PIX_FMT_BGR48LE)
static av_always_inline void yuv2rgb_write (uint8_t *_dest, int i, int Y1, int Y2, int U, int V, int A1, int A2, const void *_r, const void *_g, const void *_b, int y, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_X_c_template (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, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_2_c_template (SwsContext *c, const int16_t *buf[2], const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_1_c_template (SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf0, uint8_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target, int hasAlpha)
 YUV2RGBWRAPPER (yuv2rgb,, x32_1, PIX_FMT_RGB32_1, 0)
 YUV2RGBWRAPPER (yuv2rgb,, x32, PIX_FMT_RGB32, 0)
 YUV2RGBWRAPPER (yuv2, rgb, rgb24, PIX_FMT_RGB24, 0)
 YUV2RGBWRAPPER (yuv2, rgb, bgr24, PIX_FMT_BGR24, 0)
 YUV2RGBWRAPPER (yuv2rgb,, 16, PIX_FMT_RGB565, 0)
 YUV2RGBWRAPPER (yuv2rgb,, 15, PIX_FMT_RGB555, 0)
 YUV2RGBWRAPPER (yuv2rgb,, 12, PIX_FMT_RGB444, 0)
 YUV2RGBWRAPPER (yuv2rgb,, 8, PIX_FMT_RGB8, 0)
 YUV2RGBWRAPPER (yuv2rgb,, 4, PIX_FMT_RGB4, 0)
 YUV2RGBWRAPPER (yuv2rgb,, 4b, PIX_FMT_RGB4_BYTE, 0)
static av_always_inline void yuv2rgb_full_X_c_template (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, enum PixelFormat target, int hasAlpha)
 YUV2RGBWRAPPERX (yuv2, rgb_full, bgrx32_full, PIX_FMT_BGRA, 0)
 YUV2RGBWRAPPERX (yuv2, rgb_full, xbgr32_full, PIX_FMT_ABGR, 0)
 YUV2RGBWRAPPERX (yuv2, rgb_full, rgbx32_full, PIX_FMT_RGBA, 0)
 YUV2RGBWRAPPERX (yuv2, rgb_full, xrgb32_full, PIX_FMT_ARGB, 0)
 YUV2RGBWRAPPERX (yuv2, rgb_full, bgr24_full, PIX_FMT_BGR24, 0)
 YUV2RGBWRAPPERX (yuv2, rgb_full, rgb24_full, PIX_FMT_RGB24, 0)
static av_always_inline void fillPlane (uint8_t *plane, int stride, int width, int height, int y, uint8_t val)
static av_always_inline void rgb48ToY_c_template (uint16_t *dst, const uint16_t *src, int width, enum PixelFormat origin)
static av_always_inline void rgb48ToUV_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum PixelFormat origin)
static av_always_inline void rgb48ToUV_half_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum PixelFormat origin)
 rgb48funcs (rgb, LE, PIX_FMT_RGB48LE)
 rgb48funcs (rgb, BE, PIX_FMT_RGB48BE)
 rgb48funcs (bgr, LE, PIX_FMT_BGR48LE)
 rgb48funcs (bgr, BE, PIX_FMT_BGR48BE)
static av_always_inline void rgb16_32ToY_c_template (int16_t *dst, const uint8_t *src, int width, enum PixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
static av_always_inline void rgb16_32ToUV_c_template (int16_t *dstU, int16_t *dstV, const uint8_t *src, int width, enum PixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
static av_always_inline void rgb16_32ToUV_half_c_template (int16_t *dstU, int16_t *dstV, const uint8_t *src, int width, enum PixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
 rgb16_32_wrapper (PIX_FMT_BGR32, bgr32, 16, 0, 0, 0, 0xFF0000, 0xFF00, 0x00FF, 8, 0, 8, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_BGR32_1, bgr321, 16, 0, 0, 8, 0xFF0000, 0xFF00, 0x00FF, 8, 0, 8, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_RGB32, rgb32, 0, 0, 16, 0, 0x00FF, 0xFF00, 0xFF0000, 8, 0, 8, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_RGB32_1, rgb321, 0, 0, 16, 8, 0x00FF, 0xFF00, 0xFF0000, 8, 0, 8, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_BGR565LE, bgr16le, 0, 0, 0, 0, 0x001F, 0x07E0, 0xF800, 11, 5, 0, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_BGR555LE, bgr15le, 0, 0, 0, 0, 0x001F, 0x03E0, 0x7C00, 10, 5, 0, RGB2YUV_SHIFT+7)
 rgb16_32_wrapper (PIX_FMT_RGB565LE, rgb16le, 0, 0, 0, 0, 0xF800, 0x07E0, 0x001F, 0, 5, 11, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_RGB555LE, rgb15le, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, 0, 5, 10, RGB2YUV_SHIFT+7)
 rgb16_32_wrapper (PIX_FMT_BGR565BE, bgr16be, 0, 0, 0, 0, 0x001F, 0x07E0, 0xF800, 11, 5, 0, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_BGR555BE, bgr15be, 0, 0, 0, 0, 0x001F, 0x03E0, 0x7C00, 10, 5, 0, RGB2YUV_SHIFT+7)
 rgb16_32_wrapper (PIX_FMT_RGB565BE, rgb16be, 0, 0, 0, 0, 0xF800, 0x07E0, 0x001F, 0, 5, 11, RGB2YUV_SHIFT+8)
 rgb16_32_wrapper (PIX_FMT_RGB555BE, rgb15be, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, 0, 5, 10, RGB2YUV_SHIFT+7)
static void gbr24pToUV_half_c (uint16_t *dstU, uint16_t *dstV, const uint8_t *gsrc, const uint8_t *bsrc, const uint8_t *rsrc, int width, enum PixelFormat origin)
static void abgrToA_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void rgbaToA_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void palToA_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *pal)
static void palToY_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, long width, uint32_t *pal)
static void palToUV_c (uint16_t *dstU, int16_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *pal)
static void monowhite2Y_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void monoblack2Y_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void yuy2ToY_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void yuy2ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void bswap16Y_c (uint8_t *_dst, const uint8_t *_src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void bswap16UV_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *_src1, const uint8_t *_src2, int width, uint32_t *unused)
static void uyvyToY_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void uyvyToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static av_always_inline void nvXXtoUV_c (uint8_t *dst1, uint8_t *dst2, const uint8_t *src, int width)
static void nv12ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void nv21ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void bgr24ToY_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void bgr24ToUV_c (int16_t *dstU, int16_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void bgr24ToUV_half_c (int16_t *dstU, int16_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void rgb24ToY_c (int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
static void rgb24ToUV_c (int16_t *dstU, int16_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void rgb24ToUV_half_c (int16_t *dstU, int16_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
static void planar_rgb_to_y (uint16_t *dst, const uint8_t *src[4], int width)
static void planar_rgb16le_to_y (uint8_t *_dst, const uint8_t *_src[4], int width)
static void planar_rgb16be_to_y (uint8_t *_dst, const uint8_t *_src[4], int width)
static void planar_rgb_to_uv (uint16_t *dstU, uint16_t *dstV, const uint8_t *src[4], int width)
static void planar_rgb16le_to_uv (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *_src[4], int width)
static void planar_rgb16be_to_uv (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *_src[4], int width)
static void hScale16To19_c (SwsContext *c, int16_t *_dst, int dstW, const uint8_t *_src, const int16_t *filter, const int16_t *filterPos, int filterSize)
static void hScale16To15_c (SwsContext *c, int16_t *dst, int dstW, const uint8_t *_src, const int16_t *filter, const int16_t *filterPos, int filterSize)
static void hScale8To15_c (SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int16_t *filterPos, int filterSize)
static void hScale8To19_c (SwsContext *c, int16_t *_dst, int dstW, const uint8_t *src, const int16_t *filter, const int16_t *filterPos, int filterSize)
static void chrRangeToJpeg_c (int16_t *dstU, int16_t *dstV, int width)
static void chrRangeFromJpeg_c (int16_t *dstU, int16_t *dstV, int width)
static void lumRangeToJpeg_c (int16_t *dst, int width)
static void lumRangeFromJpeg_c (int16_t *dst, int width)
static void chrRangeToJpeg16_c (int16_t *_dstU, int16_t *_dstV, int width)
static void chrRangeFromJpeg16_c (int16_t *_dstU, int16_t *_dstV, int width)
static void lumRangeToJpeg16_c (int16_t *_dst, int width)
static void lumRangeFromJpeg16_c (int16_t *_dst, int width)
static void hyscale_fast_c (SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src, int srcW, int xInc)
static av_always_inline void hyscale (SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src_in[4], int srcW, int xInc, const int16_t *hLumFilter, const int16_t *hLumFilterPos, int hLumFilterSize, uint8_t *formatConvBuffer, uint32_t *pal, int isAlpha)
static void hcscale_fast_c (SwsContext *c, int16_t *dst1, int16_t *dst2, int dstWidth, const uint8_t *src1, const uint8_t *src2, int srcW, int xInc)
static av_always_inline void hcscale (SwsContext *c, int16_t *dst1, int16_t *dst2, int dstWidth, const uint8_t *src_in[4], int srcW, int xInc, const int16_t *hChrFilter, const int16_t *hChrFilterPos, int hChrFilterSize, uint8_t *formatConvBuffer, uint32_t *pal)
static av_always_inline void find_c_packed_planar_out_funcs (SwsContext *c, yuv2planar1_fn *yuv2plane1, yuv2planarX_fn *yuv2planeX, yuv2interleavedX_fn *yuv2nv12cX, yuv2packed1_fn *yuv2packed1, yuv2packed2_fn *yuv2packed2, yuv2packedX_fn *yuv2packedX)
static int swScale (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
static av_cold void sws_init_swScale_c (SwsContext *c)
SwsFunc ff_getSwsFunc (SwsContext *c)
 Returns function pointer to fastest main scaler path function depending on architecture and available optimizations.

Variables

static const uint8_t dither_2x2_4 [2][8]
static const uint8_t dither_2x2_8 [2][8]
const uint8_t dither_4x4_16 [4][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]
const uint8_t dither_8x8_128 [8][8]
const uint8_t ff_sws_pb_64 [8]
const uint8_t dithers [8][8][8]
static const uint8_t flat64 [8] = {64,64,64,64,64,64,64,64}
const uint16_t dither_scale [15][16]


Define Documentation

#define b   ((origin == PIX_FMT_BGR48BE || origin == PIX_FMT_BGR48LE) ? r_b : b_r)

Definition at line 1457 of file swscale.c.

Referenced by add_bytes_c(), add_bytes_l2_c(), add_hfyu_left_prediction_bgr32_c(), add_paeth_prediction_c(), analyze(), av_compare_ts(), av_mlfg_get(), av_nearer_q(), av_rescale_q(), avg_pixels16_l2_altivec(), bgr24ToUV_c(), bgr24ToUV_half_c(), bgr24ToY_c(), bgr8torgb8(), bidir_refine(), binkb_read_bundle(), blur_power(), body(), cdata_probe(), cdg_load_palette(), cin_decode_huffman(), compute_bit_allocation(), compute_lpc_coefs(), convert_to_rgb32_loco(), decode_audio_s16(), decode_block_coeffs_internal(), decode_blocks(), decode_blocks_ind(), decode_component(), decode_frame(), decode_hybrid(), decode_init(), decode_rgb_frame(), decode_scale_factors(), decode_spectrum_and_dequant(), decode_subband_golomb(), decode_subframe(), decode_subframe_fixed(), decorrelate_stereo(), deInterlaceBlendLinear_TMPL(), deInterlaceInterpolateLinear_TMPL(), deInterlaceMedian_TMPL(), destroy_masks(), diff_bytes_c(), dv_encode_video_segment(), dv_guess_qnos(), dvbsub_init_decoder(), dvbsub_parse_clut_segment(), encode_all_blocks(), encode_dvb_subtitles(), encode_frame(), encode_picture(), encode_residual_fixed(), encode_superframe(), ff_adx_calculate_coeffs(), ff_celp_lp_synthesis_filterf(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eval_refl(), ff_h264_chroma_dc_dequant_idct(), ff_h264_filter_mb(), ff_index_search_timestamp(), ff_interp(), ff_ivi_free_buffers(), ff_ivi_init_planes(), ff_ivi_init_tiles(), ff_j2k_dwt_init(), ff_mjpeg_find_marker(), ff_mov_read_stsd_entries(), ff_mpeg4_pred_dc(), ff_msmpeg4_coded_block_pred(), ff_rms(), ff_set_systematic_pal2(), ff_snow_common_end(), ff_snow_common_init_after_header(), ff_sqrt(), ff_wma_init(), flac_decode_frame(), flic_decode_frame_8BPP(), gbr24pToUV_half_c(), gen_image(), generate_joint_tables(), get_block_sizes(), global_mv(), guess_palette(), h264_filter_mb_fast_internal(), h_block_filter(), horizX1Filter(), hpel_motion_search(), huff_cmp(), idcin_read_packet(), ilpack(), init_blocks(), init_planes(), initialize_masks(), initPv(), int_sqrt(), interleave(), interpol(), ipmovie_probe(), lag_decode_frame(), load_with_perm_vec(), loco_predict(), log16(), main(), make_cdt15_entry(), make_cdt16_entry(), make_cdt24_entry(), mark_all_blocks(), matroska_read_header(), mc_block(), mp_decode_layer2(), mp_yuv_to_rgb(), mpegts_write_section(), msmpeg4_pred_dc(), multiswap_dec(), multiswap_enc(), mxf_read_sync(), nsv_parse_NSVf_header(), output_audio_block(), paint_mouse_pointer(), parse_palette_segment(), planar_rgb16be_to_uv(), planar_rgb16be_to_y(), planar_rgb16le_to_uv(), planar_rgb16le_to_y(), planar_rgb_to_uv(), planar_rgb_to_y(), png_filter_row(), png_get_interlaced_row(), png_put_interlaced_row(), pnm_decode_frame(), pow_m1_4(), pred16x16_plane_compat(), pred16x16_vertical(), pred8x16_plane(), pred8x16_vertical(), pred8x8_plane(), pred8x8_vertical(), pred8x8l_vertical(), pred_spatial_direct_motion(), probe(), process_ipmovie_chunk(), put_pixels16_l2_altivec(), put_vp8_epel_h_altivec_core(), qpel_motion_search(), qtrle_decode_24bpp(), read_frame_data(), read_line(), read_var_block_data(), render_charset(), resampleCubic(), restore_rgb_planes(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb16_32ToY_c_template(), rgb24_to_yuv420p(), rgb24to15_c(), rgb24to15_TMPL(), rgb24to16_c(), rgb24to16_TMPL(), rgb24tobgr15_c(), rgb24tobgr15_TMPL(), rgb24tobgr16_c(), rgb24tobgr16_TMPL(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb24ToY_c(), rgb24toyv12_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb48ToY_c_template(), sad_hpel_motion_search(), search_for_quantizers_faac(), search_for_quantizers_twoloop(), seq_decode_op1(), set_string_binary(), sha1_transform(), sha256_transform(), smk_get_code(), spatial_compose_daub97i_dy(), spatial_compose_dd137i_dy(), spatial_compose_dd97i_dy(), spatial_compose_dirac53i_dy(), spatial_compose_fidelity(), sub_left_prediction_bgr32(), sub_left_prediction_rgb24(), sub_png_paeth_prediction(), subtitle_thread(), sum_bits(), sws_scale(), synth_filter_float(), tgq_calculate_qtable(), try_8x8basis_c(), update_palette_index(), v_block_filter(), vb_decode_framedata(), vc1_coded_block_pred(), vc1_h_overlap_c(), vc1_h_s_overlap_c(), vc1_i_pred_dc(), vc1_pred_dc(), vc1_v_overlap_c(), vc1_v_s_overlap_c(), vertX1Filter_TMPL(), video_audio_display(), vmd_decode(), vmdvideo_decode_init(), vp56_add_predictors_dc(), vp56_decode_4mv(), vp56_decode_mb(), vp56_decode_mv(), vp5_parse_coeff(), vp6_build_huff_tree(), vp6_huff_cmp(), vp6_parse_coeff(), vp6_parse_coeff_huffman(), vqa_decode_chunk(), wma_lsp_to_curve_init(), write_all_blocks(), x8_get_prediction(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), yuv2rgb_write(), yuv2rgb_X_c_template(), and yuv_a_to_rgba().

#define b_r   ((target == PIX_FMT_RGB24) ? b : r)

#define B_R   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? B : R)

#define BU   ( (int)(0.500*224/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 75 of file swscale.c.

#define BV   (-(int)(0.081*224/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 74 of file swscale.c.

#define BY   ( (int)(0.114*219/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 73 of file swscale.c.

#define DEBUG_BUFFERS ( ...   )     if (DEBUG_SWSCALE_BUFFERS) av_log(c, AV_LOG_DEBUG, __VA_ARGS__)

Definition at line 2522 of file swscale.c.

Referenced by swScale().

#define DEBUG_SWSCALE_BUFFERS   0

Definition at line 2521 of file swscale.c.

#define GU   (-(int)(0.331*224/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 78 of file swscale.c.

#define GV   (-(int)(0.419*224/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 77 of file swscale.c.

#define GY   ( (int)(0.587*219/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 76 of file swscale.c.

#define input_pixel ( pos   )     (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))

Definition at line 1855 of file swscale.c.

#define input_pixel (  ) 

Value:

((origin == PIX_FMT_RGBA || origin == PIX_FMT_BGRA || \
                         origin == PIX_FMT_ARGB || origin == PIX_FMT_ABGR) ? AV_RN32A(&src[(i)*4]) : \
                        (isBE(origin) ? AV_RB16(&src[(i)*2]) : AV_RL16(&src[(i)*2])))

Definition at line 1855 of file swscale.c.

#define input_pixel ( pos   )     (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))

#define output_pixel ( pos,
val   ) 

Value:

if (isBE(target)) { \
        AV_WB16(pos, val); \
    } else { \
        AV_WL16(pos, val); \
    }

Definition at line 835 of file swscale.c.

#define output_pixel ( pos,
acc   ) 

Value:

if (target == PIX_FMT_MONOBLACK) { \
        pos = acc; \
    } else { \
        pos = ~acc; \
    }

Definition at line 835 of file swscale.c.

#define output_pixel ( pos,
val   ) 

Value:

if (target == PIX_FMT_GRAY16BE) { \
            AV_WB16(pos, val); \
        } else { \
            AV_WL16(pos, val); \
        }

Definition at line 835 of file swscale.c.

#define output_pixel ( pos,
val   ) 

Value:

if (big_endian) { \
        AV_WB16(pos, av_clip_uintp2(val >> shift, output_bits)); \
    } else { \
        AV_WL16(pos, av_clip_uintp2(val >> shift, output_bits)); \
    }

Definition at line 835 of file swscale.c.

#define output_pixel ( pos,
val,
bias,
signedness   ) 

#define output_pixels ( pos,
Y1,
U,
Y2,
 ) 

Value:

if (target == PIX_FMT_YUYV422) { \
        dest[pos + 0] = Y1; \
        dest[pos + 1] = U;  \
        dest[pos + 2] = Y2; \
        dest[pos + 3] = V;  \
    } else { \
        dest[pos + 0] = U;  \
        dest[pos + 1] = Y1; \
        dest[pos + 2] = V;  \
        dest[pos + 3] = Y2; \
    }

Definition at line 721 of file swscale.c.

Referenced by yuv2422_1_c_template(), yuv2422_2_c_template(), and yuv2422_X_c_template().

#define r   ((origin == PIX_FMT_BGR48BE || origin == PIX_FMT_BGR48LE) ? b_r : r_b)

Definition at line 1456 of file swscale.c.

#define r_b   ((target == PIX_FMT_RGB24) ? r : b)

#define R_B   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? R : B)

#define rgb16_32_wrapper ( fmt,
name,
shr,
shg,
shb,
shp,
maskr,
maskg,
maskb,
rsh,
gsh,
bsh,
S   ) 

Value:

static void name ## ToY_c(uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, \
                          int width, uint32_t *unused) \
{ \
    rgb16_32ToY_c_template((int16_t*)dst, src, width, fmt, \
                           shr, shg, shb, shp, \
                           maskr, maskg, maskb, rsh, gsh, bsh, S); \
} \
 \
static void name ## ToUV_c(uint8_t *dstU, uint8_t *dstV, \
                           const uint8_t *unused0, const uint8_t *src, const uint8_t *dummy, \
                           int width, uint32_t *unused) \
{ \
    rgb16_32ToUV_c_template((int16_t*)dstU, (int16_t*)dstV, src, width, fmt,  \
                            shr, shg, shb, shp, \
                            maskr, maskg, maskb, rsh, gsh, bsh, S); \
} \
 \
static void name ## ToUV_half_c(uint8_t *dstU, uint8_t *dstV, \
                                const uint8_t *unused0, const uint8_t *src, const uint8_t *dummy, \
                                int width, uint32_t *unused) \
{ \
    rgb16_32ToUV_half_c_template((int16_t*)dstU, (int16_t*)dstV, src, width, fmt, \
                                 shr, shg, shb, shp, \
                                 maskr, maskg, maskb, rsh, gsh, bsh, S); \
}

Definition at line 1631 of file swscale.c.

#define RGB2YUV_SHIFT   15

Definition at line 72 of file swscale.c.

#define rgb48funcs ( pattern,
BE_LE,
origin   ) 

Value:

static void pattern ## 48 ## BE_LE ## ToY_c(uint8_t *_dst, const uint8_t *_src, const uint8_t *unused0, const uint8_t *unused1,\
                                    int width, uint32_t *unused) \
{ \
    const uint16_t *src = (const uint16_t *) _src; \
    uint16_t *dst = (uint16_t *) _dst; \
    rgb48ToY_c_template(dst, src, width, origin); \
} \
 \
static void pattern ## 48 ## BE_LE ## ToUV_c(uint8_t *_dstU, uint8_t *_dstV, \
                                    const uint8_t *unused0, const uint8_t *_src1, const uint8_t *_src2, \
                                    int width, uint32_t *unused) \
{ \
    const uint16_t *src1 = (const uint16_t *) _src1, \
                   *src2 = (const uint16_t *) _src2; \
    uint16_t *dstU = (uint16_t *) _dstU, *dstV = (uint16_t *) _dstV; \
    rgb48ToUV_c_template(dstU, dstV, src1, src2, width, origin); \
} \
 \
static void pattern ## 48 ## BE_LE ## ToUV_half_c(uint8_t *_dstU, uint8_t *_dstV, \
                                    const uint8_t *unused0, const uint8_t *_src1, const uint8_t *_src2, \
                                    int width, uint32_t *unused) \
{ \
    const uint16_t *src1 = (const uint16_t *) _src1, \
                   *src2 = (const uint16_t *) _src2; \
    uint16_t *dstU = (uint16_t *) _dstU, *dstV = (uint16_t *) _dstV; \
    rgb48ToUV_half_c_template(dstU, dstV, src1, src2, width, origin); \
}

Definition at line 1511 of file swscale.c.

#define RU   (-(int)(0.169*224/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 81 of file swscale.c.

#define RV   ( (int)(0.500*224/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 80 of file swscale.c.

#define RY   ( (int)(0.299*219/255*(1<<RGB2YUV_SHIFT)+0.5))

Definition at line 79 of file swscale.c.

#define yuv2NBPS ( bits,
BE_LE,
is_be,
template_size,
typeX_t   ) 

Value:

static void yuv2plane1_ ## bits ## BE_LE ## _c(const int16_t *src, \
                              uint8_t *dest, int dstW, \
                              const uint8_t *dither, int offset)\
{ \
    yuv2plane1_ ## template_size ## _c_template((const typeX_t *) src, \
                         (uint16_t *) dest, dstW, is_be, bits); \
}\
static void yuv2planeX_ ## bits ## BE_LE ## _c(const int16_t *filter, int filterSize, \
                              const int16_t **src, uint8_t *dest, int dstW, \
                              const uint8_t *dither, int offset)\
{ \
    yuv2planeX_## template_size ## _c_template(filter, \
                         filterSize, (const typeX_t **) src, \
                         (uint16_t *) dest, dstW, is_be, bits); \
}

Definition at line 383 of file swscale.c.

#define YUV2PACKED16WRAPPER ( name,
base,
ext,
fmt   ) 

Definition at line 543 of file swscale.c.

#define YUV2PACKEDWRAPPER ( name,
base,
ext,
fmt   ) 

Value:

static void name ## ext ## _X_c(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) \
{ \
    name ## base ## _X_c_template(c, lumFilter, lumSrc, lumFilterSize, \
                                  chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
                                  alpSrc, dest, dstW, y, fmt); \
} \
 \
static void name ## ext ## _2_c(SwsContext *c, const int16_t *buf[2], \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf[2], uint8_t *dest, int dstW, \
                                int yalpha, int uvalpha, int y) \
{ \
    name ## base ## _2_c_template(c, buf, ubuf, vbuf, abuf, \
                                  dest, dstW, yalpha, uvalpha, y, fmt); \
} \
 \
static void name ## ext ## _1_c(SwsContext *c, const int16_t *buf0, \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf0, uint8_t *dest, int dstW, \
                                int uvalpha, int y) \
{ \
    name ## base ## _1_c_template(c, buf0, ubuf, vbuf, \
                                  abuf0, dest, dstW, uvalpha, \
                                  y, fmt); \
}

Definition at line 686 of file swscale.c.

#define YUV2RGBWRAPPER ( name,
base,
ext,
fmt,
hasAlpha   ) 

Value:

YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha) \
static void name ## ext ## _2_c(SwsContext *c, const int16_t *buf[2], \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf[2], uint8_t *dest, int dstW, \
                                int yalpha, int uvalpha, int y) \
{ \
    name ## base ## _2_c_template(c, buf, ubuf, vbuf, abuf, \
                                  dest, dstW, yalpha, uvalpha, y, fmt, hasAlpha); \
} \
 \
static void name ## ext ## _1_c(SwsContext *c, const int16_t *buf0, \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf0, uint8_t *dest, int dstW, \
                                int uvalpha, int y) \
{ \
    name ## base ## _1_c_template(c, buf0, ubuf, vbuf, abuf0, dest, \
                                  dstW, uvalpha, y, fmt, hasAlpha); \
}

Definition at line 1292 of file swscale.c.

#define YUV2RGBWRAPPERX ( name,
base,
ext,
fmt,
hasAlpha   ) 

Value:

static void name ## ext ## _X_c(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) \
{ \
    name ## base ## _X_c_template(c, lumFilter, lumSrc, lumFilterSize, \
                                  chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
                                  alpSrc, dest, dstW, y, fmt, hasAlpha); \
}

Definition at line 1280 of file swscale.c.


Function Documentation

static void abgrToA_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1686 of file swscale.c.

Referenced by sws_init_swScale_c().

static void bgr24ToUV_c ( int16_t dstU,
int16_t dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1870 of file swscale.c.

Referenced by sws_init_swScale_c().

static void bgr24ToUV_half_c ( int16_t dstU,
int16_t dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1885 of file swscale.c.

Referenced by sws_init_swScale_c().

static void bgr24ToY_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1857 of file swscale.c.

Referenced by sws_init_swScale_c().

static void bswap16UV_c ( uint8_t *  _dstU,
uint8_t *  _dstV,
const uint8_t *  unused0,
const uint8_t *  _src1,
const uint8_t *  _src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1797 of file swscale.c.

Referenced by sws_init_swScale_c().

static void bswap16Y_c ( uint8_t *  _dst,
const uint8_t *  _src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1787 of file swscale.c.

Referenced by sws_init_swScale_c().

static void chrRangeFromJpeg16_c ( int16_t _dstU,
int16_t _dstV,
int  width 
) [static]

Definition at line 2157 of file swscale.c.

Referenced by sws_init_swScale_c().

static void chrRangeFromJpeg_c ( int16_t dstU,
int16_t dstV,
int  width 
) [static]

Definition at line 2126 of file swscale.c.

Referenced by sws_init_swScale_c().

static void chrRangeToJpeg16_c ( int16_t _dstU,
int16_t _dstV,
int  width 
) [static]

Definition at line 2147 of file swscale.c.

Referenced by sws_init_swScale_c().

static void chrRangeToJpeg_c ( int16_t dstU,
int16_t dstV,
int  width 
) [static]

Definition at line 2118 of file swscale.c.

Referenced by sws_init_swScale_c().

SwsFunc ff_getSwsFunc ( SwsContext c  ) 

Returns function pointer to fastest main scaler path function depending on architecture and available optimizations.

Definition at line 3057 of file swscale.c.

Referenced by sws_init_context().

static av_always_inline void fillPlane ( uint8_t *  plane,
int  stride,
int  width,
int  height,
int  y,
uint8_t  val 
) [static]

static av_always_inline void find_c_packed_planar_out_funcs ( SwsContext c,
yuv2planar1_fn yuv2plane1,
yuv2planarX_fn yuv2planeX,
yuv2interleavedX_fn yuv2nv12cX,
yuv2packed1_fn yuv2packed1,
yuv2packed2_fn yuv2packed2,
yuv2packedX_fn yuv2packedX 
) [static]

Definition at line 2277 of file swscale.c.

Referenced by sws_init_swScale_c(), and swScale().

static void gbr24pToUV_half_c ( uint16_t *  dstU,
uint16_t *  dstV,
const uint8_t *  gsrc,
const uint8_t *  bsrc,
const uint8_t *  rsrc,
int  width,
enum PixelFormat  origin 
) [static]

Definition at line 1671 of file swscale.c.

Referenced by sws_init_swScale_c().

static av_always_inline void hcscale ( SwsContext c,
int16_t dst1,
int16_t dst2,
int  dstWidth,
const uint8_t *  src_in[4],
int  srcW,
int  xInc,
const int16_t hChrFilter,
const int16_t hChrFilterPos,
int  hChrFilterSize,
uint8_t *  formatConvBuffer,
uint32_t *  pal 
) [static]

Definition at line 2246 of file swscale.c.

Referenced by swScale().

static void hcscale_fast_c ( SwsContext c,
int16_t dst1,
int16_t dst2,
int  dstWidth,
const uint8_t *  src1,
const uint8_t *  src2,
int  srcW,
int  xInc 
) [static]

Definition at line 2227 of file swscale.c.

Referenced by sws_init_swScale_c().

static void hScale16To15_c ( SwsContext c,
int16_t dst,
int  dstW,
const uint8_t *  _src,
const int16_t filter,
const int16_t filterPos,
int  filterSize 
) [static]

Definition at line 2054 of file swscale.c.

Referenced by sws_init_swScale_c().

static void hScale16To19_c ( SwsContext c,
int16_t _dst,
int  dstW,
const uint8_t *  _src,
const int16_t filter,
const int16_t filterPos,
int  filterSize 
) [static]

Definition at line 2028 of file swscale.c.

Referenced by sws_init_swScale_c().

static void hScale8To15_c ( SwsContext c,
int16_t dst,
int  dstW,
const uint8_t *  src,
const int16_t filter,
const int16_t filterPos,
int  filterSize 
) [static]

Definition at line 2079 of file swscale.c.

Referenced by sws_init_swScale_c().

static void hScale8To19_c ( SwsContext c,
int16_t _dst,
int  dstW,
const uint8_t *  src,
const int16_t filter,
const int16_t filterPos,
int  filterSize 
) [static]

Definition at line 2097 of file swscale.c.

Referenced by sws_init_swScale_c().

static av_always_inline void hyscale ( SwsContext c,
int16_t dst,
int  dstWidth,
const uint8_t *  src_in[4],
int  srcW,
int  xInc,
const int16_t hLumFilter,
const int16_t hLumFilterPos,
int  hLumFilterSize,
uint8_t *  formatConvBuffer,
uint32_t *  pal,
int  isAlpha 
) [static]

Definition at line 2198 of file swscale.c.

Referenced by swScale().

static void hyscale_fast_c ( SwsContext c,
int16_t dst,
int  dstWidth,
const uint8_t *  src,
int  srcW,
int  xInc 
) [static]

Definition at line 2182 of file swscale.c.

Referenced by sws_init_swScale_c().

static void lumRangeFromJpeg16_c ( int16_t _dst,
int  width 
) [static]

Definition at line 2174 of file swscale.c.

Referenced by sws_init_swScale_c().

static void lumRangeFromJpeg_c ( int16_t dst,
int  width 
) [static]

Definition at line 2140 of file swscale.c.

Referenced by sws_init_swScale_c().

static void lumRangeToJpeg16_c ( int16_t _dst,
int  width 
) [static]

Definition at line 2167 of file swscale.c.

Referenced by sws_init_swScale_c().

static void lumRangeToJpeg_c ( int16_t dst,
int  width 
) [static]

Definition at line 2134 of file swscale.c.

Referenced by sws_init_swScale_c().

static void monoblack2Y_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1751 of file swscale.c.

Referenced by sws_init_swScale_c().

static void monowhite2Y_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1736 of file swscale.c.

Referenced by sws_init_swScale_c().

static void nv12ToUV_c ( uint8_t *  dstU,
uint8_t *  dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1841 of file swscale.c.

Referenced by sws_init_swScale_c().

static void nv21ToUV_c ( uint8_t *  dstU,
uint8_t *  dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1848 of file swscale.c.

Referenced by sws_init_swScale_c().

static av_always_inline void nvXXtoUV_c ( uint8_t *  dst1,
uint8_t *  dst2,
const uint8_t *  src,
int  width 
) [static]

Definition at line 1831 of file swscale.c.

Referenced by nv12ToUV_c(), and nv21ToUV_c().

static void palToA_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  pal 
) [static]

Definition at line 1702 of file swscale.c.

Referenced by sws_init_swScale_c().

static void palToUV_c ( uint16_t *  dstU,
int16_t dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  pal 
) [static]

Definition at line 1722 of file swscale.c.

Referenced by sws_init_swScale_c().

static void palToY_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
long  width,
uint32_t *  pal 
) [static]

Definition at line 1712 of file swscale.c.

Referenced by sws_init_swScale_c().

static void planar_rgb16be_to_uv ( uint8_t *  _dstU,
uint8_t *  _dstV,
const uint8_t *  _src[4],
int  width 
) [static]

Definition at line 2012 of file swscale.c.

Referenced by sws_init_swScale_c().

static void planar_rgb16be_to_y ( uint8_t *  _dst,
const uint8_t *  _src[4],
int  width 
) [static]

Definition at line 1969 of file swscale.c.

Referenced by sws_init_swScale_c().

static void planar_rgb16le_to_uv ( uint8_t *  _dstU,
uint8_t *  _dstV,
const uint8_t *  _src[4],
int  width 
) [static]

Definition at line 1996 of file swscale.c.

Referenced by sws_init_swScale_c().

static void planar_rgb16le_to_y ( uint8_t *  _dst,
const uint8_t *  _src[4],
int  width 
) [static]

Definition at line 1955 of file swscale.c.

Referenced by sws_init_swScale_c().

static void planar_rgb_to_uv ( uint16_t *  dstU,
uint16_t *  dstV,
const uint8_t *  src[4],
int  width 
) [static]

Definition at line 1983 of file swscale.c.

Referenced by sws_init_swScale_c().

static void planar_rgb_to_y ( uint16_t *  dst,
const uint8_t *  src[4],
int  width 
) [static]

Definition at line 1943 of file swscale.c.

Referenced by sws_init_swScale_c().

rgb16_32_wrapper ( PIX_FMT_RGB555BE  ,
rgb15be  ,
,
,
,
,
0x7C00  ,
0x03E0  ,
0x001F  ,
,
,
10  ,
RGB2YUV_SHIFT+  7 
)

rgb16_32_wrapper ( PIX_FMT_RGB565BE  ,
rgb16be  ,
,
,
,
,
0xF800  ,
0x07E0  ,
0x001F  ,
,
,
11  ,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_BGR555BE  ,
bgr15be  ,
,
,
,
,
0x001F  ,
0x03E0  ,
0x7C00  ,
10  ,
,
,
RGB2YUV_SHIFT+  7 
)

rgb16_32_wrapper ( PIX_FMT_BGR565BE  ,
bgr16be  ,
,
,
,
,
0x001F  ,
0x07E0  ,
0xF800  ,
11  ,
,
,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_RGB555LE  ,
rgb15le  ,
,
,
,
,
0x7C00  ,
0x03E0  ,
0x001F  ,
,
,
10  ,
RGB2YUV_SHIFT+  7 
)

rgb16_32_wrapper ( PIX_FMT_RGB565LE  ,
rgb16le  ,
,
,
,
,
0xF800  ,
0x07E0  ,
0x001F  ,
,
,
11  ,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_BGR555LE  ,
bgr15le  ,
,
,
,
,
0x001F  ,
0x03E0  ,
0x7C00  ,
10  ,
,
,
RGB2YUV_SHIFT+  7 
)

rgb16_32_wrapper ( PIX_FMT_BGR565LE  ,
bgr16le  ,
,
,
,
,
0x001F  ,
0x07E0  ,
0xF800  ,
11  ,
,
,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_RGB32_1  ,
rgb321  ,
,
,
16  ,
,
0x00FF  ,
0xFF00  ,
0xFF0000  ,
,
,
,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_RGB32  ,
rgb32  ,
,
,
16  ,
,
0x00FF  ,
0xFF00  ,
0xFF0000  ,
,
,
,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_BGR32_1  ,
bgr321  ,
16  ,
,
,
,
0xFF0000  ,
0xFF00  ,
0x00FF  ,
,
,
,
RGB2YUV_SHIFT+  8 
)

rgb16_32_wrapper ( PIX_FMT_BGR32  ,
bgr32  ,
16  ,
,
,
,
0xFF0000  ,
0xFF00  ,
0x00FF  ,
,
,
,
RGB2YUV_SHIFT+  8 
)

static av_always_inline void rgb16_32ToUV_c_template ( int16_t dstU,
int16_t dstV,
const uint8_t *  src,
int  width,
enum PixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S 
) [static]

Definition at line 1571 of file swscale.c.

static av_always_inline void rgb16_32ToUV_half_c_template ( int16_t dstU,
int16_t dstV,
const uint8_t *  src,
int  width,
enum PixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S 
) [static]

Definition at line 1595 of file swscale.c.

static av_always_inline void rgb16_32ToY_c_template ( int16_t dst,
const uint8_t *  src,
int  width,
enum PixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S 
) [static]

Definition at line 1550 of file swscale.c.

static void rgb24ToUV_c ( int16_t dstU,
int16_t dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1913 of file swscale.c.

Referenced by sws_init_swScale_c().

static void rgb24ToUV_half_c ( int16_t dstU,
int16_t dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1928 of file swscale.c.

Referenced by sws_init_swScale_c().

static void rgb24ToY_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1900 of file swscale.c.

Referenced by sws_init_swScale_c().

rgb48funcs ( bgr  ,
BE  ,
PIX_FMT_BGR48BE   
)

rgb48funcs ( bgr  ,
LE  ,
PIX_FMT_BGR48LE   
)

rgb48funcs ( rgb  ,
BE  ,
PIX_FMT_RGB48BE   
)

rgb48funcs ( rgb  ,
LE  ,
PIX_FMT_RGB48LE   
)

static av_always_inline void rgb48ToUV_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum PixelFormat  origin 
) [static]

Definition at line 1474 of file swscale.c.

static av_always_inline void rgb48ToUV_half_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum PixelFormat  origin 
) [static]

Definition at line 1491 of file swscale.c.

static av_always_inline void rgb48ToY_c_template ( uint16_t *  dst,
const uint16_t *  src,
int  width,
enum PixelFormat  origin 
) [static]

Definition at line 1460 of file swscale.c.

static void rgbaToA_c ( int16_t dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1694 of file swscale.c.

Referenced by sws_init_swScale_c().

static av_cold void sws_init_swScale_c ( SwsContext c  )  [static]

Definition at line 2851 of file swscale.c.

Referenced by ff_getSwsFunc().

static int swScale ( SwsContext c,
const uint8_t *  src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t *  dst[],
int  dstStride[] 
) [static]

Definition at line 2524 of file swscale.c.

Referenced by ff_getSwsFunc().

static void uyvyToUV_c ( uint8_t *  dstU,
uint8_t *  dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1820 of file swscale.c.

Referenced by sws_init_swScale_c().

static void uyvyToY_c ( uint8_t *  dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1812 of file swscale.c.

Referenced by sws_init_swScale_c().

static av_always_inline void yuv2422_1_c_template ( SwsContext c,
const int16_t buf0,
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf0,
uint8_t *  dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 798 of file swscale.c.

static av_always_inline void yuv2422_2_c_template ( SwsContext c,
const int16_t buf[2],
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf[2],
uint8_t *  dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 774 of file swscale.c.

static av_always_inline void yuv2422_X_c_template ( 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,
enum PixelFormat  target 
) [static]

Definition at line 735 of file swscale.c.

static av_always_inline void yuv2gray16_1_c_template ( SwsContext c,
const int32_t *  buf0,
const int32_t *  ubuf[2],
const int32_t *  vbuf[2],
const int32_t *  abuf0,
uint16_t *  dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 525 of file swscale.c.

static av_always_inline void yuv2gray16_2_c_template ( SwsContext c,
const int32_t *  buf[2],
const int32_t *  ubuf[2],
const int32_t *  vbuf[2],
const int32_t *  abuf[2],
uint16_t *  dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 505 of file swscale.c.

static av_always_inline void yuv2gray16_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int32_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int32_t **  chrUSrc,
const int32_t **  chrVSrc,
int  chrFilterSize,
const int32_t **  alpSrc,
uint16_t *  dest,
int  dstW,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 475 of file swscale.c.

static av_always_inline void yuv2mono_1_c_template ( SwsContext c,
const int16_t buf0,
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf0,
uint8_t *  dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 662 of file swscale.c.

static av_always_inline void yuv2mono_2_c_template ( SwsContext c,
const int16_t buf[2],
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf[2],
uint8_t *  dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 636 of file swscale.c.

static av_always_inline void yuv2mono_X_c_template ( 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,
enum PixelFormat  target 
) [static]

Definition at line 600 of file swscale.c.

yuv2NBPS ( 16  ,
LE  ,
,
16  ,
int32_t   
)

yuv2NBPS ( 16  ,
BE  ,
,
16  ,
int32_t   
)

yuv2NBPS ( 10  ,
LE  ,
,
10  ,
int16_t   
)

yuv2NBPS ( 10  ,
BE  ,
,
10  ,
int16_t   
)

yuv2NBPS ( ,
LE  ,
,
10  ,
int16_t   
)

yuv2NBPS ( ,
BE  ,
,
10  ,
int16_t   
)

static void yuv2nv12cX_c ( SwsContext c,
const int16_t chrFilter,
int  chrFilterSize,
const int16_t **  chrUSrc,
const int16_t **  chrVSrc,
uint8_t *  dest,
int  chrDstW 
) [static]

Definition at line 431 of file swscale.c.

Referenced by find_c_packed_planar_out_funcs().

YUV2PACKED16WRAPPER ( yuv2  ,
rgb48  ,
bgr48le  ,
PIX_FMT_BGR48LE   
)

YUV2PACKED16WRAPPER ( yuv2  ,
rgb48  ,
bgr48be  ,
PIX_FMT_BGR48BE   
)

YUV2PACKED16WRAPPER ( yuv2  ,
rgb48  ,
rgb48le  ,
PIX_FMT_RGB48LE   
)

YUV2PACKED16WRAPPER ( yuv2  ,
rgb48  ,
rgb48be  ,
PIX_FMT_RGB48BE   
)

YUV2PACKED16WRAPPER ( yuv2gray16  ,
BE  ,
PIX_FMT_GRAY16BE   
)

YUV2PACKED16WRAPPER ( yuv2gray16  ,
LE  ,
PIX_FMT_GRAY16LE   
)

YUV2PACKEDWRAPPER ( yuv2  ,
422  ,
uyvy422  ,
PIX_FMT_UYVY422   
)

YUV2PACKEDWRAPPER ( yuv2  ,
422  ,
yuyv422  ,
PIX_FMT_YUYV422   
)

YUV2PACKEDWRAPPER ( yuv2mono  ,
black  ,
PIX_FMT_MONOBLACK   
)

YUV2PACKEDWRAPPER ( yuv2mono  ,
white  ,
PIX_FMT_MONOWHITE   
)

static av_always_inline void yuv2plane1_10_c_template ( const int16_t src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 350 of file swscale.c.

static av_always_inline void yuv2plane1_16_c_template ( const int32_t *  src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 301 of file swscale.c.

static void yuv2plane1_8_c ( const int16_t src,
uint8_t *  dest,
int  dstW,
const uint8_t *  dither,
int  offset 
) [static]

Definition at line 421 of file swscale.c.

Referenced by find_c_packed_planar_out_funcs().

static av_always_inline void yuv2planeX_10_c_template ( const int16_t filter,
int  filterSize,
const int16_t **  src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 363 of file swscale.c.

static av_always_inline void yuv2planeX_16_c_template ( const int16_t filter,
int  filterSize,
const int32_t **  src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 315 of file swscale.c.

static void yuv2planeX_8_c ( const int16_t filter,
int  filterSize,
const int16_t **  src,
uint8_t *  dest,
int  dstW,
const uint8_t *  dither,
int  offset 
) [static]

Definition at line 406 of file swscale.c.

Referenced by find_c_packed_planar_out_funcs(), and swScale().

static av_always_inline void yuv2rgb48_1_c_template ( SwsContext c,
const int32_t *  buf0,
const int32_t *  ubuf[2],
const int32_t *  vbuf[2],
const int32_t *  abuf0,
uint16_t *  dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 942 of file swscale.c.

static av_always_inline void yuv2rgb48_2_c_template ( SwsContext c,
const int32_t *  buf[2],
const int32_t *  ubuf[2],
const int32_t *  vbuf[2],
const int32_t *  abuf[2],
uint16_t *  dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 900 of file swscale.c.

static av_always_inline void yuv2rgb48_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int32_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int32_t **  chrUSrc,
const int32_t **  chrVSrc,
int  chrFilterSize,
const int32_t **  alpSrc,
uint16_t *  dest,
int  dstW,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 843 of file swscale.c.

static av_always_inline void yuv2rgb_1_c_template ( SwsContext c,
const int16_t buf0,
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf0,
uint8_t *  dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1229 of file swscale.c.

static av_always_inline void yuv2rgb_2_c_template ( SwsContext c,
const int16_t buf[2],
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf[2],
uint8_t *  dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1193 of file swscale.c.

static av_always_inline void yuv2rgb_full_X_c_template ( 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,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1333 of file swscale.c.

static av_always_inline void yuv2rgb_write ( uint8_t *  _dest,
int  i,
int  Y1,
int  Y2,
int  U,
int  V,
int  A1,
int  A2,
const void *  _r,
const void *  _g,
const void *  _b,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1018 of file swscale.c.

Referenced by yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().

static av_always_inline void yuv2rgb_X_c_template ( 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,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1131 of file swscale.c.

YUV2RGBWRAPPER ( yuv2rgb  ,
4b  ,
PIX_FMT_RGB4_BYTE  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
,
PIX_FMT_RGB4  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
,
PIX_FMT_RGB8  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
12  ,
PIX_FMT_RGB444  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
15  ,
PIX_FMT_RGB555  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
16  ,
PIX_FMT_RGB565  ,
 
)

YUV2RGBWRAPPER ( yuv2  ,
rgb  ,
bgr24  ,
PIX_FMT_BGR24  ,
 
)

YUV2RGBWRAPPER ( yuv2  ,
rgb  ,
rgb24  ,
PIX_FMT_RGB24  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
x32  ,
PIX_FMT_RGB32  ,
 
)

YUV2RGBWRAPPER ( yuv2rgb  ,
x32_1  ,
PIX_FMT_RGB32_1  ,
 
)

YUV2RGBWRAPPERX ( yuv2  ,
rgb_full  ,
rgb24_full  ,
PIX_FMT_RGB24  ,
 
)

YUV2RGBWRAPPERX ( yuv2  ,
rgb_full  ,
bgr24_full  ,
PIX_FMT_BGR24  ,
 
)

YUV2RGBWRAPPERX ( yuv2  ,
rgb_full  ,
xrgb32_full  ,
PIX_FMT_ARGB  ,
 
)

YUV2RGBWRAPPERX ( yuv2  ,
rgb_full  ,
rgbx32_full  ,
PIX_FMT_RGBA  ,
 
)

YUV2RGBWRAPPERX ( yuv2  ,
rgb_full  ,
xbgr32_full  ,
PIX_FMT_ABGR  ,
 
)

YUV2RGBWRAPPERX ( yuv2  ,
rgb_full  ,
bgrx32_full  ,
PIX_FMT_BGRA  ,
 
)

static void yuy2ToUV_c ( uint8_t *  dstU,
uint8_t *  dstV,
const uint8_t *  unused0,
const uint8_t *  src1,
const uint8_t *  src2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1776 of file swscale.c.

Referenced by sws_init_swScale_c().

static void yuy2ToY_c ( uint8_t *  dst,
const uint8_t *  src,
const uint8_t *  unused1,
const uint8_t *  unused2,
int  width,
uint32_t *  unused 
) [static]

Definition at line 1768 of file swscale.c.

Referenced by sws_init_swScale_c().


Variable Documentation

const uint8_t dither_2x2_4[2][8] [static]

Initial value:

{
{  1,   3,   1,   3,   1,   3,   1,   3, },
{  2,   0,   2,   0,   2,   0,   2,   0, },
}

Definition at line 98 of file swscale.c.

Referenced by yuv2rgb_write().

const uint8_t dither_2x2_8[2][8] [static]

Initial value:

{
{  6,   2,   6,   2,   6,   2,   6,   2, },
{  0,   4,   0,   4,   0,   4,   0,   4, },
}

Definition at line 103 of file swscale.c.

Referenced by yuv2rgb_write().

const uint8_t dither_4x4_16[4][8]

Initial value:

{
{  8,   4,  11,   7,   8,   4,  11,   7, },
{  2,  14,   1,  13,   2,  14,   1,  13, },
{ 10,   6,   9,   5,  10,   6,   9,   5, },
{  0,  12,   3,  15,   0,  12,   3,  15, },
}

Definition at line 108 of file swscale.c.

Referenced by yuv2rgb_write().

const uint8_t dither_8x8_128[8][8]

Initial value:

 {
{  36, 68, 60, 92, 34, 66, 58, 90,},
{ 100,  4,124, 28, 98,  2,122, 26,},
{  52, 84, 44, 76, 50, 82, 42, 74,},
{ 116, 20,108, 12,114, 18,106, 10,},
{  32, 64, 56, 88, 38, 70, 62, 94,},
{  96,  0,120, 24,102,  6,126, 30,},
{  48, 80, 40, 72, 54, 86, 46, 78,},
{ 112, 16,104,  8,118, 22,110, 14,},
}

Definition at line 185 of file swscale.c.

Referenced by swScale().

const uint8_t dither_8x8_220[8][8]

Initial value:

{
{117,  62, 158, 103, 113,  58, 155, 100, },
{ 34, 199,  21, 186,  31, 196,  17, 182, },
{144,  89, 131,  76, 141,  86, 127,  72, },
{  0, 165,  41, 206,  10, 175,  52, 217, },
{110,  55, 151,  96, 120,  65, 162, 107, },
{ 28, 193,  14, 179,  38, 203,  24, 189, },
{138,  83, 124,  69, 148,  93, 134,  79, },
{  7, 172,  48, 213,   3, 168,  45, 210, },
}

Definition at line 138 of file swscale.c.

Referenced by yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2mono_X_c_template(), and yuv2rgb_write().

const uint8_t dither_8x8_32[8][8]

Initial value:

{
{ 17,   9,  23,  15,  16,   8,  22,  14, },
{  5,  29,   3,  27,   4,  28,   2,  26, },
{ 21,  13,  19,  11,  20,  12,  18,  10, },
{  0,  24,   6,  30,   1,  25,   7,  31, },
{ 16,   8,  22,  14,  17,   9,  23,  15, },
{  4,  28,   2,  26,   5,  29,   3,  27, },
{ 20,  12,  18,  10,  21,  13,  19,  11, },
{  1,  25,   7,  31,   0,  24,   6,  30, },
}

Definition at line 115 of file swscale.c.

Referenced by yuv2rgb_write().

const uint8_t dither_8x8_73[8][8]

Initial value:

{
{  0,  55,  14,  68,   3,  58,  17,  72, },
{ 37,  18,  50,  32,  40,  22,  54,  35, },
{  9,  64,   5,  59,  13,  67,   8,  63, },
{ 46,  27,  41,  23,  49,  31,  44,  26, },
{  2,  57,  16,  71,   1,  56,  15,  70, },
{ 39,  21,  52,  34,  38,  19,  51,  33, },
{ 11,  66,   7,  62,  10,  65,   6,  60, },
{ 48,  30,  43,  25,  47,  29,  42,  24, },
}

Definition at line 126 of file swscale.c.

Referenced by yuv2rgb_write().

const uint16_t dither_scale[15][16]

Initial value:

{
{    2,    3,    3,    5,    5,    5,    5,    5,    5,    5,    5,    5,    5,    5,    5,    5,},
{    2,    3,    7,    7,   13,   13,   25,   25,   25,   25,   25,   25,   25,   25,   25,   25,},
{    3,    3,    4,   15,   15,   29,   57,   57,   57,  113,  113,  113,  113,  113,  113,  113,},
{    3,    4,    4,    5,   31,   31,   61,  121,  241,  241,  241,  241,  481,  481,  481,  481,},
{    3,    4,    5,    5,    6,   63,   63,  125,  249,  497,  993,  993,  993,  993,  993, 1985,},
{    3,    5,    6,    6,    6,    7,  127,  127,  253,  505, 1009, 2017, 4033, 4033, 4033, 4033,},
{    3,    5,    6,    7,    7,    7,    8,  255,  255,  509, 1017, 2033, 4065, 8129,16257,16257,},
{    3,    5,    6,    8,    8,    8,    8,    9,  511,  511, 1021, 2041, 4081, 8161,16321,32641,},
{    3,    5,    7,    8,    9,    9,    9,    9,   10, 1023, 1023, 2045, 4089, 8177,16353,32705,},
{    3,    5,    7,    8,   10,   10,   10,   10,   10,   11, 2047, 2047, 4093, 8185,16369,32737,},
{    3,    5,    7,    8,   10,   11,   11,   11,   11,   11,   12, 4095, 4095, 8189,16377,32753,},
{    3,    5,    7,    9,   10,   12,   12,   12,   12,   12,   12,   13, 8191, 8191,16381,32761,},
{    3,    5,    7,    9,   10,   12,   13,   13,   13,   13,   13,   13,   14,16383,16383,32765,},
{    3,    5,    7,    9,   10,   12,   14,   14,   14,   14,   14,   14,   14,   15,32767,32767,},
{    3,    5,    7,    9,   11,   12,   14,   15,   15,   15,   15,   15,   15,   15,   16,65535,},
}

Definition at line 275 of file swscale.c.

const uint8_t dithers[8][8][8]

Definition at line 198 of file swscale.c.

const uint8_t ff_sws_pb_64[8]

Initial value:

{  64, 64, 64, 64, 64, 64, 64, 64 }

Definition at line 195 of file swscale.c.

Referenced by swScale().

const uint8_t flat64[8] = {64,64,64,64,64,64,64,64} [static]

Definition at line 273 of file swscale.c.


Generated on Fri Oct 26 02:43:53 2012 for FFmpeg by  doxygen 1.5.8