FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
input.c File Reference
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avutil.h"
#include "libavutil/bswap.h"
#include "libavutil/cpu.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avassert.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"

Go to the source code of this file.

Macros

#define input_pixel(pos)   (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
 
#define r   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE || origin == AV_PIX_FMT_BGRA64BE || origin == AV_PIX_FMT_BGRA64LE) ? b_r : r_b)
 
#define b   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE || origin == AV_PIX_FMT_BGRA64BE || origin == AV_PIX_FMT_BGRA64LE) ? r_b : b_r)
 
#define rgb64funcs(pattern, BE_LE, origin)
 
#define rgb48funcs(pattern, BE_LE, origin)
 
#define input_pixel(i)
 
#define rgb16_32_wrapper(fmt, name, shr, shg, shb, shp, maskr,maskg, maskb, rsh, gsh, bsh, S)
 
#define input_pixel(pos)   (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
 
#define rdpx(src)   is_be ? AV_RB16(src) : AV_RL16(src)
 
#define rgb9plus_planar_funcs_endian(nbits, endian_name, endian)
 
#define rgb9plus_planar_funcs(nbits)
 

Functions

static av_always_inline void rgb64ToY_c_template (uint16_t *dst, const uint16_t *src, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
 
static av_always_inline void rgb64ToUV_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
 
static av_always_inline void rgb64ToUV_half_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
 
 rgb64funcs (rgb64funcs(rgb, rgb64funcs(LE, AV_PIX_FMT_RGBA64LE)
 
static av_always_inline void rgb48ToUV_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
 
static av_always_inline void rgb48ToUV_half_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
 
 rgb48funcs (rgb48funcs(rgb, rgb48funcs(LE, AV_PIX_FMT_RGB48LE)
 
static av_always_inline void rgb16_32ToUV_c_template (int16_t *dstU, int16_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S, int32_t *rgb2yuv)
 
static av_always_inline void rgb16_32ToUV_half_c_template (int16_t *dstU, int16_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S, int32_t *rgb2yuv)
 
 rgb16_32_wrapper (AV_PIX_FMT_BGR32, bgr32, 16, 0, 0, 0, 0xFF0000, 0xFF00, 0x00FF, 8, 0, 8, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_BGR32_1
 
RGB2YUV_SHIFT rgb16_32_wrapper (AV_PIX_FMT_RGB32, rgb32, 0, 0, 16, 0, 0x00FF, 0xFF00, 0xFF0000, 8, 0, 8, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_RGB32_1
 
RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper (AV_PIX_FMT_BGR565LE, bgr16le, 0, 0, 0, 0, 0x001F, 0x07E0, 0xF800, 11, 5, 0, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_BGR555LE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_BGR444LE, bgr12le, 0, 0, 0, 0, 0x000F, 0x00F0, 0x0F00, 8, 4, 0, RGB2YUV_SHIFT+4) rgb16_32_wrapper(AV_PIX_FMT_RGB565LE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_RGB555LE, rgb15le, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, 0, 5, 10, RGB2YUV_SHIFT+7) rgb16_32_wrapper(AV_PIX_FMT_RGB444LE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_BGR565BE, bgr16be, 0, 0, 0, 0, 0x001F, 0x07E0, 0xF800, 11, 5, 0, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_BGR555BE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_BGR444BE, bgr12be, 0, 0, 0, 0, 0x000F, 0x00F0, 0x0F00, 8, 4, 0, RGB2YUV_SHIFT+4) rgb16_32_wrapper(AV_PIX_FMT_RGB565BE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_RGB555BE, rgb15be, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, 0, 5, 10, RGB2YUV_SHIFT+7) rgb16_32_wrapper(AV_PIX_FMT_RGB444BE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT static
RGB2YUV_SHIFT void 
gbr24pToUV_half_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *gsrc, const uint8_t *bsrc, const uint8_t *rsrc, int width, uint32_t *rgb2yuv)
 
static void rgba64leToA_c (uint8_t *_dst, const uint8_t *_src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void rgba64beToA_c (uint8_t *_dst, const uint8_t *_src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void abgrToA_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void rgbaToA_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void palToA_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *pal)
 
static void palToY_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *pal)
 
static void palToUV_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *pal)
 
static void monowhite2Y_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void monoblack2Y_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void yuy2ToY_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void yuy2ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void yvy2ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void bswap16Y_c (uint8_t *_dst, const uint8_t *_src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void bswap16UV_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *_src1, const uint8_t *_src2, int width, uint32_t *unused)
 
static void read_ya16le_gray_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void read_ya16le_alpha_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void read_ya16be_gray_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void read_ya16be_alpha_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void read_ayuv64le_Y_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused0, const uint8_t *unused1, int width, uint32_t *unused2)
 
static void read_ayuv64le_UV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src, const uint8_t *unused1, int width, uint32_t *unused2)
 
static void read_ayuv64le_A_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused0, const uint8_t *unused1, int width, uint32_t *unused2)
 
static void uyvyToY_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void uyvyToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static av_always_inline void nvXXtoUV_c (uint8_t *dst1, uint8_t *dst2, const uint8_t *src, int width)
 
static void nv12ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void nv21ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void p010LEToY_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void p010BEToY_c (uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
 
static void p010LEToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void p010BEToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void bgr24ToY_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *rgb2yuv)
 
static void bgr24ToUV_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *rgb2yuv)
 
static void bgr24ToUV_half_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *rgb2yuv)
 
static void rgb24ToY_c (uint8_t *_dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *rgb2yuv)
 
static void rgb24ToUV_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *rgb2yuv)
 
