Coverage Report

Created: 2025-07-11 07:16

/src/vlc/include/vlc_vout_display.h
Line
Count
Source (jump to first uncovered line)
1
/*****************************************************************************
2
 * vlc_vout_display.h: vout_display_t definitions
3
 *****************************************************************************
4
 * Copyright (C) 2009 Laurent Aimar
5
 *
6
 * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
7
 *
8
 * This program is free software; you can redistribute it and/or modify it
9
 * under the terms of the GNU Lesser General Public License as published by
10
 * the Free Software Foundation; either version 2.1 of the License, or
11
 * (at your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
 * GNU Lesser General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU Lesser General Public License
19
 * along with this program; if not, write to the Free Software Foundation,
20
 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21
 *****************************************************************************/
22
23
#ifndef VLC_VOUT_DISPLAY_H
24
#define VLC_VOUT_DISPLAY_H 1
25
26
#include <vlc_es.h>
27
#include <vlc_picture.h>
28
#include <vlc_mouse.h>
29
#include <vlc_vout.h>
30
#include <vlc_window.h>
31
#include <vlc_viewpoint.h>
32
33
struct vlc_render_subpicture;
34
35
/**
36
 * \defgroup video_display Video output display
37
 * Video output display: output buffers and rendering
38
 *
39
 * \ingroup video_output
40
 * @{
41
 * \file
42
 * Video output display modules interface
43
 */
44
45
typedef struct vout_display_t vout_display_t;
46
typedef struct vout_display_owner_t vout_display_owner_t;
47
48
/**
49
 * \defgroup video_align Video alignment
50
 * @{
51
 */
52
0
#define VLC_VIDEO_ALIGN_CENTER 0
53
0
#define VLC_VIDEO_ALIGN_LEFT   1
54
0
#define VLC_VIDEO_ALIGN_RIGHT  2
55
0
#define VLC_VIDEO_ALIGN_TOP    1
56
0
#define VLC_VIDEO_ALIGN_BOTTOM 2
57
58
/**
59
 * Video alignment within the display.
60
 */
61
typedef struct vlc_video_align {
62
    /**
63
     * Horizontal alignment.
64
     *
65
     * This must be one of \ref VLC_VIDEO_ALIGN_CENTER,
66
     * \ref VLC_VIDEO_ALIGN_LEFT or \ref VLC_VIDEO_ALIGN_RIGHT.
67
     */
68
    char horizontal;
69
70
    /**
71
     * Vectical alignment.
72
     *
73
     * This must be one of \ref VLC_VIDEO_ALIGN_CENTER,
74
     * \ref VLC_VIDEO_ALIGN_TOP or \ref VLC_VIDEO_ALIGN_BOTTOM.
75
     */
76
    char vertical;
77
} vlc_video_align_t;
78
/** @} */
79
80
/**
81
 * Video automatic scale fitting.
82
 */
83
enum vlc_video_fitting {
84
    VLC_VIDEO_FIT_NONE /**< No automatic scaling (use explicit zoom ratio) */,
85
    VLC_VIDEO_FIT_SMALLER /**< Fit inside / to smallest dimension */,
86
    VLC_VIDEO_FIT_LARGER /**< Fit outside / to largest dimension */,
87
    VLC_VIDEO_FIT_WIDTH /**< Fit to width */,
88
    VLC_VIDEO_FIT_HEIGHT /**< Fit to height */,
89
};
90
91
/**
92
 * Display placement and zoom configuration.
93
 */
94
struct vout_display_placement {
95
    unsigned width; /**< Requested display pixel width (0 by default). */
96
    unsigned height; /**< Requested display pixel height (0 by default). */
97
    vlc_rational_t sar; /**< Requested sample aspect ratio */
98
99
    vlc_video_align_t align; /**< Alignment within the window */
100
    enum vlc_video_fitting fitting; /**< Scaling/fitting mode */
101
    vlc_rational_t zoom; /**< Zoom ratio (if fitting is disabled) */
102
    bool full_fill; /**< whether the rendering will take the whole display */
103
};
104
105
/**
106
 * User configuration for a video output display (\ref vout_display_t)
107
 *
108
 * This primarily controls the size of the display area within the video
109
 * window, as follows:
110
 * - If \ref vout_display_placement::fitting is not disabled, ie. equals
111
 *   to \ref VLC_VIDEO_FIT_NONE, in \ref vout_display_cfg::display, the
112
 *   video size is fitted to the display size.
113
 * - If \ref vout_display_cfg::window "window" size is valid, the video size
114
 *   is set to the window size,
115
 * - Otherwise, the video size is determined from the original video format,
116
 *   multiplied by the zoom factor.
117
 */
118
typedef struct vout_display_cfg {
119
    struct vlc_window *window; /**< Window */
120
    struct vout_display_placement display; /**< Display placement properties */
121
    vlc_icc_profile_t *icc_profile; /**< Currently active ICC profile */
122
    /** Final source projection requested for display. */
123
    video_projection_mode_t projection;
124
125
    /** Initial viewpoint when projection != PROJECTION_MODE_RECTANGULAR */
126
    vlc_viewpoint_t viewpoint;
127
    vlc_stereoscopic_mode_t stereo_mode; /**< Stereoscopic/3D mode used by the display */
128
} vout_display_cfg_t;
129
130
/**
131
 * Information from a vout_display_t to configure
132
 * the core behaviour.
133
 *
134
 * By default they are all false or NULL.
135
 *
136
 */
137
typedef struct {
138
    const vlc_fourcc_t *subpicture_chromas; /* List of supported chromas for subpicture rendering. */
139
} vout_display_info_t;
140
141
/**
142
 * Control query for vout_display_t
143
 */
144
enum vout_display_query {
145
    /**
146
     * Notifies a change of the sample aspect ratio.
147
     *
148
     * \retval VLC_SUCCESS if the display handled the change
149
     * \retval VLC_EGENERIC if a \ref vlc_display_operations::reset_pictures
150
     *         request is necessary
151
     */
152
    VOUT_DISPLAY_CHANGE_SOURCE_ASPECT,
153
154
    /**
155
     * Notifies a change of the source cropping.
156
     *
157
     * The cropping requested is stored by source \ref video_format_t `i_x`/`y_offset`
158
     * and `i_visible_width`/`height`
159
     *
160
     * \retval VLC_SUCCESS if the display handled the change
161
     * \retval VLC_EGENERIC if a \ref vlc_display_operations::reset_pictures
162
     *         request is necessary
163
     */
164
    VOUT_DISPLAY_CHANGE_SOURCE_CROP,
165
166
    /**
167
     * Notified when the source placement in the display has changed
168
     *
169
     * \retval VLC_SUCCESS if the display handled the change
170
     * \retval VLC_EGENERIC if a \ref vlc_display_operations::reset_pictures
171
     *         request is necessary
172
     */
173
    VOUT_DISPLAY_CHANGE_SOURCE_PLACE,
174
};
175
176
/**
177
 * Vout owner structures
178
 */
