FFmpeg  4.0
Macros | Functions | Variables
rgb2rgb.c File Reference
#include <inttypes.h>
#include "libavutil/attributes.h"
#include "libavutil/bswap.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"
#include "rgb2rgb_template.c"

Go to the source code of this file.

Macros

#define BY   ((int)( 0.098 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define BV   ((int)(-0.071 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define BU   ((int)( 0.439 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define GY   ((int)( 0.504 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define GV   ((int)(-0.368 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define GU   ((int)(-0.291 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define RY   ((int)( 0.257 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define RV   ((int)( 0.439 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define RU   ((int)(-0.148 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define DEFINE_RGB48TOBGR48(need_bswap, swap)
 
#define DEFINE_RGB64TOBGR48(need_bswap, swap)
 
#define DEFINE_RGB64TO48(need_bswap, swap)
 
#define DEFINE_RGB48TOBGR64(need_bswap, swap)
 
#define DEFINE_RGB48TO64(need_bswap, swap)
 

Functions

av_cold void ff_sws_rgb2rgb_init (void)
 
void rgb32to24 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb24to32 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb16tobgr32 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb12to15 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb16to24 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb16tobgr16 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb16tobgr15 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb15tobgr32 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb15to24 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb15tobgr16 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb15tobgr15 (const uint8_t *src, uint8_t *dst, int src_size)
 
void rgb12tobgr12 (const uint8_t *src, uint8_t *dst, int src_size)
 

Variables

void(* rgb32tobgr24 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb32tobgr16 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb32tobgr15 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb24tobgr32 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb24tobgr24 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb24tobgr16 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb24tobgr15 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb16tobgr24 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb15tobgr24 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb32to16 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb32to15 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb24to16 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb24to15 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb16to32 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb16to15 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb15to16 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* rgb15to32 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* shuffle_bytes_0321 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* shuffle_bytes_2103 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* shuffle_bytes_1230 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* shuffle_bytes_3012 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* shuffle_bytes_3210 )(const uint8_t *src, uint8_t *dst, int src_size)
 
void(* yv12toyuy2 )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
 Height should be a multiple of 2 and width should be a multiple of 16. More...
 
void(* yv12touyvy )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
 Height should be a multiple of 2 and width should be a multiple of 16. More...
 
void(* yuv422ptoyuy2 )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
 Width should be a multiple of 16. More...
 
void(* yuv422ptouyvy )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
 Width should be a multiple of 16. More...
 
void(* yuy2toyv12 )(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)
 Height should be a multiple of 2 and width should be a multiple of 16. More...
 
void(* ff_rgb24toyv12 )(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride, int32_t *rgb2yuv)
 Height should be a multiple of 2 and width should be a multiple of 2. More...
 
void(* planar2x )(const uint8_t *src, uint8_t *dst, int width, int height, int srcStride, int dstStride)
 
void(* interleaveBytes )(const uint8_t *src1, const uint8_t *src2, uint8_t *dst, int width, int height, int src1Stride, int src2Stride, int dstStride)
 
void(* deinterleaveBytes )(const uint8_t *src, uint8_t *dst1, uint8_t *dst2, int width, int height, int srcStride, int dst1Stride, int dst2Stride)
 
void(* vu9_to_vu12 )(const uint8_t *src1, const uint8_t *src2, uint8_t *dst1, uint8_t *dst2, int width, int height, int srcStride1, int srcStride2, int dstStride1, int dstStride2)
 
void(* yvu9_to_yuy2 )(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, uint8_t *dst, int width, int height, int srcStride1, int srcStride2, int srcStride3, int dstStride)
 
void(* uyvytoyuv420 )(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
 
void(* uyvytoyuv422 )(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
 
void(* yuyvtoyuv420 )(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
 
void(* yuyvtoyuv422 )(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
 

Macro Definition Documentation

◆ BY

#define BY   ((int)( 0.098 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 117 of file rgb2rgb.c.

◆ BV

#define BV   ((int)(-0.071 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 118 of file rgb2rgb.c.

◆ BU

#define BU   ((int)( 0.439 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 119 of file rgb2rgb.c.

◆ GY

#define GY   ((int)( 0.504 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 120 of file rgb2rgb.c.

◆ GV

#define GV   ((int)(-0.368 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 121 of file rgb2rgb.c.

◆ GU

#define GU   ((int)(-0.291 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 122 of file rgb2rgb.c.

◆ RY

#define RY   ((int)( 0.257 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 123 of file rgb2rgb.c.

◆ RV

#define RV   ((int)( 0.439 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 124 of file rgb2rgb.c.

◆ RU

#define RU   ((int)(-0.148 * (1 << RGB2YUV_SHIFT) + 0.5))

Definition at line 125 of file rgb2rgb.c.

◆ DEFINE_RGB48TOBGR48

#define DEFINE_RGB48TOBGR48 (   need_bswap,
  swap 
)
Value:
void rgb48tobgr48_ ## need_bswap(const uint8_t *src, \
uint8_t *dst, int src_size) \
{ \
uint16_t *d = (uint16_t *)dst; \
uint16_t *s = (uint16_t *)src; \
int i, num_pixels = src_size >> 1; \
for (i = 0; i < num_pixels; i += 3) { \
d[i ] = swap ? av_bswap16(s[i + 2]) : s[i + 2]; \
d[i + 1] = swap ? av_bswap16(s[i + 1]) : s[i + 1]; \
d[i + 2] = swap ? av_bswap16(s[i ]) : s[i ]; \
} \
}
const char * s
Definition: avisynth_c.h:768
#define av_bswap16
Definition: bswap.h:31
#define src
Definition: vp8dsp.c:254
uint8_t
for(j=16;j >0;--j)

Definition at line 326 of file rgb2rgb.c.

◆ DEFINE_RGB64TOBGR48

#define DEFINE_RGB64TOBGR48 (   need_bswap,
  swap 
)
Value:
void rgb64tobgr48_ ## need_bswap(const uint8_t *src, \
uint8_t *dst, int src_size) \
{ \
uint16_t *d = (uint16_t *)dst; \
uint16_t *s = (uint16_t *)src; \
int i, num_pixels = src_size >> 3; \
for (i = 0; i < num_pixels; i++) { \
d[3 * i ] = swap ? av_bswap16(s[4 * i + 2]) : s[4 * i + 2]; \
d[3 * i + 1] = swap ? av_bswap16(s[4 * i + 1]) : s[4 * i + 1]; \
d[3 * i + 2] = swap ? av_bswap16(s[4 * i ]) : s[4 * i ]; \
} \
}
const char * s
Definition: avisynth_c.h:768
#define av_bswap16
Definition: bswap.h:31
#define src
Definition: vp8dsp.c:254
uint8_t
for(j=16;j >0;--j)

Definition at line 344 of file rgb2rgb.c.

◆ DEFINE_RGB64TO48

#define DEFINE_RGB64TO48 (   need_bswap,
  swap 
)
Value:
void rgb64to48_ ## need_bswap(const uint8_t *src, \
uint8_t *dst, int src_size) \
{ \
uint16_t *d = (uint16_t *)dst; \
uint16_t *s = (uint16_t *)src; \
int i, num_pixels = src_size >> 3; \
for (i = 0; i < num_pixels; i++) { \
d[3 * i ] = swap ? av_bswap16(s[4 * i ]) : s[4 * i ]; \
d[3 * i + 1] = swap ? av_bswap16(s[4 * i + 1]) : s[4 * i + 1]; \
d[3 * i + 2] = swap ? av_bswap16(s[4 * i + 2]) : s[4 * i + 2]; \
} \
}
const char * s
Definition: avisynth_c.h:768
#define av_bswap16
Definition: bswap.h:31
#define src
Definition: vp8dsp.c:254
uint8_t
for(j=16;j >0;--j)

Definition at line 362 of file rgb2rgb.c.

◆ DEFINE_RGB48TOBGR64

#define DEFINE_RGB48TOBGR64 (   need_bswap,
  swap 
)
Value:
void rgb48tobgr64_ ## need_bswap(const uint8_t *src, \
uint8_t *dst, int src_size) \
{ \
uint16_t *d = (uint16_t *)dst; \
uint16_t *s = (uint16_t *)src; \
int i, num_pixels = src_size / 6; \
for (i = 0; i < num_pixels; i++) { \
d[4 * i ] = swap ? av_bswap16(s[3 * i + 2]) : s[3 * i + 2]; \
d[4 * i + 1] = swap ? av_bswap16(s[3 * i + 1]) : s[3 * i + 1]; \
d[4 * i + 2] = swap ? av_bswap16(s[3 * i ]) : s[3 * i ]; \
d[4 * i + 3] = 0xFFFF; \
} \
}
const char * s
Definition: avisynth_c.h:768
#define av_bswap16
Definition: bswap.h:31
#define src
Definition: vp8dsp.c:254
uint8_t
for(j=16;j >0;--j)

