FFmpeg
Loading...
Searching...
No Matches
output.c File Reference
#include <math.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/avutil.h"
#include "libavutil/avassert.h"
#include "libavutil/bswap.h"
#include "libavutil/intfloat.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem_internal.h"
#include "libavutil/pixdesc.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"

Go to the source code of this file.

Macros

#define IS_BE_LE   0
 
#define IS_BE_BE   1
 
#define IS_BE(ENDIAN_IDENTIFIER)
 
#define output_pixel(pos, val, bias, signedness)
 
#define yuv2plane1_float(template, dest_type, BE_LE)
 
#define yuv2planeX_float(template, dest_type, BE_LE)
 
#define output_pixel(pos, val)
 
#define yuv2NBPS(bits, BE_LE, is_be, template_size, typeX_t)
 
#define output_pixel(pos, val)
 
#define yuv2MSBNBPS(bits, BE_LE, is_be, template_size, typeX_t)
 
#define output_pixel(pos, val)
 
#define yuv2p01x_wrapper(fmt, bits, shift)
 
#define accumulate_bit(acc, val)
 
#define output_pixel(pos, acc)
 
#define YUV2PACKEDWRAPPER(name, base, ext, fmt)
 
#define output_pixels(pos, Y1, U, Y2, V)
 
#define R_B   ((target == AV_PIX_FMT_RGB48LE || target == AV_PIX_FMT_RGB48BE || target == AV_PIX_FMT_RGBA64LE || target == AV_PIX_FMT_RGBA64BE) ? R : B)
 
#define B_R   ((target == AV_PIX_FMT_RGB48LE || target == AV_PIX_FMT_RGB48BE || target == AV_PIX_FMT_RGBA64LE || target == AV_PIX_FMT_RGBA64BE) ? B : R)
 
#define output_pixel(pos, val)
 
#define YUV2PACKED16WRAPPER_EXT(name, base, ext, fmt, is_be, hasAlpha, eightbytes)
 
#define YUV2PACKED16WRAPPER(name, base, ext, base_fmt, endianness, hasAlpha, eightbytes)
 
#define r_b   ((target == AV_PIX_FMT_RGB24) ? r : b)
 
#define b_r   ((target == AV_PIX_FMT_RGB24) ? b : r)
 
#define YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha)
 
#define YUV2RGBWRAPPERX2(name, base, ext, fmt, hasAlpha)
 
#define YUV2RGBWRAPPER(name, base, ext, fmt, hasAlpha)
 
#define A_DITHER(u, v)
 
#define X_DITHER(u, v)
 
#define output_pixels(pos, val)
 
#define YUV2AYUV64(pixfmt, BE_LE, A, Y, U, V, is_be)
 
#define V30LE_WRAPPER(name, shift)
 
#define output_pixels(pos, val, shift, bits, output_shift)
 
#define YUV2XV36(BE_LE, is_be)
 
#define output_pixels(pos, A, Y, U, V)
 
#define AYUVPACKEDWRAPPER(name, fmt)
 
#define output_pixel(pos, val, bits)
 
#define yuv2y2xx_wrapper(bits)
 

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 yuv2nv12cX_16_c_template (int big_endian, const uint8_t *chrDither, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest8, int chrDstW, int output_bits)
 
static av_always_inline void yuv2plane1_float_c_template (const int32_t *src, float *dest, int dstW)
 
static av_always_inline void yuv2plane1_float_bswap_c_template (const int32_t *src, uint32_t *dest, int dstW)
 
static av_always_inline void yuv2planeX_float_c_template (const int16_t *filter, int filterSize, const int32_t **src, float *dest, int dstW)
 
