VLC  4.0.0-dev
Data Fields
filter_t Struct Reference

Structure describing a filter. More...

Collaboration diagram for filter_t:
Collaboration graph

Data Fields

struct vlc_object_t obj
void * p_sys
es_format_t fmt_in
es_format_t fmt_out
bool b_allow_fmt_out_change
const char * psz_name
union {
   picture_t *(*   pf_video_filter )(filter_t *, picture_t *)
 Filter a picture (video filter) More...
   block_t *(*   pf_audio_filter )(filter_t *, block_t *)
 Filter an audio block (audio filter) More...
   void(*   pf_video_blend )(filter_t *, picture_t
      *, const picture_t *, int, int,
 Blend a subpicture onto a picture (blend) More...
   subpicture_t *(*   pf_sub_source )(filter_t *, vlc_tick_t)
 Generate a subpicture (sub source) More...
   subpicture_t *(*   pf_sub_filter )(filter_t *, subpicture_t *)
 Filter a subpicture (sub filter) More...
   int(*   pf_render )(filter_t
      *, subpicture_region_t
      *, subpicture_region_t
      *, const vlc_fourcc_t *)
 Render text (text render) More...
union {
   block_t *(*   pf_audio_drain )(filter_t *)
 Drain (audio filter) More...
void(* pf_flush )(filter_t *)
 Flush. More...
void(* pf_change_viewpoint )(filter_t *, const vlc_viewpoint_t *)
 Change viewpoint. More...
union {
   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). More...
int(* pf_get_attachments )(filter_t *, input_attachment_t ***, int *)
filter_owner_t owner
 Private structure for the owner of the filter. More...

Detailed Description

Structure describing a filter.

BIG FAT WARNING : the code relies on the first 4 members of filter_t and decoder_t to be the same, so if you have anything to add, do it at the end of the structure.

Field Documentation

◆ @220

union { ... }

◆ @222

union { ... }

◆ @224

union { ... }

◆ b_allow_fmt_out_change

bool filter_t::b_allow_fmt_out_change

◆ fmt_in

es_format_t filter_t::fmt_in

◆ fmt_out

es_format_t filter_t::fmt_out

◆ obj

struct vlc_object_t filter_t::obj

◆ owner

filter_owner_t filter_t::owner

◆ p_cfg

config_chain_t* filter_t::p_cfg

◆ p_module

module_t* filter_t::p_module

◆ p_sys

void* filter_t::p_sys

◆ pf_audio_drain

block_t*(* filter_t::pf_audio_drain) (filter_t *)

Drain (audio filter)

Referenced by filter_DrainAudio().

◆ pf_audio_filter

block_t*(* filter_t::pf_audio_filter) (filter_t *, block_t *)

Filter an audio block (audio filter)

Referenced by aout_FiltersPipelinePlay(), and CreateFilter().

◆ pf_change_viewpoint

void(* filter_t::pf_change_viewpoint) (filter_t *, const vlc_viewpoint_t *)

Change viewpoint.

Pass a new viewpoint to audio filters. Filters like the spatialaudio one used for Ambisonics rendering will change its output according to this viewpoint.

Referenced by filter_ChangeViewpoint().

◆ pf_flush

void(* filter_t::pf_flush) (filter_t *)


Flush (i.e. discard) any internal buffer in a video or audio filter.

Referenced by filter_Flush().

◆ pf_get_attachments

int(* filter_t::pf_get_attachments) (filter_t *, input_attachment_t ***, int *)

◆ pf_render

int(* filter_t::pf_render) (filter_t *, subpicture_region_t *, subpicture_region_t *, const vlc_fourcc_t *)

Render text (text render)

Referenced by SpuRenderText().

◆ pf_sub_filter

subpicture_t*(* filter_t::pf_sub_filter) (filter_t *, subpicture_t *)

Filter a subpicture (sub filter)

Referenced by filter_chain_SubFilter().

◆ pf_sub_source

subpicture_t*(* filter_t::pf_sub_source) (filter_t *, vlc_tick_t)

Generate a subpicture (sub source)

Referenced by filter_chain_SubSource().

◆ pf_video_blend

void(* filter_t::pf_video_blend) (filter_t *, picture_t *, const picture_t *, int, int, int)

Blend a subpicture onto a picture (blend)

Referenced by filter_Blend().

◆ pf_video_filter

picture_t*(* filter_t::pf_video_filter) (filter_t *, picture_t *)

Filter a picture (video filter)

Referenced by FilterChainVideoFilter(), ImageConvert(), ImageRead(), ImageWrite(), and SpuRenderRegion().

◆ pf_video_mouse

int(* filter_t::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).

If non-NULL, you must convert from output to input formats:

  • If VLC_SUCCESS is returned, the mouse state is propagated.
  • Otherwise, the mouse change is not propagated. If NULL, the mouse state is considered unchanged and will be propagated.

Referenced by filter_chain_MouseFilter().

◆ psz_name

const char* filter_t::psz_name

◆ vctx_in

vlc_video_context* filter_t::vctx_in

◆ vctx_out

vlc_video_context* filter_t::vctx_out

The documentation for this struct was generated from the following file: