Go to the documentation of this file.
24 #ifndef LIBVLC_VOUT_INTERNAL_H
25 #define LIBVLC_VOUT_INTERNAL_H 1
38 #define VOUT_MAX_PICTURES (20)
147 bool GetAspectRatio(
const char *ar_str,
unsigned *num,
unsigned *den);
154 void (*ack_cb)(
void *),
void *opaque);
223 unsigned *pi_lost,
unsigned *pi_late );
242 #endif // LIBVLC_VOUT_INTERNAL_H
@ VOUT_CROP_NONE
Definition: vout_internal.h:104
vlc_tick_t date
Definition: video_output.c:133
bool GetAspectRatio(const char *ar_str, unsigned *num, unsigned *den)
Definition: vout_intf.c:511
vout_thread_t * vout_Create(vlc_object_t *object)
Creates a video output.
Definition: video_output.c:1966
#define HEX2YUV(rgb)
Definition: vout_spuregion_helper.h:27
vout_control_t control
Definition: video_output.c:128
char vertical
Vectical alignment.
Definition: vlc_vout_display.h:79
void spu_Attach(spu_t *, input_thread_t *input)
Attach the SPU to an input.
Definition: vout_subpictures.c:1733
Definition: vout_private.h:34
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
#define VOUT_THREAD_TO_SYS(vout)
Definition: video_output.c:169
Mouse state.
Definition: vlc_mouse.h:45
vlc_decoder_device * dec_device
Definition: video_output.c:170
@ VLC_SYSDATA_DIR
Global architecture-independent read-only data directory (e.g.
Definition: vlc_configuration.h:280
static void vlc_array_append_or_abort(vlc_array_t *ar, void *elem)
Definition: vlc_arrays.h:347
bool b_progressive
is it a progressive frame?
Definition: vlc_picture.h:143
void vout_window_SetInhibition(vout_window_t *window, bool enabled)
Inhibits or deinhibits the screensaver.
Definition: window.c:159
struct vout_thread_sys_t vout_thread_sys_t
vlc_decoder_device * vlc_video_context_HoldDevice(vlc_video_context *vctx)
Get the decoder device used by the device context.
Definition: decoder_helpers.c:287
float rate
Definition: video_output.c:105
uint16_t i_id
Definition: vlc_epg.h:36
ssize_t spu_RegisterChannel(spu_t *spu)
It registers a new SPU channel.
Definition: vout_subpictures.c:2033
Definition: statistic.h:30
#define STYLE_NO_DEFAULTS
Definition: vlc_text_style.h:83
bool new_interlaced
Definition: video_output.c:181
void picture_fifo_Delete(picture_fifo_t *fifo)
It destroys a fifo created by picture_fifo_New.
Definition: picture_fifo.c:121
#define VOUT_ALIGN_LEFT
Definition: vlc_vout.h:60
static bool vout_CropEqual(const struct vout_crop *a, const struct vout_crop *b)
Definition: vout_internal.h:126
void vout_MouseState(vout_thread_t *vout, const vlc_mouse_t *mouse)
Updates the pointing device state.
Definition: video_output.c:361
picture_t * picture_pool_Get(picture_pool_t *pool)
Obtains a picture from a pool if any is immediately available.
Definition: picture_pool.c:175
text_style_t * text_style_Create(int i_defaults)
Create a text style.
Definition: text_style.c:213
int() var_Create(vlc_object_t *p_this, const char *psz_name, int i_type)
Creates a VLC object variable.
Definition: variables.c:291
static bool vlc_mouse_HasButton(const vlc_mouse_t *p_old, const vlc_mouse_t *p_new)
Definition: vlc_mouse.h:136
static void vout_window_SetState(vout_window_t *window, unsigned state)
Requests a new window state.
Definition: vlc_vout_window.h:457
@ VIDEO_ES
Definition: vlc_es.h:603
video_frame_format_t format
The properties of the picture.
Definition: vlc_picture.h:125
static void OSDEpgUpdate(subpicture_t *subpic, const video_format_t *fmt_src, const video_format_t *fmt_dst, vlc_tick_t ts)
Definition: video_epg.c:513
static void OSDTextUpdate(subpicture_t *subpic, const video_format_t *fmt_src, const video_format_t *fmt_dst, vlc_tick_t ts)
Definition: video_text.c:52
static int EnableWindowLocked(vout_thread_sys_t *vout, const video_format_t *original)
Definition: video_output.c:2070
void vout_snapshot_Destroy(vout_snapshot_t *snap)
Definition: snapshot.c:67
picture_t * picture_fifo_Pop(picture_fifo_t *fifo)
It retreives a picture_t from the fifo.
Definition: picture_fifo.c:75
const video_format_t * fmt
Definition: vout_internal.h:46
char * psz_name
Definition: vlc_epg.h:53
void vout_ChangeDisplayAspectRatio(vout_thread_t *vout, unsigned dar_num, unsigned dar_den)
Definition: video_output.c:625
static subpicture_region_t * vout_OSDImage(vlc_object_t *p_obj, int x, int y, int w, int h, const char *psz_uri)
Definition: video_epg.c:224
static void vout_ReleaseDisplay(vout_thread_sys_t *vout)
Definition: video_output.c:1803
static void video_format_CopyCropAr(video_format_t *dst, const video_format_t *src)
Definition: vlc_es.h:488
void vout_display_SetSize(vout_display_t *vd, unsigned width, unsigned height)
Definition: display.c:578
void vlc_epg_SetCurrent(vlc_epg_t *p_epg, int64_t i_start)
It set the current event of a vlc_epg_t given a start time.
Definition: epg.c:204
Definition: vlc_filter.h:45
vlc_decoder_device * vout_GetDevice(vout_thread_t *vout)
Setup the vout for the given configuration and get an associated decoder device.
Definition: video_output.c:2186
void vout_CreateVars(vout_thread_t *)
Definition: vout_intf.c:154
@ OSD_PAUSE_ICON
Definition: vlc_vout_osd.h:48
video_format_t src_fmt
Definition: video_output.c:183
static bool var_InheritBool(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:675
struct vout_thread_sys_t::@117 step
struct vout_display_cfg::@275 display
Display properties.
#define VOUT_SPU_CHANNEL_OSD
Definition: vlc_vout.h:128
#define GRADIENT_COLORS
Definition: video_epg.c:90
bool picture_fifo_IsEmpty(picture_fifo_t *fifo)
It returns whether the fifo is empty or not.
Definition: picture_fifo.c:83
static int video_format_Copy(video_format_t *p_dst, const video_format_t *p_src)
Copy video_format_t including the palette.
Definition: vlc_es.h:415
void * mouse_opaque
Definition: video_output.c:163
vlc_decoder_device * vlc_decoder_device_Create(vlc_object_t *o, vout_window_t *window)
Create a decoder device from a window.
Definition: decoder_helpers.c:181
Text segment for subtitles.
Definition: vlc_text_style.h:140
int i_max_width
try to balance wrapped text lines
Definition: vlc_subpicture.h:75
picture_t * vout_GetPicture(vout_thread_t *vout)
Allocates a video output picture buffer.
Definition: video_output.c:450
text_segment_t * text_segment_New(const char *psz_text)
This function will create a new text segment.
Definition: text_style.c:372
static vlc_video_context * picture_GetVideoContext(picture_t *pic)
Definition: vlc_picture.h:160
vout_display_t * display
Definition: video_output.c:174
int() var_InheritURational(vlc_object_t *object, unsigned *num, unsigned *den, const char *var)
Inherit a string as a fractional value.
Definition: variables.c:1073
unsigned width
Definition: vlc_vout_display.h:483
Definition: vlc_subpicture.h:85
#define VOUT_MWAIT_TOLERANCE
Definition: video_output.c:184
struct vout_crop crop
Definition: video_output.c:113
static void vout_display_SizeWindow(unsigned *restrict width, unsigned *restrict height, unsigned w, unsigned h, unsigned sar_num, unsigned sar_den, video_orientation_t orientation, const vout_display_cfg_t *restrict cfg)
Definition: video_output.c:215
#define OSDEPG_PADDING
Definition: video_epg.c:42
const vlc_fourcc_t * subpicture_chromas
Definition: vlc_vout_display.h:137
vlc_clock_t * clock
Definition: video_output.c:104
static void vout_window_SetSize(vout_window_t *window, unsigned width, unsigned height)
Requests a new window size.
Definition: vlc_vout_window.h:482
picture_fifo_t * decoder_fifo
Definition: video_output.c:189
#define VLC_VIDEO_ALIGN_CENTER
Definition: vlc_vout_display.h:55
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
vlc_tick_t avg
Definition: chrono.h:50
atomic_bool control_is_terminated
Definition: video_output.c:129
static char * GetDefaultArtUri(void)
Definition: video_epg.c:77
void vout_ChangeDisplayFilled(vout_thread_t *, bool is_filled)
Definition: video_output.c:567
Definition: vlc_subpicture.h:135
uint8_t i_outline_alpha
The transparency of the outline.
Definition: vlc_text_style.h:79
#define EPGOSD_TEXTSIZE_NTWK
Definition: video_epg.c:61
void vout_ChangeCrop(vout_thread_t *, const struct vout_crop *)
filter_t * filter_chain_AppendFilter(filter_chain_t *chain, const char *name, const config_chain_t *cfg, const es_format_t *fmt_out)
Append a filter to the chain.
Definition: filter_chain.c:295
static void vout_UpdateWindowSizeLocked(vout_thread_sys_t *vout)
Definition: video_output.c:311
int vout_Request(const vout_configuration_t *cfg, vlc_video_context *vctx, input_thread_t *input)
Returns a suitable vout or release the given one.
Definition: video_output.c:2120
void vout_display_PlacePicture(vout_display_place_t *place, const video_format_t *source, const vout_display_cfg_t *cfg)
Computes the intended picture placement inside the display.
Definition: display.c:122
int i_y
position of region, relative to alignment
Definition: vlc_subpicture.h:65
@ VOUT_CROP_RATIO
Definition: vout_internal.h:104
subpicture_updater_t updater
Definition: vlc_subpicture.h:203
text_segment_t * p_text
subtitle text, made of a list of segments
Definition: vlc_subpicture.h:70
static bool VoutCheckFormat(const video_format_t *src)
Definition: video_output.c:187
int filter_chain_ForEach(filter_chain_t *chain, int(*cb)(filter_t *, void *), void *opaque)
Definition: filter_chain.c:389
static void OSDEpgDestroy(subpicture_t *subpic)
Definition: video_epg.c:536
subpicture_region_t * subpicture_region_New(const video_format_t *p_fmt)
This function will create a new subpicture region.
Definition: subpicture.c:240
int i_entries
to keep the compatibility with libavcodec's palette
Definition: vlc_es.h:45
#define vlc_mutex_assert(m)
Asserts that a mutex is locked by the calling thread.
Definition: vlc_threads.h:328
void filter_DeleteBlend(vlc_blender_t *p_blend)
It destroys a blend filter created by filter_NewBlend.
Definition: filter.c:173
void vout_SetDisplayViewpoint(vout_display_t *vd, const vlc_viewpoint_t *p_viewpoint)
Definition: display.c:645
bool b_double_click
Definition: vlc_mouse.h:53
vlc_mouse_event mouse_event
Definition: vout_internal.h:47
#define VLC_CLIP(v, min, max)
Definition: vlc_common.h:551
static void ThreadChangeFilters(vout_thread_sys_t *vout)
Definition: video_output.c:844
vlc_tick_t vlc_clock_SetDelay(vlc_clock_t *clock, vlc_tick_t delay)
This functions change the clock delay.
Definition: clock.c:497
#define STYLE_HAS_FONT_COLOR
Definition: vlc_text_style.h:85
#define msg_Info(p_this,...)
Definition: vlc_messages.h:100
static void video_format_Clean(video_format_t *p_src)
Cleanup and free palette of this video_format_t.
Definition: vlc_es.h:469
void vout_Stop(vout_thread_t *)
Disables a vout.
Definition: video_output.c:1874
unsigned x
Definition: vout_internal.h:112
void vout_ChangeRate(vout_thread_t *, float rate)
This function will change the rate of the vout It is thread safe.
Definition: video_output.c:1583
vout_chrono_t static_filter
Definition: video_output.c:191
struct vout_thread_sys_t::@115 source
struct filter_chain_t * chain_interactive
Definition: video_output.c:186
picture_t * filter_chain_VideoFilter(filter_chain_t *p_chain, picture_t *p_pic)
Apply the filter chain to a video picture.
Definition: filter_chain.c:443
void * mouse_opaque
Definition: vout_internal.h:48
void vout_ChangeSpuRate(vout_thread_t *vout, size_t channel_id, float rate)
This function will change the rate of the spu channel It is thread safe.
Definition: video_output.c:1602
void * p_sys
Definition: vlc_subpicture.h:153
bool has_deint
Definition: vout_private.h:38
static vlc_tick_t vlc_tick_from_samples(int64_t samples, int samp_rate)
Definition: vlc_tick.h:101
int i_original_picture_height
original height of the movie
Definition: vlc_subpicture.h:199
#define OSDEPG_WIDTH
Definition: video_epg.c:43
#define EPGOSD_TEXTSIZE_PROG
Definition: video_epg.c:60
vlc_clock_t * clock
Definition: vout_internal.h:45
#define EPGOSD_TEXTSIZE_NAME
Definition: video_epg.c:59
text_segment_t * p_next
next segment
Definition: vlc_text_style.h:143
int64_t time
Definition: video_epg.c:72
vlc_video_context * src_vctx
Definition: video_output.c:184
char * splitter_name
Definition: video_output.c:102
vlc_video_align_t align
Alignment of the video within the window.
Definition: vlc_vout_display.h:117
vlc_mouse_t mouse
Definition: video_output.c:161
#define filter_DelProxyCallbacks(a, b, c)
Definition: vlc_filter.h:387
static int OSDTextValidate(subpicture_t *subpic, bool has_src_changed, const video_format_t *fmt_src, bool has_dst_changed, const video_format_t *fmt_dst, vlc_tick_t ts)
Definition: video_text.c:38
static bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
Decrement the RC and return true if it reaches 0.
Definition: vlc_atomic.h:61
struct vout_thread_sys_t::@118 pause
void vout_ChangeDelay(vout_thread_t *vout, vlc_tick_t delay)
This function will change the delay of the vout It is thread safe.
Definition: video_output.c:1571
void vout_MouseState(vout_thread_t *, const vlc_mouse_t *)
Updates the pointing device state.
Definition: video_output.c:361
vlc_rational_t dar
Definition: video_output.c:112
static void vout_OSDSegmentSetNoWrap(text_segment_t *p_segment)
Definition: video_epg.c:190
void vout_InitInterlacingSupport(vout_thread_t *vout, vout_thread_private_t *sys)
Definition: interlacing.c:93
static void picture_Release(picture_t *picture)
Decrements the picture reference count.
Definition: vlc_picture.h:368
static void vout_statistic_AddDisplayed(vout_statistic_t *stat, int displayed)
Definition: statistic.h:59
size_t i_event
Definition: vlc_epg.h:56
void spu_PutSubpicture(spu_t *spu, subpicture_t *subpic)
Display a subpicture.
Definition: vout_subpictures.c:1792
void vout_DisplayTitle(vout_thread_t *vout, const char *title)
This function will ask the display of the input title.
Definition: video_output.c:348
bool vout_IsEmpty(vout_thread_t *p_vout)
This function will return true if no more pictures are to be displayed.
Definition: video_output.c:338
#define STYLE_HAS_FONT_ALPHA
Definition: vlc_text_style.h:86
void vout_OSDSlider(vout_thread_t *vout, int channel, int position, short type)
Display a slider on the video output.
Definition: video_widgets.c:330
char * configuration
Definition: video_output.c:182
void spu_UnregisterChannel(spu_t *spu, size_t channel_id)
Definition: vout_subpictures.c:2063
void vout_ChangeZoom(vout_thread_t *vout, unsigned num, unsigned den)
Definition: video_output.c:584
int picture_Export(vlc_object_t *p_obj, block_t **pp_image, video_format_t *p_fmt, picture_t *p_picture, vlc_fourcc_t i_format, int i_override_width, int i_override_height, bool b_crop)
This function will export a picture to an encoded bitstream.
Definition: picture.c:462
enum vout_crop_mode mode
Definition: vout_internal.h:108
Definition: video_output.c:839
#define VOUT_ALIGN_BOTTOM
Definition: vlc_vout.h:64
bool b_balanced_text
if the decoder sends row/cols based output
Definition: vlc_subpicture.h:74
#define MS_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:123
static int ThreadDelFilterCallbacks(filter_t *filter, void *opaque)
Definition: video_output.c:783
int vout_Request(const vout_configuration_t *cfg, vlc_video_context *vctx, input_thread_t *input)
Returns a suitable vout or release the given one.
Definition: video_output.c:2120
unsigned right
Definition: vout_internal.h:119
vout_display_cfg_t display_cfg
Definition: video_output.c:173
vlc_mutex_t lock
Definition: video_output.c:179
#define VLC_CODEC_TEXT
Definition: vlc_fourcc.h:593
#define VOUT_REDISPLAY_DELAY
Definition: video_output.c:176
void vout_Release(vout_thread_t *vout)
Definition: video_output.c:1906
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
const vout_display_cfg_t * cfg
User configuration.
Definition: vlc_vout_display.h:324
vout_thread_t * vout
Definition: vout_internal.h:44
void vout_SetDisplayFilled(vout_display_t *vd, bool is_filled)
Definition: display.c:588
int i_x
position of region, relative to alignment
Definition: vlc_subpicture.h:64
void vout_display_TranslateMouseState(vout_display_t *vd, vlc_mouse_t *video, const vlc_mouse_t *window)
Translates mouse state.
Definition: display.c:204
void vout_ChangePause(vout_thread_t *vout, bool is_paused, vlc_tick_t date)
This function will (un)pause the display of pictures.
Definition: video_output.c:1478
unsigned den
Definition: fourcc_gen.c:34
void vout_IntfDeinit(vlc_object_t *)
Definition: vout_intf.c:322
vlc_epg_t * vlc_epg_New(uint32_t i_id, uint16_t i_source_id)
It creates a new vlc_epg_t*.
Definition: epg.c:190
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
static subpicture_region_t * vout_BuildOSDEpg(epg_spu_updater_sys_t *p_sys, int x, int y, int visible_width, int visible_height)
Definition: video_epg.c:413
Definition: video_text.c:33
static subpicture_region_t * vout_OSDEpgSlider(int x, int y, int width, int height, float ratio)
Definition: video_epg.c:121
Viewpoints.
Definition: vlc_viewpoint.h:41
vlc_tick_t date
display date
Definition: vlc_picture.h:134
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
void vout_ControlChangeFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:662
static subpicture_region_t * spuregion_CreateFromPicture(vlc_object_t *p_this, video_format_t *p_fmt, const char *psz_uri)
Definition: vout_spuregion_helper.h:66
void spu_SetClockDelay(spu_t *spu, size_t channel_id, vlc_tick_t delay)
Definition: vout_subpictures.c:1761
void picture_Reset(picture_t *p_picture)
This function will reset a picture information (properties and quantizers).
Definition: picture.c:91
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
vlc_tick_t i_start
beginning of display date
Definition: vlc_subpicture.h:184
void spu_SetHighlight(spu_t *, const vlc_spu_highlight_t *)
Definition: vout_subpictures.c:2132
picture_t * vout_ConvertForDisplay(vout_display_t *vd, picture_t *picture)
Definition: display.c:401
bool b_absolute
position is absolute
Definition: vlc_subpicture.h:197
void vout_ControlChangeInterlacing(vout_thread_t *vout, bool set)
Definition: video_output.c:684
vlc_video_context * vlc_video_context_Hold(vlc_video_context *vctx)
Definition: decoder_helpers.c:269
int position
Definition: video_text.c:55
VLC_EXPORT bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
unsigned window_height
Definition: video_output.c:168
void vout_ReinitInterlacingSupport(vout_thread_t *vout, vout_thread_private_t *sys)
Definition: interlacing.c:150
static void vout_statistic_Clean(vout_statistic_t *stat)
Definition: statistic.h:43
void vout_ChangeSpuChannelMargin(vout_thread_t *, enum vlc_vout_order order, int)
Definition: video_output.c:709
static text_segment_t * vout_OSDSegment(const char *psz_text, int size, uint32_t color)
Definition: video_epg.c:199
vlc_tick_t var
Definition: chrono.h:54
struct filter_chain_t * chain_static
Definition: video_output.c:185
vlc_fourcc_t image_Type2Fourcc(const char *)
Definition: image.c:613
void() var_Destroy(vlc_object_t *p_this, const char *psz_name)
Destroys a VLC object variable.
Definition: variables.c:382
void vout_PutPicture(vout_thread_t *vout, picture_t *picture)
It gives to the vout a picture to be displayed.
Definition: video_output.c:470
Video picture.
Definition: vlc_picture.h:120
int asprintf(char **, const char *,...)
int i_text_align
alignment flags of region content
Definition: vlc_subpicture.h:71
void vout_SetInterlacingState(vout_thread_t *vout, vout_thread_private_t *sys, bool is_interlaced)
Definition: interlacing.c:156
vout_display_info_t info
Definition: vlc_vout_display.h:356
void vout_FilterFlush(vout_display_t *vd)
Definition: display.c:424
static int var_SetCoords(vlc_object_t *obj, const char *name, int32_t x, int32_t y)
Definition: vlc_variables.h:315
uint32_t i_id
Definition: vlc_epg.h:54
int config_GetType(const char *psz_name)
Gets a configuration item type.
Definition: core.c:48
void vout_DisplayTitle(vout_thread_t *p_vout, const char *psz_title)
This function will ask the display of the input title.
Definition: video_output.c:348
unsigned height
Definition: vout_internal.h:115
struct vout_snapshot * snapshot
Definition: video_output.c:117
Mutex.
Definition: vlc_threads.h:225
video_format_t original
Definition: video_output.c:108
static void vout_window_SetFullScreen(vout_window_t *window, const char *id)
Requests fullscreen mode.
Definition: vlc_vout_window.h:495
void vout_SetSpuHighlight(vout_thread_t *vout, const vlc_spu_highlight_t *spu_hl)
Definition: video_output.c:432
bool dummy
Definition: video_output.c:99
#define filter_AddProxyCallbacks(a, b, c)
Definition: vlc_filter.h:376
static bool var_ToggleBool(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:666
#define VOUT_SPU_CHANNEL_INVALID
Definition: vlc_vout.h:127
picture_t * picture_pool_Wait(picture_pool_t *pool)
Obtains a picture from a pool.
Definition: picture_pool.c:201
struct vout_thread_sys_t::@116 displayed
static vlc_tick_t vout_chrono_GetHigh(vout_chrono_t *chrono)
Definition: chrono.h:58
void vout_ControlChangeSubFilters(vout_thread_t *, const char *)
Definition: video_output.c:701
unsigned y
Definition: vout_internal.h:113
static subpicture_region_t * vout_OSDTextRegion(text_segment_t *p_segment, int x, int y)
Definition: video_epg.c:253
es_format_t fmt_out
Definition: vlc_filter.h:228
#define OSDEPG_HEIGHT
Definition: video_epg.c:44
void vout_NextPicture(vout_thread_t *vout, vlc_tick_t *duration)
This function will force to display the next picture while paused.
Definition: video_output.c:1548
vlc_fourcc_t vlc_fourcc_GetCodec(int cat, vlc_fourcc_t fourcc)
It returns the codec associated to a fourcc within an ES category.
Definition: fourcc.c:112
Vout configuration.
Definition: vout_internal.h:43
struct vout_window_t * window
Window.
Definition: vlc_vout_display.h:95
static void vout_DisableWindow(vout_thread_sys_t *sys)
Definition: video_output.c:1864
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:144
#define ARGB_BGCOLOR
Definition: video_epg.c:67
unsigned height
Definition: vlc_vout_display.h:484
uint16_t i_features
Feature flags (means non default)
Definition: vlc_text_style.h:66
vlc_video_context * filter_chain_GetVideoCtxOut(const filter_chain_t *p_chain)
Get last output video context of the last element in the filter chain.
Definition: filter_chain.c:415
char * text
Definition: video_text.c:56
char * vlc_path2uri(const char *path, const char *scheme)
Converts local path to URL.
Definition: url.c:143
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
uint32_t i_duration
Definition: vlc_epg.h:35
bool is_interlaced
Definition: video_output.c:135
#define STYLE_HAS_OUTLINE_ALPHA
Definition: vlc_text_style.h:89
static void VoutGetDisplayCfg(vout_thread_sys_t *p_vout, const video_format_t *fmt, vout_display_cfg_t *cfg)
Definition: video_output.c:736
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
Video placement.
Definition: vlc_vout_display.h:480
struct vout_thread_t obj
Definition: video_output.c:95
picture_t * picture_NewFromFormat(const video_format_t *restrict fmt)
Definition: picture.c:259
vlc_mutex_t display_lock
Definition: video_output.c:175
Definition: video_epg.c:69
picture_fifo_t * picture_fifo_New(void)
It creates an empty picture_fifo_t.
Definition: picture_fifo.c:58
Definition: vlc_arrays.h:258
#define filter_chain_NewVideo(a, b, c)
Definition: vlc_filter.h:492
void vout_ChangeCrop(vout_thread_t *vout, const struct vout_crop *restrict crop)
Definition: video_output.c:644
void vout_SetDisplayZoom(vout_display_t *vd, unsigned num, unsigned den)
Definition: display.c:600
void vout_PutSubpicture(vout_thread_t *vout, subpicture_t *subpic)
Definition: video_output.c:379
vlc_viewpoint_t viewpoint
Definition: vlc_vout_display.h:125
@ OSD_VERT_SLIDER
Definition: vlc_vout_osd.h:53
static void ThreadDelAllFilterCallbacks(vout_thread_sys_t *vout)
Definition: video_output.c:790
ssize_t vout_RegisterSubpictureChannelInternal(vout_thread_t *, vlc_clock_t *clock, enum vlc_vout_order *out_order)
Definition: video_output.c:402
Definition: vlc_filter.h:65
vout_snapshot_t * vout_snapshot_New(void)
Definition: snapshot.c:52
ssize_t i_channel
subpicture channel ID
Definition: vlc_subpicture.h:170
static int var_SetString(vlc_object_t *p_obj, const char *psz_name, const char *psz_string)
Set the value of a string variable.
Definition: vlc_variables.h:345
#define SUBPICTURE_ALIGN_MASK
Definition: vlc_subpicture.h:99
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
void vout_Close(vout_thread_t *vout)
Destroys a vout.
Definition: video_output.c:1885
spu_t * spu
Definition: video_output.c:123
#define STYLE_HAS_WRAP_INFO
Definition: vlc_text_style.h:94
void vout_ChangeZoom(vout_thread_t *, unsigned num, unsigned den)
Definition: video_output.c:584
void vout_window_Disable(vout_window_t *window)
Disables a window.
Definition: window.c:113
void vout_control_Clean(vout_control_t *ctrl)
Definition: control.c:45
#define VLC_VIDEO_ALIGN_TOP
Definition: vlc_vout_display.h:58
unsigned width
Definition: vout_internal.h:114
int i_font_color
The color of the text 0xRRGGBB (native endianness)
Definition: vlc_text_style.h:72
#define SUBPICTURE_ALIGN_LEFT
Definition: vlc_subpicture.h:95
#define VLC_CODEC_RGB32
Definition: vlc_fourcc.h:349
Definition: vlc_configuration.h:331
vlc_tick_t delay
Definition: video_output.c:106
#define SUBPICTURE_ALIGN_BOTTOM
Definition: vlc_subpicture.h:98
int(* pf_validate)(subpicture_t *, bool has_src_changed, const video_format_t *p_fmt_src, bool has_dst_changed, const video_format_t *p_fmt_dst, vlc_tick_t)
Optional pre update callback, usually useful on video format change.
Definition: vlc_subpicture.h:140
void vout_ChangeDisplaySize(vout_thread_t *, unsigned width, unsigned height, void(*ack_cb)(void *), void *opaque)
Definition: video_output.c:545
void spu_Destroy(spu_t *spu)
Destroy the subpicture unit.
Definition: vout_subpictures.c:1623
static size_t vlc_array_count(vlc_array_t *p_array)
Definition: vlc_arrays.h:277
static void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
Increment the RC.
Definition: vlc_atomic.h:52
const video_format_t * source
Source video format.
Definition: vlc_vout_display.h:335
Structure describing a filter.
Definition: vlc_filter.h:215
vout_thread_private_t private
Definition: video_output.c:97
void spu_SetClockRate(spu_t *spu, size_t channel_id, float rate)
Definition: vout_subpictures.c:1773
Definition: picture_fifo.c:39
void spu_ChangeChannelOrderMargin(spu_t *, enum vlc_vout_order, int)
Definition: vout_subpictures.c:2112
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
unsigned window_width
Definition: video_output.c:167
void vlc_clock_Reset(vlc_clock_t *clock)
This function resets the clock drift.
Definition: clock.c:492
int i_pitch
Number of bytes in a line, including margins.
Definition: vlc_picture.h:46
void vout_CloseWrapper(vout_thread_t *, vout_thread_private_t *, vout_display_t *vd)
Definition: vout_wrapper.c:131
vlc_atomic_rc_t rc
Definition: video_output.c:193
void vout_OSDIcon(vout_thread_t *vout, int channel, short type)
Display an Icon on the video output.
Definition: video_widgets.c:335
static void vout_statistic_AddLost(vout_statistic_t *stat, int lost)
Definition: statistic.h:66
void * sys
Definition: vlc_filter.h:78
int64_t i_start
Definition: vlc_epg.h:34
Video subtitle.
Definition: vlc_subpicture.h:166
int vout_control_Pop(vout_control_t *ctrl, vlc_mouse_t *mouse, vlc_tick_t deadline)
Definition: control.c:85
User configuration for a video output display (vout_display_t)
Definition: vlc_vout_display.h:94
static picture_t * ThreadDisplayPreparePicture(vout_thread_sys_t *vout, bool reuse_decoded, bool frame_by_frame, bool *paused)
Definition: video_output.c:953
void vout_OSDText(vout_thread_t *vout, int channel, int position, vlc_tick_t duration, const char *text)
Write an informative message if the OSD option is enabled.
Definition: video_text.c:105
void filter_chain_VideoFlush(filter_chain_t *p_chain)
Flush a video filter chain.
Definition: filter_chain.c:464
subpicture_region_t * p_region
region list composing this subtitle
Definition: vlc_subpicture.h:180
vout_thread_t * vout_CreateDummy(vlc_object_t *obj)
Definition: video_output.c:1955
int i_align
alignment flags of region
Definition: vlc_subpicture.h:66
unsigned picture_BlendSubpicture(picture_t *dst, vlc_blender_t *blend, subpicture_t *src)
This function will blend a given subpicture onto a picture.
Definition: subpicture.c:291
void picture_Copy(picture_t *p_dst, const picture_t *p_src)
This function will copy both picture dynamic properties and pixels.
Definition: picture.c:411
Subpicture unit descriptor.
Definition: vlc_spu.h:47
ssize_t vout_RegisterSubpictureChannel(vout_thread_t *vout)
Definition: video_output.c:390
Decoder context struct.
Definition: vlc_codec.h:566
void vout_SetDisplayAspect(vout_display_t *vd, unsigned dar_num, unsigned dar_den)
Definition: display.c:614
static void OSDTextDestroy(subpicture_t *subpic)
Definition: video_text.c:97
static void vout_FlushUnlocked(vout_thread_sys_t *vout, bool below, vlc_tick_t date)
Definition: video_output.c:1501
static void ThreadFilterFlush(vout_thread_sys_t *sys, bool is_locked)
Definition: video_output.c:823
static picture_t * VoutVideoFilterStaticNewPicture(filter_t *filter)
Definition: video_output.c:810
int vout_OSDEpg(vout_thread_t *vout, input_item_t *input)
Show EPG information about the current program of an input item.
Definition: video_epg.c:551
const struct vlc_display_operations * ops
Callbacks the display module must set on Open.
Definition: vlc_vout_display.h:374
vlc_decoder_device * vout_GetDevice(vout_thread_t *vout)
Setup the vout for the given configuration and get an associated decoder device.
Definition: video_output.c:2186
bool window_enabled
Definition: video_output.c:166
struct vlc_object_t obj
Definition: vlc_vout.h:56
Video subtitle region.
Definition: vlc_subpicture.h:59
vout_thread_t * vout_Hold(vout_thread_t *vout)
Definition: video_output.c:2047
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
#define VLC_CODEC_PNG
Definition: vlc_fourcc.h:437
void vout_ChangeDelay(vout_thread_t *, vlc_tick_t delay)
This function will change the delay of the vout It is thread safe.
Definition: video_output.c:1571
int i_font_size
The font size in pixels.
Definition: vlc_text_style.h:71
void vout_ChangePause(vout_thread_t *, bool b_paused, vlc_tick_t i_date)
This function will (un)pause the display of pictures.
Definition: video_output.c:1478
#define OSDEPG_LOGO_SIZE
Definition: video_epg.c:51
void picture_fifo_Flush(picture_fifo_t *fifo, vlc_tick_t date, bool flush_before)
It release all picture inside the fifo that have a lower or equal date if flush_before or higher or e...
Definition: picture_fifo.c:91
vlc_epg_event_t ** pp_event
Definition: vlc_epg.h:57
vlc_blender_t * spu_blend
Definition: video_output.c:125
static void vout_SetAspectRatio(vout_thread_sys_t *sys, unsigned dar_num, unsigned dar_den)
Definition: video_output.c:618
void spu_ChangeSources(spu_t *spu, const char *filters)
It changes the sub sources list.
Definition: vout_subpictures.c:2074
bool is_fullscreen
Whether the window should be in full screen mode or not.
Definition: vlc_vout_window.h:152
void vout_ChangeRate(vout_thread_t *vout, float rate)
This function will change the rate of the vout It is thread safe.
Definition: video_output.c:1583
vlc_rational_t zoom
Zoom ratio.
Definition: vlc_vout_display.h:123
picture_t * decoded
Definition: video_output.c:136
int i_original_picture_width
original width of the movie
Definition: vlc_subpicture.h:198
static void spuregion_CreateVGradientPalette(video_palette_t *p_palette, uint8_t i_splits, uint32_t argb1, uint32_t argb2)
Definition: vout_spuregion_helper.h:31
bool is_late_dropped
Definition: video_output.c:158
bool b_force
Definition: vlc_picture.h:135
void(* display)(vout_display_t *, picture_t *pic)
Displays a picture.
Definition: vlc_vout_display.h:281
#define VOUT_ALIGN_TOP
Definition: vlc_vout.h:63
#define STYLE_ALPHA_OPAQUE
Definition: vlc_text_style.h:79
unsigned width
Intended pixel width of the window.
Definition: vlc_vout_window.h:168
void vout_IntfReinit(vout_thread_t *)
Definition: vout_intf.c:308
Thread handle.
Definition: vlc_threads.h:180
int i_y
Definition: vlc_mouse.h:49
vlc_epg_t * epg
Definition: video_epg.c:71
unsigned height
Requested display pixel height (0 by default).
Definition: vlc_vout_display.h:100
void text_segment_Delete(text_segment_t *segment)
Delete a text segment and its content.
Definition: text_style.c:421
static vout_thread_sys_t * vout_CreateCommon(vlc_object_t *object)
Definition: video_output.c:1938
static bool vlc_mouse_HasMoved(const vlc_mouse_t *p_old, const vlc_mouse_t *p_new)
Definition: vlc_mouse.h:131
bool is_display_filled
Automatic scaling/fitting flag.
Definition: vlc_vout_display.h:120
static void vout_FillRightPanel(epg_spu_updater_sys_t *p_sys, int x, int y, int width, int height, int rx, int ry, subpicture_region_t **last_ptr)
Definition: video_epg.c:319
@ OSD_HOR_SLIDER
Definition: vlc_vout_osd.h:52
vlc_object_t * obj
Definition: video_epg.c:74
void vout_ControlChangeInterlacing(vout_thread_t *, bool)
Definition: video_output.c:684
vout_crop_mode
Definition: vout_internal.h:103
#define SUBPICTURE_ALIGN_RIGHT
Definition: vlc_subpicture.h:96
uint8_t i_font_alpha
The transparency of the text.
Definition: vlc_text_style.h:74
char horizontal
Horizontal alignment.
Definition: vlc_vout_display.h:71
static float var_GetFloat(vlc_object_t *p_obj, const char *psz_name)
Get a float value.
Definition: vlc_variables.h:421
void vout_StopDisplay(vout_thread_t *)
Stop the display plugin, but keep its window plugin for later reuse.
Definition: video_output.c:1852
int vout_ChangeSource(vout_thread_t *vout, const video_format_t *original)
Set the new source format for a started vout.
Definition: video_output.c:2055
void vout_SetDisplayCrop(vout_display_t *vd, const struct vout_crop *restrict crop)
Definition: display.c:632
static void spuregion_CreateVGradientFill(plane_t *p, uint8_t i_splits)
Definition: vout_spuregion_helper.h:49
void vout_Flush(vout_thread_t *vout, vlc_tick_t date)
This function will ensure that all ready/displayed pictures have at most the provided date.
Definition: video_output.c:1538
#define VOUT_DISPLAY_LATE_THRESHOLD
Late pictures having a delay higher than this value are thrashed.
Definition: video_output.c:181
static void vout_statistic_Init(vout_statistic_t *stat)
Definition: statistic.h:36
static vlc_decoder_device * VoutHoldDecoderDevice(vlc_object_t *o, void *opaque)
Definition: video_output.c:1041
void spu_ChangeFilters(spu_t *spu, const char *filters)
It changes the sub filters list.
Definition: vout_subpictures.c:2093
void vout_ChangeWindowed(vout_thread_t *vout)
Definition: video_output.c:525
subpicture_region_t * p_next
next region in the list
Definition: vlc_subpicture.h:81
void vout_snapshot_End(vout_snapshot_t *snap)
Definition: snapshot.c:80
uint8_t i_shadow_alpha
The transparency of the shadow.
Definition: vlc_text_style.h:84
void vout_ControlChangeSubFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:701
void vout_ChangeFullscreen(vout_thread_t *vout, const char *id)
Definition: video_output.c:516
bool b_subtitle
the picture is a movie subtitle
Definition: vlc_subpicture.h:196
void vout_SetSpuHighlight(vout_thread_t *p_vout, const vlc_spu_highlight_t *)
Definition: video_output.c:432
Definition: fourcc_gen.c:34
#define VOUT_ALIGN_RIGHT
Definition: vlc_vout.h:61
picture_pool_t * private_pool
Definition: vout_private.h:42
const struct filter_video_callbacks * video
Definition: vlc_filter.h:69
struct vout_thread_private_t::@128 interlacing
vlc_thread_t thread
Definition: video_output.c:130
void vout_ChangeSpuDelay(vout_thread_t *vout, size_t channel_id, vlc_tick_t delay)
This function will change the delay of the spu channel It is thread safe.
Definition: video_output.c:1593
void vout_control_Release(vout_control_t *ctrl)
Definition: control.c:76
Definition: vout_internal.h:107
vlc_tick_t vlc_clock_UpdateVideo(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base)
This function will update the video clock drift and returns the drift.
Definition: clock.c:485
bool filter_chain_IsEmpty(const filter_chain_t *chain)
Checks if the filter chain is empty.
Definition: filter_chain.c:401
subpicture_t * subpicture_New(const subpicture_updater_t *p_upd)
This function create a new empty subpicture.
Definition: subpicture.c:43
static void vout_chrono_Clean(vout_chrono_t *chrono)
Definition: chrono.h:50
Definition: decoder_helpers.c:228
void vout_display_window_Delete(vout_window_t *window)
Destroys a video window.
Definition: window.c:402
vout_display_t * vout_OpenWrapper(vout_thread_t *, vout_thread_private_t *, const char *, const vout_display_cfg_t *, video_format_t *, vlc_video_context *)
Definition: vout_wrapper.c:58
static void vout_statistic_AddLate(vout_statistic_t *stat, int late)
Definition: statistic.h:71
struct vout_thread_sys_t::@120 filter
@ OSD_PLAY_ICON
Definition: vlc_vout_osd.h:47
text_style_t * style
style applied to this segment
Definition: vlc_text_style.h:142
void picture_fifo_Push(picture_fifo_t *fifo, picture_t *picture)
It saves a picture_t into the fifo.
Definition: picture_fifo.c:69
void vout_ChangeDisplayFilled(vout_thread_t *vout, bool is_filled)
Definition: video_output.c:567
unsigned left
Definition: vout_internal.h:118
char * name
Definition: video_output.c:840
VLC object common members.
Definition: vlc_objects.h:43
static int ThreadDisplayRenderPicture(vout_thread_sys_t *vout, bool render_now)
Definition: video_output.c:1105
bool vout_snapshot_IsRequested(vout_snapshot_t *snap)
It tells if they are pending snapshot request.
Definition: snapshot.c:120
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, vlc_tick_t system_now, vlc_tick_t render_subtitle_date, bool ignore_osd, bool external_scale)
This function will return an unique subpicture containing the OSD and subtitles visibles at the reque...
Definition: vout_subpictures.c:1895
int i_visible_pitch
How many visible pixels are there?
Definition: vlc_picture.h:53
char * config_ChainCreate(char **ppsz_name, config_chain_t **pp_cfg, const char *psz_chain)
This function will parse a configuration string (psz_string) and.
Definition: chain.c:225
void vout_UpdateDisplaySourceProperties(vout_display_t *vd, const video_format_t *source, const vlc_rational_t *forced_dar)
Definition: display.c:544
static void vout_OSDRegionConstrain(subpicture_region_t *p_region, int w, int h)
Definition: video_epg.c:244
unsigned num
Definition: fourcc_gen.c:34
void vlc_decoder_device_Release(vlc_decoder_device *device)
Release a decoder device.
Definition: decoder_helpers.c:213
vout_statistic_t statistic
Definition: video_output.c:120
static void vlc_array_init(vlc_array_t *p_array)
Definition: vlc_arrays.h:264
void config_ChainDestroy(config_chain_t *p_cfg)
This function will release a linked list of config_chain_t (Including the head)
Definition: chain.c:253
bool b_ephemer
If this flag is set to true the subtitle will be displayed until the next one appear.
Definition: vlc_subpicture.h:186
static void vout_chrono_Start(vout_chrono_t *chrono)
Definition: chrono.h:54
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
void vout_ChangeDisplayAspectRatio(vout_thread_t *, unsigned num, unsigned den)
Definition: video_output.c:625
void vout_ChangeWindowState(vout_thread_t *vout, unsigned st)
Definition: video_output.c:536
static void vout_statistic_GetReset(vout_statistic_t *stat, unsigned *restrict displayed, unsigned *restrict lost, unsigned *restrict late)
Definition: statistic.h:48
vlc_tick_t timestamp
Definition: video_output.c:134
#define VLC_CODEC_YUVA
Definition: vlc_fourcc.h:270
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
#define VLC_THREAD_PRIORITY_OUTPUT
Definition: vlc_threads.h:211
uint8_t * p_pixels
Start of the plane's data.
Definition: vlc_picture.h:42
static char * vout_OSDPrintTime(time_t t)
Definition: video_epg.c:288
static void vlc_array_clear(vlc_array_t *p_array)
Definition: vlc_arrays.h:270
void vout_IntfInit(vout_thread_t *)
Definition: vout_intf.c:287
char * strdup(const char *)
char * psz_name
Definition: vlc_epg.h:38
#define OSDEPG_ROWS(x)
Definition: video_epg.c:56
Definition: filter_chain.c:46
static int64_t var_InheritInteger(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:685
static bool VideoFormatIsCropArEqual(video_format_t *dst, const video_format_t *src)
Definition: video_output.c:205
void spu_ClearChannel(spu_t *spu, size_t channel_id)
It clears all subpictures associated to a SPU channel.
Definition: vout_subpictures.c:2049
#define VLC_TICK_FROM_MS(ms)
Definition: vlc_tick.h:122
char * config_GetSysPath(vlc_sysdir_t type, const char *filename)
Gets an installation directory.
Definition: specific.c:306
int filter_chain_AppendConverter(filter_chain_t *chain, const es_format_t *fmt_out)
Append a conversion to the chain.
Definition: filter_chain.c:303
#define VLC_USED
Definition: fourcc_gen.c:32
static void vout_InitSource(vout_thread_sys_t *vout)
Definition: video_output.c:2102
bool b_fade
enable fading
Definition: vlc_subpicture.h:188
int vout_ChangeSource(vout_thread_t *p_vout, const video_format_t *fmt)
Set the new source format for a started vout.
Definition: video_output.c:2055
uint16_t i_source_id
Definition: vlc_epg.h:55
Window (desired) configuration.
Definition: vlc_vout_window.h:148
void vout_control_Wake(vout_control_t *ctrl)
Definition: control.c:59
int filter_chain_MouseFilter(filter_chain_t *p_chain, vlc_mouse_t *p_dst, const vlc_mouse_t *p_src)
Definition: filter_chain.c:502
picture_t * current
Definition: video_output.c:137
void vout_FlushSubpictureChannel(vout_thread_t *vout, size_t channel)
Definition: video_output.c:424
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:117
#define VLC_TICK_FROM_SEC(sec)
Definition: vlc_tick.h:52
#define ORIENT_IS_SWAP(orient)
If the orientation swaps dimensions.
Definition: vlc_es.h:206
#define OSDEPG_LEFT
Definition: video_epg.c:45
bool vlc_epg_AddEvent(vlc_epg_t *p_epg, vlc_epg_event_t *p_evt)
It appends a new vlc_epg_event_t to a vlc_epg_t.
Definition: epg.c:133
void vout_ChangeSpuDelay(vout_thread_t *, size_t channel_id, vlc_tick_t delay)
This function will change the delay of the spu channel It is thread safe.
Definition: video_output.c:1593
static bool var_GetBool(vlc_object_t *p_obj, const char *psz_name)
Get a boolean value.
Definition: vlc_variables.h:390
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
void VoutFixFormatAR(video_format_t *fmt)
Definition: display.c:534
void vout_Stop(vout_thread_t *vout)
Disables a vout.
Definition: video_output.c:1874
vlc_decoder_device * vlc_decoder_device_Hold(vlc_decoder_device *device)
Hold a decoder device.
Definition: decoder_helpers.c:204
static void vout_chrono_Stop(vout_chrono_t *chrono)
Definition: chrono.h:67
const char name[16]
Definition: httpd.c:1268
#define STYLE_ALPHA_TRANSPARENT
Definition: vlc_text_style.h:80
int vout_window_Enable(vout_window_t *window, const vout_window_cfg_t *restrict cfg)
Definition: window.c:100
static void video_format_Init(video_format_t *p_src, vlc_fourcc_t i_chroma)
Initialize a video_format_t structure with chroma 'i_chroma'.
Definition: vlc_es.h:403
picture_t * p_picture
picture comprising this region
Definition: vlc_subpicture.h:62
void vout_control_Hold(vout_control_t *ctrl)
Definition: control.c:67
#define VLC_VIDEO_ALIGN_RIGHT
Definition: vlc_vout_display.h:57
#define STYLE_HAS_SHADOW_ALPHA
Definition: vlc_text_style.h:91
#define vlc_array_item_at_index(ar, idx)
Definition: vlc_arrays.h:283
void vout_snapshot_Set(vout_snapshot_t *snap, const video_format_t *fmt, picture_t *picture)
It set the picture used to create the snapshots.
Definition: snapshot.c:133
static int ThreadDisplayPicture(vout_thread_sys_t *vout, vlc_tick_t *deadline)
Definition: video_output.c:1355
#define VLC_TICK_0
Definition: vlc_config.h:45
static const struct filter_video_callbacks vout_video_cbs
Definition: video_output.c:1048
vlc_tick_t last
Definition: video_output.c:141
void vlc_epg_Delete(vlc_epg_t *p_epg)
It releases a vlc_epg_t*.
Definition: epg.c:198
void vout_ChangeWindowed(vout_thread_t *)
Definition: video_output.c:525
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:70
struct vout_crop::@121::@124 border
vlc_mutex_t window_lock
Definition: video_output.c:169
picture_t * vout_snapshot_Get(vout_snapshot_t *snap, vlc_tick_t timeout)
Definition: snapshot.c:94
config_chain_t * cfg
Definition: video_output.c:841
#define VLC_CODEC_YUVP
Definition: vlc_fourcc.h:267
void vout_GetResetStatistic(vout_thread_t *p_vout, unsigned *pi_displayed, unsigned *pi_lost, unsigned *pi_late)
This function will return and reset internal statistics.
static int var_SetInteger(vlc_object_t *p_obj, const char *psz_name, int64_t i)
Set the value of an integer variable.
Definition: vlc_variables.h:293
bool vout_IsEmpty(vout_thread_t *vout)
This function will return true if no more pictures are to be displayed.
Definition: video_output.c:338
vlc_mouse_event mouse_event
Definition: video_output.c:162
static int OSDEpgValidate(subpicture_t *subpic, bool has_src_changed, const video_format_t *fmt_src, bool has_dst_changed, const video_format_t *fmt_dst, vlc_tick_t ts)
Definition: video_epg.c:499
vlc_tick_t i_stop
end of display date
Definition: vlc_subpicture.h:185
void(* prepare)(vout_display_t *, picture_t *pic, subpicture_t *subpic, vlc_tick_t date)
Prepares a picture and an optional subpicture for display (optional).
Definition: vlc_vout_display.h:265
vlc_epg_event_t * vlc_epg_event_Duplicate(const vlc_epg_event_t *p_src)
Returns a vlc_epg_event_t * duplicated from p_src.
Definition: epg.c:74
bool vout_ParseCrop(struct vout_crop *, const char *crop_str)
void filter_chain_Reset(filter_chain_t *p_chain, const es_format_t *p_fmt_in, vlc_video_context *vctx_in, const es_format_t *p_fmt_out)
Filter chain reinitialisation.
Definition: filter_chain.c:188
static int64_t var_GetInteger(vlc_object_t *p_obj, const char *psz_name)
Get an integer value.
Definition: vlc_variables.h:374
vlc_fourcc_t spu_blend_chroma
Definition: video_output.c:124
static void vout_SizeWindow(vout_thread_sys_t *vout, const video_format_t *original, unsigned *restrict width, unsigned *restrict height)
Definition: video_output.c:261
static void VoutFixFormat(video_format_t *dst, const video_format_t *src)
Definition: video_output.c:197
unsigned bottom
Definition: vout_internal.h:121
void vout_ChangeSpuRate(vout_thread_t *, size_t channel_id, float rate)
This function will change the rate of the spu channel It is thread safe.
Definition: video_output.c:1602
static int vout_Start(vout_thread_sys_t *vout, vlc_video_context *vctx, const vout_configuration_t *cfg)
Definition: video_output.c:1645
const vlc_epg_event_t * p_current
Definition: vlc_epg.h:59
#define VLC_VIDEO_ALIGN_LEFT
Definition: vlc_vout_display.h:56
int i_x
Definition: vlc_mouse.h:48
const video_format_t * fmt
Picture format.
Definition: vlc_vout_display.h:350
struct tm * localtime_r(const time_t *, struct tm *)
void(* vlc_mouse_event)(const vlc_mouse_t *mouse, void *user_data)
Mouse event callback.
Definition: vlc_mouse.h:62
void vout_ChangeSpuChannelMargin(vout_thread_t *vout, enum vlc_vout_order order, int margin)
Definition: video_output.c:709
picture_pool_t * display_pool
Definition: vout_private.h:43
@ VOUT_WINDOW_STATE_ABOVE
Stacking above (a.k.a.
Definition: vlc_vout_window.h:78
struct vout_thread_sys_t::@119 title
void vout_ChangeViewpoint(vout_thread_t *, const vlc_viewpoint_t *)
Definition: video_output.c:718
#define vlc_object_delete(obj)
Definition: vlc_objects.h:136
ssize_t spu_RegisterChannelInternal(spu_t *, vlc_clock_t *, enum vlc_vout_order *)
Definition: vout_subpictures.c:2007
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
static picture_t * picture_Hold(picture_t *picture)
Increments the picture reference count.
Definition: vlc_picture.h:355
unsigned top
Definition: vout_internal.h:120
ssize_t vout_RegisterSubpictureChannelInternal(vout_thread_t *vout, vlc_clock_t *clock, enum vlc_vout_order *out_order)
Definition: video_output.c:402
void vout_UnregisterSubpictureChannel(vout_thread_t *vout, size_t channel)
Definition: video_output.c:416
void vout_control_PushMouse(vout_control_t *ctrl, const vlc_mouse_t *video_mouse)
Definition: control.c:51
int position
Definition: video_output.c:154
int vout_GetSnapshot(vout_thread_t *vout, block_t **image_dst, picture_t **picture_dst, video_format_t *fmt, const char *type, vlc_tick_t timeout)
This function will handle a snapshot request.
Definition: video_output.c:480
void vout_ChangeViewpoint(vout_thread_t *vout, const vlc_viewpoint_t *p_viewpoint)
Definition: video_output.c:718
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
void vout_ChangeFullscreen(vout_thread_t *, const char *id)
Definition: video_output.c:516
vlc_blender_t * filter_NewBlend(vlc_object_t *p_this, const video_format_t *p_dst_chroma)
It creates a blend filter.
Definition: filter.c:104
static void ThreadProcessMouseState(vout_thread_sys_t *p_vout, const vlc_mouse_t *win_mouse)
Definition: video_output.c:1610
static bool picture_HasChainedPics(const picture_t *pic)
Check whether a picture has other pictures linked.
Definition: vlc_picture.h:168
bool changed
Definition: video_output.c:180
bool can_scale_spu
Definition: vlc_vout_display.h:136
Video output thread descriptor.
Definition: vlc_vout.h:55
void spu_Detach(spu_t *)
Detach the SPU from its attached input.
Definition: vout_subpictures.c:1753
void vout_GetResetStatistic(vout_thread_t *vout, unsigned *restrict displayed, unsigned *restrict lost, unsigned *restrict late)
Definition: video_output.c:330
static int FilterRestartCallback(vlc_object_t *p_this, char const *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data)
Definition: video_output.c:774
void vout_ControlChangeSubSources(vout_thread_t *, const char *)
Definition: video_output.c:693
#define OSDEPG_ROW(x)
Definition: video_epg.c:57
static subpicture_region_t * vout_OSDEpgText(const char *text, int x, int y, int size, uint32_t color)
Definition: video_epg.c:281
static void vout_window_UnsetFullScreen(vout_window_t *window)
Requests windowed mode.
Definition: vlc_vout_window.h:507
Definition: vlc_vout_display.h:316
@ VOUT_CROP_BORDER
Definition: vout_internal.h:104
struct vout_display_cfg::@276 window_props
Window properties.
bool is_on
Definition: video_output.c:146
#define SUBPICTURE_ALIGN_TOP
Definition: vlc_subpicture.h:97
static thread_local struct @76 state
vlc_rational_t ratio
Definition: vout_internal.h:110
struct vout_crop::@121::@123 window
#define spu_Create(a, b)
Definition: vlc_spu.h:55
video_orientation_t
Picture orientation.
Definition: vlc_es.h:178
static void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
Init the RC to 1.
Definition: vlc_atomic.h:46
Definition: snapshot.c:43
vout_window_t * vout_display_window_New(vout_thread_t *vout)
Creates a video window, initially without any attached display.
Definition: window.c:370
void vout_ChangeWindowState(vout_thread_t *, unsigned state)
Definition: video_output.c:536
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:151
#define VLC_VIDEO_ALIGN_BOTTOM
Definition: vlc_vout_display.h:59
void vlc_clock_Wait(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate, vlc_tick_t max_duration)
Wait for a timestamp expressed in stream time.
Definition: clock.c:340
void vout_ChangeDisplaySize(vout_thread_t *vout, unsigned width, unsigned height, void(*cb)(void *), void *opaque)
Definition: video_output.c:545
void vout_NextPicture(vout_thread_t *p_vout, vlc_tick_t *pi_duration)
This function will force to display the next picture while paused.
Definition: video_output.c:1548
VLC value structure.
Definition: vlc_common.h:457
static subpicture_region_t * vout_OSDBackground(int x, int y, int width, int height, uint32_t i_argb)
Definition: video_epg.c:92
@ OSD_MUTE_ICON
Definition: vlc_vout_osd.h:50
void vout_OSDMessageVa(vout_thread_t *vout, int channel, const char *format, va_list args)
Write an informative message at the default location, for the default duration and only if the OSD op...
Definition: video_text.c:141
Definition: video_output.c:65
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
vout_thread_t * vout_Create(vlc_object_t *obj)
Creates a video output.
Definition: video_output.c:1966
void vout_ControlChangeSubSources(vout_thread_t *vout, const char *filters)
Definition: video_output.c:693
vlc_tick_t vlc_clock_ConvertToSystem(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate)
This function converts a timestamp from stream to system.
Definition: clock.c:502
int i_max_height
horizontal rendering/cropping target/limit
Definition: vlc_subpicture.h:76
@ VOUT_WINDOW_STATE_BELOW
Stacking below (a.k.a.
Definition: vlc_vout_window.h:79
unsigned height
Intended pixel height of the window.
Definition: vlc_vout_window.h:173
plane_t p[(5)]
description of the planes
Definition: vlc_picture.h:127
vout_chrono_t render
picture render time estimator
Definition: video_output.c:190
int timeout
Definition: video_output.c:153
Definition: vlc_atomic.h:41
Definition: vlc_block.h:117
const es_format_t * filter_chain_GetFmtOut(const filter_chain_t *p_chain)
Get last output format of the last element in the filter chain.
Definition: filter_chain.c:406
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
int vasprintf(char **, const char *, va_list)
void vlc_epg_event_Delete(vlc_epg_event_t *p_event)
Releases a vlc_epg_event_t*.
Definition: epg.c:47
#define RGB_COLOR1
Definition: video_epg.c:66
void vlc_video_context_Release(vlc_video_context *vctx)
Definition: decoder_helpers.c:275
int i_pressed
Definition: vlc_mouse.h:51
static void vout_chrono_Init(vout_chrono_t *chrono, int shift, vlc_tick_t avg_initial)
Definition: chrono.h:39
void subpicture_Delete(subpicture_t *p_subpic)
This function delete a subpicture created by subpicture_New.
Definition: subpicture.c:82
char * art
Definition: video_epg.c:73
static picture_t * VoutVideoFilterInteractiveNewPicture(filter_t *filter)
Definition: video_output.c:798
bool show
Definition: video_output.c:152
vlc_rational_t sar
Requested sample aspect ratio.
Definition: vlc_vout_display.h:101
unsigned width
Requested display pixel width (0 by default).
Definition: vlc_vout_display.h:99
void vout_control_Init(vout_control_t *ctrl)
Definition: control.c:33
void filter_chain_Delete(filter_chain_t *p_chain)
Filter chain destruction.
Definition: filter_chain.c:174
void vout_ControlChangeFilters(vout_thread_t *, const char *)
Definition: video_output.c:662
vout_thread_t * vout_CreateDummy(vlc_object_t *object)
Definition: video_output.c:1955
static void * Thread(void *object)
Definition: video_output.c:1764
#define OSDEPG_TOP
Definition: video_epg.c:46
static void vlc_mouse_Init(vlc_mouse_t *p_mouse)
Definition: vlc_mouse.h:64
static subpicture_region_t * vout_OSDEpgEvent(const vlc_epg_event_t *p_evt, int x, int y, int size)
Definition: video_epg.c:298
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
@ VOUT_CROP_WINDOW
Definition: vout_internal.h:104
@ ORIENT_NORMAL
Definition: vlc_es.h:190
static picture_t * ConvertRGB32AndBlend(vout_thread_sys_t *vout, picture_t *pic, subpicture_t *subpic)
Definition: video_output.c:1052
filter_owner_t owner
Private structure for the owner of the filter.
Definition: vlc_filter.h:241
void vout_StopDisplay(vout_thread_t *vout)
Stop the display plugin, but keep its window plugin for later reuse.
Definition: video_output.c:1852
static void vout_display_Display(vout_display_t *vd, picture_t *picture)
Displays a picture.
Definition: vlc_vout_display.h:419
enum text_style_t::@265 e_wrapinfo