static av_always_inline void yuv2planeX_float_bswap_c_template (const int16_t *filter, int filterSize, const int32_t **src, uint32_t *dest, int dstW)
 
 yuv2plane1_float (yuv2plane1_float_c_template, yuv2plane1_float(float, LE)
 
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 (yuv2NBPS(9, yuv2NBPS(BE, yuv2NBPS(1, yuv2NBPS(10, int16_t)
 
static av_always_inline void yuv2msbplaneX_10_c_template (const int16_t *filter, int filterSize, const int16_t **src, uint16_t *dest, int dstW, int big_endian, int output_bits)
 
 yuv2MSBNBPS (yuv2MSBNBPS(10, yuv2MSBNBPS(BE, yuv2MSBNBPS(1, yuv2MSBNBPS(10, int16_t)
 
static void yuv2nv12cX_16BE_c (enum AVPixelFormat dstFormat, const uint8_t *chrDither, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest8, int chrDstW)
 
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 (enum AVPixelFormat dstFormat, const uint8_t *chrDither, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest, int chrDstW)
 
static void yuv2p01xl1_c (const int16_t *src, uint16_t *dest, int dstW, int big_endian, int output_bits, int output_shift)
 
static void yuv2p01xlX_c (const int16_t *filter, int filterSize, const int16_t **src, uint16_t *dest, int dstW, int big_endian, int output_bits, int output_shift)
 
static void yuv2p01xcX_c (int big_endian, const uint8_t *chrDither, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest8, int chrDstW, int output_bits, int output_shift)
 
 yuv2p01x_wrapper (p010, yuv2p01x_wrapper(10, 6)
 
static av_always_inline void yuv2mono_2_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2mono_1_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2422_X_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2422_2_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2422_1_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2ya16_X_c_template (SwsInternal *c, const int16_t *lumFilter, const int32_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int32_t **unused_chrUSrc, const int32_t **unused_chrVSrc, int unused_chrFilterSize, const int32_t **alpSrc, uint16_t *dest, int dstW, int y, enum AVPixelFormat target, int unused_hasAlpha, int unused_eightbytes, int is_be)
 
static av_always_inline void yuv2ya16_2_c_template (SwsInternal *c, const int32_t *buf[2], const int32_t *unused_ubuf[2], const int32_t *unused_vbuf[2], const int32_t *abuf[2], uint16_t *dest, int dstW, int yalpha_param, int unused_uvalpha, int y, enum AVPixelFormat target, int unused_hasAlpha, int unused_eightbytes, int is_be)
 
static av_always_inline void yuv2ya16_1_c_template (SwsInternal *c, const int32_t *buf0, const int32_t *unused_ubuf[2], const int32_t *unused_vbuf[2], const int32_t *abuf0, uint16_t *dest, int dstW, int unused_uvalpha, int y, enum AVPixelFormat target, int unused_hasAlpha, int unused_eightbytes, int is_be)
 
static av_always_inline void yuv2rgba64_X_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha, int eightbytes, int is_be)
 
static av_always_inline void yuv2rgba64_2_c_template (SwsInternal *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_param, int uvalpha_param, int y, enum AVPixelFormat target, int hasAlpha, int eightbytes, int is_be)
 
static av_always_inline void yuv2rgba64_1_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha, int eightbytes, int is_be)
 
static av_always_inline void yuv2rgba64_full_X_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha, int eightbytes, int is_be)
 
static av_always_inline void yuv2rgba64_full_2_c_template (SwsInternal *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_param, int uvalpha_param, int y, enum AVPixelFormat target, int hasAlpha, int eightbytes, int is_be)
 
static av_always_inline void yuv2rgba64_full_1_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha, int eightbytes, int is_be)
 
static av_always_inline void yuv2rgb_write (uint8_t *_dest, int i, int Y1, int Y2, unsigned A1, unsigned A2, const void *_r, const void *_g, const void *_b, int y, enum AVPixelFormat target, int hasAlpha)
 
static av_always_inline void yuv2rgb_X_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha)
 
static av_always_inline void yuv2rgb_2_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha)
 
static av_always_inline void yuv2rgb_1_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha)
 
static av_always_inline void yuv2rgb_write_full (SwsInternal *c, uint8_t *dest, int i, int Y, int A, int U, int V, int y, enum AVPixelFormat target, int hasAlpha, int err[4])
 
static av_always_inline void yuv2rgb_full_X_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha)
 
static av_always_inline void yuv2rgb_full_2_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha)
 
static av_always_inline void yuv2rgb_full_1_c_template (SwsInternal *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 AVPixelFormat target, int hasAlpha)
 
static void yuv2gbrp_full_X_c (SwsInternal *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)
 
static void yuv2gbrpmsb_full_X_c (SwsInternal *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)
 
static void yuv2gbrp16_full_X_c (SwsInternal *c, const int16_t *lumFilter, const int16_t **lumSrcx, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrcx, const int16_t **chrVSrcx, int chrFilterSize, const int16_t **alpSrcx, uint8_t **dest, int dstW, int y)
 
static void yuv2gbrpf32_full_X_c (SwsInternal *c, const int16_t *lumFilter, const int16_t **lumSrcx, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrcx, const int16_t **chrVSrcx, int chrFilterSize, const int16_t **alpSrcx, uint8_t **dest, int dstW, int y)
 
static void yuv2ya8_1_c (SwsInternal *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)
 
static void yuv2ya8_2_c (SwsInternal *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)
 
static void yuv2ya8_X_c (SwsInternal *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)
 
static av_always_inline void yuv2ayuv64_X_c (SwsInternal *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, int A_offset, int Y_offset, int U_offset, int V_offset, int is_be)
 
static av_always_inline void yuv2v30_X_c_template (SwsInternal *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, int shift)
 
static void yuv2xv36_X_c (SwsInternal *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, int is_be)
 
static av_always_inline void yuv2ayuv_1_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2ayuv_2_c_template (SwsInternal *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 AVPixelFormat target)
 
static av_always_inline void yuv2ayuv_X_c_template (SwsInternal *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 AVPixelFormat target)
 
 yuv2y2xx_wrapper (10)
 
static void yuv2vyu444_1_c (SwsInternal *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)
 
static void yuv2vyu444_2_c (SwsInternal *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)
 
static void yuv2vyu444_X_c (SwsInternal *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)
 
av_cold void ff_sws_init_output_funcs (SwsInternal *c, yuv2planar1_fn *yuv2plane1, yuv2planarX_fn *yuv2planeX, yuv2interleavedX_fn *yuv2nv12cX, yuv2packed1_fn *yuv2packed1, yuv2packed2_fn *yuv2packed2, yuv2packedX_fn *yuv2packedX, yuv2anyX_fn *yuv2anyX)
 

Variables

const uint8_t ff_dither_2x2_4 [][8]
 
const uint8_t ff_dither_2x2_8 [][8]
 
const uint8_t ff_dither_4x4_16 [][8]
 
const uint8_t ff_dither_8x8_32 [][8]
 
const uint8_t ff_dither_8x8_73 [][8]
 
const uint8_t ff_dither_8x8_220 [][8]
 

Macro Definition Documentation

◆ IS_BE_LE

#define IS_BE_LE   0

Definition at line 137 of file output.c.

◆ IS_BE_BE

#define IS_BE_BE   1

Definition at line 138 of file output.c.

◆ IS_BE

#define IS_BE ( ENDIAN_IDENTIFIER)
Value:
IS_BE_ ## ENDIAN_IDENTIFIER
#define IS_BE_
Definition input.c:37

Definition at line 140 of file output.c.

◆ output_pixel [1/7]

◆ yuv2plane1_float

#define yuv2plane1_float ( template,
dest_type,
BE_LE )
Value:
static void yuv2plane1_float ## BE_LE ## _c(const int16_t *src, uint8_t *dest, int dstW, \
const uint8_t *dither, int offset) \
{ \
template((const int32_t *)src, (dest_type *)dest, dstW); \
}
int32_t
unsigned offset
Definition libaomenc.c:763
#define yuv2plane1_float(template, dest_type, BE_LE)
Definition output.c:291
#define src
Definition vp8dsp.c:248
static const uint16_t dither[8][8]
Definition vf_gradfun.c:46

