FFmpeg  4.4.5
Macros | Functions | Variables
yuv2rgb_template.c File Reference
#include <stdint.h>
#include "libavutil/x86/asm.h"
#include "libswscale/swscale_internal.h"

Go to the source code of this file.

Macros

#define YUV2RGB_LOOP(depth)
 

Functions

void RENAME() ff_yuv_420_rgb24 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
 
void RENAME() ff_yuv_420_bgr24 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
 
void RENAME() ff_yuv_420_rgb15 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
 
void RENAME() ff_yuv_420_rgb16 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
 
void RENAME() ff_yuv_420_rgb32 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
 
void RENAME() ff_yuv_420_bgr32 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
 
void RENAME() ff_yuva_420_rgb32 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index, const uint8_t *pa_2index)
 
void RENAME() ff_yuva_420_bgr32 (x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index, const uint8_t *pa_2index)
 
static int RENAME() yuv420_rgb15 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuv420_rgb16 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuv420_rgb32 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuv420_bgr32 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuva420_rgb32 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuva420_bgr32 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuv420_rgb24 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 
static int RENAME() yuv420_bgr24 (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
 

Variables

return srcSliceH
 

Macro Definition Documentation

◆ YUV2RGB_LOOP

#define YUV2RGB_LOOP (   depth)
Value:
h_size = (c->dstW + 7) & ~7; \
if (h_size * depth > FFABS(dstStride[0])) \
h_size -= 8; \
\
vshift = c->srcFormat != AV_PIX_FMT_YUV422P; \
for (y = 0; y < srcSliceH; y++) { \
uint8_t *image = dst[0] + (y + srcSliceY) * dstStride[0]; \
const uint8_t *py = src[0] + y * srcStride[0]; \
const uint8_t *pu = src[1] + (y >> vshift) * srcStride[1]; \
const uint8_t *pv = src[2] + (y >> vshift) * srcStride[2]; \
x86_reg index = -h_size / 2; \
uint8_t
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
Definition: common.h:72
int index
Definition: gxfenc.c:89
for(j=16;j >0;--j)
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:70
#define pv
Definition: regdef.h:60
#define src
Definition: vp8dsp.c:255
static double c[64]
return srcSliceH

Definition at line 29 of file yuv2rgb_template.c.

Function Documentation

◆ ff_yuv_420_rgb24()

void RENAME() ff_yuv_420_rgb24 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index 
)

Referenced by yuv420_rgb24().

◆ ff_yuv_420_bgr24()

void RENAME() ff_yuv_420_bgr24 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index 
)

Referenced by yuv420_bgr24().

◆ ff_yuv_420_rgb15()

void RENAME() ff_yuv_420_rgb15 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index 
)

Referenced by yuv420_rgb15().

◆ ff_yuv_420_rgb16()

void RENAME() ff_yuv_420_rgb16 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index 
)

Referenced by yuv420_rgb16().

◆ ff_yuv_420_rgb32()

void RENAME() ff_yuv_420_rgb32 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index 
)

Referenced by yuv420_rgb32().

◆ ff_yuv_420_bgr32()

void RENAME() ff_yuv_420_bgr32 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index 
)

Referenced by yuv420_bgr32().

◆ ff_yuva_420_rgb32()

void RENAME() ff_yuva_420_rgb32 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index,
const uint8_t pa_2index 
)

Referenced by yuva420_rgb32().

◆ ff_yuva_420_bgr32()

void RENAME() ff_yuva_420_bgr32 ( x86_reg  index,
uint8_t image,
const uint8_t pu_index,
const uint8_t pv_index,
const uint64_t *  pointer_c_dither,
const uint8_t py_2index,
const uint8_t pa_2index 
)

Referenced by yuva420_bgr32().

◆ yuv420_rgb15()

static int RENAME() yuv420_rgb15 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 70 of file yuv2rgb_template.c.

◆ yuv420_rgb16()

static int RENAME() yuv420_rgb16 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 90 of file yuv2rgb_template.c.

◆ yuv420_rgb32()

static int RENAME() yuv420_rgb32 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 110 of file yuv2rgb_template.c.

◆ yuv420_bgr32()

static int RENAME() yuv420_bgr32 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 124 of file yuv2rgb_template.c.

◆ yuva420_rgb32()

static int RENAME() yuva420_rgb32 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 138 of file yuv2rgb_template.c.

◆ yuva420_bgr32()

static int RENAME() yuva420_bgr32 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 152 of file yuv2rgb_template.c.

◆ yuv420_rgb24()

static int RENAME() yuv420_rgb24 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 168 of file yuv2rgb_template.c.

◆ yuv420_bgr24()

static int RENAME() yuv420_bgr24 ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
inlinestatic

Definition at line 182 of file yuv2rgb_template.c.

Variable Documentation

◆ srcSliceH

return srcSliceH