
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 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 | ( | x | ) | ((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 |
Referenced by BlendPalI420(), BlendPalRV(), BlendPalYUVPacked(), encode_clut(), and encode_region_composition().
| #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 void(* BlendFunction)(filter_t *, picture_t *, const picture_t *, int, int, int, int, int) |
| 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] |
References filter_t::fmt_in, filter_t::fmt_out, plane_t::i_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, plane_t::p_pixels, U_PLANE, V_PLANE, es_format_t::video, vlc_memcpy(), vlc_plane_start(), and Y_PLANE.
Referenced by BlendI420I420().
| 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] |
References b, filter_t::fmt_in, filter_t::fmt_out, plane_t::i_pitch, plane_t::i_pixel_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, p_dst, plane_t::p_pixels, U_PLANE, V_PLANE, es_format_t::video, vlc_blend_packed(), vlc_plane_start(), vlc_rgb_index(), Y_PLANE, and yuv_to_rgb().
| 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] |
References filter_t::fmt_in, filter_t::fmt_out, video_format_t::i_chroma, plane_t::i_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, p_dst, plane_t::p_pixels, U_PLANE, V_PLANE, es_format_t::video, vlc_blend_packed(), vlc_plane_start(), vlc_yuv_packed_index(), and Y_PLANE.
| 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] |
References b, filter_t::fmt_in, filter_t::fmt_out, video_format_t::i_chroma, video_palette_t::i_entries, plane_t::i_pitch, plane_t::i_pixel_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, p_dst, p_pal, video_format_t::p_palette, plane_t::p_pixels, rgbpal, es_format_t::video, vlc_alpha(), vlc_blend_packed(), vlc_blend_rgb16(), VLC_CODEC_RGB15, VLC_CODEC_RGB16, vlc_rgb_index(), and yuv_to_rgb().
| 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] |
References B, filter_t::fmt_in, filter_t::fmt_out, G, video_format_t::i_chroma, plane_t::i_pitch, plane_t::i_pixel_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, p_dst, plane_t::p_pixels, R, rgb_to_yuv(), es_format_t::video, vlc_alpha(), vlc_blend_packed(), and vlc_yuv_packed_index().
| 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] |
References A_PLANE, filter_t::fmt_in, filter_t::fmt_out, U_PLANE, V_PLANE, es_format_t::video, vlc_alpha(), vlc_blend(), vlc_plane_start(), and Y_PLANE.
| 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] |
References A_PLANE, b, filter_t::fmt_in, filter_t::fmt_out, plane_t::i_pitch, plane_t::i_pixel_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, p_dst, plane_t::p_pixels, U_PLANE, V_PLANE, es_format_t::video, vlc_alpha(), vlc_blend_rgb16(), vlc_plane_start(), Y_PLANE, and yuv_to_rgb().
| 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] |
References A_PLANE, b, filter_t::fmt_in, filter_t::fmt_out, video_format_t::i_bmask, i_bmask, video_format_t::i_gmask, i_gmask, video_format_t::i_lbshift, video_format_t::i_lgshift, video_format_t::i_lrshift, plane_t::i_pitch, plane_t::i_pixel_pitch, video_format_t::i_rmask, i_rmask, video_format_t::i_x_offset, video_format_t::i_y_offset, MAX_TRANS, picture_t::p, p_dst, plane_t::p_pixels, U_PLANE, V_PLANE, es_format_t::video, vlc_alpha(), vlc_blend(), vlc_blend_packed(), vlc_plane_start(), vlc_rgb_index(), Y_PLANE, and yuv_to_rgb().
| 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] |
References A_PLANE, filter_t::fmt_in, filter_t::fmt_out, video_format_t::i_chroma, plane_t::i_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, p_dst, plane_t::p_pixels, U_PLANE, V_PLANE, es_format_t::video, vlc_alpha(), vlc_blend(), vlc_blend_packed(), vlc_plane_start(), vlc_yuv_packed_index(), and Y_PLANE.
| static void CloseFilter | ( | vlc_object_t * | p_this | ) | [static] |
References filter_t::p_sys.
| static int OpenFilter | ( | vlc_object_t * | p_this | ) | [static] |
References Blend(), filter_t::fmt_in, filter_t::fmt_out, i, filter_sys_t::i_blendcfg, video_format_t::i_chroma, msg_Dbg, p_blend_cfg, p_dst, filter_t::p_sys, p_sys, src, es_format_t::video, VLC_CODEC_I420, VLC_CODEC_J420, VLC_CODEC_RGB15, VLC_CODEC_RGB16, VLC_CODEC_RGB24, VLC_CODEC_RGB32, VLC_CODEC_RGBA, VLC_CODEC_UYVY, VLC_CODEC_VYUY, VLC_CODEC_YUVA, VLC_CODEC_YUVP, VLC_CODEC_YUYV, VLC_CODEC_YV12, VLC_CODEC_YVYU, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
| 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] |
References MAX_TRANS, and TRANS_BITS.
Referenced by BlendI420I420(), BlendPalI420(), BlendPalYUVPacked(), BlendRGBAI420(), BlendYUVAI420(), BlendYUVARV24(), BlendYUVAYUVPacked(), vlc_blend_packed(), and vlc_blend_rgb16().
| 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] |
References vlc_blend().
Referenced by BlendI420R24(), BlendI420YUVPacked(), BlendPalRV(), BlendPalYUVPacked(), BlendRGBAR24(), BlendRGBAYUVPacked(), BlendYUVARV24(), and BlendYUVAYUVPacked().
| 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] |
References b, video_format_t::i_bmask, video_format_t::i_gmask, video_format_t::i_lbshift, video_format_t::i_lgshift, video_format_t::i_lrshift, video_format_t::i_rbshift, video_format_t::i_rgshift, video_format_t::i_rmask, video_format_t::i_rrshift, and vlc_blend().
Referenced by BlendI420R16(), BlendPalRV(), BlendRGBAR16(), and BlendYUVARV16().
| 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] |
References plane_t::i_pitch, video_format_t::i_x_offset, video_format_t::i_y_offset, picture_t::p, and plane_t::p_pixels.
Referenced by BlendI420I420(), BlendI420I420_no_alpha(), BlendI420R16(), BlendI420R24(), BlendI420YUVPacked(), BlendYUVAI420(), BlendYUVARV16(), BlendYUVARV24(), and BlendYUVAYUVPacked().
| static void vlc_rgb_index | ( | int * | pi_rindex, | |
| int * | pi_gindex, | |||
| int * | pi_bindex, | |||
| const video_format_t * | p_fmt | |||
| ) | [static] |
References video_format_t::i_chroma, video_format_t::i_lbshift, video_format_t::i_lgshift, video_format_t::i_lrshift, VLC_CODEC_RGB24, and VLC_CODEC_RGB32.
Referenced by BlendI420R24(), BlendPalRV(), BlendRGBAR24(), and BlendYUVARV24().
| 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] |
References i, VLC_CODEC_UYVY, VLC_CODEC_VYUY, VLC_CODEC_YUYV, and VLC_CODEC_YVYU.
Referenced by BlendI420YUVPacked(), BlendPalYUVPacked(), BlendRGBAYUVPacked(), and BlendYUVAYUVPacked().
| 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().
struct { ... } p_blend_cfg[] [static] |
Referenced by Blend(), and OpenFilter().
| vlc_fourcc_t p_dst[16] |
Referenced by BlendI420R16(), BlendI420R24(), BlendI420YUVPacked(), BlendPalRV(), BlendPalYUVPacked(), BlendRGBAR16(), BlendRGBAR24(), BlendRGBAYUVPacked(), BlendYUVARV16(), BlendYUVARV24(), BlendYUVAYUVPacked(), config_ChainDuplicate(), CopyOmxPicture(), CopyPicture(), CopyVlcPicture(), DecodeBlock(), DemuxAudioMethod3(), Display(), DrawBlack(), Encode(), EncodeBlock(), ffmpeg_CopyPicture(), FillPicture(), Filter(), FilterPlanar(), FilterVideo(), InitAudioDec(), OpenFilter(), PMTSetupEsTeletext(), Process(), Render(), render(), text_style_Duplicate(), theora_CopyPicture(), vlc_b64_decode(), and vlc_b64_decode_binary().
1.5.6