static void rgb24ToUV_half_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused0, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *rgb2yuv)
 
static void planar_rgb_to_y (uint8_t *_dst, const uint8_t *src[4], int width, int32_t *rgb2yuv)
 
static void planar_rgb_to_a (uint8_t *_dst, const uint8_t *src[4], int width, int32_t *unused)
 
static void planar_rgb_to_uv (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *src[4], int width, int32_t *rgb2yuv)
 
static av_always_inline void planar_rgb16_to_y (uint8_t *_dst, const uint8_t *_src[4], int width, int bpc, int is_be, int32_t *rgb2yuv)
 
static av_always_inline void planar_rgb16_to_a (uint8_t *_dst, const uint8_t *_src[4], int width, int bpc, int is_be, int32_t *rgb2yuv)
 
static av_always_inline void planar_rgb16_to_uv (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *_src[4], int width, int bpc, int is_be, int32_t *rgb2yuv)
 
 rgb9plus_planar_funcs (9)
 

Variables

 bgr321
 
RGB2YUV_SHIFT rgb321
 
RGB2YUV_SHIFT RGB2YUV_SHIFT bgr15le
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16le
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb12le
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
bgr15be
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb16be
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb12be
 

Macro Definition Documentation

#define input_pixel (   pos)    (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
#define r   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE || origin == AV_PIX_FMT_BGRA64BE || origin == AV_PIX_FMT_BGRA64LE) ? b_r : r_b)
#define b   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE || origin == AV_PIX_FMT_BGRA64BE || origin == AV_PIX_FMT_BGRA64LE) ? r_b : b_r)
#define rgb64funcs (   pattern,
  BE_LE,
  origin 
)
Value:
static void pattern ## 64 ## BE_LE ## ToY_c(uint8_t *_dst, const uint8_t *_src, const uint8_t *unused0, const uint8_t *unused1,\
int width, uint32_t *rgb2yuv) \
{ \
const uint16_t *src = (const uint16_t *) _src; \
uint16_t *dst = (uint16_t *) _dst; \
rgb64ToY_c_template(dst, src, width, origin, rgb2yuv); \
} \
\
static void pattern ## 64 ## BE_LE ## ToUV_c(uint8_t *_dstU, uint8_t *_dstV, \
const uint8_t *unused0, const uint8_t *_src1, const uint8_t *_src2, \
int width, uint32_t *rgb2yuv) \
{ \
const uint16_t *src1 = (const uint16_t *) _src1, \
*src2 = (const uint16_t *) _src2; \
uint16_t *dstU = (uint16_t *) _dstU, *dstV = (uint16_t *) _dstV; \
rgb64ToUV_c_template(dstU, dstV, src1, src2, width, origin, rgb2yuv); \
} \
\
static void pattern ## 64 ## BE_LE ## ToUV_half_c(uint8_t *_dstU, uint8_t *_dstV, \
const uint8_t *unused0, const uint8_t *_src1, const uint8_t *_src2, \
int width, uint32_t *rgb2yuv) \
{ \
const uint16_t *src1 = (const uint16_t *) _src1, \
*src2 = (const uint16_t *) _src2; \
uint16_t *dstU = (uint16_t *) _dstU, *dstV = (uint16_t *) _dstV; \
rgb64ToUV_half_c_template(dstU, dstV, src1, src2, width, origin, rgb2yuv); \
}
static av_always_inline void rgb64ToUV_half_c_template(uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
Definition: input.c:78
static void fn() rgb2yuv(uint8_t *_yuv[3], const ptrdiff_t yuv_stride[3], int16_t *rgb[3], ptrdiff_t s, int w, int h, const int16_t rgb2yuv_coeffs[3][3][8], const int16_t yuv_offset[8])
uint8_t
#define width
#define src
Definition: vp9dsp.c:530
#define src1
Definition: h264pred.c:139
static av_always_inline void rgb64ToUV_c_template(uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
Definition: input.c:59
static av_always_inline void rgb64ToY_c_template(uint16_t *dst, const uint16_t *src, int width, enum AVPixelFormat origin, int32_t *rgb2yuv)
Definition: input.c:44

Definition at line 96 of file input.c.

#define rgb48funcs (   pattern,
  BE_LE,
  origin 
)

Definition at line 197 of file input.c.

#define input_pixel (   i)
Value:
((origin == AV_PIX_FMT_RGBA || \
origin == AV_PIX_FMT_BGRA || \
origin == AV_PIX_FMT_ARGB || \
origin == AV_PIX_FMT_ABGR) \
? AV_RN32A(&src[(i) * 4]) \
: (isBE(origin) ? AV_RB16(&src[(i) * 2]) \
: AV_RL16(&src[(i) * 2])))
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_WB32 unsigned int_TMPL AV_WB24 unsigned int_TMPL AV_RB16
Definition: bytestream.h:87
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
Definition: bytestream.h:87
#define AV_RN32A(p)
Definition: intreadwrite.h:526
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition: pixfmt.h:95
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition: pixfmt.h:96
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition: pixfmt.h:93
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition: pixfmt.h:94
#define src
Definition: vp9dsp.c:530
static av_always_inline int isBE(enum AVPixelFormat pix_fmt)

Definition at line 722 of file input.c.

#define rgb16_32_wrapper (   fmt,
  name,
  shr,
  shg,
  shb,
  shp,
  maskr,
  maskg,
  maskb,
  rsh,
  gsh,
  bsh,
  S 
)
Value:
static void name ## ToY_c(uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, \
int width, uint32_t *tab) \
{ \
rgb16_32ToY_c_template((int16_t*)dst, src, width, fmt, shr, shg, shb, shp, \
maskr, maskg, maskb, rsh, gsh, bsh, S, tab); \
} \
\
static void name ## ToUV_c(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *unused0, const uint8_t *src, const uint8_t *dummy, \
int width, uint32_t *tab) \
{ \
rgb16_32ToUV_c_template((int16_t*)dstU, (int16_t*)dstV, src, width, fmt, \
shr, shg, shb, shp, \
maskr, maskg, maskb, rsh, gsh, bsh, S, tab);\
} \
\
static void name ## ToUV_half_c(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *unused0, const uint8_t *src, \
const uint8_t *dummy, \
int width, uint32_t *tab) \
{ \
rgb16_32ToUV_half_c_template((int16_t*)dstU, (int16_t*)dstV, src, width, fmt, \
shr, shg, shb, shp, \
maskr, maskg, maskb, \
rsh, gsh, bsh, S, tab); \
}
const char * fmt
Definition: avisynth_c.h:769
uint8_t
#define S(s, c, i)
static av_always_inline void rgb16_32ToUV_c_template(int16_t *dstU, int16_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S, int32_t *rgb2yuv)
Definition: input.c:277
#define width
int dummy
Definition: motion.c:64
#define src
Definition: vp9dsp.c:530
static av_always_inline void rgb16_32ToUV_half_c_template(int16_t *dstU, int16_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S, int32_t *rgb2yuv)
Definition: input.c:305
static const struct twinvq_data tab
const char * name
Definition: opengl_enc.c:103