Definition at line 291 of file output.c.

◆ yuv2planeX_float

#define yuv2planeX_float ( template,
dest_type,
BE_LE )
Value:
static void yuv2planeX_float ## BE_LE ## _c(const int16_t *filter, int filterSize, \
const int16_t **src, uint8_t *dest, int dstW, \
const uint8_t *dither, int offset) \
{ \
template(filter, filterSize, (const int32_t **)src, (dest_type *)dest, dstW); \
}
#define yuv2planeX_float(template, dest_type, BE_LE)
Definition output.c:298
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Definition h263dsp.c:29

Definition at line 298 of file output.c.

◆ output_pixel [2/7]

#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)); \
}
#define av_clip_uintp2
Definition common.h:124

Definition at line 142 of file output.c.

◆ yuv2NBPS

#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); \
}
static const uint8_t bits[8]
Definition fastaudio.c:100

Definition at line 361 of file output.c.

◆ output_pixel [3/7]

#define output_pixel ( pos,
val )
Value:
if (big_endian) { \
AV_WB16(pos, av_clip_uintp2(val >> shift, output_bits) << (16 - output_bits)); \
} else { \
AV_WL16(pos, av_clip_uintp2(val >> shift, output_bits) << (16 - output_bits)); \
}

Definition at line 142 of file output.c.

◆ yuv2MSBNBPS

#define yuv2MSBNBPS ( bits,
BE_LE,
is_be,
template_size,
typeX_t )
Value:
static void yuv2msbplane1_ ## bits ## BE_LE ## _c(const int16_t *src, \
uint8_t *dest, int dstW, \
const uint8_t *dither, int offset)\
{ \
yuv2msbplane1_ ## template_size ## _c_template((const typeX_t *) src, \
(uint16_t *) dest, dstW, is_be, bits); \
}\
static void yuv2msbplaneX_ ## 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)\
{ \
yuv2msbplaneX_## template_size ## _c_template(filter, \
filterSize, (const typeX_t **) src, \
(uint16_t *) dest, dstW, is_be, bits); \
}

Definition at line 428 of file output.c.

◆ output_pixel [4/7]

#define output_pixel ( pos,
val )
Value:
if (big_endian) { \
AV_WB16(pos, av_clip_uintp2(val >> shift, output_bits) << output_shift); \
} else { \
AV_WL16(pos, av_clip_uintp2(val >> shift, output_bits) << output_shift); \
}

Definition at line 142 of file output.c.

◆ yuv2p01x_wrapper

#define yuv2p01x_wrapper ( fmt,
bits,
shift )

Definition at line 593 of file output.c.

Referenced by yuv2p01x_wrapper().

◆ accumulate_bit

#define accumulate_bit ( acc,
val )
Value:
acc <<= 1; \
acc |= (val) >= 234

Referenced by yuv2mono_1_c_template(), yuv2mono_2_c_template(), and yuv2p01x_wrapper().

◆ output_pixel [5/7]

