QVisu
Qt-based visualization for smart homes
|
Go to the source code of this file.
Classes | |
struct | filter_t |
Macros | |
#define | pf_video_filter u.video.pf_filter |
#define | pf_video_flush u.video.pf_flush |
#define | pf_video_mouse u.video.pf_mouse |
#define | pf_video_buffer_new u.video.pf_buffer_new |
#define | pf_video_buffer_del u.video.pf_buffer_del |
#define | pf_audio_filter u.audio.pf_filter |
#define | pf_video_blend u.blend.pf_blend |
#define | pf_sub_source u.sub.pf_source |
#define | pf_sub_buffer_new u.sub.pf_buffer_new |
#define | pf_sub_buffer_del u.sub.pf_buffer_del |
#define | pf_sub_mouse u.sub.pf_mouse |
#define | pf_sub_filter u.subf.pf_filter |
#define | pf_render_text u.render.pf_text |
#define | pf_render_html u.render.pf_html |
#define | VIDEO_FILTER_WRAPPER(name) |
#define | filter_chain_New(a, b, c, d, e, f) filter_chain_New( VLC_OBJECT( a ), b, c, d, e, f ) |
Typedefs | |
typedef struct filter_owner_sys_t | filter_owner_sys_t |
typedef struct filter_chain_t | filter_chain_t |
This file defines the structure and types used by video and audio filters
#define VIDEO_FILTER_WRAPPER | ( | name | ) |
Create a picture_t *(*)( filter_t *, picture_t * ) compatible wrapper using a void (*)( filter_t *, picture_t *, picture_t * ) function
Currently used by the chroma video filters
typedef struct filter_chain_t filter_chain_t |
Filter chain management API The filter chain management API is used to dynamically construct filters and add them in a chain.
VLC_API 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.
The input picture is not modified and not released.
VLC_API filter_t* filter_chain_AppendFilter | ( | filter_chain_t * | , |
const char * | , | ||
config_chain_t * | , | ||
const es_format_t * | , | ||
const es_format_t * | |||
) |
Append filter to the end of the chain.
p_chain | pointer to filter chain |
psz_name | name of filter |
p_cfg | |
p_fmt_in | input es_format_t |
p_fmt_out | output es_format_t |
VLC_API int filter_chain_AppendFromString | ( | filter_chain_t * | , |
const char * | |||
) |
Append new filter to filter chain from string.
p_chain | pointer to filter chain |
psz_string | string of filters |
VLC_API block_t* filter_chain_AudioFilter | ( | filter_chain_t * | , |
block_t * | |||
) |
Apply the filter chain to a audio block.
p_chain | pointer to filter chain |
p_block | audio frame to apply filters on |
VLC_API void filter_chain_Delete | ( | filter_chain_t * | ) |
Delete filter chain will delete all filters in the chain and free all allocated data. The pointer to the filter chain is then no longer valid.
p_chain | pointer to filter chain |
VLC_API int filter_chain_DeleteFilter | ( | filter_chain_t * | , |
filter_t * | |||
) |
Delete filter from filter chain. This function also releases the filter object and unloads the filter modules. The pointer to p_filter is no longer valid after this function successfully returns.
p_chain | pointer to filter chain |
p_filter | pointer to filter object |
VLC_API const es_format_t* filter_chain_GetFmtOut | ( | filter_chain_t * | ) |
Get last p_fmt_out in the chain.
p_chain | pointer to filter chain |
VLC_API int filter_chain_GetLength | ( | filter_chain_t * | ) |
Get the number of filters in the filter chain.
p_chain | pointer to filter chain |
VLC_API int filter_chain_MouseEvent | ( | filter_chain_t * | , |
const vlc_mouse_t * | , | ||
const video_format_t * | |||
) |
Inform the filter chain of mouse state.
It makes sense only for a sub source chain.
VLC_API int filter_chain_MouseFilter | ( | filter_chain_t * | , |
vlc_mouse_t * | , | ||
const vlc_mouse_t * | |||
) |
Apply the filter chain to a mouse state.
It will be applied from the output to the input. It makes sense only for a video filter chain.
The vlc_mouse_t* pointers may be the same.
VLC_API filter_chain_t* filter_chain_New | ( | vlc_object_t * | , |
const char * | , | ||
bool | , | ||
int(*)(filter_t *, void *) | , | ||
void(*)(filter_t *) | , | ||
void * | |||
) |
Create new filter chain
p_object | pointer to a vlc object |
psz_capability | vlc capability of filters in filter chain |
b_allow_format_fmt_change | allow changing of fmt |
pf_buffer_allocation_init | callback function to initialize buffer allocations |
pf_buffer_allocation_clear | callback function to clear buffer allocation initialization |
p_buffer_allocation_data | pointer to private allocation data |
VLC_API 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 values.
p_chain | pointer to filter chain |
p_fmt_in | new fmt_in params |
p_fmt_out | new fmt_out params |
VLC_API subpicture_t* filter_chain_SubFilter | ( | filter_chain_t * | , |
subpicture_t * | |||
) |
Apply filter chain to subpictures.
p_chain | pointer to filter chain |
p_subpicture | subpicture to apply filters on |
VLC_API void filter_chain_SubSource | ( | filter_chain_t * | , |
mtime_t | |||
) |
Apply filter chain to subpictures.
p_chain | pointer to filter chain |
display_date | of subpictures |
VLC_API picture_t* filter_chain_VideoFilter | ( | filter_chain_t * | , |
picture_t * | |||
) |
Apply the filter chain to a video picture.
p_chain | pointer to filter chain |
p_picture | picture to apply filters on |
VLC_API void filter_chain_VideoFlush | ( | filter_chain_t * | ) |
Flush a video filter chain.
VLC_API 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.
VLC_API void filter_DeleteBlend | ( | filter_t * | ) |
It destroys a blend filter created by filter_NewBlend.
VLC_API filter_t* filter_NewBlend | ( | vlc_object_t * | , |
const video_format_t * | p_dst_chroma | ||
) |
It creates a blend filter.
Only the chroma properties of the dest format is used (chroma type, rgb masks and shifts)