yuv2rgb.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include <assert.h>
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"
#include "libavutil/cpu.h"
#include "libavutil/bswap.h"

Go to the source code of this file.

Macros

#define LOADCHROMA(i)
#define PUTRGB(dst, src, i)
#define PUTRGB24(dst, src, i)
#define PUTBGR24(dst, src, i)
#define PUTRGBA(dst, ysrc, asrc, i, s)
#define PUTRGB48(dst, src, i)
#define PUTBGR48(dst, src, i)
#define YUV2RGBFUNC(func_name, dst_type, alpha)
#define ENDYUV2RGBLINE(dst_delta)
#define ENDYUV2RGBFUNC()
#define CLOSEYUV2RGBFUNC(dst_delta)
#define PUTRGB12(dst, src, i, o)
#define PUTRGB8(dst, src, i, o)
#define PUTRGB4D(dst, src, i, o)
#define PUTRGB4DB(dst, src, i, o)
#define PUTRGB1(out, src, i, o)

Functions

const int * sws_getCoefficients (int colorspace)
 Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().
 LOADCHROMA (0)
 PUTRGB48 (dst_1, py_1, 0)
 PUTRGB48 (dst_2, py_2, 0)
 LOADCHROMA (1)
 PUTRGB48 (dst_2, py_2, 1)
 PUTRGB48 (dst_1, py_1, 1)
 LOADCHROMA (2)
 PUTRGB48 (dst_1, py_1, 2)
 PUTRGB48 (dst_2, py_2, 2)
 LOADCHROMA (3)
 PUTRGB48 (dst_2, py_2, 3)
 PUTRGB48 (dst_1, py_1, 3)
 PUTBGR48 (dst_1, py_1, 0)
 PUTBGR48 (dst_2, py_2, 0)
 PUTBGR48 (dst_2, py_2, 1)
 PUTBGR48 (dst_1, py_1, 1)
 PUTBGR48 (dst_1, py_1, 2)
 PUTBGR48 (dst_2, py_2, 2)
 PUTBGR48 (dst_2, py_2, 3)
 PUTBGR48 (dst_1, py_1, 3)
 PUTRGB (dst_1, py_1, 0)
 PUTRGB (dst_2, py_2, 0)
 PUTRGB (dst_2, py_2, 1)
 PUTRGB (dst_1, py_1, 1)
 PUTRGB (dst_1, py_1, 2)
 PUTRGB (dst_2, py_2, 2)
 PUTRGB (dst_2, py_2, 3)
 PUTRGB (dst_1, py_1, 3)
 PUTRGBA (dst_1, py_1, pa_1, 0, 24)
 PUTRGBA (dst_2, py_2, pa_2, 0, 24)
 PUTRGBA (dst_2, py_2, pa_1, 1, 24)
 PUTRGBA (dst_1, py_1, pa_2, 1, 24)
 PUTRGBA (dst_1, py_1, pa_1, 2, 24)
 PUTRGBA (dst_2, py_2, pa_2, 2, 24)
 PUTRGBA (dst_2, py_2, pa_1, 3, 24)
 PUTRGBA (dst_1, py_1, pa_2, 3, 24)
 PUTRGBA (dst_1, py_1, pa_1, 0, 0)
 PUTRGBA (dst_2, py_2, pa_2, 0, 0)
 PUTRGBA (dst_2, py_2, pa_2, 1, 0)
 PUTRGBA (dst_1, py_1, pa_1, 1, 0)
 PUTRGBA (dst_1, py_1, pa_1, 2, 0)
 PUTRGBA (dst_2, py_2, pa_2, 2, 0)
 PUTRGBA (dst_2, py_2, pa_2, 3, 0)
 PUTRGBA (dst_1, py_1, pa_1, 3, 0)
 PUTRGB24 (dst_1, py_1, 0)
 PUTRGB24 (dst_2, py_2, 0)
 PUTRGB24 (dst_2, py_2, 1)
 PUTRGB24 (dst_1, py_1, 1)
 PUTRGB24 (dst_1, py_1, 2)
 PUTRGB24 (dst_2, py_2, 2)
 PUTRGB24 (dst_2, py_2, 3)
 PUTRGB24 (dst_1, py_1, 3)
 PUTBGR24 (dst_1, py_1, 0)
 PUTBGR24 (dst_2, py_2, 0)
 PUTBGR24 (dst_2, py_2, 1)
 PUTBGR24 (dst_1, py_1, 1)
 PUTBGR24 (dst_1, py_1, 2)
 PUTBGR24 (dst_2, py_2, 2)
 PUTBGR24 (dst_2, py_2, 3)
 PUTBGR24 (dst_1, py_1, 3)
 PUTRGB12 (dst_1, py_1, 0, 0)
 PUTRGB12 (dst_2, py_2, 0, 0+8)
 PUTRGB12 (dst_2, py_2, 1, 2+8)
 PUTRGB12 (dst_1, py_1, 1, 2)
 PUTRGB12 (dst_1, py_1, 2, 4)
 PUTRGB12 (dst_2, py_2, 2, 4+8)
 PUTRGB12 (dst_2, py_2, 3, 6+8)
 PUTRGB12 (dst_1, py_1, 3, 6)
 PUTRGB8 (dst_1, py_1, 0, 0)
 PUTRGB8 (dst_2, py_2, 0, 0+8)
 PUTRGB8 (dst_2, py_2, 1, 2+8)
 PUTRGB8 (dst_1, py_1, 1, 2)
 PUTRGB8 (dst_1, py_1, 2, 4)
 PUTRGB8 (dst_2, py_2, 2, 4+8)
 PUTRGB8 (dst_2, py_2, 3, 6+8)
 PUTRGB8 (dst_1, py_1, 3, 6)
 PUTRGB4D (dst_1, py_1, 0, 0)
 PUTRGB4D (dst_2, py_2, 0, 0+8)
 PUTRGB4D (dst_2, py_2, 1, 2+8)
 PUTRGB4D (dst_1, py_1, 1, 2)
 PUTRGB4D (dst_1, py_1, 2, 4)
 PUTRGB4D (dst_2, py_2, 2, 4+8)
 PUTRGB4D (dst_2, py_2, 3, 6+8)
 PUTRGB4D (dst_1, py_1, 3, 6)
 PUTRGB4DB (dst_1, py_1, 0, 0)
 PUTRGB4DB (dst_2, py_2, 0, 0+8)
 PUTRGB4DB (dst_2, py_2, 1, 2+8)
 PUTRGB4DB (dst_1, py_1, 1, 2)
 PUTRGB4DB (dst_1, py_1, 2, 4)
 PUTRGB4DB (dst_2, py_2, 2, 4+8)
 PUTRGB4DB (dst_2, py_2, 3, 6+8)
 PUTRGB4DB (dst_1, py_1, 3, 6)
 PUTRGB1 (out_1, py_1, 0, 0)
 PUTRGB1 (out_2, py_2, 0, 0+8)
 PUTRGB1 (out_2, py_2, 1, 2+8)
 PUTRGB1 (out_1, py_1, 1, 2)
 PUTRGB1 (out_1, py_1, 2, 4)
 PUTRGB1 (out_2, py_2, 2, 4+8)
 PUTRGB1 (out_2, py_2, 3, 6+8)
 PUTRGB1 (out_1, py_1, 3, 6)
SwsFunc ff_yuv2rgb_get_func_ptr (SwsContext *c)
static void fill_table (uint8_t *table[256], const int elemsize, const int inc, void *y_tab)
static void fill_gv_table (int table[256], const int elemsize, const int inc)
static uint16_t roundToInt16 (int64_t f)
av_cold int ff_yuv2rgb_c_init_tables (SwsContext *c, const int inv_table[4], int fullRange, int brightness, int contrast, int saturation)

Variables

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 int32_t ff_yuv2rgb_coeffs [8][4]
 pa_1 = 8
 pa_2 = 8
const uint8_t * d16 = dither_4x4_16[y&3]
const uint8_t * d32 = dither_8x8_32[y&7]
const uint8_t * d64 = dither_8x8_73[y&7]
const uint8_t * d128 = dither_8x8_220[y&7]
int acc
char out_1 = 0
char out_2 = 0
 g = c->table_gU[128] + c->table_gV[128]
 dst_1 [0] = out_1
 dst_2 [0] = out_2

Macro Definition Documentation

#define CLOSEYUV2RGBFUNC (   dst_delta)
Value:
ENDYUV2RGBLINE(dst_delta)\
ENDYUV2RGBFUNC()

Definition at line 158 of file yuv2rgb.c.

#define ENDYUV2RGBFUNC ( )
Value:
}\
}\
return srcSliceH;\
}