179
struct vout_display_owner_t {
180
    /* Private place holder for the vout_display_t creator
181
     */
182
    void *sys;
183
184
    /* Event coming from the module
185
     *
186
     * This function is set prior to the module instantiation and must not
187
     * be overwritten nor used directly (use the vout_display_SendEvent*
188
     * wrapper.
189
     *
190
     * You can send it at any time i.e. from any vout_display_t functions or
191
     * from another thread.
192
     * Be careful, it does not ensure correct serialization if it is used
193
     * from multiple threads.
194
     */
195
    void (*viewpoint_moved)(void *sys, const vlc_viewpoint_t *vp);
196
};
197
198
/**
199
 * "vout display" open callback
200
 *
201
 * @param vd vout display context
202
 * @param fmtp It can be changed by the module to request a different format.
203
 * @param context The video context to configure the display for.
204
 * @return VLC_SUCCESS or a VLC error code
205
 */
206
typedef int (*vout_display_open_cb)(vout_display_t *vd,
207
                                    video_format_t *fmtp,
208
                                    vlc_video_context *context);
209
210
#define set_callback_display(activate, priority) \
211
    { \
212
        vout_display_open_cb open__ = activate; \
213
        (void) open__; \
214
        set_callback(activate) \
215
    } \
216
    set_capability( "vout display", priority )
217
218
struct vlc_display_operations
219
{
220
    /**
221
     * Destroys the display.
222
     */
223
    void       (*close)(vout_display_t *);
224
225
    /**
226
     * Prepares a picture and an optional subpicture for display (optional).
227
     *
228
     * This callback is called once a picture buffer content is ready,
229
     * as far in advance as possible to the intended display time,
230
     * but only after the previous picture was displayed.
231
     *
232
     * The callback should perform any preprocessing operation that will not
233
     * actually cause the picture to be shown, such as blending the subpicture
234
     * or upload the picture to video memory. If supported, this can also
235
     * queue the picture to be shown asynchronously at the given date.
236
     *
237
     *
238
     * If \ref vlc_display_operations.prepare and
239
     * \ref vlc_display_operations.display are not \c NULL, there is an
240
     * implicit guarantee that display will be invoked with the exact same
241
     * picture afterwards:
242
     * prepare 1st picture, display 1st picture, prepare 2nd picture, display
243
     * 2nd picture, and so on.
244
     *
245
     * \note The picture buffers may have multiple references.
246
     * Therefore the pixel content of the picture or of the subpicture
247
     * must not be changed.
248
     *
249
     * \param pic picture
250
     * \param subpic subpicture to render over the picture
251
     * \param date time when the picture is intended to be shown
252
     */
253
    void       (*prepare)(vout_display_t *, picture_t *pic,
254
                          const struct vlc_render_subpicture *subpic, vlc_tick_t date);
255
256
    /**
257
     * Displays a picture.
258
     *
259
     * This callback is invoked at the time when the picture should be shown.
260
     * The picture must be displayed as soon as possible.
261
     *
262
     * If NULL, prepare must be valid. In that case, the plugin can handle
263
     * asynchronous display at the time given by the prepare call.
264
     *
265
     * \note The picture buffers may have multiple references.
266
     * Therefore the pixel content of the picture or of the subpicture
267
     * must not be changed.
268
     */
269
    void       (*display)(vout_display_t *, picture_t *pic);
270
271
    /**
272
     * Let the display module know the display size has changed.
273
     *
274
     * \return VLC_SUCCESS if the size is accepted.
275
     * \return an error if the size is not accepted and
276
     * \ref vlc_display_operations::reset_pictures "reset_pictures" needs to be called.
277
     *
278
     * When the callback is NULL, it is considered as returning VLC_SUCCESS.
279
     */
280
    int (*set_display_size)(vout_display_t *, unsigned width, unsigned height);
281
282
    /**
283
     * Performs a control request (mandatory).
284
     *
285
     * \param query request type
286
     *
287
     * See \ref vout_display_query for the list of request types.
288
     */
289
    int        (*control)(vout_display_t *, int query);
290
291
    /**
292
     * Reset the picture format handled by the module.
293
     * This occurs after an error in \ref vlc_display_operations::set_display_size,
294
     * \ref VOUT_DISPLAY_CHANGE_SOURCE_ASPECT,
295
     * \ref VOUT_DISPLAY_CHANGE_SOURCE_CROP or
296
     * \ref VOUT_DISPLAY_CHANGE_SOURCE_PLACE
297
     * control query returns an error.
298
     *
299
     * \param ftmp video format that the module expects as input
300
     */
301
    int       (*reset_pictures)(vout_display_t *, video_format_t *fmtp);
302
303
    /**
304
     * Notifies a change of VR/360° viewpoint.
305
     *
306
     * May be NULL.
307
     *
308
     * \param vp viewpoint to use on the next render
309
     */
310
    int        (*set_viewpoint)(vout_display_t *, const vlc_viewpoint_t *vp);
311
312
    /**
313
     * Notifies a change in output ICC profile.
314
     *
315
     * May be NULL. Memory owned by the caller.
316
     *
317
     * \param prof new ICC profile associated with display, or NULL for none
318
     */
319
    void       (*set_icc_profile)(vout_display_t *, const vlc_icc_profile_t *prof);
320
321
    /**
322
     * Notifies a change in the input format.
323
     *
324
     * The format size is not expected to change.
325
     *
326
     * \param fmt the requested input format
327
     * \param ctx the video context
328
     * \return VLC_SUCCESS on success, another value on error
329
     */
330
    int (*update_format)(vout_display_t *, const video_format_t *fmt,
331
                         vlc_video_context *ctx);
332
333
    /**
334
     * Set the source projection used by the display.
335
     *
336
     * May be NULL.
337
     *
338
     * \param display the display to change projection for
339
     * \param projection the new projection mode considered for the source
340
     * \return VLC_SUCCESS on succes, another value if changing projection failed
341
     */
342
    int (*change_source_projection)(vout_display_t *display,
343
                                    video_projection_mode_t projection);
344
345
    /**
346
     * Notifies the new Stereoscopic 3D mode in \ref vout_display_cfg_t changed.
347
     *
348
     * May be NULL.
349
     *
350
     * \retval VLC_SUCCESS if the display handled the change
351
     * \retval VLC_EGENERIC if the display handled the change was not handled
352
     */
353
    int        (*set_stereo)(vout_display_t *, vlc_stereoscopic_mode_t);
354
};
355
356
/**
357
 * Video placement.
358
 *
359
 * This structure stores the result of a vout_display_PlacePicture() call.
360
 */
