24 #ifndef LIBVLC_VOUT_INTERNAL_H 25 #define LIBVLC_VOUT_INTERNAL_H 1 27 #include <stdatomic.h> 35 #include "../clock/clock.h" 36 #include "../input/input_internal.h" 44 #define VOUT_MAX_PICTURES (20) spu_t * spu
Definition: vout_internal.h:119
void vout_StopDisplay(vout_thread_t *)
Stop the display plugin, but keep its window plugin for later reuse.
Definition: video_output.c:1732
vlc_tick_t delay
Definition: vout_internal.h:79
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:2000
vout_control_t control
Definition: vout_internal.h:125
vlc_decoder_device * dec_device
Definition: vout_internal.h:179
vout_thread_t * vout_Create(vlc_object_t *obj)
Creates a video output.
Definition: video_output.c:1855
void(* vlc_mouse_event)(const vlc_mouse_t *mouse, void *user_data)
Mouse event callback.
Definition: vlc_mouse.h:62
bool has_deint
Definition: vout_internal.h:168
void spu_SetClockDelay(spu_t *spu, size_t channel_id, vlc_tick_t delay)
Definition: vout_subpictures.c:1764
vlc_tick_t timestamp
Definition: vout_internal.h:129
Definition: statistic.h:30
Video picture.
Definition: vlc_picture.h:126
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:1430
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:1418
vout_thread_t * vout
Definition: vout_internal.h:50
vlc_blender_t * spu_blend
Definition: vout_internal.h:121
atomic_uintptr_t refs
Definition: vout_internal.h:191
bool window_enabled
Definition: vout_internal.h:177
picture_t * next
Definition: vout_internal.h:133
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:278
unsigned num
Definition: vout_internal.h:85
vout_display_t * display
Definition: vout_internal.h:183
void vout_GetResetStatistic(vout_thread_t *p_vout, unsigned *pi_displayed, unsigned *pi_lost)
This function will return and reset internal statistics.
static thread_local struct @77 state
void vout_ChangeCropWindow(vout_thread_t *, int x, int y, int width, int height)
Definition: video_output.c:526
Definition: picture_fifo.c:39
char * splitter_name
Definition: vout_internal.h:75
vout_thread_t * vout_CreateDummy(vlc_object_t *obj)
Definition: video_output.c:1844
void vout_IntfInit(vout_thread_t *)
Definition: vout_intf.c:289
unsigned left
Definition: vout_internal.h:102
struct vout_snapshot * snapshot
Definition: vout_internal.h:112
vlc_mouse_event mouse_event
Definition: vout_internal.h:173
void vout_ChangeCropBorder(vout_thread_t *, int left, int top, int right, int bottom)
Definition: video_output.c:558
void vout_ControlChangeFilters(vout_thread_t *, const char *)
Definition: video_output.c:591
vlc_mutex_t lock
Definition: vout_internal.h:163
Definition: vlc_subpicture.h:85
Vout configuration.
Definition: vout_internal.h:49
vlc_mutex_t spu_lock
Definition: vout_internal.h:118
Definition: vout_internal.h:66
void spu_SetHighlight(spu_t *, const vlc_spu_highlight_t *)
Definition: vout_subpictures.c:2135
void vout_IntfDeinit(vlc_object_t *)
Definition: vout_intf.c:322
void vout_ChangeViewpoint(vout_thread_t *, const vlc_viewpoint_t *)
Definition: video_output.c:620
picture_t * current
Definition: vout_internal.h:132
void spu_ChangeChannelOrderMargin(spu_t *, enum vlc_vout_order, int)
Definition: vout_subpictures.c:2115
unsigned bottom
Definition: vout_internal.h:105
vlc_object_t * obj
Definition: filter_chain.c:48
void vout_MouseState(vout_thread_t *, const vlc_mouse_t *)
Updates the pointing device state.
Definition: video_output.c:251
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:1395
video_format_t original
Definition: vout_internal.h:82
bool is_on
Definition: vout_internal.h:142
struct filter_chain_t * chain_interactive
Definition: vout_internal.h:167
void vout_Close(vout_thread_t *p_vout)
Destroys a vout.
Definition: video_output.c:1769
picture_pool_t * private_pool
Definition: vout_internal.h:186
vout_chrono_t render
picture render time estimator
Definition: vout_internal.h:189
unsigned right
Definition: vout_internal.h:103
unsigned x
Definition: vout_internal.h:96
picture_pool_t * display_pool
Definition: vout_internal.h:187
vlc_mutex_t display_lock
Definition: vout_internal.h:184
video_format_t format
Definition: vout_internal.h:165
const video_format_t * fmt
Definition: vout_internal.h:51
void vout_ControlChangeSubSources(vout_thread_t *, const char *)
Definition: video_output.c:598
char * configuration
Definition: vout_internal.h:164
Definition: decoder_helpers.c:231
vlc_fourcc_t spu_blend_chroma
Definition: vout_internal.h:120
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
void vout_ChangeFullscreen(vout_thread_t *, const char *id)
Definition: video_output.c:392
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
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:1449
This file defines picture fifo structures and functions in vlc.
void vout_ChangeDisplayAspectRatio(vout_thread_t *, unsigned num, unsigned den)
Definition: video_output.c:483
Viewpoints.
Definition: vlc_viewpoint.h:41
Thread handle.
Definition: vlc_threads.h:263
ssize_t spu_RegisterChannelInternal(spu_t *, vlc_clock_t *, enum vlc_vout_order *)
Definition: vout_subpictures.c:2010
void * mouse_opaque
Definition: vout_internal.h:174
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:1441
void vout_ChangeCropRatio(vout_thread_t *, unsigned num, unsigned den)
Definition: video_output.c:503
Video output thread descriptor.
Definition: vlc_vout.h:60
picture_fifo_t * decoder_fifo
Definition: vout_internal.h:188
Definition: vout_internal.h:66
void vout_ChangeSpuChannelMargin(vout_thread_t *, enum vlc_vout_order order, int)
Definition: video_output.c:612
bool is_interlaced
Definition: vout_internal.h:130
Decoder context struct.
Definition: vlc_codec.h:555
vlc_decoder_device * vout_GetDevice(const vout_device_configuration_t *cfg)
Setup the vout for the given configuration and get an associated decoder device.
Definition: video_output.c:2060
Mouse state.
Definition: vlc_mouse.h:45
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:1327
vlc_mutex_t window_lock
Definition: vout_internal.h:178
Video output display modules interface.
ssize_t vout_RegisterSubpictureChannelInternal(vout_thread_t *, vlc_clock_t *clock, enum vlc_vout_order *out_order)
Definition: video_output.c:284
void vout_ChangeDisplaySize(vout_thread_t *, unsigned width, unsigned height)
Definition: video_output.c:418
void vout_CreateVars(vout_thread_t *)
Definition: vout_intf.c:154
void vout_ChangeWindowed(vout_thread_t *)
Definition: video_output.c:400
unsigned y
Definition: vout_internal.h:97
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:78
Definition: picture_pool.c:41
vlc_thread_t thread
Definition: vout_internal.h:124
Definition: vout_internal.h:66
void vout_IntfReinit(vout_thread_t *)
Definition: vout_intf.c:310
Subpicture unit descriptor.
Definition: vlc_spu.h:47
Definition: vout_internal.h:66
unsigned top
Definition: vout_internal.h:104
void vout_ControlChangeSubFilters(vout_thread_t *, const char *)
Definition: video_output.c:605
unsigned height
Definition: vout_internal.h:99
bool is_late_dropped
Definition: vout_internal.h:159
vlc_mouse_event mouse_event
Definition: vout_internal.h:58
vlc_clock_t * clock
Definition: vout_internal.h:77
Structure describing a filter.
Definition: vlc_filter.h:68
unsigned den
Definition: vout_internal.h:86
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:239
vlc_mouse_t mouse
Definition: vout_internal.h:172
void spu_Attach(spu_t *, input_thread_t *input)
Attach the SPU to an input.
Definition: vout_subpictures.c:1736
vout_crop_mode
Definition: vout_internal.h:65
void vout_ChangeDisplayFilled(vout_thread_t *, bool is_filled)
Definition: video_output.c:432
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:226
void vout_ChangeZoom(vout_thread_t *, unsigned num, unsigned den)
Definition: video_output.c:449
vout_thread_t * vout
Definition: vout_internal.h:55
bool show
Definition: vout_internal.h:148
void vout_ChangeWindowState(vout_thread_t *, unsigned state)
Definition: video_output.c:410
vout_statistic_t statistic
Definition: vout_internal.h:115
Initial/Current configuration for a vout_display_t.
Definition: vlc_vout_display.h:68
This file defines picture pool structures and functions in vlc.
Definition: filter_chain.c:46
vout_display_cfg_t display_cfg
Definition: vout_internal.h:182
vlc_tick_t date
Definition: vout_internal.h:128
float rate
Definition: vout_internal.h:78
Definition: vout_internal.h:70
void vout_CloseWrapper(vout_thread_t *, vout_display_t *vd)
Definition: vout_wrapper.c:132
const video_format_t * fmt
Definition: vout_internal.h:57
void spu_SetClockRate(spu_t *spu, size_t channel_id, float rate)
Definition: vout_subpictures.c:1776
void spu_Detach(spu_t *)
Detach the SPU from its attached input.
Definition: vout_subpictures.c:1756
VLC object common members.
Definition: vlc_objects.h:43
int position
Definition: vout_internal.h:150
void vout_Stop(vout_thread_t *)
Disables a vout.
Definition: video_output.c:1758
vlc_tick_t last
Definition: vout_internal.h:137
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:1943
vout_display_t * vout_OpenWrapper(vout_thread_t *, const char *, const vout_display_cfg_t *, vlc_video_context *)
Definition: vout_wrapper.c:57
void vout_SetSpuHighlight(vout_thread_t *p_vout, const vlc_spu_highlight_t *)
Definition: video_output.c:312
Definition: vlc_vout_display.h:219
unsigned width
Definition: vout_internal.h:98
struct filter_chain_t * chain_static
Definition: vout_internal.h:166
bool dummy
Definition: vout_internal.h:72
#define VLC_USED
Definition: fourcc_gen.c:32
picture_t * decoded
Definition: vout_internal.h:131
Definition: snapshot.c:43
void * mouse_opaque
Definition: vout_internal.h:59
vlc_clock_t * clock
Definition: vout_internal.h:56
Definition: vout_internal.h:54
int timeout
Definition: vout_internal.h:149