Definition at line 152 of file yuv2rgb.c.

#define ENDYUV2RGBLINE (   dst_delta)
Value:
pu += 4;\
pv += 4;\
py_1 += 8;\
py_2 += 8;\
dst_1 += dst_delta;\
dst_2 += dst_delta;\
}\
if (c->dstW & 4) {\
int av_unused Y, U, V;\

Definition at line 141 of file yuv2rgb.c.

#define LOADCHROMA (   i)
Value:
U = pu[i]; \
V = pv[i]; \
r = (void *)c->table_rV[V]; \
g = (void *)(c->table_gU[U] + c->table_gV[V]); \
b = (void *)c->table_bU[U];

Definition at line 61 of file yuv2rgb.c.

#define PUTBGR24 (   dst,
  src,
 
)
Value:
Y = src[2*i]; \
dst[6*i+0] = b[Y]; dst[6*i+1] = g[Y]; dst[6*i+2] = r[Y]; \
Y = src[2*i+1]; \
dst[6*i+3] = b[Y]; dst[6*i+4] = g[Y]; dst[6*i+5] = r[Y];

Definition at line 80 of file yuv2rgb.c.

#define PUTBGR48 (   dst,
  src,
 
)
Value:
Y = src[2*i]; \
dst[12*i+ 0] = dst[12*i+ 1] = b[Y]; \
dst[12*i+ 2] = dst[12*i+ 3] = g[Y]; \
dst[12*i+ 4] = dst[12*i+ 5] = r[Y]; \
Y = src[2*i+1]; \
dst[12*i+ 6] = dst[12*i+ 7] = b[Y]; \
dst[12*i+ 8] = dst[12*i+ 9] = g[Y]; \
dst[12*i+10] = dst[12*i+11] = r[Y];

Definition at line 102 of file yuv2rgb.c.

#define PUTRGB (   dst,
  src,
 
)
Value:
Y = src[2*i]; \
dst[2*i ] = r[Y] + g[Y] + b[Y]; \
Y = src[2*i+1]; \
dst[2*i+1] = r[Y] + g[Y] + b[Y];

Definition at line 68 of file yuv2rgb.c.

#define PUTRGB1 (   out,
  src,
  i,
 
)
Value:
Y = src[2*i]; \
out+= out + g[Y+d128[0+o]]; \
Y = src[2*i+1]; \
out+= out + g[Y+d128[1+o]];

Definition at line 483 of file yuv2rgb.c.

#define PUTRGB12 (   dst,
  src,
  i,
 
)
Value:
Y = src[2*i]; \
dst[2*i] = r[Y+d16[0+o]] + g[Y+d16[0+o]] + b[Y+d16[0+o]]; \
Y = src[2*i+1]; \
dst[2*i+1] = r[Y+d16[1+o]] + g[Y+d16[1+o]] + b[Y+d16[1+o]];

Definition at line 372 of file yuv2rgb.c.

#define PUTRGB24 (   dst,
  src,
 
)
Value:
Y = src[2*i]; \
dst[6*i+0] = r[Y]; dst[6*i+1] = g[Y]; dst[6*i+2] = b[Y]; \
Y = src[2*i+1]; \
dst[6*i+3] = r[Y]; dst[6*i+4] = g[Y]; dst[6*i+5] = b[Y];