361
typedef struct vout_display_place_t {
362
    int x; /*< Relative pixel offset from the display left edge */
363
    int y; /*< Relative pixel offset from the display top edge */
364
    unsigned width; /*< Picture pixel width */
365
    unsigned height; /*< Picture pixel height */
366
} vout_display_place_t;
367
368
struct vout_display_t {
369
    struct vlc_object_t obj;
370
371
    /**
372
     * User configuration.
373
     *
374
     * This cannot be modified directly. It reflects the current values.
375
     */
376
    const vout_display_cfg_t *cfg;
377
378
    /**
379
     * Source video format.
380
     *
381
     * This is the format of the video that is being displayed (after decoding
382
     * and filtering). It cannot be modified.
383
     *
384
     * \note
385
     * Cropping is not requested while in the open function.
386
     */
387
    const video_format_t *source;
388
389
    /**
390
     * Placement of the source picture in the display. (cannot be NULL)
391
     *
392
     * This cannot be modified directly and cannot be NULL.
393
     * It reflects the current values.
394
     */
395
    const vout_display_place_t *place;
396
397
    /**
398
     * Picture format.
399
     *
400
     * This is the format of the pictures that are supplied to the
401
     * \ref vlc_display_operations::prepare "prepare" and
402
     * \ref vlc_display_operations::display "display" callbacks.
403
     * Ideally, it should be identical or as close as possible as \ref source.
404
     *
405
     * This can only be changed from the display module activation callback,
406
     * or within a \ref vlc_display_operations::reset_pictures "reset_pictures"
407
     * request.
408
     *
409
     * By default, it is equal to \ref source except for the aspect ratio
410
     * which is undefined(0) and is ignored.
411
     */
412
    const video_format_t *fmt;
413
414
    /* Information
415
     *
416
     * You can only set them in the open function.
417
     */
418
    vout_display_info_t info;
419
420
    /* Reserved for the vout_display_t owner.
421
     *
422
     * It must not be overwritten nor used directly by a module.
423
     */
424
    vout_display_owner_t owner;
425
426
    /**
427
     * Private data for the display module.
428
     *
429
     * A module is free to use it as it wishes.
430
     */
431
    void *sys;
432
433
    /**
434
     * Callbacks the display module must set on Open.
435
     */
436
    const struct vlc_display_operations *ops;
437
};
438
439
/**
440
 * Creates video output display.
441
 */
442
VLC_API
443
vout_display_t *vout_display_New(vlc_object_t *,
444
    const video_format_t *, vlc_video_context *,
445
    const vout_display_cfg_t *, const char *module,
446
    const vout_display_owner_t *);
447
448
/**
449
 * Destroys a video output display.
450
 */
451
VLC_API void vout_display_Delete(vout_display_t *);
452
453
/**
454
 * Prepares a picture for display.
455
 *
456
 * This renders a picture for subsequent display, with vout_display_Display().
457
 *
458
 * \note A reference to the input picture is consumed by the function, which
459
 * returns a reference to an output picture for display. The input and output
460
 * picture may or may not be equal depending on the underlying display setup.
461
 *
462
 * \bug Currently, only one picture can be prepared at a time. It must be
463
 * displayed with vout_display_Display() before any picture is prepared or
464
 * before the display is destroyed with vout_display_Delete().
465
 *
466
 \ bug Rendering subpictures is not supported with this function yet.
467
 * \c subpic must be @c NULL .
468
 *
469
 * \param vd display to prepare the picture for
470
 * \param picture picure to be prepared
471
 * \param subpic reserved, must be NULL
472
 * \param date intended time to show the picture
473
 * \return The prepared picture is returned, NULL on error.
474
 */
475
VLC_API picture_t *vout_display_Prepare(vout_display_t *vd, picture_t *picture,
476
                                        const struct vlc_render_subpicture *subpic, vlc_tick_t date);
477
478
/**
479
 * Displays a picture.
480
 */