#define output_pixel ( pos,
acc )
Value:
if (target == AV_PIX_FMT_MONOBLACK) { \
pos = acc; \
} else { \
pos = ~acc; \
}
@ AV_PIX_FMT_MONOBLACK
Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb.
Definition pixfmt.h:83

Definition at line 142 of file output.c.

◆ YUV2PACKEDWRAPPER

#define YUV2PACKEDWRAPPER ( name,
base,
ext,
fmt )
Value:
static void name ## ext ## _X_c(SwsInternal *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(SwsInternal *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(SwsInternal *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); \
}
const char * name
Definition qsvenc.c:142
uint8_t base
Definition vp3data.h:128
static double c[64]

Definition at line 830 of file output.c.

◆ output_pixels [1/4]

#define output_pixels ( pos,
Y1,
U,
Y2,
V )
Value:
if (target == AV_PIX_FMT_YUYV422) { \
dest[pos + 0] = Y1; \
dest[pos + 1] = U; \
dest[pos + 2] = Y2; \
dest[pos + 3] = V; \
} else if (target == AV_PIX_FMT_YVYU422) { \
dest[pos + 0] = Y1; \
dest[pos + 1] = V; \
dest[pos + 2] = Y2; \
dest[pos + 3] = U; \
} else { /* AV_PIX_FMT_UYVY422 */ \
dest[pos + 0] = U; \
dest[pos + 1] = Y1; \
dest[pos + 2] = V; \
dest[pos + 3] = Y2; \
}
#define U(x)
Definition vpx_arith.h:37
#define V
Definition avdct.c:32
@ AV_PIX_FMT_YVYU422
packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb
Definition pixfmt.h:207
@ AV_PIX_FMT_YUYV422
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
Definition pixfmt.h:74

Definition at line 865 of file output.c.

Referenced by yuv2422_1_c_template(), yuv2422_2_c_template(), yuv2422_X_c_template(), yuv2ayuv64_X_c(), yuv2ayuv_1_c_template(), yuv2ayuv_2_c_template(), yuv2ayuv_X_c_template(), and yuv2xv36_X_c().

◆ R_B

◆ B_R

◆ output_pixel [6/7]

#define output_pixel ( pos,
val )
Value:
if (is_be) { \
AV_WB16(pos, val); \
} else { \
AV_WL16(pos, val); \
}

Definition at line 142 of file output.c.

◆ YUV2PACKED16WRAPPER_EXT

#define YUV2PACKED16WRAPPER_EXT ( name,
base,
ext,
fmt,
is_be,
hasAlpha,
eightbytes )

Definition at line 1578 of file output.c.

◆ YUV2PACKED16WRAPPER

#define YUV2PACKED16WRAPPER ( name,
base,
ext,
base_fmt,
endianness,
hasAlpha,
eightbytes )
Value:
YUV2PACKED16WRAPPER_EXT(name, base, ext, base_fmt ## endianness, IS_BE(endianness), hasAlpha, eightbytes)
#define IS_BE(ENDIAN_IDENTIFIER)
Definition input.c:40
#define YUV2PACKED16WRAPPER_EXT(name, base, ext, fmt, is_be, hasAlpha, eightbytes)
Definition output.c:1578

Definition at line 1623 of file output.c.

◆ r_b

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

◆ b_r

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

◆ YUV2RGBWRAPPERX

#define YUV2RGBWRAPPERX ( name,
base,
ext,
fmt,
hasAlpha )
Value:
static void name ## ext ## _X_c(SwsInternal *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 1941 of file output.c.

◆ YUV2RGBWRAPPERX2

#define YUV2RGBWRAPPERX2 ( name,
base,
ext,
fmt,
hasAlpha )
Value:
YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha) \
static void name ## ext ## _2_c(SwsInternal *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); \
}
#define YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha)

Definition at line 1954 of file output.c.

◆ YUV2RGBWRAPPER

#define YUV2RGBWRAPPER ( name,
base,
ext,
fmt,
hasAlpha )
Value:
YUV2RGBWRAPPERX2(name, base, ext, fmt, hasAlpha) \
static void name ## ext ## _1_c(SwsInternal *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); \
}
#define YUV2RGBWRAPPERX2(name, base, ext, fmt, hasAlpha)

Definition at line 1965 of file output.c.

◆ A_DITHER

#define A_DITHER ( u,
v )
Value:
(((((u)+((v)*236))*119)&0xff))
#define u(width, name, range_min, range_max)
Definition cbs_apv.c:68

Referenced by yuv2rgb_write_full().

◆ X_DITHER

#define X_DITHER ( u,
v )
Value:
(((((u)^((v)*237))*181)&0x1ff)/2)

Referenced by yuv2rgb_write_full().

◆ output_pixels [2/4]

#define output_pixels ( pos,
val )
Value:
if (is_be) { \
AV_WB16(pos, val); \
} else { \
AV_WL16(pos, val); \
}

Definition at line 865 of file output.c.