Definition at line 74 of file yuv2rgb.c.

#define PUTRGB48 (   dst,
  src,
 
)
Value:
Y = src[2*i]; \
dst[12*i+ 0] = dst[12*i+ 1] = r[Y]; \
dst[12*i+ 2] = dst[12*i+ 3] = g[Y]; \
dst[12*i+ 4] = dst[12*i+ 5] = b[Y]; \
Y = src[2*i+1]; \
dst[12*i+ 6] = dst[12*i+ 7] = r[Y]; \
dst[12*i+ 8] = dst[12*i+ 9] = g[Y]; \
dst[12*i+10] = dst[12*i+11] = b[Y];

Definition at line 92 of file yuv2rgb.c.

#define PUTRGB4D (   dst,
  src,
  i,
 
)
Value:
Y = src[2*i]; \
acc = r[Y+d128[0+o]] + g[Y+d64[0+o]] + b[Y+d128[0+o]]; \
Y = src[2*i+1]; \
acc |= (r[Y+d128[1+o]] + g[Y+d64[1+o]] + b[Y+d128[1+o]])<<4; \
dst[i]= acc;

Definition at line 427 of file yuv2rgb.c.

#define PUTRGB4DB (   dst,
  src,
  i,
 
)
Value:
Y = src[2*i]; \
dst[2*i] = r[Y+d128[0+o]] + g[Y+d64[0+o]] + b[Y+d128[0+o]]; \
Y = src[2*i+1]; \
dst[2*i+1] = r[Y+d128[1+o]] + g[Y+d64[1+o]] + b[Y+d128[1+o]];

Definition at line 455 of file yuv2rgb.c.

#define PUTRGB8 (   dst,
  src,
  i,
 
)
Value:
Y = src[2*i]; \
dst[2*i] = r[Y+d32[0+o]] + g[Y+d32[0+o]] + b[Y+d64[0+o]]; \
Y = src[2*i+1]; \
dst[2*i+1] = r[Y+d32[1+o]] + g[Y+d32[1+o]] + b[Y+d64[1+o]];

Definition at line 399 of file yuv2rgb.c.

#define PUTRGBA (   dst,
  ysrc,
  asrc,
  i,
 
)
Value:
Y = ysrc[2*i]; \
dst[2*i ] = r[Y] + g[Y] + b[Y] + (asrc[2*i ]<<s); \
Y = ysrc[2*i+1]; \
dst[2*i+1] = r[Y] + g[Y] + b[Y] + (asrc[2*i+1]<<s);

Definition at line 86 of file yuv2rgb.c.