481
static inline void vout_display_Display(vout_display_t *vd, picture_t *picture)
482
0
{
483
0
    if (vd->ops->display != NULL)
484
0
        vd->ops->display(vd, picture);
485
0
}
Unexecuted instantiation: decoder.c:vout_display_Display
Unexecuted instantiation: es.c:vout_display_Display
Unexecuted instantiation: flac.c:vout_display_Display
Unexecuted instantiation: h26x.c:vout_display_Display
Unexecuted instantiation: essetup.c:vout_display_Display
Unexecuted instantiation: tta.c:vout_display_Display
Unexecuted instantiation: encttml.c:vout_display_Display
Unexecuted instantiation: substtml.c:vout_display_Display
Unexecuted instantiation: ty.c:vout_display_Display
Unexecuted instantiation: encvtt.c:vout_display_Display
Unexecuted instantiation: webvtt.c:vout_display_Display
Unexecuted instantiation: subsvtt.c:vout_display_Display
Unexecuted instantiation: a52.c:vout_display_Display
Unexecuted instantiation: copy.c:vout_display_Display
Unexecuted instantiation: dts.c:vout_display_Display
Unexecuted instantiation: h264.c:vout_display_Display
Unexecuted instantiation: hxxx_common.c:vout_display_Display
Unexecuted instantiation: hevc.c:vout_display_Display
Unexecuted instantiation: mlp.c:vout_display_Display
Unexecuted instantiation: mpeg4audio.c:vout_display_Display
Unexecuted instantiation: mpeg4video.c:vout_display_Display
Unexecuted instantiation: mpegaudio.c:vout_display_Display
Unexecuted instantiation: mpegvideo.c:vout_display_Display
Unexecuted instantiation: vc1.c:vout_display_Display
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_Display(vout_display_t*, picture_t*)
Unexecuted instantiation: adpcm.c:vout_display_Display
Unexecuted instantiation: aes3.c:vout_display_Display
Unexecuted instantiation: araw.c:vout_display_Display
Unexecuted instantiation: g711.c:vout_display_Display
Unexecuted instantiation: lpcm.c:vout_display_Display
Unexecuted instantiation: uleaddvaudio.c:vout_display_Display
Unexecuted instantiation: rawvideo.c:vout_display_Display
Unexecuted instantiation: cc.c:vout_display_Display
Unexecuted instantiation: cea708.c:vout_display_Display
Unexecuted instantiation: cvdsub.c:vout_display_Display
Unexecuted instantiation: dvbsub.c:vout_display_Display
Unexecuted instantiation: scte18.c:vout_display_Display
Unexecuted instantiation: scte27.c:vout_display_Display
Unexecuted instantiation: spudec.c:vout_display_Display
Unexecuted instantiation: parse.c:vout_display_Display
Unexecuted instantiation: stl.c:vout_display_Display
Unexecuted instantiation: subsdec.c:vout_display_Display
Unexecuted instantiation: subsusf.c:vout_display_Display
Unexecuted instantiation: svcdsub.c:vout_display_Display
Unexecuted instantiation: textst.c:vout_display_Display
Unexecuted instantiation: substx3g.c:vout_display_Display
Unexecuted instantiation: decoder_device.c:vout_display_Display
Unexecuted instantiation: decoder_helpers.c:vout_display_Display
Unexecuted instantiation: demux.c:vout_display_Display
Unexecuted instantiation: input.c:vout_display_Display
Unexecuted instantiation: player.c:vout_display_Display
Unexecuted instantiation: aout.c:vout_display_Display
Unexecuted instantiation: vout.c:vout_display_Display
Unexecuted instantiation: osd.c:vout_display_Display
Unexecuted instantiation: resource.c:vout_display_Display
Unexecuted instantiation: common.c:vout_display_Display
Unexecuted instantiation: dec.c:vout_display_Display
Unexecuted instantiation: filters.c:vout_display_Display
Unexecuted instantiation: meter.c:vout_display_Display
Unexecuted instantiation: output.c:vout_display_Display
Unexecuted instantiation: volume.c:vout_display_Display
Unexecuted instantiation: video_output.c:vout_display_Display
Unexecuted instantiation: video_text.c:vout_display_Display
Unexecuted instantiation: video_widgets.c:vout_display_Display
Unexecuted instantiation: vout_subpictures.c:vout_display_Display
Unexecuted instantiation: video_window.c:vout_display_Display
Unexecuted instantiation: vout_intf.c:vout_display_Display
Unexecuted instantiation: vout_wrapper.c:vout_display_Display
Unexecuted instantiation: image.c:vout_display_Display
Unexecuted instantiation: objects.c:vout_display_Display
Unexecuted instantiation: filter.c:vout_display_Display
Unexecuted instantiation: filter_chain.c:vout_display_Display
Unexecuted instantiation: subpicture.c:vout_display_Display
Unexecuted instantiation: stream_output.c:vout_display_Display
Unexecuted instantiation: libvlc-module.c:vout_display_Display
Unexecuted instantiation: es_out.c:vout_display_Display
Unexecuted instantiation: control.c:vout_display_Display
Unexecuted instantiation: display.c:vout_display_Display
Unexecuted instantiation: interlacing.c:vout_display_Display
Unexecuted instantiation: snapshot.c:vout_display_Display
486
487
VLC_API
488
void vout_display_SetSize(vout_display_t *vd, unsigned width, unsigned height);
489
490
static inline void vout_display_SendEventMousePressed(vout_display_t *vd, int button)
491
0
{
492
0
    vlc_window_ReportMousePressed(vd->cfg->window, button);
493
0
}
Unexecuted instantiation: decoder.c:vout_display_SendEventMousePressed
Unexecuted instantiation: es.c:vout_display_SendEventMousePressed
Unexecuted instantiation: flac.c:vout_display_SendEventMousePressed
Unexecuted instantiation: h26x.c:vout_display_SendEventMousePressed
Unexecuted instantiation: essetup.c:vout_display_SendEventMousePressed
Unexecuted instantiation: tta.c:vout_display_SendEventMousePressed
Unexecuted instantiation: encttml.c:vout_display_SendEventMousePressed
Unexecuted instantiation: substtml.c:vout_display_SendEventMousePressed
Unexecuted instantiation: ty.c:vout_display_SendEventMousePressed
Unexecuted instantiation: encvtt.c:vout_display_SendEventMousePressed
Unexecuted instantiation: webvtt.c:vout_display_SendEventMousePressed
Unexecuted instantiation: subsvtt.c:vout_display_SendEventMousePressed
Unexecuted instantiation: a52.c:vout_display_SendEventMousePressed
Unexecuted instantiation: copy.c:vout_display_SendEventMousePressed
Unexecuted instantiation: dts.c:vout_display_SendEventMousePressed
Unexecuted instantiation: h264.c:vout_display_SendEventMousePressed
Unexecuted instantiation: hxxx_common.c:vout_display_SendEventMousePressed
Unexecuted instantiation: hevc.c:vout_display_SendEventMousePressed
Unexecuted instantiation: mlp.c:vout_display_SendEventMousePressed
Unexecuted instantiation: mpeg4audio.c:vout_display_SendEventMousePressed
Unexecuted instantiation: mpeg4video.c:vout_display_SendEventMousePressed
Unexecuted instantiation: mpegaudio.c:vout_display_SendEventMousePressed
Unexecuted instantiation: mpegvideo.c:vout_display_SendEventMousePressed
Unexecuted instantiation: vc1.c:vout_display_SendEventMousePressed
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_SendEventMousePressed(vout_display_t*, int)
Unexecuted instantiation: adpcm.c:vout_display_SendEventMousePressed
Unexecuted instantiation: aes3.c:vout_display_SendEventMousePressed
Unexecuted instantiation: araw.c:vout_display_SendEventMousePressed
Unexecuted instantiation: g711.c:vout_display_SendEventMousePressed
Unexecuted instantiation: lpcm.c:vout_display_SendEventMousePressed
Unexecuted instantiation: uleaddvaudio.c:vout_display_SendEventMousePressed
Unexecuted instantiation: rawvideo.c:vout_display_SendEventMousePressed
Unexecuted instantiation: cc.c:vout_display_SendEventMousePressed
Unexecuted instantiation: cea708.c:vout_display_SendEventMousePressed
Unexecuted instantiation: cvdsub.c:vout_display_SendEventMousePressed
Unexecuted instantiation: dvbsub.c:vout_display_SendEventMousePressed
Unexecuted instantiation: scte18.c:vout_display_SendEventMousePressed
Unexecuted instantiation: scte27.c:vout_display_SendEventMousePressed
Unexecuted instantiation: spudec.c:vout_display_SendEventMousePressed
Unexecuted instantiation: parse.c:vout_display_SendEventMousePressed
Unexecuted instantiation: stl.c:vout_display_SendEventMousePressed
Unexecuted instantiation: subsdec.c:vout_display_SendEventMousePressed
Unexecuted instantiation: subsusf.c:vout_display_SendEventMousePressed
Unexecuted instantiation: svcdsub.c:vout_display_SendEventMousePressed
Unexecuted instantiation: textst.c:vout_display_SendEventMousePressed
Unexecuted instantiation: substx3g.c:vout_display_SendEventMousePressed
Unexecuted instantiation: decoder_device.c:vout_display_SendEventMousePressed
Unexecuted instantiation: decoder_helpers.c:vout_display_SendEventMousePressed
Unexecuted instantiation: demux.c:vout_display_SendEventMousePressed
Unexecuted instantiation: input.c:vout_display_SendEventMousePressed
Unexecuted instantiation: player.c:vout_display_SendEventMousePressed
Unexecuted instantiation: aout.c:vout_display_SendEventMousePressed
Unexecuted instantiation: vout.c:vout_display_SendEventMousePressed
Unexecuted instantiation: osd.c:vout_display_SendEventMousePressed
Unexecuted instantiation: resource.c:vout_display_SendEventMousePressed
Unexecuted instantiation: common.c:vout_display_SendEventMousePressed
Unexecuted instantiation: dec.c:vout_display_SendEventMousePressed
Unexecuted instantiation: filters.c:vout_display_SendEventMousePressed
Unexecuted instantiation: meter.c:vout_display_SendEventMousePressed
Unexecuted instantiation: output.c:vout_display_SendEventMousePressed
Unexecuted instantiation: volume.c:vout_display_SendEventMousePressed
Unexecuted instantiation: video_output.c:vout_display_SendEventMousePressed
Unexecuted instantiation: video_text.c:vout_display_SendEventMousePressed
Unexecuted instantiation: video_widgets.c:vout_display_SendEventMousePressed
Unexecuted instantiation: vout_subpictures.c:vout_display_SendEventMousePressed
Unexecuted instantiation: video_window.c:vout_display_SendEventMousePressed
Unexecuted instantiation: vout_intf.c:vout_display_SendEventMousePressed
Unexecuted instantiation: vout_wrapper.c:vout_display_SendEventMousePressed
Unexecuted instantiation: image.c:vout_display_SendEventMousePressed
Unexecuted instantiation: objects.c:vout_display_SendEventMousePressed
Unexecuted instantiation: filter.c:vout_display_SendEventMousePressed
Unexecuted instantiation: filter_chain.c:vout_display_SendEventMousePressed
Unexecuted instantiation: subpicture.c:vout_display_SendEventMousePressed
Unexecuted instantiation: stream_output.c:vout_display_SendEventMousePressed
Unexecuted instantiation: libvlc-module.c:vout_display_SendEventMousePressed
Unexecuted instantiation: es_out.c:vout_display_SendEventMousePressed
Unexecuted instantiation: control.c:vout_display_SendEventMousePressed
Unexecuted instantiation: display.c:vout_display_SendEventMousePressed
Unexecuted instantiation: interlacing.c:vout_display_SendEventMousePressed
Unexecuted instantiation: snapshot.c:vout_display_SendEventMousePressed
494
static inline void vout_display_SendEventMouseReleased(vout_display_t *vd, int button)
495
0
{
496
0
    vlc_window_ReportMouseReleased(vd->cfg->window, button);
497
0
}
Unexecuted instantiation: decoder.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: es.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: flac.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: h26x.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: essetup.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: tta.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: encttml.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: substtml.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: ty.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: encvtt.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: webvtt.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: subsvtt.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: a52.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: copy.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: dts.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: h264.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: hxxx_common.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: hevc.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: mlp.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: mpeg4audio.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: mpeg4video.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: mpegaudio.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: mpegvideo.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: vc1.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_SendEventMouseReleased(vout_display_t*, int)
Unexecuted instantiation: adpcm.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: aes3.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: araw.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: g711.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: lpcm.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: uleaddvaudio.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: rawvideo.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: cc.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: cea708.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: cvdsub.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: dvbsub.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: scte18.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: scte27.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: spudec.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: parse.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: stl.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: subsdec.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: subsusf.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: svcdsub.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: textst.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: substx3g.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: decoder_device.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: decoder_helpers.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: demux.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: input.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: player.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: aout.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: vout.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: osd.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: resource.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: common.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: dec.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: filters.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: meter.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: output.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: volume.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: video_output.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: video_text.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: video_widgets.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: vout_subpictures.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: video_window.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: vout_intf.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: vout_wrapper.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: image.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: objects.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: filter.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: filter_chain.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: subpicture.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: stream_output.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: libvlc-module.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: es_out.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: control.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: display.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: interlacing.c:vout_display_SendEventMouseReleased
Unexecuted instantiation: snapshot.c:vout_display_SendEventMouseReleased
498
static inline void vout_display_SendEventViewpointMoved(vout_display_t *vd,
499
                                                        const vlc_viewpoint_t *vp)
