blend.c File Reference

Include dependency graph for blend.c:


Data Structures

struct  filter_sys_t
 filter_sys_t: chroma method descriptor More...

Defines

#define VLC_CODEC_PLANAR_420   { VLC_CODEC_I420, VLC_CODEC_J420, VLC_CODEC_YV12, 0 }
#define VLC_CODEC_PACKED_422   { VLC_CODEC_YUYV, VLC_CODEC_UYVY, VLC_CODEC_YVYU, VLC_CODEC_VYUY, 0 }
#define VLC_CODEC_RGB_16   { VLC_CODEC_RGB15, VLC_CODEC_RGB16, 0 }
#define VLC_CODEC_RGB_24   { VLC_CODEC_RGB24, VLC_CODEC_RGB32, 0 }
#define BLEND_CFG(fccSrc, fctPlanar, fctPacked, fctRgb16, fctRgb24)
#define MAX_TRANS   255
#define TRANS_BITS   8
#define SCALEBITS   10
#define ONE_HALF   (1 << (SCALEBITS - 1))
#define FIX(x)   ((int) ((x) * (1<<SCALEBITS) + 0.5))
#define p_pal   p_filter->fmt_in.video.p_palette->palette
#define p_pal   p_filter->fmt_in.video.p_palette->palette
#define p_pal   p_filter->fmt_in.video.p_palette->palette
#define rgbpal   rgbpalette.palette

Typedefs

typedef void(* BlendFunction )(filter_t *, picture_t *, const picture_t *, int, int, int, int, int)

Functions