Definition at line 380 of file rgb2rgb.c.

◆ DEFINE_RGB48TO64

#define DEFINE_RGB48TO64 (   need_bswap,
  swap 
)
Value:
void rgb48to64_ ## need_bswap(const uint8_t *src, \
uint8_t *dst, int src_size) \
{ \
uint16_t *d = (uint16_t *)dst; \
uint16_t *s = (uint16_t *)src; \
int i, num_pixels = src_size / 6; \
for (i = 0; i < num_pixels; i++) { \
d[4 * i ] = swap ? av_bswap16(s[3 * i ]) : s[3 * i ]; \
d[4 * i + 1] = swap ? av_bswap16(s[3 * i + 1]) : s[3 * i + 1]; \
d[4 * i + 2] = swap ? av_bswap16(s[3 * i + 2]) : s[3 * i + 2]; \
d[4 * i + 3] = 0xFFFF; \
} \
}
const char * s
Definition: avisynth_c.h:768
#define av_bswap16
Definition: bswap.h:31
#define src
Definition: vp8dsp.c:254
uint8_t
for(j=16;j >0;--j)

Definition at line 399 of file rgb2rgb.c.

Function Documentation

◆ ff_sws_rgb2rgb_init()

av_cold void ff_sws_rgb2rgb_init ( void  )

Definition at line 137 of file rgb2rgb.c.

Referenced by checkasm_check_sw_rgb(), main(), and sws_init_context().

◆ rgb32to24()

void rgb32to24 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 144 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24to32()

void rgb24to32 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 162 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16tobgr32()

void rgb16tobgr32 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 182 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb12to15()

void rgb12to15 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 204 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16to24()

void rgb16to24 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 223 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16tobgr16()

void rgb16tobgr16 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 237 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16tobgr15()

void rgb16tobgr15 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 247 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb15tobgr32()

void rgb15tobgr32 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 257 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb15to24()

void rgb15to24 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 279 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb15tobgr16()

void rgb15tobgr16 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 293 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb15tobgr15()

void rgb15tobgr15 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 303 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb12tobgr12()

void rgb12tobgr12 ( const uint8_t src,
uint8_t dst,
int  src_size 
)

Definition at line 314 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

Variable Documentation

◆ rgb32tobgr24

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

Definition at line 35 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb32tobgr16

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

Definition at line 36 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb32tobgr15

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

Definition at line 37 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24tobgr32

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

Definition at line 38 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24tobgr24

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

Definition at line 39 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24tobgr16

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

Definition at line 40 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24tobgr15

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

Definition at line 41 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16tobgr24

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

Definition at line 42 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb15tobgr24

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

Definition at line 43 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb32to16

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

Definition at line 45 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb32to15

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

Definition at line 46 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24to16

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

Definition at line 47 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb24to15

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

Definition at line 48 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16to32

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

Definition at line 49 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb16to15

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

Definition at line 50 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ rgb15to16

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

Definition at line 51 of file rgb2rgb.c.

Referenced by findRgbConvFn(), main(), and sws_init_context().

◆ rgb15to32

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

Definition at line 52 of file rgb2rgb.c.

Referenced by findRgbConvFn(), and main().

◆ shuffle_bytes_0321

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

Definition at line 54 of file rgb2rgb.c.

Referenced by checkasm_check_sw_rgb(), findRgbConvFn(), rgb2rgb_init_c(), and rgb2rgb_init_x86().

◆ shuffle_bytes_2103

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

Definition at line 55 of file rgb2rgb.c.

Referenced by checkasm_check_sw_rgb(), findRgbConvFn(), main(), and rgb2rgb_init_x86().

◆ shuffle_bytes_1230

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

Definition at line 56 of file rgb2rgb.c.

Referenced by checkasm_check_sw_rgb(), findRgbConvFn(), rgb2rgb_init_c(), and rgb2rgb_init_x86().

◆ shuffle_bytes_3012

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

Definition at line 57 of file rgb2rgb.c.

Referenced by checkasm_check_sw_rgb(), findRgbConvFn(), rgb2rgb_init_c(), and rgb2rgb_init_x86().

