FFmpeg
Macros | Functions
rgb2rgb.c File Reference
#include <stdint.h>
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/x86/cpu.h"
#include "libavutil/cpu.h"
#include "libavutil/bswap.h"
#include "libavutil/mem_internal.h"
#include "libswscale/rgb2rgb.h"
#include "libswscale/swscale.h"
#include "libswscale/swscale_internal.h"

Go to the source code of this file.

Macros

#define DEINTERLEAVE_BYTES(cpuext)
 

Functions

void ff_shuffle_bytes_2103_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_0321_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_1230_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_3012_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_3210_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_3102_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_2013_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_2130_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
void ff_shuffle_bytes_1203_ssse3 (const uint8_t *src, uint8_t *dst, int src_size)
 
av_cold void rgb2rgb_init_x86 (void)
 

Macro Definition Documentation

◆ DEINTERLEAVE_BYTES

#define DEINTERLEAVE_BYTES (   cpuext)
Value:
void ff_nv12ToUV_ ## cpuext(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *unused, \
const uint8_t *src1, \
const uint8_t *src2, \
int w, \
uint32_t *unused2, \
void *opq); \
static void deinterleave_bytes_ ## cpuext(const uint8_t *src, uint8_t *dst1, uint8_t *dst2, \
int width, int height, int srcStride, \
int dst1Stride, int dst2Stride) \
{ \
for (int h = 0; h < height; h++) { \
if (width >= 16) \
ff_nv12ToUV_ ## cpuext(dst1, dst2, NULL, src, NULL, width - 15, NULL, NULL); \
for (int w = (width & (~15)); w < width; w++) { \
dst1[w] = src[2*w+0]; \
dst2[w] = src[2*w+1]; \
} \
src += srcStride; \
dst1 += dst1Stride; \
dst2 += dst2Stride; \
} \
}

Definition at line 2378 of file rgb2rgb.c.

Function Documentation

◆ ff_shuffle_bytes_2103_ssse3()

void ff_shuffle_bytes_2103_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_0321_ssse3()

void ff_shuffle_bytes_0321_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_1230_ssse3()

void ff_shuffle_bytes_1230_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_3012_ssse3()

void ff_shuffle_bytes_3012_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_3210_ssse3()

void ff_shuffle_bytes_3210_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_3102_ssse3()

void ff_shuffle_bytes_3102_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_2013_ssse3()

void ff_shuffle_bytes_2013_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_2130_ssse3()

void ff_shuffle_bytes_2130_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ ff_shuffle_bytes_1203_ssse3()

void ff_shuffle_bytes_1203_ssse3 ( const uint8_t *  src,
uint8_t *  dst,
int  src_size 
)

Referenced by rgb2rgb_init_x86().

◆ rgb2rgb_init_x86()

av_cold void rgb2rgb_init_x86 ( void  )

Definition at line 2410 of file rgb2rgb.c.

Referenced by ff_sws_rgb2rgb_init().

src1
const pixel * src1
Definition: h264pred_template.c:421
w
uint8_t w
Definition: llviddspenc.c:38
NULL
#define NULL
Definition: coverity.c:32
height
#define height
Definition: dsp.h:85
src2
const pixel * src2
Definition: h264pred_template.c:422
h
h
Definition: vp9dsp_template.c:2070
width
#define width
Definition: dsp.h:85
src
#define src
Definition: vp8dsp.c:248