24#ifndef LIBVLC_VOUT_INTERNAL_H
25#define LIBVLC_VOUT_INTERNAL_H 1
34#define VLC_DAR_FROM_SOURCE ((vlc_rational_t){0, 0})
36#define VLC_DAR_FILL_DISPLAY ((vlc_rational_t){1, 0})
38#define VLC_DAR_IS_FROM_SOURCE(r) \
39 ((r).num == VLC_DAR_FROM_SOURCE.num && (r).den == VLC_DAR_FROM_SOURCE.den)
41#define VLC_DAR_IS_FILL_DISPLAY(r) \
42 ((r).num == VLC_DAR_FILL_DISPLAY.num && (r).den == VLC_DAR_FILL_DISPLAY.den)
160 void (*ack_cb)(
void *),
void *opaque);
237 unsigned *pi_lost,
unsigned *pi_late );
#define VLC_USED
Definition fourcc_gen.c:32
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition vlc_common.h:274
vlc_video_fitting
Video automatic scale fitting.
Definition vlc_vout_display.h:84
vlc_stereoscopic_mode_t
Stereoscopic display mode.
Definition vlc_vout.h:92
vlc_vout_order
vout or spu_channel order
Definition vlc_vout.h:70
static thread_local struct @87 state
Subpicture unit descriptor.
Definition vlc_spu.h:51
Decoder context struct.
Definition vlc_codec.h:618
Definition vlc_ancillary.h:319
Mouse state.
Definition vlc_mouse.h:46
VLC object common members.
Definition vlc_objects.h:53
Definition fourcc_gen.c:34
unsigned num
Definition fourcc_gen.c:34
unsigned den
Definition fourcc_gen.c:34
Definition vlc_subpicture.h:109
Definition decoder_device.c:98
Viewpoints.
Definition vlc_viewpoint.h:41
Vout configuration.
Definition vout_internal.h:47
vout_thread_t * vout
Definition vout_internal.h:48
vlc_mouse_event mouse_event
Definition vout_internal.h:52
const video_format_t * fmt
Definition vout_internal.h:51
vlc_clock_t * clock
Definition vout_internal.h:49
const char * str_id
Definition vout_internal.h:50
void * mouse_opaque
Definition vout_internal.h:53
Definition vout_internal.h:113
unsigned width
Definition vout_internal.h:120
unsigned right
Definition vout_internal.h:125
unsigned y
Definition vout_internal.h:119
unsigned x
Definition vout_internal.h:118
unsigned left
Definition vout_internal.h:124
enum vout_crop_mode mode
Definition vout_internal.h:114
vlc_rational_t ratio
Definition vout_internal.h:116
struct vout_crop::@133::@135 window
struct vout_crop::@133::@136 border
unsigned bottom
Definition vout_internal.h:127
unsigned height
Definition vout_internal.h:121
unsigned top
Definition vout_internal.h:126
Video output thread descriptor.
Definition vlc_vout.h:54
video_projection_mode_t
Video projection mode.
Definition vlc_es.h:242
void(* vlc_mouse_event)(const vlc_mouse_t *mouse, void *user_data)
Mouse event callback.
Definition vlc_mouse.h:62
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48
Video output display modules interface.
ssize_t spu_RegisterChannelInternal(spu_t *, vlc_clock_t *, enum vlc_vout_order *)
Definition vout_subpictures.c:2352
static bool vout_CropEqual(const struct vout_crop *a, const struct vout_crop *b)
Definition vout_internal.h:132
ssize_t vout_RegisterSubpictureChannelInternal(vout_thread_t *, vlc_clock_t *clock, enum vlc_vout_order *out_order)
Definition video_output.c:356
void vout_IntfInit(vout_thread_t *)
Definition vout_intf.c:369
void vout_ResetProjection(vout_thread_t *)
Definition video_output.c:694
void vout_ToggleProjection(vout_thread_t *, bool enabled)
Definition video_output.c:675
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:1817
void vout_ChangeSpuChannelMargin(vout_thread_t *, enum vlc_vout_order order, int)
Definition video_output.c:634
bool vout_ParseCrop(struct vout_crop *, const char *crop_str)
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:291
void vout_ControlChangeSubFilters(vout_thread_t *, const char *)
Definition video_output.c:626
void vout_CreateVars(vout_thread_t *)
Definition vout_intf.c:205
void vout_ControlChangeStereo(vout_thread_t *vout, vlc_stereoscopic_mode_t)
Definition video_output.c:719
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.
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:1701
vout_crop_mode
Definition vout_internal.h:109
@ VOUT_CROP_RATIO
Definition vout_internal.h:110
@ VOUT_CROP_NONE
Definition vout_internal.h:110
@ VOUT_CROP_BORDER
Definition vout_internal.h:110
@ VOUT_CROP_WINDOW
Definition vout_internal.h:110
void vout_ControlChangeFilters(vout_thread_t *, const char *)
Definition video_output.c:587
enum vlc_video_fitting var_InheritFit(vlc_object_t *)
Definition vout_intf.c:190
void vout_ChangeZoom(vout_thread_t *, unsigned num, unsigned den)
Definition video_output.c:517
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:1793
void vout_ChangeFullscreen(vout_thread_t *, const char *id)
Definition video_output.c:447
void vout_ChangeViewpoint(vout_thread_t *, const vlc_viewpoint_t *)
Definition video_output.c:643
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:1807
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:282
void spu_ChangeChannelOrderMargin(spu_t *, enum vlc_vout_order, int)
Definition vout_subpictures.c:2450
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:2468
bool vout_ParseDisplayAspectRatio(vlc_rational_t *ar, const char *ar_str)
Definition vout_intf.c:614
void vout_ChangeWindowed(vout_thread_t *)
Definition video_output.c:456
void vout_ControlChangeInterlacing(vout_thread_t *, bool)
Definition video_output.c:609
void vout_ChangeWindowState(vout_thread_t *, unsigned state)
Definition video_output.c:467
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:2374
void vout_ChangeDisplayFitting(vout_thread_t *, enum vlc_video_fitting)
Definition video_output.c:500
void vout_Stop(vout_thread_t *)
Disables a vout.
Definition video_output.c:2096
void spu_SetClockDelay(spu_t *spu, size_t channel_id, vlc_tick_t delay)
Definition vout_subpictures.c:2019
vout_thread_t * vout_Create(vlc_object_t *obj)
Creates a video output.
Definition video_output.c:2186
void spu_SetHighlight(spu_t *, const vlc_spu_highlight_t *)
Definition vout_subpictures.c:2470
void spu_SetClockRate(spu_t *spu, size_t channel_id, float rate)
Definition vout_subpictures.c:2033
void vout_IntfReinit(vout_thread_t *)
Definition vout_intf.c:394
void vout_ChangeProjection(vout_thread_t *, video_projection_mode_t projection)
Definition video_output.c:703
void vout_ControlChangeSubSources(vout_thread_t *, const char *)
Definition video_output.c:618
void spu_Attach(spu_t *, input_thread_t *input)
Attach the SPU to an input.
Definition vout_subpictures.c:1989
void vout_ChangeIccProfile(vout_thread_t *, vlc_icc_profile_t *)
Definition video_output.c:661
vout_thread_t * vout_CreateDummy(vlc_object_t *obj)
Definition video_output.c:2175
void vout_NextPicture(vout_thread_t *p_vout)
This function will force to display the next picture while paused.
Definition video_output.c:1781
void vout_IntfDeinit(vlc_object_t *)
Definition vout_intf.c:411
int vout_ChangeSource(vout_thread_t *p_vout, const video_format_t *fmt, const vlc_video_context *)
Set the new source format for a started vout.
Definition video_output.c:2298
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:1826
bool vout_FilterMouse(vout_thread_t *vout, vlc_mouse_t *mouse)
Passes mouse events through the video filter chains and updates the mouse state.
Definition video_output.c:304
void vout_ChangeDisplayAspectRatio(vout_thread_t *, vlc_rational_t dar)
Definition video_output.c:551
void spu_Detach(spu_t *)
Detach the SPU from its attached input.
Definition vout_subpictures.c:2010
void vout_ChangeDisplaySize(vout_thread_t *, unsigned width, unsigned height, void(*ack_cb)(void *), void *opaque)
Definition video_output.c:476
void vout_StopDisplay(vout_thread_t *)
Stop the display plugin, but keep its window plugin for later reuse.
Definition video_output.c:2074
void vout_ChangeCrop(vout_thread_t *, const struct vout_crop *)
void vout_SetSpuHighlight(vout_thread_t *p_vout, const vlc_spu_highlight_t *)
Definition video_output.c:386