Definition at line 349 of file input.c.

#define input_pixel (   pos)    (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))

Definition at line 722 of file input.c.

#define rdpx (   src)    is_be ? AV_RB16(src) : AV_RL16(src)

Definition at line 869 of file input.c.

Referenced by planar_rgb16_to_a(), planar_rgb16_to_uv(), and planar_rgb16_to_y().

#define rgb9plus_planar_funcs_endian (   nbits,
  endian_name,
  endian 
)
Value:
static void planar_rgb##nbits##endian_name##_to_y(uint8_t *dst, const uint8_t *src[4], \
int w, int32_t *rgb2yuv) \
{ \
planar_rgb16_to_y(dst, src, w, nbits, endian, rgb2yuv); \
} \
static void planar_rgb##nbits##endian_name##_to_a(uint8_t *dst, const uint8_t *src[4], \
int w, int32_t *rgb2yuv) \
{ \
planar_rgb16_to_a(dst, src, w, nbits, endian, rgb2yuv); \
} \
static void planar_rgb##nbits##endian_name##_to_uv(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *src[4], int w, int32_t *rgb2yuv) \
{ \
planar_rgb16_to_uv(dstU, dstV, src, w, nbits, endian, rgb2yuv); \
} \
static void fn() rgb2yuv(uint8_t *_yuv[3], const ptrdiff_t yuv_stride[3], int16_t *rgb[3], ptrdiff_t s, int w, int h, const int16_t rgb2yuv_coeffs[3][3][8], const int16_t yuv_offset[8])
uint8_t
static av_always_inline void planar_rgb16_to_a(uint8_t *_dst, const uint8_t *_src[4], int width, int bpc, int is_be, int32_t *rgb2yuv)
Definition: input.c:888
int32_t
static av_always_inline void planar_rgb16_to_y(uint8_t *_dst, const uint8_t *_src[4], int width, int bpc, int is_be, int32_t *rgb2yuv)
Definition: input.c:871
#define src
Definition: vp9dsp.c:530
static av_always_inline void planar_rgb16_to_uv(uint8_t *_dstU, uint8_t *_dstV, const uint8_t *_src[4], int width, int bpc, int is_be, int32_t *rgb2yuv)
Definition: input.c:901

