Go to the documentation of this file.
26 #define VLC_FILTER_H 1
167 msg_Warn( p_filter,
"can't get output picture" );
213 msg_Warn( p_filter,
"can't get output subpicture" );
229 ppp_attachment, pi_attachment );
241 # define filter_AddProxyCallbacks(a, b, c) \
242 filter_AddProxyCallbacks(VLC_OBJECT(a), b, c)
252 # define filter_DelProxyCallbacks(a, b, c) \
253 filter_DelProxyCallbacks(VLC_OBJECT(a), b, c)
287 #define VIDEO_FILTER_WRAPPER( name ) \
288 static picture_t *name ## _Filter ( filter_t *p_filter, \
291 picture_t *p_outpic = filter_NewPicture( p_filter ); \
294 name( p_filter, p_pic, p_outpic ); \
295 picture_CopyProperties( p_outpic, p_pic ); \
297 picture_Release( p_pic ); \
318 #define filter_chain_New( a, b, c ) filter_chain_New( VLC_OBJECT( a ), b, c )
331 #define filter_chain_NewVideo( a, b, c ) \
332 filter_chain_NewVideo( VLC_OBJECT( a ), b, c )
467 int (*cb)(
filter_t *,
void * ),
void *opaque );
Mouse state.
Definition: vlc_mouse.h:45
void filter_chain_Delete(filter_chain_t *)
Delete filter chain will delete all filters in the chain and free all allocated data.
Definition: filter_chain.c:148
#define VLC_API
Definition: fourcc_gen.c:30
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:453
void filter_chain_VideoFlush(filter_chain_t *)
Flush a video filter chain.
Definition: filter_chain.c:435
struct filter_owner_t::@166::@168 video
module_t * p_module
Definition: vlc_filter.h:70
int filter_ConfigureBlend(filter_t *, int i_dst_width, int i_dst_height, const video_format_t *p_src)
It configures blend filter parameters that are allowed to changed after the creation.
Definition: filter.c:134
void filter_chain_DeleteFilter(filter_chain_t *chain, filter_t *filter)
Delete filter from filter chain.
Definition: filter_chain.c:281
static block_t * filter_DrainAudio(filter_t *p_filter)
This function will drain, then flush an audio filter.
Definition: vlc_filter.h:192
es_format_t fmt_in
Chain input format (constant)
Definition: filter_chain.c:58
#define filter_DelProxyCallbacks(a, b, c)
Definition: vlc_filter.h:252
struct filter_owner_sys_t filter_owner_sys_t
Definition: vlc_filter.h:39
filter_t * filter_NewBlend(vlc_object_t *, const video_format_t *p_dst_chroma)
It creates a blend filter.
Definition: filter.c:104
es_format_t fmt_in
Definition: vlc_filter.h:74
struct filter_owner_t filter_owner_t
Viewpoints.
Definition: vlc_viewpoint.h:44
int(* pf_sub_mouse)(filter_t *, const struct vlc_mouse_t *p_old, const struct vlc_mouse_t *p_new, const video_format_t *)
Definition: vlc_filter.h:141
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
int(* pf_get_attachments)(filter_t *, input_attachment_t ***, int *)
Definition: vlc_filter.h:148
int filter_Blend(filter_t *, picture_t *p_dst, int i_dst_x, int i_dst_y, const picture_t *p_src, int i_alpha)
It blends a picture into another one.
Definition: filter.c:166
static void filter_Flush(filter_t *p_filter)
Flush a filter.
Definition: vlc_filter.h:176
Video picture.
Definition: vlc_picture.h:68
void filter_chain_SubSource(filter_chain_t *chain, spu_t *, mtime_t display_date)
Generate subpictures from a chain of subpicture source "filters".
Definition: filter_chain.c:448
void(* pf_change_viewpoint)(filter_t *, const vlc_viewpoint_t *)
Change viewpoint.
Definition: vlc_filter.h:127
struct filter_sys_t filter_sys_t
Definition: vlc_common.h:284
#define filter_AddProxyCallbacks(a, b, c)
Definition: vlc_filter.h:241
es_format_t fmt_out
Definition: vlc_filter.h:77
es_format_category_e
ES Categories.
Definition: vlc_es.h:563
const es_format_t * filter_chain_GetFmtOut(filter_chain_t *chain)
Get last output format of the last element in the filter chain.
Definition: filter_chain.c:380
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
void filter_DeleteBlend(filter_t *)
It destroys a blend filter created by filter_NewBlend.
Definition: filter.c:177
#define filter_chain_NewVideo(a, b, c)
Definition: vlc_filter.h:331
Definition: vlc_filter.h:41
#define filter_chain_New(a, b, c)
Definition: vlc_filter.h:318
Definition: vlc_configuration.h:155
Internal module descriptor.
Definition: modules.h:79
Structure describing a filter.
Definition: vlc_filter.h:65
void * sys
Definition: vlc_filter.h:43
Video subtitle.
Definition: vlc_subpicture.h:153
int filter_chain_MouseFilter(filter_chain_t *, struct vlc_mouse_t *, const struct vlc_mouse_t *)
Apply the filter chain to a mouse state.
Subpicture unit descriptor.
Definition: vlc_spu.h:47
Video subtitle region.
Definition: vlc_subpicture.h:57
int(* pf_render)(filter_t *, subpicture_region_t *, subpicture_region_t *, const vlc_fourcc_t *)
Render text (text render)
Definition: vlc_filter.h:104
int filter_chain_ForEach(filter_chain_t *chain, int(*cb)(filter_t *, void *), void *opaque)
Definition: filter_chain.c:363
static subpicture_t * filter_NewSubpicture(filter_t *p_filter)
This function will return a new subpicture usable by p_filter as an output buffer.
Definition: vlc_filter.h:209
The main vlc_object_t structure.
Definition: vlc_objects.h:39
block_t *(* pf_audio_drain)(filter_t *)
Drain (audio filter)
Definition: vlc_filter.h:112
static int filter_GetInputAttachments(filter_t *p_filter, input_attachment_t ***ppp_attachment, int *pi_attachment)
This function gives all input attachments at once.
Definition: vlc_filter.h:222
Definition: filter_chain.c:51
#define VLC_USED
Definition: fourcc_gen.c:31
int(* pf_video_mouse)(filter_t *, struct vlc_mouse_t *, const struct vlc_mouse_t *p_old, const struct vlc_mouse_t *p_new)
Filter mouse state (video filter).
Definition: vlc_filter.h:138
bool filter_chain_IsEmpty(const filter_chain_t *chain)
Checks if the filter chain is empty.
Definition: filter_chain.c:375
es_format_t fmt_out
Chain current output format.
Definition: filter_chain.c:59
picture_t * filter_chain_VideoFilter(filter_chain_t *chain, picture_t *pic)
Apply the filter chain to a video picture.
Definition: filter_chain.c:412
const char name[16]
Definition: httpd.c:1249
filter_sys_t * p_sys
Definition: vlc_filter.h:71
const char * psz_name
Definition: vlc_filter.h:81
void(* pf_video_blend)(filter_t *, picture_t *, const picture_t *, int, int, int)
Blend a subpicture onto a picture (blend)
Definition: vlc_filter.h:94
static void filter_ChangeViewpoint(filter_t *p_filter, const vlc_viewpoint_t *vp)
Definition: vlc_filter.h:182
static picture_t * filter_NewPicture(filter_t *p_filter)
This function will return a new picture usable by p_filter as an output buffer.
Definition: vlc_filter.h:163
void(* pf_flush)(filter_t *)
Flush.
Definition: vlc_filter.h:119
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
filter_owner_t owner
Owner (downstream) callbacks.
Definition: filter_chain.c:54
struct filter_owner_t::@166::@169 sub
int filter_chain_MouseEvent(filter_chain_t *, const struct vlc_mouse_t *, const video_format_t *)
Inform the filter chain of mouse state.
bool b_allow_fmt_out_change
Definition: vlc_filter.h:78
void filter_chain_Reset(filter_chain_t *, const es_format_t *, const es_format_t *)
Reset filter chain will delete all filters in the chain and reset p_fmt_in and p_fmt_out to the new v...
Definition: filter_chain.c:161
Definition: vlc_block.h:111
int filter_chain_AppendConverter(filter_chain_t *chain, const es_format_t *fmt_in, const es_format_t *fmt_out)
Append a conversion to the chain.
Definition: filter_chain.c:274
subpicture_t * filter_chain_SubFilter(filter_chain_t *chain, subpicture_t *subpic)
Apply filter chain to subpictures.
Definition: filter_chain.c:460
filter_t * filter_chain_AppendFilter(filter_chain_t *chain, const char *name, config_chain_t *cfg, const es_format_t *fmt_in, const es_format_t *fmt_out)
Append a filter to the chain.
Definition: filter_chain.c:266
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:32
config_chain_t * p_cfg
Definition: vlc_filter.h:83
filter_owner_t owner
Definition: vlc_filter.h:151
int filter_chain_AppendFromString(filter_chain_t *chain, const char *str)
Append new filter to filter chain from string.
Definition: filter_chain.c:317
int(* vlc_callback_t)(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vlc_common.h:361