void vout_WindowMouseEvent(vout_thread_t *vout, const vout_window_mouse_event_t *mouse)
Definition: video_output.c:359
Mouse state.
Definition: vlc_mouse.h:45
void filter_chain_Delete(filter_chain_t *p_chain)
Filter chain destruction.
Definition: filter_chain.c:148
static filter_t * SpuRenderCreateAndLoadScale(vlc_object_t *object, vlc_fourcc_t src_chroma, vlc_fourcc_t dst_chroma, bool require_resize)
Definition: vout_subpictures.c:213
void vout_CloseWrapper(vout_thread_t *vout, vout_display_state_t *state)
Definition: vout_wrapper.c:85
int spu_ProcessMouse(spu_t *spu, const vlc_mouse_t *mouse, const video_format_t *fmt)
Inform the SPU filters of mouse event.
Definition: vout_subpictures.c:1412
void vout_window_SetInhibition(vout_window_t *window, bool enabled)
Definition: window.c:115
size_t count
Definition: core.c:461
int h
Definition: vout_subpictures.c:289
static void vout_display_window_ResizeNotify(vout_window_t *window, unsigned width, unsigned height)
Definition: window.c:139
static int CropCallback(vlc_object_t *object, char const *var, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: vout_subpictures.c:1186
void vlc_inhibit_Destroy(vlc_inhibit_t *ih)
Definition: inhibit.c:56
static int IntegerCmp(int64_t i0, int64_t i1)
This function compares two 64 bits integers.
Definition: vout_subpictures.c:478
picture_t * picture_Hold(picture_t *p_picture)
This function will increase the picture reference count.
Definition: picture.c:290
video_frame_format_t format
The properties of the picture.
Definition: vlc_picture.h:73
#define var_CreateGetInteger(a, b)
Definition: vlc_variables.h:492
int height
Definition: vout_subpictures.c:76
#define var_SetBool(a, b, c)
Definition: vlc_variables.h:257
#define VOUT_SPU_CHANNEL_OSD
Definition: vlc_vout.h:156
Graphical window.
Definition: vlc_vout_window.h:130
int i_max_width
try to balance wrapped text lines
Definition: vlc_subpicture.h:73
subpicture_region_t * subpicture_region_New(const video_format_t *p_fmt)
This function will create a new subpicture region.
Definition: subpicture.c:206
#define vlc_module_load(o, c, n, s,...)
Definition: vlc_modules.h:39
void vout_EndWrapper(vout_thread_t *vout)
Definition: vout_wrapper.c:171
char * filter_chain_update
Definition: vout_subpictures.c:89
struct filter_owner_t::@166::@168 video
bool is_slow
Definition: vlc_vout_display.h:129
bool vout_AreDisplayPicturesInvalid(vout_display_t *vd)
Definition: display.c:963
struct spu_private_t::@96 crop
cropping
bool force_palette
force palette of subpicture
Definition: vout_subpictures.c:80
filter_t * scale
scaling module (all but YUVP)
Definition: vout_subpictures.c:70
char * source_chain_update
Definition: vout_subpictures.c:85
struct vlc_common_members obj
Definition: vlc_vout_window.h:131
#define DISPLAY_PICTURE_COUNT
Definition: vout_wrapper.c:101
int i_y
position of region, relative to alignment
Definition: vlc_subpicture.h:63
module_t * p_module
Definition: vlc_filter.h:70
filter_chain_t * filter_chain
Definition: vout_subpictures.c:91
#define VLC_VAR_DOINHERIT
Creation flag.
Definition: vlc_variables.h:69
text_segment_t * p_text
subtitle text, made of a list of segments
Definition: vlc_subpicture.h:68
int i_entries
to keep the compatibility with libavcodec's palette
Definition: vlc_es.h:46
uint8_t palette[4][4]
forced palette
Definition: vout_subpictures.c:81
It holds a state for a vout display.
Definition: vlc_vout_wrapper.h:63
bool reject
Definition: vout_subpictures.c:54
#define var_InheritInteger(o, n)
Definition: vlc_variables.h:612
spu_heap_t heap
Definition: vout_subpictures.c:65
void spu_ClearChannel(spu_t *spu, int channel)
It clears all subpictures associated to a SPU channel.
Definition: vout_subpictures.c:1641
int i_original_picture_height
original height of the movie
Definition: vlc_subpicture.h:186
static void SpuHeapDeleteAt(spu_heap_t *heap, int index)
Definition: vout_subpictures.c:125
int spu_RegisterChannel(spu_t *spu)
It registers a new SPU channel.
Definition: vout_subpictures.c:1630
void(* resized)(vout_window_t *, unsigned width, unsigned height)
Definition: vlc_vout_window.h:112
vout_window_owner_t owner
Definition: vlc_vout_window.h:199
unsigned picture_pool_GetSize(const picture_pool_t *pool)
Definition: picture_pool.c:313
static int vout_window_SetSize(vout_window_t *window, unsigned width, unsigned height)
Configures the window display (i.e.
Definition: vlc_vout_window.h:256
struct vout_window_t::@216 info
filter_t * scale_yuvp
scaling module for YUVP
Definition: vout_subpictures.c:69
vlc_object_t * input
Definition: vout_subpictures.c:63
#define filter_DelProxyCallbacks(a, b, c)
Definition: vlc_filter.h:252
void vout_display_window_Detach(vout_window_t *window)
Detaches a window from a display.
Definition: window.c:221
spu_t * spu_Create(vlc_object_t *object, vout_thread_t *vout)
Creates the subpicture unit.
Definition: vout_subpictures.c:1283
video_format_t fmt
Definition: subpicture.h:44
unsigned height
Definition: vlc_vout_display.h:95
char * source_chain_current
Definition: vout_subpictures.c:84
#define var_InheritBool(o, n)
Definition: vlc_variables.h:601
void * p_address
Definition: vlc_common.h:331
es_format_t fmt_in
Definition: vlc_filter.h:74
#define VLC_VAR_BOOL
Definition: vlc_variables.h:49
subpicture_region_private_t * p_private
Private data for spu_t only
Definition: vlc_subpicture.h:77
#define VLC_CODEC_TEXT
Definition: vlc_fourcc.h:531
static spu_scale_t spu_scale_create(int w, int h)
Definition: vout_subpictures.c:292
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
const vout_display_cfg_t * cfg
Definition: vlc_vout_display.h:268
vlc_inhibit_t * vlc_inhibit_Create(vlc_object_t *parent)
Definition: inhibit.c:37
bool has_pictures_invalid
Definition: vlc_vout_display.h:134
int i_x
position of region, relative to alignment
Definition: vlc_subpicture.h:62
void spu_ChangeMargin(spu_t *spu, int margin)
Definition: vout_subpictures.c:1701
void vout_display_window_Delete(vout_window_t *)
Destroys a video window.
Definition: window.c:234
void picture_pool_Release(picture_pool_t *pool)
Releases a pool created by picture_pool_NewExtended(), picture_pool_New() or picture_pool_NewFromForm...
Definition: picture_pool.c:64
#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
union vout_window_t::@214 handle
Window handle (mandatory)
#define var_Get(a, b, c)
Definition: vlc_variables.h:136
vout_display_t * vd
Definition: window.c:132
void spu_Attach(spu_t *spu, vlc_object_t *input, bool attach)
Attach/Detach the SPU from any input.
Definition: vout_subpictures.c:1383
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
void picture_Release(picture_t *p_picture)
This function will release a picture.
Definition: picture.c:300
bool b_absolute
position is absolute
Definition: vlc_subpicture.h:184
static picture_pool_t * vout_display_Pool(vout_display_t *vd, unsigned count)
It retreives a picture pool from the display.
Definition: vlc_vout_wrapper.h:34
char * title
Definition: vout_internal.h:80
static void video_format_AdjustColorSpace(video_format_t *p_fmt)
Definition: vlc_es.h:405
vout_window_t * vout_window_New(vlc_object_t *obj, const char *module, const vout_window_cfg_t *cfg, const vout_window_owner_t *owner)
Creates a new window.
Definition: window.c:52
vout_window_sys_t * sys
Definition: vlc_vout_window.h:197
int y
Definition: vout_subpictures.c:332
struct vout_thread_sys_t::@86 display
#define var_InheritString(o, n)
Definition: vlc_variables.h:639
vout_window_t * vout_display_window_New(vout_thread_t *, const vout_window_cfg_t *)
Creates a video window, initially without any attached display.
Definition: window.c:171
Video picture.
Definition: vlc_picture.h:68
static spu_area_t spu_area_create(int x, int y, int w, int h, spu_scale_t s)
Definition: vout_subpictures.c:339
char * filter_chain_current
Definition: vout_subpictures.c:88
static void SpuAreaFixOverlap(spu_area_t *dst, const spu_area_t *sub_array, int sub_count, int align)
Avoid area overlapping.
Definition: vout_subpictures.c:384
vout_display_info_t info
Definition: vlc_vout_display.h:292
void filter_chain_SubSource(filter_chain_t *p_chain, spu_t *spu, mtime_t display_date)
Generate subpictures from a chain of subpicture source "filters".
Definition: filter_chain.c:448
void spu_ChangeFilters(spu_t *spu, const char *filters)
It changes the sub filters list.
Definition: vout_subpictures.c:1682
static int SubSourceInit(filter_t *filter, void *data)
Definition: vout_subpictures.c:1208
#define var_Create(a, b, c)
Definition: vlc_variables.h:121
#define var_DelCallback(a, b, c, d)
Definition: vlc_variables.h:165
Win32 or OS/2 window.
Definition: vlc_vout_window.h:52
int i_alpha
transparency
Definition: vlc_subpicture.h:187
void spu_OffsetSubtitleDate(spu_t *spu, mtime_t duration)
This function will apply an offset on subtitle subpicture.
Definition: vout_subpictures.c:1611
#define COLOR_SPACE_SRGB
Definition: vlc_es.h:301
video_format_t original
Definition: vout_internal.h:55
static int RestartSubFilterCallback(vlc_object_t *obj, char const *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data)
Definition: vout_subpictures.c:1230
spu_scale_t scale
Definition: vout_subpictures.c:336
#define filter_AddProxyCallbacks(a, b, c)
Definition: vlc_filter.h:241
spu_heap_entry_t entry[(((((20)) >((INT64_C(1000000)/2)/5000)) ?((20)) :((INT64_C(1000000)/2)/5000)))]
Definition: vout_subpictures.c:58
#define VOUT_SPU_CHANNEL_INVALID
Definition: vlc_vout.h:155
int i_channel
subpicture channel ID
Definition: vlc_subpicture.h:157
int channel
number of subpicture channels registered
Definition: vout_subpictures.c:67
static spu_area_t spu_area_scaled(spu_area_t a)
Definition: vout_subpictures.c:344
es_format_t fmt_out
Definition: vlc_filter.h:77
vout_window_t wnd
Definition: window.c:59
Wayland surface.
Definition: vlc_vout_window.h:55
Definition: vout_subpictures.c:52
void vout_ManageWrapper(vout_thread_t *vout)
Definition: vout_wrapper.c:185
A few area functions helpers.
Definition: vout_subpictures.c:330
static void NoDrInit(vout_thread_t *vout)
Definition: vout_wrapper.c:103
static filter_t * SpuRenderCreateAndLoadText(spu_t *spu)
Definition: vout_subpictures.c:186
struct vout_display_cfg_t::@210 display
vlc_object_t * parent
Parent object.
Definition: vlc_common.h:448
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
bool b_bool
Definition: vlc_common.h:328
unsigned width
Definition: window.c:133
void subpicture_Delete(subpicture_t *p_subpic)
This function delete a subpicture created by subpicture_New.
Definition: subpicture.c:83
unsigned width
Definition: vlc_vout_display.h:94
static int SubFilterDelProxyCallbacks(filter_t *filter, void *opaque)
Definition: vout_subpictures.c:1245
Window mouse event.
Definition: vlc_vout_window.h:82
#define vlc_object_release(a)
Definition: vlc_objects.h:63
void vout_display_window_Detach(vout_window_t *)
Detaches a window from a display.
Definition: window.c:221
static void vout_display_window_CloseNotify(vout_window_t *window)
Definition: window.c:154
Definition: picture_pool.c:41
void vout_DeleteDisplay(vout_display_t *vd, vout_display_state_t *state)
It destroy a vout managed display.
Definition: display.c:1222
int(* control)(vout_window_t *, int query, va_list)
Control callback (mandatory)
Definition: vlc_vout_window.h:186
#define filter_chain_New(a, b, c)
Definition: vlc_filter.h:318
unsigned dpb_size
Definition: vout_internal.h:56
video_format_t source
Definition: vlc_vout_display.h:275
bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures)
Definition: display.c:727
#define SUBPICTURE_ALIGN_LEFT
Definition: vlc_subpicture.h:81
#define SUBPICTURE_ALIGN_BOTTOM
Definition: vlc_subpicture.h:84
Internal module descriptor.
Definition: modules.h:79
Structure describing a filter.
Definition: vlc_filter.h:65
static void vlc_inhibit_Set(vlc_inhibit_t *ih, unsigned flags)
Definition: vlc_inhibit.h:49
static int spu_scale_h(int v, const spu_scale_t s)
Definition: vout_subpictures.c:314
bool use_dr
Definition: vout_internal.h:82
struct vout_display_window vout_display_window_t
int margin
force position of a subpicture
Definition: vout_subpictures.c:79
void * sys
Definition: vlc_filter.h:43
static int SubFilterAddProxyCallbacks(filter_t *filter, void *opaque)
Definition: vout_subpictures.c:1238
Video subtitle.
Definition: vlc_subpicture.h:153
#define var_Set(a, b, c)
Definition: vlc_variables.h:133
static int SubSourceDelProxyCallbacks(filter_t *filter, void *opaque)
Definition: vout_subpictures.c:1267
vout_thread_sys_t * p
Definition: vlc_vout.h:74
subpicture_region_t * p_region
region list composing this subtitle
Definition: vlc_subpicture.h:167
picture_t * p_picture
Definition: subpicture.h:45
int x
Definition: vout_subpictures.c:331
int i_align
alignment flags of region
Definition: vlc_subpicture.h:64
#define VOUT_MAX_SUBPICTURES
Definition: vout_subpictures.c:49
Subpicture unit descriptor.
Definition: vlc_spu.h:47
static spu_scale_t spu_scale_createq(int64_t wn, int64_t wd, int64_t hn, int64_t hd)
Definition: vout_subpictures.c:305
#define var_Destroy(a, b)
Definition: vlc_variables.h:124
Video subtitle region.
Definition: vlc_subpicture.h:57
vout_display_t * vout_NewSplitter(vout_thread_t *vout, const video_format_t *source, const vout_display_state_t *state, const char *module, const char *splitter_module, mtime_t double_click_timeout, mtime_t hide_timeout)
Definition: display.c:1426
static void SpuRenderRegion(spu_t *spu, subpicture_region_t **dst_ptr, spu_area_t *dst_area, subpicture_t *subpic, subpicture_region_t *region, const spu_scale_t scale_size, const vlc_fourcc_t *chroma_list, const video_format_t *fmt, const spu_area_t *subtitle_area, int subtitle_area_count, mtime_t render_date)
It will transform the provided region into another region suitable for rendering.
Definition: vout_subpictures.c:652
static int SpuHeapDeleteSubpicture(spu_heap_t *heap, subpicture_t *subpic)
Definition: vout_subpictures.c:135
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 i_original_picture_width
original width of the movie
Definition: vlc_subpicture.h:185
int filter_chain_ForEach(filter_chain_t *chain, int(*cb)(filter_t *, void *), void *opaque)
Definition: filter_chain.c:363
unsigned width
Definition: vlc_vout_window.h:105
vout_thread_t * vout
Definition: vout_subpictures.c:95
uint8_t palette[256][4]
4-byte RGBA/YUVA palette
Definition: vlc_es.h:47
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
#define var_GetInteger(a, b)
Definition: vlc_variables.h:655
vout_window_t * vout_display_window_New(vout_thread_t *vout, const vout_window_cfg_t *cfg)
Creates a video window, initially without any attached display.
Definition: window.c:171
static spu_scale_t spu_scale_unit(void)
Definition: vout_subpictures.c:301
static void SpuHeapClean(spu_heap_t *heap)
Definition: vout_subpictures.c:149
#define var_SetInteger(a, b, c)
Definition: vlc_variables.h:256
#define SUBPICTURE_ALIGN_RIGHT
Definition: vlc_subpicture.h:82
vlc_mutex_t source_chain_lock
Definition: vout_subpictures.c:86
static int SpuHeapPush(spu_heap_t *heap, subpicture_t *subpic)
Definition: vout_subpictures.c:110
static bool spu_area_overlap(spu_area_t a, spu_area_t b)
Definition: vout_subpictures.c:372
subpicture_region_t * p_next
vertical rendering/cropping target/limit
Definition: vlc_subpicture.h:76
void vout_ControlChangeSubFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:546
#define VOUT_SPU_CHANNEL_AVAIL_FIRST
Definition: vlc_vout.h:157
spu_private_t * p
Definition: vlc_spu.h:51
unsigned type
Window handle type.
Definition: vlc_vout_window.h:146
bool b_subtitle
the picture is a movie subtitle
Definition: vlc_subpicture.h:183
bool vlc_fourcc_IsYUV(vlc_fourcc_t fcc)
It returns true if the given fourcc is YUV and false otherwise.
Definition: fourcc.c:643
module_t * module
Definition: window.c:60
int y
Definition: vout_subpictures.c:74
void vout_display_window_Attach(vout_window_t *window, vout_display_t *vd)
Attaches a window to a display.
Definition: window.c:203
static void vout_display_window_MouseEvent(vout_window_t *window, const vout_window_mouse_event_t *mouse)
Definition: window.c:161
mtime_t i_stop
end of display date
Definition: vlc_subpicture.h:172
#define VLC_CODEC_BGRA
Definition: vlc_fourcc.h:331
Definition: vlc_inhibit.h:41
int width
Definition: vout_subpictures.c:75
void vout_display_window_Delete(vout_window_t *window)
Destroys a video window.
Definition: window.c:234
static void SpuHeapInit(spu_heap_t *heap)
Definition: vout_subpictures.c:100
bool has_double_click
Whether double click events are sent, or need to be emulated.
Definition: vlc_vout_window.h:189
static int SubpictureCmp(const void *s0, const void *s1)
This function compares 2 subpictures using the following properties (ordered by priority)
Definition: vout_subpictures.c:493
vlc_mutex_t filter_chain_lock
Definition: vout_subpictures.c:90
Definition: vout_subpictures.c:287
Definition: vout_subpictures.c:57
void vout_window_Delete(vout_window_t *window)
Deletes a window created by vout_window_New().
Definition: window.c:99
The main vlc_object_t structure.
Definition: vlc_objects.h:39
mtime_t last_sort_date
Definition: vout_subpictures.c:94
void subpicture_Update(subpicture_t *p_subpicture, const video_format_t *p_fmt_src, const video_format_t *p_fmt_dst, mtime_t i_ts)
This function will update the content of a subpicture created with a non NULL subpicture_updater_t.
Definition: subpicture.c:150
#define VOUT_MAX_PICTURES
Definition: vout_internal.h:43
bool b_ephemer
If this flag is set to true the subtitle will be displayed until the next one appear.
Definition: vlc_subpicture.h:173
#define VLC_UNUSED(x)
Definition: vlc_common.h:912
int width
Definition: vout_subpictures.c:333
#define VLC_CODEC_YUVA
Definition: vlc_fourcc.h:261
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
static picture_t * spu_new_video_buffer(filter_t *filter)
Definition: vout_subpictures.c:165
void spu_ChangeSources(spu_t *spu, const char *filters)
It changes the sub sources list.
Definition: vout_subpictures.c:1663
char * strdup(const char *)
static spu_area_t spu_area_unscaled(spu_area_t a, spu_scale_t s)
Definition: vout_subpictures.c:357
Definition: filter_chain.c:51
bool b_fade
enable fading
Definition: vlc_subpicture.h:175
bool vout_IsDisplayFiltered(vout_display_t *vd)
Definition: display.c:974
Definition: vlc_vout_window.h:90
static void SpuRegionPlace(int *x, int *y, const subpicture_t *subpic, const subpicture_region_t *region)
Place a region.
Definition: vout_subpictures.c:449
static void vout_window_stop(void *func, va_list ap)
Definition: window.c:91
static int SubSourceClean(filter_t *filter, void *data)
Definition: vout_subpictures.c:1218
bool filter_chain_IsEmpty(const filter_chain_t *chain)
Checks if the filter chain is empty.
Definition: filter_chain.c:375
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
vout_display_t * vout_NewDisplay(vout_thread_t *vout, const video_format_t *source, const vout_display_state_t *state, const char *module, mtime_t double_click_timeout, mtime_t hide_timeout)
It creates a vout managed display.
Definition: display.c:1245
Definition: vout_subpictures.c:61
static int spu_invscale_w(int v, const spu_scale_t s)
Definition: vout_subpictures.c:318
picture_t * p_picture
picture comprising this region
Definition: vlc_subpicture.h:60
vlc_inhibit_t * inhibit
Definition: window.c:61
static int SubSourceAddProxyCallbacks(filter_t *filter, void *opaque)
Definition: vout_subpictures.c:1260
Definition: fourcc_gen.c:50
subpicture_t * subpicture
Definition: vout_subpictures.c:53
static subpicture_t * SpuRenderSubpictures(spu_t *spu, unsigned int i_subpicture, subpicture_t **pp_subpicture, const vlc_fourcc_t *chroma_list, const video_format_t *fmt_dst, const video_format_t *fmt_src, mtime_t render_subtitle_date, mtime_t render_osd_date)
This function renders all sub picture units in the list.
Definition: vout_subpictures.c:1000
static int vout_window_start(void *func, va_list ap)
Definition: window.c:43
static void vout_display_SendEventDisplaySize(vout_display_t *vd, int width, int height)
Definition: vlc_vout_display.h:356
static void SpuSelectSubpictures(spu_t *spu, unsigned int *subpicture_count, subpicture_t **subpicture_array, mtime_t render_subtitle_date, mtime_t render_osd_date, bool ignore_osd)
Definition: vout_subpictures.c:518
picture_pool_t * display_pool
Definition: vout_internal.h:134
#define VLC_CODEC_YUVP
Definition: vlc_fourcc.h:258
int vout_OpenWrapper(vout_thread_t *vout, const char *splitter_name, const vout_display_state_t *state)
Definition: vout_wrapper.c:46
static void vout_SendEventClose(vout_thread_t *vout)
Definition: event.h:39
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
subpicture_t * spu_Render(spu_t *spu, const vlc_fourcc_t *chroma_list, const video_format_t *fmt_dst, const video_format_t *fmt_src, mtime_t render_subtitle_date, mtime_t render_osd_date, bool ignore_osd)
This function will return an unique subpicture containing the OSD and subtitles visibles at the reque...
Definition: vout_subpictures.c:1515
static void SpuAreaFitInside(spu_area_t *area, const spu_area_t *boundary)
Definition: vout_subpictures.c:427
static int spu_scale_w(int v, const spu_scale_t s)
Definition: vout_subpictures.c:310
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
static void SpuRenderText(spu_t *spu, bool *rerender_text, subpicture_region_t *region, const vlc_fourcc_t *chroma_list, mtime_t elapsed_time)
Definition: vout_subpictures.c:243
static void UpdateSPU(spu_t *spu, vlc_object_t *object)
Definition: vout_subpictures.c:1149
mtime_t i_start
beginning of display date
Definition: vlc_subpicture.h:171
#define var_AddCallback(a, b, c, d)
Definition: vlc_variables.h:164
Definition: vlc_vout_window.h:110
#define SCALE_UNIT
A few scale functions helpers.
Definition: vout_subpictures.c:286
bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
vlc_mutex_t lock
Definition: window.c:136
void spu_PutSubpicture(spu_t *spu, subpicture_t *subpic)
Display a subpicture.
Definition: vout_subpictures.c:1433
Definition: vlc_inhibit.h:34
#define COLOR_PRIMARIES_SRGB
Definition: vlc_es.h:259
picture_pool_t * picture_pool_NewFromFormat(const video_format_t *fmt, unsigned count)
Allocates pictures from the heap and creates a picture pool with them.
Definition: picture_pool.c:157
int i_alpha
transparency
Definition: vlc_subpicture.h:65
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
unsigned height
Definition: window.c:134
subpicture_t * subpicture_New(const subpicture_updater_t *p_upd)
This function create a new empty subpicture.
Definition: subpicture.c:44
static int spu_invscale_h(int v, const spu_scale_t s)
Definition: vout_subpictures.c:322
int w
Definition: vout_subpictures.c:288
picture_pool_t * decoder_pool
Definition: vout_internal.h:135
void spu_Destroy(spu_t *spu)
Destroy the subpicture unit.
Definition: vout_subpictures.c:1340
int filter_chain_MouseEvent(filter_chain_t *p_chain, const vlc_mouse_t *p_mouse, const video_format_t *p_fmt)
Definition: filter_chain.c:499
video_format_t fmt
format of the picture
Definition: vlc_subpicture.h:59
struct filter_owner_t::@166::@169 sub
X11 window.
Definition: vlc_vout_window.h:51
static int RestartSubSourceCallback(vlc_object_t *obj, char const *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data)
Definition: vout_subpictures.c:1252
Video output thread descriptor.
Definition: vlc_vout.h:70
#define vlc_module_unload(o, m, d,...)
Definition: vlc_modules.h:43
filter_t * text
text renderer module
Definition: vout_subpictures.c:68
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
vlc_mutex_t lock
Definition: vout_subpictures.c:62
Definition: vlc_vout_display.h:256
void vout_display_window_Attach(vout_window_t *, vout_display_t *)
Attaches a window to a display.
Definition: window.c:203
void subpicture_region_private_Delete(subpicture_region_private_t *p_private)
Definition: subpicture.c:198
#define module_unneed(a, b)
Definition: vlc_modules.h:49
#define SUBPICTURE_ALIGN_TOP
Definition: vlc_subpicture.h:83
vout_display_t * vd
Definition: vout_internal.h:81
void filter_chain_Reset(filter_chain_t *p_chain, const es_format_t *p_fmt_in, const es_format_t *p_fmt_out)
Filter chain reinitialisation.
Definition: filter_chain.c:161
picture_t *(* pf_video_filter)(filter_t *, picture_t *)
Filter a picture (video filter)
Definition: vlc_filter.h:88
static void FilterRelease(filter_t *filter)
Definition: vout_subpictures.c:158
bool force_crop
force cropping of subpicture
Definition: vout_subpictures.c:71
VLC value structure.
Definition: vlc_common.h:325
static int spu_get_attachments(filter_t *filter, input_attachment_t ***attachment_ptr, int *attachment_count)
Definition: vout_subpictures.c:172
subpicture_region_private_t * subpicture_region_private_New(video_format_t *p_fmt)
Definition: subpicture.c:181
int vout_InitWrapper(vout_thread_t *vout)
Definition: vout_wrapper.c:113
int height
Definition: vout_subpictures.c:334
Definition: vout_internal.h:46
void vout_ControlChangeSubSources(vout_thread_t *vout, const char *filters)
Definition: video_output.c:541
int i_max_height
horizontal rendering/cropping target/limit
Definition: vlc_subpicture.h:74
Definition: subpicture.h:23
unsigned height
Definition: vlc_vout_window.h:106
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
picture_pool_t * private_pool
Definition: vout_internal.h:133
static subpicture_t * sub_new_buffer(filter_t *filter)
Definition: vout_subpictures.c:1198
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
#define VLC_CODEC_ARGB
Definition: vlc_fourcc.h:329
int64_t i_order
Definition: vlc_subpicture.h:163
subpicture_t * filter_chain_SubFilter(filter_chain_t *p_chain, subpicture_t *p_subpic)
Apply filter chain to subpictures.
Definition: filter_chain.c:460
filter_chain_t * source_chain
Definition: vout_subpictures.c:87
void * sys
Definition: vlc_vout_window.h:111
picture_t * picture_NewFromFormat(const video_format_t *p_fmt)
This function will create a new picture using the given format.
Definition: picture.c:271
#define var_GetBool(a, b)
Definition: vlc_variables.h:656
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
#define VLC_CODEC_RGBA
Definition: vlc_fourcc.h:327
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:32
filter_owner_t owner
Definition: vlc_filter.h:151
#define VLC_INHIBIT_VIDEO
Definition: vlc_inhibit.h:38
int filter_chain_AppendFromString(filter_chain_t *chain, const char *str)
Append new filter to filter chain from string.
Definition: filter_chain.c:317
picture_pool_t * picture_pool_Reserve(picture_pool_t *master, unsigned count)
Reserves pictures from a pool and creates a new pool with those.
Definition: picture_pool.c:181
int x
Definition: vout_subpictures.c:73