500
0
{
501
0
    if (vd->owner.viewpoint_moved)
502
0
        vd->owner.viewpoint_moved(vd->owner.sys, vp);
503
0
}
Unexecuted instantiation: decoder.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: es.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: flac.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: h26x.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: essetup.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: tta.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: encttml.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: substtml.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: ty.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: encvtt.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: webvtt.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: subsvtt.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: a52.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: copy.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: dts.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: h264.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: hxxx_common.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: hevc.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: mlp.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: mpeg4audio.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: mpeg4video.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: mpegaudio.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: mpegvideo.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: vc1.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_SendEventViewpointMoved(vout_display_t*, vlc_viewpoint_t const*)
Unexecuted instantiation: adpcm.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: aes3.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: araw.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: g711.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: lpcm.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: uleaddvaudio.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: rawvideo.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: cc.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: cea708.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: cvdsub.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: dvbsub.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: scte18.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: scte27.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: spudec.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: parse.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: stl.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: subsdec.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: subsusf.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: svcdsub.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: textst.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: substx3g.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: decoder_device.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: decoder_helpers.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: demux.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: input.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: player.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: aout.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: vout.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: osd.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: resource.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: common.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: dec.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: filters.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: meter.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: output.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: volume.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: video_output.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: video_text.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: video_widgets.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: vout_subpictures.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: video_window.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: vout_intf.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: vout_wrapper.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: image.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: objects.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: filter.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: filter_chain.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: subpicture.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: stream_output.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: libvlc-module.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: es_out.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: control.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: display.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: interlacing.c:vout_display_SendEventViewpointMoved
Unexecuted instantiation: snapshot.c:vout_display_SendEventViewpointMoved
504
505
/**
506
 * Helper function that applies the necessary transforms to the mouse position
507
 * and then calls vout_display_SendEventMouseMoved.
508
 *
509
 * \param vd vout_display_t.
510
 * \param m_x Mouse x position (relative to place, origin is top left).
511
 * \param m_y Mouse y position (relative to place, origin is top left).
512
 */