Definition at line 923 of file input.c.

#define rgb9plus_planar_funcs (   nbits)
Value:
#define rgb9plus_planar_funcs_endian(nbits, endian_name, endian)
Definition: input.c:923
uint8_t le
Definition: crc.c:295

Definition at line 940 of file input.c.

Function Documentation

static av_always_inline void rgb64ToY_c_template ( uint16_t *  dst,
const uint16_t *  src,
int  width,
enum AVPixelFormat  origin,
int32_t rgb2yuv 
)
static

Definition at line 44 of file input.c.

static av_always_inline void rgb64ToUV_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum AVPixelFormat  origin,
int32_t rgb2yuv 
)
static

Definition at line 59 of file input.c.

static av_always_inline void rgb64ToUV_half_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum AVPixelFormat  origin,
int32_t rgb2yuv 
)
static

Definition at line 78 of file input.c.

rgb64funcs ( rgb64funcs(  rgb,
rgb64funcs(  LE,
AV_PIX_FMT_RGBA64LE   
)

Definition at line 125 of file input.c.

static av_always_inline void rgb48ToUV_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum AVPixelFormat  origin,
int32_t rgb2yuv 
)
static

Definition at line 146 of file input.c.

static av_always_inline void rgb48ToUV_half_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum AVPixelFormat  origin,
int32_t rgb2yuv 
)
static

Definition at line 168 of file input.c.