◆ shuffle_bytes_3210

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

Definition at line 58 of file rgb2rgb.c.

Referenced by checkasm_check_sw_rgb(), findRgbConvFn(), rgb2rgb_init_c(), and rgb2rgb_init_x86().

◆ yv12toyuy2

void(* yv12toyuy2) (const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)

Height should be a multiple of 2 and width should be a multiple of 16.

(If this is a problem for anyone then tell me, and I will fix it.)

Definition at line 61 of file rgb2rgb.c.

Referenced by planarToYuy2Wrapper().

◆ yv12touyvy

void(* yv12touyvy) (const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)

Height should be a multiple of 2 and width should be a multiple of 16.

(If this is a problem for anyone then tell me, and I will fix it.)

Definition at line 65 of file rgb2rgb.c.

Referenced by planarToUyvyWrapper().

◆ yuv422ptoyuy2

void(* yuv422ptoyuy2) (const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)

Width should be a multiple of 16.

Definition at line 69 of file rgb2rgb.c.

Referenced by yuv422pToYuy2Wrapper().

◆ yuv422ptouyvy

void(* yuv422ptouyvy) (const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)

Width should be a multiple of 16.

Definition at line 73 of file rgb2rgb.c.

Referenced by yuv422pToUyvyWrapper().

◆ yuy2toyv12

void(* yuy2toyv12) (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)

Height should be a multiple of 2 and width should be a multiple of 16.

(If this is a problem for anyone then tell me, and I will fix it.)

Definition at line 77 of file rgb2rgb.c.

◆ ff_rgb24toyv12

void(* ff_rgb24toyv12) (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride, int32_t *rgb2yuv)

Height should be a multiple of 2 and width should be a multiple of 2.

(If this is a problem for anyone then tell me, and I will fix it.) Chrominance data is only taken from every second line, others are ignored. FIXME: Write high quality version.

Definition at line 81 of file rgb2rgb.c.

Referenced by bgr24ToYv12Wrapper(), rgb2rgb_init(), and rgb2rgb_init_c().

◆ planar2x

void(* planar2x) (const uint8_t *src, uint8_t *dst, int width, int height, int srcStride, int dstStride)

Definition at line 86 of file rgb2rgb.c.

Referenced by rgb2rgb_init(), rgb2rgb_init_c(), yuy2toyv12(), and yvu9ToYv12Wrapper().

◆ interleaveBytes

void(* interleaveBytes) (const uint8_t *src1, const uint8_t *src2, uint8_t *dst, int width, int height, int src1Stride, int src2Stride, int dstStride)

Definition at line 88 of file rgb2rgb.c.

Referenced by planarToNv12Wrapper().

◆ deinterleaveBytes

void(* deinterleaveBytes) (const uint8_t *src, uint8_t *dst1, uint8_t *dst2, int width, int height, int srcStride, int dst1Stride, int dst2Stride)

Definition at line 91 of file rgb2rgb.c.

Referenced by interleaveBytes(), nv12ToPlanarWrapper(), rgb2rgb_init(), and rgb2rgb_init_c().

◆ vu9_to_vu12

void(* vu9_to_vu12) (const uint8_t *src1, const uint8_t *src2, uint8_t *dst1, uint8_t *dst2, int width, int height, int srcStride1, int srcStride2, int dstStride1, int dstStride2)

Definition at line 94 of file rgb2rgb.c.

◆ yvu9_to_yuy2

void(* yvu9_to_yuy2) (const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, uint8_t *dst, int width, int height, int srcStride1, int srcStride2, int srcStride3, int dstStride)

Definition at line 99 of file rgb2rgb.c.

◆ uyvytoyuv420

void(* uyvytoyuv420) (uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)

Definition at line 104 of file rgb2rgb.c.

Referenced by uyvyToYuv420Wrapper().

◆ uyvytoyuv422

void(* uyvytoyuv422) (uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)

Definition at line 107 of file rgb2rgb.c.

Referenced by uyvyToYuv422Wrapper().

◆ yuyvtoyuv420

void(* yuyvtoyuv420) (uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)

Definition at line 110 of file rgb2rgb.c.

Referenced by yuyvToYuv420Wrapper().

◆ yuyvtoyuv422

void(* yuyvtoyuv422) (uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)

Definition at line 113 of file rgb2rgb.c.

Referenced by yuyvToYuv422Wrapper().