513
static inline void vout_display_SendMouseMovedDisplayCoordinates(vout_display_t *vd, int m_x, int m_y)
514
0
{
515
0
    vlc_window_ReportMouseMoved(vd->cfg->window, m_x, m_y);
516
0
}
Unexecuted instantiation: decoder.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: es.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: flac.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: h26x.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: essetup.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: tta.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: encttml.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: substtml.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: ty.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: encvtt.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: webvtt.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: subsvtt.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: a52.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: copy.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: dts.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: h264.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: hxxx_common.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: hevc.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: mlp.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: mpeg4audio.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: mpeg4video.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: mpegaudio.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: mpegvideo.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: vc1.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_SendMouseMovedDisplayCoordinates(vout_display_t*, int, int)
Unexecuted instantiation: adpcm.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: aes3.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: araw.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: g711.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: lpcm.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: uleaddvaudio.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: rawvideo.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: cc.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: cea708.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: cvdsub.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: dvbsub.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: scte18.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: scte27.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: spudec.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: parse.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: stl.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: subsdec.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: subsusf.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: svcdsub.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: textst.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: substx3g.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: decoder_device.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: decoder_helpers.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: demux.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: input.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: player.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: aout.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: vout.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: osd.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: resource.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: common.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: dec.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: filters.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: meter.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: output.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: volume.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: video_output.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: video_text.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: video_widgets.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: vout_subpictures.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: video_window.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: vout_intf.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: vout_wrapper.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: image.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: objects.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: filter.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: filter_chain.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: subpicture.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: stream_output.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: libvlc-module.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: es_out.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: control.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: display.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: interlacing.c:vout_display_SendMouseMovedDisplayCoordinates
Unexecuted instantiation: snapshot.c:vout_display_SendMouseMovedDisplayCoordinates
517
518
static inline bool vout_display_cfg_IsWindowed(const vout_display_cfg_t *cfg)
519
0
{
520
0
    return cfg->window->type != VLC_WINDOW_TYPE_DUMMY;
521
0
}
Unexecuted instantiation: decoder.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: es.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: flac.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: h26x.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: essetup.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: tta.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: encttml.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: substtml.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: ty.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: encvtt.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: webvtt.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: subsvtt.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: a52.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: copy.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: dts.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: h264.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: hxxx_common.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: hevc.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: mlp.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: mpeg4audio.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: mpeg4video.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: mpegaudio.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: mpegvideo.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: vc1.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_cfg_IsWindowed(vout_display_cfg const*)
Unexecuted instantiation: adpcm.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: aes3.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: araw.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: g711.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: lpcm.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: uleaddvaudio.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: rawvideo.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: cc.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: cea708.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: cvdsub.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: dvbsub.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: scte18.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: scte27.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: spudec.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: parse.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: stl.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: subsdec.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: subsusf.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: svcdsub.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: textst.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: substx3g.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: decoder_device.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: decoder_helpers.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: demux.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: input.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: player.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: aout.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: vout.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: osd.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: resource.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: common.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: dec.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: filters.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: meter.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: output.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: volume.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: video_output.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: video_text.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: video_widgets.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: vout_subpictures.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: video_window.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: vout_intf.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: vout_wrapper.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: image.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: objects.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: filter.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: filter_chain.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: subpicture.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: stream_output.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: libvlc-module.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: es_out.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: control.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: display.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: interlacing.c:vout_display_cfg_IsWindowed
Unexecuted instantiation: snapshot.c:vout_display_cfg_IsWindowed
522
523
static inline int vout_display_ChangeProjection(vout_display_t *vd, video_projection_mode_t projection)
524
0
{
525
0
    if (vd->ops->change_source_projection == NULL)
526
0
        return VLC_ENOTSUP;
527
0
    return vd->ops->change_source_projection(vd, projection);
528
0
}
Unexecuted instantiation: decoder.c:vout_display_ChangeProjection
Unexecuted instantiation: es.c:vout_display_ChangeProjection
Unexecuted instantiation: flac.c:vout_display_ChangeProjection
Unexecuted instantiation: h26x.c:vout_display_ChangeProjection
Unexecuted instantiation: essetup.c:vout_display_ChangeProjection
Unexecuted instantiation: tta.c:vout_display_ChangeProjection
Unexecuted instantiation: encttml.c:vout_display_ChangeProjection
Unexecuted instantiation: substtml.c:vout_display_ChangeProjection
Unexecuted instantiation: ty.c:vout_display_ChangeProjection
Unexecuted instantiation: encvtt.c:vout_display_ChangeProjection
Unexecuted instantiation: webvtt.c:vout_display_ChangeProjection
Unexecuted instantiation: subsvtt.c:vout_display_ChangeProjection
Unexecuted instantiation: a52.c:vout_display_ChangeProjection
Unexecuted instantiation: copy.c:vout_display_ChangeProjection
Unexecuted instantiation: dts.c:vout_display_ChangeProjection
Unexecuted instantiation: h264.c:vout_display_ChangeProjection
Unexecuted instantiation: hxxx_common.c:vout_display_ChangeProjection
Unexecuted instantiation: hevc.c:vout_display_ChangeProjection
Unexecuted instantiation: mlp.c:vout_display_ChangeProjection
Unexecuted instantiation: mpeg4audio.c:vout_display_ChangeProjection
Unexecuted instantiation: mpeg4video.c:vout_display_ChangeProjection
Unexecuted instantiation: mpegaudio.c:vout_display_ChangeProjection
Unexecuted instantiation: mpegvideo.c:vout_display_ChangeProjection
Unexecuted instantiation: vc1.c:vout_display_ChangeProjection
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_ChangeProjection(vout_display_t*, video_projection_mode_t)
Unexecuted instantiation: adpcm.c:vout_display_ChangeProjection
Unexecuted instantiation: aes3.c:vout_display_ChangeProjection
Unexecuted instantiation: araw.c:vout_display_ChangeProjection
Unexecuted instantiation: g711.c:vout_display_ChangeProjection
Unexecuted instantiation: lpcm.c:vout_display_ChangeProjection
Unexecuted instantiation: uleaddvaudio.c:vout_display_ChangeProjection
Unexecuted instantiation: rawvideo.c:vout_display_ChangeProjection
Unexecuted instantiation: cc.c:vout_display_ChangeProjection
Unexecuted instantiation: cea708.c:vout_display_ChangeProjection
Unexecuted instantiation: cvdsub.c:vout_display_ChangeProjection
Unexecuted instantiation: dvbsub.c:vout_display_ChangeProjection
Unexecuted instantiation: scte18.c:vout_display_ChangeProjection
Unexecuted instantiation: scte27.c:vout_display_ChangeProjection
Unexecuted instantiation: spudec.c:vout_display_ChangeProjection
Unexecuted instantiation: parse.c:vout_display_ChangeProjection
Unexecuted instantiation: stl.c:vout_display_ChangeProjection
Unexecuted instantiation: subsdec.c:vout_display_ChangeProjection
Unexecuted instantiation: subsusf.c:vout_display_ChangeProjection
Unexecuted instantiation: svcdsub.c:vout_display_ChangeProjection
Unexecuted instantiation: textst.c:vout_display_ChangeProjection
Unexecuted instantiation: substx3g.c:vout_display_ChangeProjection
Unexecuted instantiation: decoder_device.c:vout_display_ChangeProjection
Unexecuted instantiation: decoder_helpers.c:vout_display_ChangeProjection
Unexecuted instantiation: demux.c:vout_display_ChangeProjection
Unexecuted instantiation: input.c:vout_display_ChangeProjection
Unexecuted instantiation: player.c:vout_display_ChangeProjection
Unexecuted instantiation: aout.c:vout_display_ChangeProjection
Unexecuted instantiation: vout.c:vout_display_ChangeProjection
Unexecuted instantiation: osd.c:vout_display_ChangeProjection
Unexecuted instantiation: resource.c:vout_display_ChangeProjection
Unexecuted instantiation: common.c:vout_display_ChangeProjection
Unexecuted instantiation: dec.c:vout_display_ChangeProjection
Unexecuted instantiation: filters.c:vout_display_ChangeProjection
Unexecuted instantiation: meter.c:vout_display_ChangeProjection
Unexecuted instantiation: output.c:vout_display_ChangeProjection
Unexecuted instantiation: volume.c:vout_display_ChangeProjection
Unexecuted instantiation: video_output.c:vout_display_ChangeProjection
Unexecuted instantiation: video_text.c:vout_display_ChangeProjection
Unexecuted instantiation: video_widgets.c:vout_display_ChangeProjection
Unexecuted instantiation: vout_subpictures.c:vout_display_ChangeProjection
Unexecuted instantiation: video_window.c:vout_display_ChangeProjection
Unexecuted instantiation: vout_intf.c:vout_display_ChangeProjection
Unexecuted instantiation: vout_wrapper.c:vout_display_ChangeProjection
Unexecuted instantiation: image.c:vout_display_ChangeProjection
Unexecuted instantiation: objects.c:vout_display_ChangeProjection
Unexecuted instantiation: filter.c:vout_display_ChangeProjection
Unexecuted instantiation: filter_chain.c:vout_display_ChangeProjection
Unexecuted instantiation: subpicture.c:vout_display_ChangeProjection
Unexecuted instantiation: stream_output.c:vout_display_ChangeProjection
Unexecuted instantiation: libvlc-module.c:vout_display_ChangeProjection
Unexecuted instantiation: es_out.c:vout_display_ChangeProjection
Unexecuted instantiation: control.c:vout_display_ChangeProjection
Unexecuted instantiation: display.c:vout_display_ChangeProjection
Unexecuted instantiation: interlacing.c:vout_display_ChangeProjection
Unexecuted instantiation: snapshot.c:vout_display_ChangeProjection
529
530
/**
531
 * Computes the default display size given the source and
532
 * the display configuration.
533
 *
534
 * This assumes that the picture is already cropped.
535
 */
