libswscale/rgb2rgb.c File Reference

#include <inttypes.h>
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"
#include "x86_cpu.h"
#include "bswap.h"
#include "rgb2rgb_template.c"

Go to the source code of this file.

Defines

#define FAST_BGR2YV12
#define RGB2YUV_SHIFT   8
#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 RENAME(a)   a ## _C

Functions

void sws_rgb2rgb_init (int flags)
void palette8torgb32 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
 Palette is assumed to contain BGR32.
void palette8tobgr32 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
void palette8torgb24 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
 Palette is assumed to contain BGR32.
void palette8tobgr24 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
void palette8torgb16 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
 Palette is assumed to contain bgr16, see rgb32to16 to convert the palette.
void palette8tobgr16 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
void palette8torgb15 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
 Palette is assumed to contain BGR15, see rgb32to15 to convert the palette.
void palette8tobgr15 (const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
void rgb32tobgr24 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb24tobgr32 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb16tobgr32 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb16tobgr24 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb16tobgr16 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb16tobgr15 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb15tobgr32 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb15tobgr24 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb15tobgr16 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb15tobgr15 (const uint8_t *src, uint8_t *dst, long src_size)
void rgb8tobgr8 (const uint8_t *src, uint8_t *dst, long src_size)

Variables

void(* rgb24to32 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb24to16 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb24to15 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb32to24 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb32to16 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb32to15 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb15to16 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb15to24 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb15to32 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb16to15 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb16to24 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb16to32 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb24tobgr24 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb24tobgr16 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb24tobgr15 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb32tobgr32 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb32tobgr16 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* rgb32tobgr15 )(const uint8_t *src, uint8_t *dst, long src_size)
void(* yv12toyuy2 )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, long width, long height, long lumStride, long chromStride, long 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 ill fix it) chrominance data is only taken from every secound line others are ignored FIXME write HQ version
void(* yv12touyvy )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, long width, long height, long lumStride, long chromStride, long 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 ill fix it)
void(* yuv422ptoyuy2 )(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, long width, long height, long lumStride, long chromStride, long dstStride)
 width should be a multiple of 16
void(* yuy2toyv12 )(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, long width, long height, long lumStride, long chromStride, long 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 ill fix it)
void(* rgb24toyv12 )(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, long width, long height, long lumStride, long chromStride, long srcStride)
 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 ill fix it) chrominance data is only taken from every secound line others are ignored FIXME write HQ version
void(* planar2x )(const uint8_t *src, uint8_t *dst, long width, long height, long srcStride, long dstStride)
void(* interleaveBytes )(uint8_t *src1, uint8_t *src2, uint8_t *dst, long width, long height, long src1Stride, long src2Stride, long dstStride)
void(* vu9_to_vu12 )(const uint8_t *src1, const uint8_t *src2, uint8_t *dst1, uint8_t *dst2, long width, long height, long srcStride1, long srcStride2, long dstStride1, long dstStride2)
void(* yvu9_to_yuy2 )(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, uint8_t *dst, long width, long height, long srcStride1, long srcStride2, long srcStride3, long dstStride)


Define Documentation

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

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

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

#define FAST_BGR2YV12

Definition at line 36 of file rgb2rgb.c.

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

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

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

#define RENAME (  )     a ## _C

Definition at line 158 of file rgb2rgb.c.

#define RGB2YUV_SHIFT   8

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

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

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


Function Documentation

void palette8tobgr15 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Definition at line 326 of file rgb2rgb.c.

void palette8tobgr16 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Definition at line 310 of file rgb2rgb.c.

void palette8tobgr24 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Definition at line 283 of file rgb2rgb.c.

void palette8tobgr32 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Definition at line 241 of file rgb2rgb.c.

void palette8torgb15 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Palette is assumed to contain BGR15, see rgb32to15 to convert the palette.

Definition at line 320 of file rgb2rgb.c.

void palette8torgb16 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Palette is assumed to contain bgr16, see rgb32to16 to convert the palette.

Definition at line 304 of file rgb2rgb.c.

void palette8torgb24 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Palette is assumed to contain BGR32.

Definition at line 265 of file rgb2rgb.c.

void palette8torgb32 ( const uint8_t src,
uint8_t dst,
long  num_pixels,
const uint8_t palette 
)

Palette is assumed to contain BGR32.

Definition at line 215 of file rgb2rgb.c.

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

Definition at line 503 of file rgb2rgb.c.

Referenced by main().

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

Definition at line 486 of file rgb2rgb.c.

Referenced by main().

void rgb15tobgr24 ( const uint8_t src,
uint8_t dst,
long  src_size 
)

Definition at line 470 of file rgb2rgb.c.

Referenced by main().

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

Definition at line 446 of file rgb2rgb.c.

Referenced by main().

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

Definition at line 429 of file rgb2rgb.c.

Referenced by main().

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

Definition at line 412 of file rgb2rgb.c.

Referenced by main().

void rgb16tobgr24 ( const uint8_t src,
uint8_t dst,
long  src_size 
)

Definition at line 396 of file rgb2rgb.c.

Referenced by main().

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

Definition at line 372 of file rgb2rgb.c.

Referenced by main().

void rgb24tobgr32 ( const uint8_t src,
uint8_t dst,
long  src_size 
)

Definition at line 352 of file rgb2rgb.c.

Referenced by main().

void rgb32tobgr24 ( const uint8_t src,
uint8_t dst,
long  src_size 
)

Definition at line 333 of file rgb2rgb.c.

Referenced by main().

void rgb8tobgr8 ( const uint8_t src,
uint8_t dst,
long  src_size 
)

Definition at line 520 of file rgb2rgb.c.

void sws_rgb2rgb_init ( int  flags  ) 

Definition at line 199 of file rgb2rgb.c.

Referenced by main().


Variable Documentation

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

Referenced by rgb2rgb_init_TMPL().

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

Referenced by rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

void(* rgb15to24)(const uint8_t *src, uint8_t *dst, long src_size)

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

void(* rgb16to24)(const uint8_t *src, uint8_t *dst, long src_size)

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

void(* rgb24to32)(const uint8_t *src, uint8_t *dst, long src_size)

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

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 ill fix it) chrominance data is only taken from every secound line others are ignored FIXME write HQ version

Referenced by rgb2rgb_init_TMPL(), and simpleCopy().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

void(* rgb32to24)(const uint8_t *src, uint8_t *dst, long src_size)

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by main(), and rgb2rgb_init_TMPL().

void(* rgb32tobgr32)(const uint8_t *src, uint8_t *dst, long src_size)

Referenced by main(), and rgb2rgb_init_TMPL().

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

Referenced by rgb2rgb_init_TMPL().

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

width should be a multiple of 16

Referenced by rgb2rgb_init_TMPL().

void(* yuy2toyv12)(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, long width, long height, long lumStride, long chromStride, long 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 ill fix it)

Referenced by rgb2rgb_init_TMPL().

void(* yv12touyvy)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, long width, long height, long lumStride, long chromStride, long 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 ill fix it)

Referenced by rgb2rgb_init_TMPL(), and yv12touyvy_unscaled_altivec().

void(* yv12toyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, long width, long height, long lumStride, long chromStride, long 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 ill fix it) chrominance data is only taken from every secound line others are ignored FIXME write HQ version

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 ill fix it)

Referenced by rgb2rgb_init_TMPL(), and yv12toyuy2_unscaled_altivec().

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

Referenced by rgb2rgb_init_TMPL().


Generated on Wed Feb 9 19:10:13 2011 for ffmpeg by  doxygen 1.5.6