◆ YUV2AYUV64

#define YUV2AYUV64 ( pixfmt,
BE_LE,
A,
Y,
U,
V,
is_be )
Value:
static void \
yuv2 ## pixfmt ## BE_LE ##_X_c(SwsInternal *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) \
{ \
yuv2ayuv64_X_c(c, lumFilter, lumSrc, lumFilterSize, \
chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
alpSrc, dest, dstW, y, A, Y, U, V, is_be); \
}
#define A(x)
Definition vpx_arith.h:28
#define Y
Definition boxblur.h:37
enum AVPixelFormat pixfmt
Definition kmsgrab.c:367

Definition at line 2763 of file output.c.

◆ V30LE_WRAPPER

#define V30LE_WRAPPER ( name,
shift )
Value:
static void yuv2 ## name ## _X_c(SwsInternal *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) \
{ \
yuv2v30_X_c_template(c, lumFilter, lumSrc, lumFilterSize, \
chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
alpSrc, dest, dstW, y, shift); \
}

Definition at line 2816 of file output.c.

◆ output_pixels [3/4]

#define output_pixels ( pos,
val,
shift,
bits,
output_shift )
Value:
if (is_be) { \
AV_WB16(pos, av_clip_uintp2(val >> shift, bits) << output_shift); \
} else { \
AV_WL16(pos, av_clip_uintp2(val >> shift, bits) << output_shift); \
}

Definition at line 865 of file output.c.

◆ YUV2XV36

#define YUV2XV36 ( BE_LE,
is_be )
Value:
static void \
yuv2xv36 ## BE_LE ##_X_c(SwsInternal *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) \
{ \
yuv2xv36_X_c(c, lumFilter, lumSrc, lumFilterSize, \
chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
alpSrc, dest, dstW, y, is_be); \
}

Definition at line 2868 of file output.c.

◆ output_pixels [4/4]

#define output_pixels ( pos,
A,
Y,
U,
V )
Value:
if (target == AV_PIX_FMT_AYUV) { \
dest[pos + 0] = A; \
dest[pos + 1] = Y; \
dest[pos + 2] = U; \
dest[pos + 3] = V; \
} else if (target == AV_PIX_FMT_UYVA) { \
dest[pos + 0] = U; \
dest[pos + 1] = Y; \
dest[pos + 2] = V; \
dest[pos + 3] = A; \
} else { /* AV_PIX_FMT_VUYA || AV_PIX_FMT_VUYX */ \
dest[pos + 0] = V; \
dest[pos + 1] = U; \
dest[pos + 2] = Y; \
dest[pos + 3] = A; \
}
@ AV_PIX_FMT_UYVA
packed UYVA 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), UYVAUYVA...
Definition pixfmt.h:444
@ AV_PIX_FMT_AYUV
packed AYUV 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), AYUVAYUV...
Definition pixfmt.h:442

Definition at line 865 of file output.c.

◆ AYUVPACKEDWRAPPER

#define AYUVPACKEDWRAPPER ( name,
fmt )
Value:
static void yuv2 ## name ## _X_c(SwsInternal *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) \
{ \
yuv2ayuv_X_c_template(c, lumFilter, lumSrc, lumFilterSize, \
chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
alpSrc, dest, dstW, y, fmt); \
} \
\
static void yuv2 ## name ## _2_c(SwsInternal *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) \
{ \
yuv2ayuv_2_c_template(c, buf, ubuf, vbuf, abuf, \
dest, dstW, yalpha, uvalpha, y, fmt); \
} \
\
static void yuv2 ## name ## _1_c(SwsInternal *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) \
{ \
yuv2ayuv_1_c_template(c, buf0, ubuf, vbuf, \
abuf0, dest, dstW, uvalpha, \
y, fmt); \
}

Definition at line 3053 of file output.c.

◆ output_pixel [7/7]

#define output_pixel ( pos,
val,
bits )
Value:
AV_WL16(pos, av_clip_uintp2(val >> shift, bits) << output_shift);
#define AV_WL16(p, v)

Definition at line 142 of file output.c.

◆ yuv2y2xx_wrapper

#define yuv2y2xx_wrapper ( bits)

Definition at line 3092 of file output.c.

Referenced by yuv2y2xx_wrapper().

Function Documentation

◆ yuv2plane1_16_c_template()

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 150 of file output.c.

◆ yuv2planeX_16_c_template()

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 164 of file output.c.

◆ yuv2nv12cX_16_c_template()

static av_always_inline void yuv2nv12cX_16_c_template ( int big_endian,
const uint8_t * chrDither,
const int16_t * chrFilter,
int chrFilterSize,
const int16_t ** chrUSrc,
const int16_t ** chrVSrc,
uint8_t * dest8,
int chrDstW,
int output_bits )
static

Definition at line 190 of file output.c.

Referenced by yuv2MSBNBPS(), and yuv2nv12cX_16BE_c().

◆ yuv2plane1_float_c_template()