536
VLC_API
537
void vout_display_GetDefaultDisplaySize(unsigned *width, unsigned *height,
538
                                        const video_format_t *source,
539
                                        const struct vout_display_placement *);
540
541
/**
542
 * Compares two \ref vout_display_place_t.
543
 */
544
static inline bool vout_display_PlaceEquals(const vout_display_place_t *p1,
545
                                            const vout_display_place_t *p2)
546
0
{
547
0
    return p1->x == p2->x && p1->width == p2->width &&
548
0
            p1->y == p2->y && p1->height == p2->height;
549
0
}
Unexecuted instantiation: decoder.c:vout_display_PlaceEquals
Unexecuted instantiation: es.c:vout_display_PlaceEquals
Unexecuted instantiation: flac.c:vout_display_PlaceEquals
Unexecuted instantiation: h26x.c:vout_display_PlaceEquals
Unexecuted instantiation: essetup.c:vout_display_PlaceEquals
Unexecuted instantiation: tta.c:vout_display_PlaceEquals
Unexecuted instantiation: encttml.c:vout_display_PlaceEquals
Unexecuted instantiation: substtml.c:vout_display_PlaceEquals
Unexecuted instantiation: ty.c:vout_display_PlaceEquals
Unexecuted instantiation: encvtt.c:vout_display_PlaceEquals
Unexecuted instantiation: webvtt.c:vout_display_PlaceEquals
Unexecuted instantiation: subsvtt.c:vout_display_PlaceEquals
Unexecuted instantiation: a52.c:vout_display_PlaceEquals
Unexecuted instantiation: copy.c:vout_display_PlaceEquals
Unexecuted instantiation: dts.c:vout_display_PlaceEquals
Unexecuted instantiation: h264.c:vout_display_PlaceEquals
Unexecuted instantiation: hxxx_common.c:vout_display_PlaceEquals
Unexecuted instantiation: hevc.c:vout_display_PlaceEquals
Unexecuted instantiation: mlp.c:vout_display_PlaceEquals
Unexecuted instantiation: mpeg4audio.c:vout_display_PlaceEquals
Unexecuted instantiation: mpeg4video.c:vout_display_PlaceEquals
Unexecuted instantiation: mpegaudio.c:vout_display_PlaceEquals
Unexecuted instantiation: mpegvideo.c:vout_display_PlaceEquals
Unexecuted instantiation: vc1.c:vout_display_PlaceEquals
Unexecuted instantiation: chapter_command_dvd.cpp:vout_display_PlaceEquals(vout_display_place_t const*, vout_display_place_t const*)
Unexecuted instantiation: adpcm.c:vout_display_PlaceEquals
Unexecuted instantiation: aes3.c:vout_display_PlaceEquals
Unexecuted instantiation: araw.c:vout_display_PlaceEquals
Unexecuted instantiation: g711.c:vout_display_PlaceEquals
Unexecuted instantiation: lpcm.c:vout_display_PlaceEquals
Unexecuted instantiation: uleaddvaudio.c:vout_display_PlaceEquals
Unexecuted instantiation: rawvideo.c:vout_display_PlaceEquals
Unexecuted instantiation: cc.c:vout_display_PlaceEquals
Unexecuted instantiation: cea708.c:vout_display_PlaceEquals
Unexecuted instantiation: cvdsub.c:vout_display_PlaceEquals
Unexecuted instantiation: dvbsub.c:vout_display_PlaceEquals
Unexecuted instantiation: scte18.c:vout_display_PlaceEquals
Unexecuted instantiation: scte27.c:vout_display_PlaceEquals
Unexecuted instantiation: spudec.c:vout_display_PlaceEquals
Unexecuted instantiation: parse.c:vout_display_PlaceEquals
Unexecuted instantiation: stl.c:vout_display_PlaceEquals
Unexecuted instantiation: subsdec.c:vout_display_PlaceEquals
Unexecuted instantiation: subsusf.c:vout_display_PlaceEquals
Unexecuted instantiation: svcdsub.c:vout_display_PlaceEquals
Unexecuted instantiation: textst.c:vout_display_PlaceEquals
Unexecuted instantiation: substx3g.c:vout_display_PlaceEquals
Unexecuted instantiation: decoder_device.c:vout_display_PlaceEquals
Unexecuted instantiation: decoder_helpers.c:vout_display_PlaceEquals
Unexecuted instantiation: demux.c:vout_display_PlaceEquals
Unexecuted instantiation: input.c:vout_display_PlaceEquals
Unexecuted instantiation: player.c:vout_display_PlaceEquals
Unexecuted instantiation: aout.c:vout_display_PlaceEquals
Unexecuted instantiation: vout.c:vout_display_PlaceEquals
Unexecuted instantiation: osd.c:vout_display_PlaceEquals
Unexecuted instantiation: resource.c:vout_display_PlaceEquals
Unexecuted instantiation: common.c:vout_display_PlaceEquals
Unexecuted instantiation: dec.c:vout_display_PlaceEquals
Unexecuted instantiation: filters.c:vout_display_PlaceEquals
Unexecuted instantiation: meter.c:vout_display_PlaceEquals
Unexecuted instantiation: output.c:vout_display_PlaceEquals
Unexecuted instantiation: volume.c:vout_display_PlaceEquals
Unexecuted instantiation: video_output.c:vout_display_PlaceEquals
Unexecuted instantiation: video_text.c:vout_display_PlaceEquals
Unexecuted instantiation: video_widgets.c:vout_display_PlaceEquals
Unexecuted instantiation: vout_subpictures.c:vout_display_PlaceEquals
Unexecuted instantiation: video_window.c:vout_display_PlaceEquals
Unexecuted instantiation: vout_intf.c:vout_display_PlaceEquals
Unexecuted instantiation: vout_wrapper.c:vout_display_PlaceEquals
Unexecuted instantiation: image.c:vout_display_PlaceEquals
Unexecuted instantiation: objects.c:vout_display_PlaceEquals
Unexecuted instantiation: filter.c:vout_display_PlaceEquals
Unexecuted instantiation: filter_chain.c:vout_display_PlaceEquals
Unexecuted instantiation: subpicture.c:vout_display_PlaceEquals
Unexecuted instantiation: stream_output.c:vout_display_PlaceEquals
Unexecuted instantiation: libvlc-module.c:vout_display_PlaceEquals
Unexecuted instantiation: es_out.c:vout_display_PlaceEquals
Unexecuted instantiation: control.c:vout_display_PlaceEquals
Unexecuted instantiation: display.c:vout_display_PlaceEquals
Unexecuted instantiation: interlacing.c:vout_display_PlaceEquals
Unexecuted instantiation: snapshot.c:vout_display_PlaceEquals
550
551
/**
552
 * Computes the intended picture placement inside the display.
553
 *
554
 * This function computes where to show a picture inside the display with
555
 * respect to the provided parameters, and returns the result
556
 * in a \ref vout_display_place_t structure.
557
 *
558
 * This assumes that cropping is done by an external mean.
559
 *
560
 * \param place Storage space for the picture placement [OUT]
561
 * \param source Video source format
562
 * \param cfg Display configuration
563
 */
564
VLC_API
565
void vout_display_PlacePicture(vout_display_place_t *restrict place,
566
                               const video_format_t *restrict source,
567
                               const struct vout_display_placement *cfg);
568
569
/**
570
 * Translates coordinates.
571
 *
572
 * This translates coordinates from window pixel coordinate space to
573
 * original video sample coordinate space.
574
 *
575
 * \param x pointer to abscissa to be translated
576
 * \param y pointer to ordinate to be translated
577
 * \param fmt video format
578
 * \param dp display configuration
579
 */
580
void vout_display_TranslateCoordinates(int *x, int *y,
581
                                       const video_format_t *fmt,
582
                                       const struct vout_display_placement *dp);
583
584
/** @} */
585
#endif /* VLC_VOUT_DISPLAY_H */