#define YUV2RGBFUNC (   func_name,
  dst_type,
  alpha 
)
Value:
static int func_name(SwsContext *c, const uint8_t* src[], int srcStride[], int srcSliceY, \
int srcSliceH, uint8_t* dst[], int dstStride[]) \
{\
int y;\
\
if (!alpha && c->srcFormat == PIX_FMT_YUV422P) {\
srcStride[1] *= 2;\
srcStride[2] *= 2;\
}\
for (y=0; y<srcSliceH; y+=2) {\
dst_type *dst_1 = (dst_type*)(dst[0] + (y+srcSliceY )*dstStride[0]);\
dst_type *dst_2 = (dst_type*)(dst[0] + (y+srcSliceY+1)*dstStride[0]);\
dst_type av_unused *r, *b;\
dst_type *g;\
const uint8_t *py_1 = src[0] + y*srcStride[0];\
const uint8_t *py_2 = py_1 + srcStride[0];\
const uint8_t *pu = src[1] + (y>>1)*srcStride[1];\
const uint8_t *pv = src[2] + (y>>1)*srcStride[2];\
const uint8_t av_unused *pa_1, *pa_2;\
unsigned int h_size = c->dstW>>3;\
if (alpha) {\
pa_1 = src[3] + y*srcStride[3];\
pa_2 = pa_1 + srcStride[3];\
}\
while (h_size--) {\
int av_unused U, V;\
int Y;\

Definition at line 112 of file yuv2rgb.c.

Function Documentation

av_cold int ff_yuv2rgb_c_init_tables ( SwsContext c,
const int  inv_table[4],
int  fullRange,
int  brightness,
int  contrast,
int  saturation 
)

Definition at line 590 of file yuv2rgb.c.

Referenced by sws_setColorspaceDetails().

SwsFunc ff_yuv2rgb_get_func_ptr ( SwsContext c)

Definition at line 505 of file yuv2rgb.c.

Referenced by ff_get_unscaled_swscale().

static void fill_gv_table ( int  table[256],
const int  elemsize,
const int  inc 
)
static

Definition at line 570 of file yuv2rgb.c.

Referenced by ff_yuv2rgb_c_init_tables().

static void fill_table ( uint8_t *  table[256],
const int  elemsize,
const int  inc,
void y_tab 
)
static

Definition at line 556 of file yuv2rgb.c.

Referenced by ff_yuv2rgb_c_init_tables().

LOADCHROMA ( )
LOADCHROMA ( )
LOADCHROMA ( )
LOADCHROMA ( )
PUTBGR24 ( dst_1  ,
py_1  ,
 
)
PUTBGR24 ( dst_2  ,
py_2  ,
 
)
PUTBGR24 ( dst_2  ,
py_2  ,
 
)
PUTBGR24 ( dst_1  ,
py_1  ,
 
)
PUTBGR24 ( dst_1  ,
py_1  ,
 
)
PUTBGR24 ( dst_2  ,
py_2  ,
 
)
PUTBGR24 ( dst_2  ,
py_2  ,
 
)
PUTBGR24 ( dst_1  ,
py_1  ,
 
)
PUTBGR48 ( dst_1  ,
py_1  ,
 
)
PUTBGR48 ( dst_2  ,
py_2  ,
 
)
PUTBGR48 ( dst_2  ,
py_2  ,
 
)
PUTBGR48 ( dst_1  ,
py_1  ,
 
)
PUTBGR48 ( dst_1  ,
py_1  ,
 
)
PUTBGR48 ( dst_2  ,
py_2  ,
 
)
PUTBGR48 ( dst_2  ,
py_2  ,
 
)
PUTBGR48 ( dst_1  ,
py_1  ,
 
)
PUTRGB ( dst_1  ,
py_1  ,
 
)
PUTRGB ( dst_2  ,
py_2  ,
 
)
PUTRGB ( dst_2  ,
py_2  ,
 
)
PUTRGB ( dst_1  ,
py_1  ,
 
)
PUTRGB ( dst_1  ,
py_1  ,
 
)
PUTRGB ( dst_2  ,
py_2  ,
 
)
PUTRGB ( dst_2  ,
py_2  ,
 
)
PUTRGB ( dst_1  ,
py_1  ,
 
)
PUTRGB1 ( out_1  ,
py_1  ,
,
 
)
PUTRGB1 ( out_2  ,
py_2  ,
,
0+  8 
)
PUTRGB1 ( out_2  ,
py_2  ,
,
2+  8 
)
PUTRGB1 ( out_1  ,
py_1  ,
,
 
)
PUTRGB1 ( out_1  ,
py_1  ,
,
 
)
PUTRGB1 ( out_2  ,
py_2  ,
,
4+  8 
)
PUTRGB1 ( out_2  ,
py_2  ,
,
6+  8 
)
PUTRGB1 ( out_1  ,
py_1  ,
,
 
)
PUTRGB12 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB12 ( dst_2  ,
py_2  ,
,
0+  8 
)
PUTRGB12 ( dst_2  ,
py_2  ,
,
2+  8 
)
PUTRGB12 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB12 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB12 ( dst_2  ,
py_2  ,
,
4+  8 
)
PUTRGB12 ( dst_2  ,
py_2  ,
,
6+  8 
)
PUTRGB12 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB24 ( dst_1  ,
py_1  ,
 
)
PUTRGB24 ( dst_2  ,
py_2  ,
 
)
PUTRGB24 ( dst_2  ,
py_2  ,
 
)
PUTRGB24 ( dst_1  ,
py_1  ,
 
)
PUTRGB24 ( dst_1  ,
py_1  ,
 
)
PUTRGB24 ( dst_2  ,
py_2  ,
 
)
PUTRGB24 ( dst_2  ,
py_2  ,
 
)
PUTRGB24 ( dst_1  ,
py_1  ,
 
)
PUTRGB48 ( dst_1  ,
py_1  ,
 
)
PUTRGB48 ( dst_2  ,
py_2  ,
 
)
PUTRGB48 ( dst_2  ,
py_2  ,
 
)
PUTRGB48 ( dst_1  ,
py_1  ,
 
)
PUTRGB48 ( dst_1  ,
py_1  ,
 
)
PUTRGB48 ( dst_2  ,
py_2  ,
 
)
PUTRGB48 ( dst_2  ,
py_2  ,
 
)
PUTRGB48 ( dst_1  ,
py_1  ,
 
)
PUTRGB4D ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4D ( dst_2  ,
py_2  ,
,
0+  8 
)
PUTRGB4D ( dst_2  ,
py_2  ,
,
2+  8 
)
PUTRGB4D ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4D ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4D ( dst_2  ,
py_2  ,
,
4+  8 
)
PUTRGB4D ( dst_2  ,
py_2  ,
,
6+  8 
)
PUTRGB4D ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4DB ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4DB ( dst_2  ,
py_2  ,
,
0+  8 
)
PUTRGB4DB ( dst_2  ,
py_2  ,
,
2+  8 
)
PUTRGB4DB ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4DB ( dst_1  ,
py_1  ,
,
 
)
PUTRGB4DB ( dst_2  ,
py_2  ,
,
4+  8 
)
PUTRGB4DB ( dst_2  ,
py_2  ,
,
6+  8 
)
PUTRGB4DB ( dst_1  ,
py_1  ,
,
 
)
PUTRGB8 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB8 ( dst_2  ,
py_2  ,
,
0+  8 
)
PUTRGB8 ( dst_2  ,
py_2  ,
,
2+  8 
)
PUTRGB8 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB8 ( dst_1  ,
py_1  ,
,
 
)
PUTRGB8 ( dst_2  ,
py_2  ,
,
4+  8 
)
PUTRGB8 ( dst_2  ,
py_2  ,
,
6+  8 
)
PUTRGB8 ( dst_1  ,
py_1  ,
,
 
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_1  ,
,
24   
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_2  ,
,
24   
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_1  ,
,
24   
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_2  ,
,
24   
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_1  ,
,
24   
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_2  ,
,
24   
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_1  ,
,
24   
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_2  ,
,
24   
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_1  ,
,
 
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_2  ,
,
 
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_2  ,
,
 
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_1  ,
,
 
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_1  ,
,
 
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_2  ,
,
 
)
PUTRGBA ( dst_2  ,
py_2  ,
pa_2  ,
,
 
)
PUTRGBA ( dst_1  ,
py_1  ,
pa_1  ,
,
 
)
static uint16_t roundToInt16 ( int64_t  f)
static

Definition at line 582 of file yuv2rgb.c.

Referenced by ff_yuv2rgb_c_init_tables().

const int* sws_getCoefficients ( int  colorspace)

Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().

Parameters
colorspaceOne of the SWS_CS_* macros. If invalid, SWS_CS_DEFAULT is used.

Definition at line 54 of file yuv2rgb.c.

Variable Documentation

const uint8_t * d128 = dither_8x8_220[y&7]
const uint8_t* d16 = dither_4x4_16[y&3]

Definition at line 371 of file yuv2rgb.c.

const uint8_t* d32 = dither_8x8_32[y&7]

Definition at line 397 of file yuv2rgb.c.

Referenced by yuv2rgb_write().

const uint8_t * d64 = dither_8x8_73[y&7]

Definition at line 398 of file yuv2rgb.c.

Referenced by yuv2rgb_write().

const uint8_t dither_4x4_16[4][8]

Definition at line 75 of file swscale.c.

Referenced by yuv2rgb_write().

const uint8_t dither_8x8_220[8][8]
const uint8_t dither_8x8_32[8][8]

Definition at line 82 of file swscale.c.

Referenced by yuv2rgb_write().

const uint8_t dither_8x8_73[8][8]

Definition at line 93 of file swscale.c.

Referenced by yuv2rgb_write().

dst_1[0] = out_1

Definition at line 501 of file yuv2rgb.c.

dst_2[0] = out_2

Definition at line 502 of file yuv2rgb.c.

const int32_t ff_yuv2rgb_coeffs[8][4]
Initial value:
{
{117504, 138453, 13954, 34903},
{117504, 138453, 13954, 34903},
{104597, 132201, 25675, 53279},
{104597, 132201, 25675, 53279},
{104448, 132798, 24759, 53109},
{104597, 132201, 25675, 53279},
{104597, 132201, 25675, 53279},
{117579, 136230, 16907, 35559}
}

Definition at line 43 of file yuv2rgb.c.

Referenced by sws_getCachedContext(), sws_getCoefficients(), and sws_getContext().

g = c->table_gU[128] + c->table_gV[128]

Definition at line 481 of file yuv2rgb.c.

Referenced by aac_encode_frame(), add_hfyu_left_prediction_bgr32_c(), adjust_frame_information(), apply_dependent_coupling(), apply_intensity_stereo(), apply_mid_side_stereo(), asf_build_simple_index(), asf_read_ext_stream_properties(), asf_read_header(), asf_read_stream_properties(), avcodec_string(), bfi_decode_frame(), bgr24ToUV_c(), bgr24ToUV_half_c(), bgr24ToY_c(), bgr8torgb8(), cdg_load_palette(), convert_to_rgb32_loco(), dct_quantize_refine(), decode_band_types(), decode_cce(), decode_frame(), decode_hybrid(), decode_rgb_frame(), decode_scalefactors(), decode_spectrum_and_dequant(), deloco_rgb24(), dump_stream_format(), dvbsub_init_decoder(), dvbsub_parse_clut_segment(), encode_dvb_subtitles(), ff_mov_read_stsd_entries(), ff_set_systematic_pal2(), find_best_vect(), flic_decode_frame_8BPP(), gen_image(), generate_joint_tables(), get_match_score(), gif_clut_index(), guess_palette(), idcin_read_packet(), lag_decode_frame(), mp_decode_layer3(), mp_yuv_to_rgb(), paint_mouse_pointer(), parse_chunks(), 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(), pnm_decode_frame(), process_ipmovie_chunk(), psy_3gpp_analyze_channel(), psy_3gpp_init(), put_pixel(), qtrle_decode_24bpp(), ra144_encode_subblock(), restore_rgb_planes(), rgb12to15(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_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(), rgb48funcs(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb48ToY_c_template(), sbr_hf_gen(), search_for_ms(), search_for_quantizers_anmr(), search_for_quantizers_faac(), search_for_quantizers_fast(), search_for_quantizers_twoloop(), sha256_transform(), shuffle_bytes_2103_c(), shuffle_bytes_2103_TMPL(), sub_left_prediction_bgr32(), subtitle_thread(), sws_scale(), vb_decode_framedata(), vmd_decode(), vmdvideo_decode_init(), vqa_decode_chunk(), xan_decode_frame(), yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2mono_X_c_template(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), yuv2rgb_write(), yuv2rgb_X_c_template(), and yuv_a_to_rgba().

char out_1 = 0

Definition at line 480 of file yuv2rgb.c.

char out_2 = 0

Definition at line 480 of file yuv2rgb.c.

pa_1 = 8

Definition at line 256 of file yuv2rgb.c.

pa_2 = 8

Definition at line 257 of file yuv2rgb.c.