static av_always_inline void yuv2plane1_float_c_template ( const int32_t * src,
float * dest,
int dstW )
static

Definition at line 220 of file output.c.

Referenced by yuv2plane1_float().

◆ yuv2plane1_float_bswap_c_template()

static av_always_inline void yuv2plane1_float_bswap_c_template ( const int32_t * src,
uint32_t * dest,
int dstW )
static

Definition at line 236 of file output.c.

Referenced by yuv2plane1_float().

◆ yuv2planeX_float_c_template()

static av_always_inline void yuv2planeX_float_c_template ( const int16_t * filter,
int filterSize,
const int32_t ** src,
float * dest,
int dstW )
static

Definition at line 252 of file output.c.

Referenced by yuv2plane1_float().

◆ yuv2planeX_float_bswap_c_template()

static av_always_inline void yuv2planeX_float_bswap_c_template ( const int16_t * filter,
int filterSize,
const int32_t ** src,
uint32_t * dest,
int dstW )
static

Definition at line 272 of file output.c.

Referenced by yuv2plane1_float().

◆ yuv2plane1_float()

yuv2plane1_float ( yuv2plane1_float_c_template ,
yuv2plane1_float( float,
LE  )

Definition at line 312 of file output.c.

◆ yuv2planeX_10_c_template()

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 341 of file output.c.

◆ yuv2NBPS()

yuv2NBPS ( yuv2NBPS( 9,
yuv2NBPS( BE,
yuv2NBPS( 1,
yuv2NBPS( 10,
int16_t  )

Definition at line 378 of file output.c.

◆ yuv2msbplaneX_10_c_template()

static av_always_inline void yuv2msbplaneX_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 410 of file output.c.

◆ yuv2MSBNBPS()

yuv2MSBNBPS ( yuv2MSBNBPS( 10,
yuv2MSBNBPS( BE,
yuv2MSBNBPS( 1,
yuv2MSBNBPS( 10,
int16_t  )

Definition at line 445 of file output.c.

◆ yuv2nv12cX_16BE_c()

static void yuv2nv12cX_16BE_c ( enum AVPixelFormat dstFormat,
const uint8_t * chrDither,
const int16_t * chrFilter,
int chrFilterSize,
const int16_t ** chrUSrc,
const int16_t ** chrVSrc,
uint8_t * dest8,
int chrDstW )
static

Definition at line 460 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2planeX_8_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 468 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2plane1_8_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 485 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2nv12cX_c()

static void yuv2nv12cX_c ( enum AVPixelFormat dstFormat,
const uint8_t * chrDither,
const int16_t * chrFilter,
int chrFilterSize,
const int16_t ** chrUSrc,
const int16_t ** chrVSrc,
uint8_t * dest,
int chrDstW )
static

Definition at line 495 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2p01xl1_c()

static void yuv2p01xl1_c ( const int16_t * src,
uint16_t * dest,
int dstW,
int big_endian,
int output_bits,
int output_shift )
static

Definition at line 538 of file output.c.

◆ yuv2p01xlX_c()

static void yuv2p01xlX_c ( const int16_t * filter,
int filterSize,
const int16_t ** src,
uint16_t * dest,
int dstW,
int big_endian,
int output_bits,
int output_shift )
static

Definition at line 551 of file output.c.

◆ yuv2p01xcX_c()

static void yuv2p01xcX_c ( int big_endian,
const uint8_t * chrDither,
const int16_t * chrFilter,
int chrFilterSize,
const int16_t ** chrUSrc,
const int16_t ** chrVSrc,
uint8_t * dest8,
int chrDstW,
int output_bits,
int output_shift )
static

Definition at line 568 of file output.c.

◆ yuv2p01x_wrapper()

yuv2p01x_wrapper ( p010 ,
yuv2p01x_wrapper( 10,
6  )

Definition at line 650 of file output.c.

◆ yuv2mono_2_c_template()

static av_always_inline void yuv2mono_2_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 718 of file output.c.

◆ yuv2mono_1_c_template()

static av_always_inline void yuv2mono_1_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 780 of file output.c.

◆ yuv2422_X_c_template()

static av_always_inline void yuv2422_X_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 884 of file output.c.

◆ yuv2422_2_c_template()

static av_always_inline void yuv2422_2_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 923 of file output.c.

◆ yuv2422_1_c_template()

static av_always_inline void yuv2422_1_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 956 of file output.c.

◆ yuv2ya16_X_c_template()

static av_always_inline void yuv2ya16_X_c_template ( SwsInternal * c,
const int16_t * lumFilter,
const int32_t ** lumSrc,
int lumFilterSize,
const int16_t * chrFilter,
const int32_t ** unused_chrUSrc,
const int32_t ** unused_chrVSrc,
int unused_chrFilterSize,
const int32_t ** alpSrc,
uint16_t * dest,
int dstW,
int y,
enum AVPixelFormat target,
int unused_hasAlpha,
int unused_eightbytes,
int is_be )
static

Definition at line 1016 of file output.c.

◆ yuv2ya16_2_c_template()

static av_always_inline void yuv2ya16_2_c_template ( SwsInternal * c,
const int32_t * buf[2],
const int32_t * unused_ubuf[2],
const int32_t * unused_vbuf[2],
const int32_t * abuf[2],
uint16_t * dest,
int dstW,
int yalpha_param,
int unused_uvalpha,
int y,
enum AVPixelFormat target,
int unused_hasAlpha,
int unused_eightbytes,
int is_be )
static

Definition at line 1055 of file output.c.

◆ yuv2ya16_1_c_template()

static av_always_inline void yuv2ya16_1_c_template ( SwsInternal * c,
const int32_t * buf0,
const int32_t * unused_ubuf[2],
const int32_t * unused_vbuf[2],
const int32_t * abuf0,
uint16_t * dest,
int dstW,
int unused_uvalpha,
int y,
enum AVPixelFormat target,
int unused_hasAlpha,
int unused_eightbytes,
int is_be )
static

Definition at line 1089 of file output.c.

◆ yuv2rgba64_X_c_template()

static av_always_inline void yuv2rgba64_X_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha,
int eightbytes,
int is_be )
static

Definition at line 1116 of file output.c.

◆ yuv2rgba64_2_c_template()

static av_always_inline void yuv2rgba64_2_c_template ( SwsInternal * 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_param,
int uvalpha_param,
int y,
enum AVPixelFormat target,
int hasAlpha,
int eightbytes,
int is_be )
static

Definition at line 1199 of file output.c.

◆ yuv2rgba64_1_c_template()

static av_always_inline void yuv2rgba64_1_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha,
int eightbytes,
int is_be )
static

Definition at line 1267 of file output.c.

◆ yuv2rgba64_full_X_c_template()

static av_always_inline void yuv2rgba64_full_X_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha,
int eightbytes,
int is_be )
static

Definition at line 1374 of file output.c.

◆ yuv2rgba64_full_2_c_template()

static av_always_inline void yuv2rgba64_full_2_c_template ( SwsInternal * 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_param,
int uvalpha_param,
int y,
enum AVPixelFormat target,
int hasAlpha,
int eightbytes,
int is_be )
static

Definition at line 1439 of file output.c.

◆ yuv2rgba64_full_1_c_template()

static av_always_inline void yuv2rgba64_full_1_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha,
int eightbytes,
int is_be )
static

Definition at line 1494 of file output.c.

◆ yuv2rgb_write()

static av_always_inline void yuv2rgb_write ( uint8_t * _dest,
int i,
int Y1,
int Y2,
unsigned A1,
unsigned A2,
const void * _r,
const void * _g,
const void * _b,
int y,
enum AVPixelFormat target,
int hasAlpha )
static

Definition at line 1663 of file output.c.

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

◆ yuv2rgb_X_c_template()

static av_always_inline void yuv2rgb_X_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha )
static

Definition at line 1789 of file output.c.

◆ yuv2rgb_2_c_template()

static av_always_inline void yuv2rgb_2_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha )
static

Definition at line 1843 of file output.c.

◆ yuv2rgb_1_c_template()

static av_always_inline void yuv2rgb_1_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha )
static

Definition at line 1883 of file output.c.

◆ yuv2rgb_write_full()

static av_always_inline void yuv2rgb_write_full ( SwsInternal * c,
uint8_t * dest,
int i,
int Y,
int A,
int U,
int V,
int y,
enum AVPixelFormat target,
int hasAlpha,
int err[4] )
static

◆ yuv2rgb_full_X_c_template()

static av_always_inline void yuv2rgb_full_X_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha )
static

Definition at line 2161 of file output.c.

◆ yuv2rgb_full_2_c_template()

static av_always_inline void yuv2rgb_full_2_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha )
static

Definition at line 2211 of file output.c.

◆ yuv2rgb_full_1_c_template()

static av_always_inline void yuv2rgb_full_1_c_template ( SwsInternal * 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 AVPixelFormat target,
int hasAlpha )
static

Definition at line 2256 of file output.c.

◆ yuv2gbrp_full_X_c()

static void yuv2gbrp_full_X_c ( SwsInternal * 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 )
static

Definition at line 2343 of file output.c.

Referenced by ff_sws_init_output_funcs(), yuv2gbrp_full_X_c(), and yuv2gbrpmsb_full_X_c().

◆ yuv2gbrpmsb_full_X_c()

static void yuv2gbrpmsb_full_X_c ( SwsInternal * 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 )
static

Definition at line 2425 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2gbrp16_full_X_c()

static void yuv2gbrp16_full_X_c ( SwsInternal * c,
const int16_t * lumFilter,
const int16_t ** lumSrcx,
int lumFilterSize,
const int16_t * chrFilter,
const int16_t ** chrUSrcx,
const int16_t ** chrVSrcx,
int chrFilterSize,
const int16_t ** alpSrcx,
uint8_t ** dest,
int dstW,
int y )
static

Definition at line 2465 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2gbrpf32_full_X_c()

static void yuv2gbrpf32_full_X_c ( SwsInternal * c,
const int16_t * lumFilter,
const int16_t ** lumSrcx,
int lumFilterSize,
const int16_t * chrFilter,
const int16_t ** chrUSrcx,
const int16_t ** chrVSrcx,
int chrFilterSize,
const int16_t ** alpSrcx,
uint8_t ** dest,
int dstW,
int y )
static

Definition at line 2537 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2ya8_1_c()

static void yuv2ya8_1_c ( SwsInternal * 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 )
static

Definition at line 2613 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2ya8_2_c()

static void yuv2ya8_2_c ( SwsInternal * 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 )
static

Definition at line 2639 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2ya8_X_c()

static void yuv2ya8_X_c ( SwsInternal * 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 )
static

Definition at line 2670 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2ayuv64_X_c()

static av_always_inline void yuv2ayuv64_X_c ( SwsInternal * 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,
int A_offset,
int Y_offset,
int U_offset,
int V_offset,
int is_be )
static

Definition at line 2713 of file output.c.

◆ yuv2v30_X_c_template()

static av_always_inline void yuv2v30_X_c_template ( SwsInternal * 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,
int shift )
static

Definition at line 2785 of file output.c.

◆ yuv2xv36_X_c()

static void yuv2xv36_X_c ( SwsInternal * 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,
int is_be )
static

Definition at line 2840 of file output.c.

◆ yuv2ayuv_1_c_template()

static av_always_inline void yuv2ayuv_1_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 2903 of file output.c.

◆ yuv2ayuv_2_c_template()

static av_always_inline void yuv2ayuv_2_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 2959 of file output.c.

◆ yuv2ayuv_X_c_template()

static av_always_inline void yuv2ayuv_X_c_template ( SwsInternal * 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 AVPixelFormat target )
static

Definition at line 3001 of file output.c.

◆ yuv2y2xx_wrapper()

yuv2y2xx_wrapper ( 10 )

Definition at line 3126 of file output.c.

◆ yuv2vyu444_1_c()

static void yuv2vyu444_1_c ( SwsInternal * 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 )
static

Definition at line 3171 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2vyu444_2_c()

static void yuv2vyu444_2_c ( SwsInternal * 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 )
static

Definition at line 3216 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ yuv2vyu444_X_c()

static void yuv2vyu444_X_c ( SwsInternal * 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 )
static

Definition at line 3250 of file output.c.

Referenced by ff_sws_init_output_funcs().

◆ ff_sws_init_output_funcs()

av_cold void ff_sws_init_output_funcs ( SwsInternal * 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 3291 of file output.c.

Referenced by ff_swscale(), and sws_init_swscale().

Variable Documentation

◆ ff_dither_2x2_4

const uint8_t ff_dither_2x2_4[][8]
Initial value:
= {
{ 1, 3, 1, 3, 1, 3, 1, 3, },
{ 2, 0, 2, 0, 2, 0, 2, 0, },
{ 1, 3, 1, 3, 1, 3, 1, 3, },
}

Definition at line 40 of file output.c.

Referenced by yuv2rgb_write(), yuv2rgb_write(), and yuv2rgb_write().

◆ ff_dither_2x2_8

const uint8_t ff_dither_2x2_8[][8]
Initial value:
= {
{ 6, 2, 6, 2, 6, 2, 6, 2, },
{ 0, 4, 0, 4, 0, 4, 0, 4, },
{ 6, 2, 6, 2, 6, 2, 6, 2, },
}

Definition at line 46 of file output.c.

Referenced by yuv2rgb_write(), yuv2rgb_write(), and yuv2rgb_write().

◆ ff_dither_4x4_16

const uint8_t ff_dither_4x4_16[][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, },
{ 8, 4, 11, 7, 8, 4, 11, 7, },
}

Definition at line 52 of file output.c.

Referenced by yuv2rgb_write(), yuv2rgb_write(), and yuv2rgb_write().

◆ ff_dither_8x8_32

const uint8_t ff_dither_8x8_32[][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, },
{ 17, 9, 23, 15, 16, 8, 22, 14, },
}

Definition at line 60 of file output.c.

Referenced by yuv2rgb_write(), yuv2rgb_write(), and yuv2rgb_write().

◆ ff_dither_8x8_73

const uint8_t ff_dither_8x8_73[][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, },
{ 0, 55, 14, 68, 3, 58, 17, 72, },
}

Definition at line 72 of file output.c.

Referenced by yuv2rgb_write(), yuv2rgb_write(), and yuv2rgb_write().

◆ ff_dither_8x8_220

const uint8_t ff_dither_8x8_220[][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, },
{117, 62, 158, 103, 113, 58, 155, 100, },
}

Definition at line 85 of file output.c.

Referenced by if(), yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2p01x_wrapper(), yuv2rgb_write(), yuv2rgb_write(), and yuv2rgb_write().