static int OpenFilter (vlc_object_t *)
static void CloseFilter (vlc_object_t *)
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static void Blend (filter_t *, picture_t *, const picture_t *, int, int, int)
static void BlendYUVAI420 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendYUVARV16 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendYUVARV24 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendYUVAYUVPacked (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendI420I420 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendI420I420_no_alpha (filter_t *, picture_t *, const picture_t *, int, int, int, int)
static void BlendI420R16 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendI420R24 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendI420YUVPacked (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendPalI420 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendPalYUVPacked (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendPalRV (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendRGBAI420 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendRGBAYUVPacked (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendRGBAR16 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static void BlendRGBAR24 (filter_t *, picture_t *, const picture_t *, int, int, int, int, int)
static uint8_t vlc_uint8 (int v)
static int vlc_blend (int v1, int v2, int a)
static int vlc_alpha (int t, int a)
static void yuv_to_rgb (int *r, int *g, int *b, uint8_t y1, uint8_t u1, uint8_t v1)
static void rgb_to_yuv (uint8_t *y, uint8_t *u, uint8_t *v, int r, int g, int b)
static uint8_t * vlc_plane_start (int *pi_pitch, const picture_t *p_picture, int i_plane, int i_x_offset, int i_y_offset, const video_format_t *p_fmt, int r)
static void vlc_yuv_packed_index (int *pi_y, int *pi_u, int *pi_v, vlc_fourcc_t i_chroma)
static void vlc_blend_packed (uint8_t *p_dst, int i_offset0, int i_offset1, int i_offset2, int c0, int c1, int c2, int i_alpha, bool b_do12)
static void vlc_blend_rgb16 (uint16_t *p_dst, int R, int G, int B, int i_alpha, const video_format_t *p_fmt)
static void vlc_rgb_index (int *pi_rindex, int *pi_gindex, int *pi_bindex, const video_format_t *p_fmt)

Variables

struct {
   vlc_fourcc_t   src
   vlc_fourcc_t   p_dst [16]
   BlendFunction   pf_blend
p_blend_cfg []

Define Documentation

#define BLEND_CFG ( fccSrc,
fctPlanar,
fctPacked,
fctRgb16,
fctRgb24   ) 

Value:

{ .src = fccSrc, .p_dst = VLC_CODEC_PLANAR_420, .pf_blend = fctPlanar }, \
    { .src = fccSrc, .p_dst = VLC_CODEC_PACKED_422, .pf_blend = fctPacked }, \
    { .src = fccSrc, .p_dst = VLC_CODEC_RGB_16,     .pf_blend = fctRgb16  }, \
    { .src = fccSrc, .p_dst = VLC_CODEC_RGB_24,     .pf_blend = fctRgb24  }

#define FIX (  )     ((int) ((x) * (1<<SCALEBITS) + 0.5))

#define MAX_TRANS   255

Referenced by BlendYUVARV24(), and vlc_blend().

#define ONE_HALF   (1 << (SCALEBITS - 1))

#define p_pal   p_filter->fmt_in.video.p_palette->palette

#define p_pal   p_filter->fmt_in.video.p_palette->palette

#define p_pal   p_filter->fmt_in.video.p_palette->palette

#define rgbpal   rgbpalette.palette

Referenced by BlendPalRV().

#define SCALEBITS   10

#define TRANS_BITS   8

Referenced by vlc_blend().

#define VLC_CODEC_PACKED_422   { VLC_CODEC_YUYV, VLC_CODEC_UYVY, VLC_CODEC_YVYU, VLC_CODEC_VYUY, 0 }

#define VLC_CODEC_PLANAR_420   { VLC_CODEC_I420, VLC_CODEC_J420, VLC_CODEC_YV12, 0 }

#define VLC_CODEC_RGB_16   { VLC_CODEC_RGB15, VLC_CODEC_RGB16, 0 }

#define VLC_CODEC_RGB_24   { VLC_CODEC_RGB24, VLC_CODEC_RGB32, 0 }


Typedef Documentation

typedef void(* BlendFunction)(filter_t *, picture_t *, const picture_t *, int, int, int, int, int)


Function Documentation

static void Blend ( filter_t p_filter,
picture_t p_dst,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_alpha 
) [static]

static void BlendI420I420 ( filter_t p_filter,
picture_t p_dst,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendI420I420_no_alpha ( filter_t p_filter,
picture_t p_dst,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height 
) [static]

static void BlendI420R16 ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendI420R24 ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendI420YUVPacked ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendPalI420 ( filter_t p_filter,
picture_t p_dst,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendPalRV ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendPalYUVPacked ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendRGBAI420 ( filter_t p_filter,
picture_t p_dst,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendRGBAR16 ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendRGBAR24 ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendRGBAYUVPacked ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src_pic,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendYUVAI420 ( filter_t p_filter,
picture_t p_dst,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendYUVARV16 ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendYUVARV24 ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void BlendYUVAYUVPacked ( filter_t p_filter,
picture_t p_dst_pic,
const picture_t p_src,
int  i_x_offset,
int  i_y_offset,
int  i_width,
int  i_height,
int  i_alpha 
) [static]

static void CloseFilter ( vlc_object_t p_this  )  [static]

References filter_t::p_sys.

static int OpenFilter ( vlc_object_t p_this  )  [static]

static void rgb_to_yuv ( uint8_t *  y,
uint8_t *  u,
uint8_t *  v,
int  r,
int  g,
int  b 
) [inline, static]

static int vlc_alpha ( int  t,
int  a 
) [inline, static]

static int vlc_blend ( int  v1,
int  v2,
int  a 
) [inline, static]

static void vlc_blend_packed ( uint8_t *  p_dst,
int  i_offset0,
int  i_offset1,
int  i_offset2,
int  c0,
int  c1,
int  c2,
int  i_alpha,
bool  b_do12 
) [static]

static void vlc_blend_rgb16 ( uint16_t *  p_dst,
int  R,
int  G,
int  B,
int  i_alpha,
const video_format_t p_fmt 
) [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 

static uint8_t* vlc_plane_start ( int *  pi_pitch,
const picture_t p_picture,
int  i_plane,
int  i_x_offset,
int  i_y_offset,
const video_format_t p_fmt,
int  r 
) [static]

static void vlc_rgb_index ( int *  pi_rindex,
int *  pi_gindex,
int *  pi_bindex,
const video_format_t p_fmt 
) [static]

static uint8_t vlc_uint8 ( int  v  )  [inline, static]

Referenced by Yuv2Rgb(), and yuv_to_rgb().

static void vlc_yuv_packed_index ( int *  pi_y,
int *  pi_u,
int *  pi_v,
vlc_fourcc_t  i_chroma 
) [static]

static void yuv_to_rgb ( int *  r,
int *  g,
int *  b,
uint8_t  y1,
uint8_t  u1,
uint8_t  v1 
) [inline, static]

References FIX, ONE_HALF, r_add(), SCALEBITS, and vlc_uint8().


Variable Documentation

struct { ... } p_blend_cfg[] [static]

Referenced by Blend(), and OpenFilter().


Generated on Tue May 25 08:05:30 2010 for VLC by  doxygen 1.5.6