rgb48funcs ( rgb48funcs(  rgb,
rgb48funcs(  LE,
AV_PIX_FMT_RGB48LE   
)

Definition at line 239 of file input.c.

static av_always_inline void rgb16_32ToUV_c_template ( int16_t *  dstU,
int16_t *  dstV,
const uint8_t src,
int  width,
enum AVPixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S,
int32_t rgb2yuv 
)
static

Definition at line 277 of file input.c.

static av_always_inline void rgb16_32ToUV_half_c_template ( int16_t *  dstU,
int16_t *  dstV,
const uint8_t src,
int  width,
enum AVPixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S,
int32_t rgb2yuv 
)
static

Definition at line 305 of file input.c.

rgb16_32_wrapper ( AV_PIX_FMT_BGR32  ,
bgr32  ,
16  ,
,
,
,
0xFF0000  ,
0xFF00  ,
0x00FF  ,
,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_RGB32  ,
rgb32  ,
,
,
16  ,
,
0x00FF  ,
0xFF00  ,
0xFF0000  ,
,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR565LE  ,
bgr16le  ,
,
,
,
,
0x001F  ,
0x07E0  ,
0xF800  ,
11  ,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR444LE  ,
bgr12le  ,
,
,
,
,
0x000F  ,
0x00F0  ,
0x0F00  ,
,
,
,
RGB2YUV_SHIFT 4 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_RGB555LE  ,
rgb15le  ,
,
,
,
,
0x7C00  ,
0x03E0  ,
0x001F  ,
,
,
10  ,
RGB2YUV_SHIFT 7 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR565BE  ,
bgr16be  ,
,
,
,
,
0x001F  ,
0x07E0  ,
0xF800  ,
11  ,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR444BE  ,
bgr12be  ,
,
,
,
,
0x000F  ,
0x00F0  ,
0x0F00  ,
,
,
,
RGB2YUV_SHIFT 4 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_RGB555BE  ,
rgb15be  ,
,
,
,
,
0x7C00  ,
0x03E0  ,
0x001F  ,
,
,
10  ,
RGB2YUV_SHIFT 7 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT static RGB2YUV_SHIFT void gbr24pToUV_half_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t gsrc,
const uint8_t bsrc,
const uint8_t rsrc,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 395 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void rgba64leToA_c ( uint8_t _dst,
const uint8_t _src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 415 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void rgba64beToA_c ( uint8_t _dst,
const uint8_t _src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 425 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void abgrToA_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 435 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void rgbaToA_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 444 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void palToA_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  pal 
)
static

Definition at line 453 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void palToY_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  pal 
)
static

Definition at line 464 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void palToUV_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  pal 
)
static

Definition at line 475 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void monowhite2Y_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 491 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void monoblack2Y_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 508 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void yuy2ToY_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 525 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void yuy2ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 533 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void yvy2ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 544 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void bswap16Y_c ( uint8_t _dst,
const uint8_t _src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 555 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void bswap16UV_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t unused0,
const uint8_t _src1,
const uint8_t _src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 565 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ya16le_gray_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 578 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ya16le_alpha_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 586 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ya16be_gray_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 594 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ya16be_alpha_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 602 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ayuv64le_Y_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused0,
const uint8_t unused1,
int  width,
uint32_t *  unused2 
)
static

Definition at line 610 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ayuv64le_UV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src,
const uint8_t unused1,
int  width,
uint32_t *  unused2 
)
static

Definition at line 619 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void read_ayuv64le_A_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused0,
const uint8_t unused1,
int  width,
uint32_t *  unused2 
)
static

Definition at line 629 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void uyvyToY_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 639 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void uyvyToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 647 of file input.c.

Referenced by rgb9plus_planar_funcs().

static av_always_inline void nvXXtoUV_c ( uint8_t dst1,
uint8_t dst2,
const uint8_t src,
int  width 
)
static

Definition at line 658 of file input.c.

Referenced by nv12ToUV_c(), and nv21ToUV_c().

static void nv12ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 668 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void nv21ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 675 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void p010LEToY_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 682 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void p010BEToY_c ( uint8_t dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  unused 
)
static

Definition at line 691 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void p010LEToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 700 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void p010BEToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 711 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void bgr24ToY_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 724 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void bgr24ToUV_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 739 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void bgr24ToUV_half_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 758 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void rgb24ToY_c ( uint8_t _dst,
const uint8_t src,
const uint8_t unused1,
const uint8_t unused2,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 777 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void rgb24ToUV_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 792 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void rgb24ToUV_half_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t unused0,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  rgb2yuv 
)
static

Definition at line 811 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void planar_rgb_to_y ( uint8_t _dst,
const uint8_t src[4],
int  width,
int32_t rgb2yuv 
)
static

Definition at line 830 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void planar_rgb_to_a ( uint8_t _dst,
const uint8_t src[4],
int  width,
int32_t unused 
)
static

Definition at line 844 of file input.c.

Referenced by rgb9plus_planar_funcs().

static void planar_rgb_to_uv ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t src[4],
int  width,
int32_t rgb2yuv 
)
static

Definition at line 852 of file input.c.

Referenced by rgb9plus_planar_funcs().

static av_always_inline void planar_rgb16_to_y ( uint8_t _dst,
const uint8_t _src[4],
int  width,
int  bpc,
int  is_be,
int32_t rgb2yuv 
)
static

Definition at line 871 of file input.c.

static av_always_inline void planar_rgb16_to_a ( uint8_t _dst,
const uint8_t _src[4],
int  width,
int  bpc,
int  is_be,
int32_t rgb2yuv 
)
static

Definition at line 888 of file input.c.

static av_always_inline void planar_rgb16_to_uv ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t _src[4],
int  width,
int  bpc,
int  is_be,
int32_t rgb2yuv 
)
static

Definition at line 901 of file input.c.

rgb9plus_planar_funcs ( )

Definition at line 944 of file input.c.

Variable Documentation

bgr321

Definition at line 379 of file input.c.

RGB2YUV_SHIFT rgb321

Definition at line 381 of file input.c.

Definition at line 383 of file input.c.

Definition at line 385 of file input.c.

Definition at line 387 of file input.c.

Definition at line 389 of file input.c.

Definition at line 391 of file input.c.

Definition at line 393 of file input.c.