VLC  4.0.0-dev
vout_private.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * vout_private.h : Internal vout definitions
3  *****************************************************************************
4  * Copyright (C) 2008-2018 VLC authors and VideoLAN
5  * Copyright (C) 2008 Laurent Aimar
6  *
7  * Authors: Laurent Aimar < fenrir _AT_ videolan _DOT_ org >
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 #ifndef LIBVLC_VOUT_PRIVATE_H
25 #define LIBVLC_VOUT_PRIVATE_H 1
26 
27 #include <vlc_picture_fifo.h>
28 #include <vlc_picture_pool.h>
29 #include <vlc_vout_display.h>
30 
32 
33 /* */
35 {
36  struct {
38  bool has_deint;
40  } interlacing;
41 
44 };
45 
46 /* */
50 
53 void vout_SetInterlacingState(vout_thread_t *, vout_thread_private_t *, bool is_interlaced);
54 
55 #endif // LIBVLC_VOUT_PRIVATE_H
VOUT_CROP_NONE
@ VOUT_CROP_NONE
Definition: vout_internal.h:104
vout_thread_private_t
Definition: vout_private.h:34
vlc_spu.h
vout_SetInterlacingState
void vout_SetInterlacingState(vout_thread_t *, vout_thread_private_t *, bool is_interlaced)
Definition: interlacing.c:156
vout_IntfDeinit
void vout_IntfDeinit(vlc_object_t *obj)
Definition: vout_intf.c:322
vout_IntfInit
void vout_IntfInit(vout_thread_t *p_vout)
Definition: vout_intf.c:287
var_Create
int() var_Create(vlc_object_t *p_this, const char *psz_name, int i_type)
Creates a VLC object variable.
Definition: variables.c:291
vout_InitInterlacingSupport
void vout_InitInterlacingSupport(vout_thread_t *, vout_thread_private_t *)
Definition: interlacing.c:93
vout_ChangeDisplayAspectRatio
void vout_ChangeDisplayAspectRatio(vout_thread_t *vout, unsigned dar_num, unsigned dar_den)
Definition: video_output.c:625
VoutSnapshotPip
static int VoutSnapshotPip(vout_thread_t *p_vout, picture_t *p_pic)
This function will inject a subpicture into the vout with the provided picture.
Definition: vout_intf.c:351
var_InheritBool
static bool var_InheritBool(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:675
VOUT_SPU_CHANNEL_OSD
#define VOUT_SPU_CHANNEL_OSD
Definition: vlc_vout.h:128
SecondarySubMarginCallback
static int SecondarySubMarginCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:647
VLC_VAR_SETTEXT
#define VLC_VAR_SETTEXT
Definition: vlc_variables.h:89
FullscreenCallback
static int FullscreenCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:583
var_DelCallback
void() var_DelCallback(vlc_object_t *p_this, const char *psz_name, vlc_callback_t pf_callback, void *p_data)
Deregisters a callback from a variable.
Definition: variables.c:854
vlc_common.h
vout_snapshot_SaveImage
int vout_snapshot_SaveImage(char **name, int *sequential, const block_t *image, vout_thread_t *p_vout, const vout_snapshot_save_cfg_t *cfg)
This function will write an image to the disk an return the file name created.
Definition: snapshot.c:163
VOUT_CROP_RATIO
@ VOUT_CROP_RATIO
Definition: vout_internal.h:104
VLC_VAR_DOINHERIT
#define VLC_VAR_DOINHERIT
Creation flag.
Definition: vlc_variables.h:69
vlc_vout.h
VLC_VAR_ADDCHOICE
#define VLC_VAR_ADDCHOICE
Definition: vlc_variables.h:96
vout_thread_private_t::has_deint
bool has_deint
Definition: vout_private.h:38
subpicture_t::i_original_picture_height
int i_original_picture_height
original height of the movie
Definition: vlc_subpicture.h:199
GetAspectRatio
bool GetAspectRatio(const char *ar_str, unsigned *num, unsigned *den)
Definition: vout_intf.c:511
p_zoom_values
static const struct @125 p_zoom_values[]
WallPaperCallback
static int WallPaperCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:564
picture_Release
static void picture_Release(picture_t *picture)
Decrements the picture reference count.
Definition: vlc_picture.h:368
vlc_value_t::p_address
void * p_address
Definition: vlc_common.h:463
VLC_VOUT_ORDER_PRIMARY
@ VLC_VOUT_ORDER_PRIMARY
There is only one primary vout/spu_channel For vouts: this is the first vout, probably embedded in th...
Definition: vlc_vout.h:78
vlc_charset.h
VoutSaveSnapshot
static void VoutSaveSnapshot(vout_thread_t *p_vout)
This function will handle a snapshot request.
Definition: vout_intf.c:392
var_AddCallback
void() var_AddCallback(vlc_object_t *p_this, const char *psz_name, vlc_callback_t pf_callback, void *p_data)
Registers a callback for a variable.
Definition: variables.c:801
VLC_VAR_BOOL
#define VLC_VAR_BOOL
Definition: vlc_variables.h:49
vout_ChangeZoom
void vout_ChangeZoom(vout_thread_t *vout, unsigned num, unsigned den)
Definition: video_output.c:584
video_format_t
video format description
Definition: vlc_es.h:350
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
_
#define _(str)
Definition: vlc_fixups.h:374
vout_snapshot_save_cfg_t::prefix_fmt
char * prefix_fmt
Definition: snapshot.h:63
vout_ReinitInterlacingSupport
void vout_ReinitInterlacingSupport(vout_thread_t *, vout_thread_private_t *)
Definition: interlacing.c:150
vout_snapshot_save_cfg_t::is_sequential
bool is_sequential
Definition: snapshot.h:59
var_InheritString
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
vout_ControlChangeFilters
void vout_ControlChangeFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:662
vlc_picture_pool.h
VLC_VAR_ADDRESS
#define VLC_VAR_ADDRESS
Definition: vlc_variables.h:53
ARRAY_SIZE
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:178
VLC_VAR_INTEGER
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
SubSourceCallback
static int SubSourceCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:617
VLC_VAR_STRING
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
subpicture_t::i_start
vlc_tick_t i_start
beginning of display date
Definition: vlc_subpicture.h:184
VLC_VAR_FLOAT
#define VLC_VAR_FLOAT
Definition: vlc_variables.h:52
vlc_gettext
const char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:79
p_aspect_ratio_values
static const struct @127 p_aspect_ratio_values[]
picture_t
Video picture.
Definition: vlc_picture.h:120
var_Change
int() var_Change(vlc_object_t *p_this, const char *psz_name, int i_action,...)
Performs a special action on a variable.
Definition: variables.c:423
vlc_value_t::i_int
int64_t i_int
Definition: vlc_common.h:459
VLC_VOUT_ORDER_SECONDARY
@ VLC_VOUT_ORDER_SECONDARY
There can be several secondary vouts or spu_channels For vouts: a secondary vout using its own window...
Definition: vlc_vout.h:86
vout_snapshot_save_cfg_t
Definition: snapshot.h:58
CropCallback
static int CropCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:480
var_TriggerCallback
void() var_TriggerCallback(vlc_object_t *p_this, const char *psz_name)
Triggers callbacks on a variable.
Definition: variables.c:864
SnapshotCallback
static int SnapshotCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:596
vout_thread_private_t::date
vlc_tick_t date
Definition: vout_private.h:39
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
VLC_VAR_VOID
#define VLC_VAR_VOID
Definition: vlc_variables.h:48
vlc_value_t::b_bool
bool b_bool
Definition: vlc_common.h:460
vout_ChangeCrop
void vout_ChangeCrop(vout_thread_t *vout, const struct vout_crop *restrict crop)
Definition: video_output.c:644
vout_PutSubpicture
void vout_PutSubpicture(vout_thread_t *vout, subpicture_t *subpic)
Definition: video_output.c:379
subpicture_t::i_channel
ssize_t i_channel
subpicture channel ID
Definition: vlc_subpicture.h:170
var_SetString
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
picture_pool_t
Definition: picture_pool.c:42
vlc_tick_now
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
vout_thread_private_t::is_interlaced
bool is_interlaced
Definition: vout_private.h:37
vout_IntfReinit
void vout_IntfReinit(vout_thread_t *p_vout)
Definition: vout_intf.c:308
vlc_value_t::f_float
float f_float
Definition: vlc_common.h:461
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
vout_CloseWrapper
void vout_CloseWrapper(vout_thread_t *, vout_thread_private_t *, vout_display_t *vd)
Definition: vout_wrapper.c:131
vout_snapshot_save_cfg_t::format
char * format
Definition: snapshot.h:62
subpicture_t
Video subtitle.
Definition: vlc_subpicture.h:166
vout_display_cfg
User configuration for a video output display (vout_display_t)
Definition: vlc_vout_display.h:94
f_value
double f_value
Definition: vout_intf.c:90
vlc_strings.h
vout_snapshot_save_cfg_t::sequence
int sequence
Definition: snapshot.h:60
vlc_vout_display.h
VLC_VAR_ISCOMMAND
#define VLC_VAR_ISCOMMAND
Definition: vlc_variables.h:64
subpicture_t::i_original_picture_width
int i_original_picture_width
original width of the movie
Definition: vlc_subpicture.h:198
vout_snapshot_GetDirectory
char * vout_snapshot_GetDirectory(void)
This function will return the directory used for snapshots.
Definition: snapshot.c:158
vlc_value_t::psz_string
char * psz_string
Definition: vlc_common.h:462
vout_ChangeWindowed
void vout_ChangeWindowed(vout_thread_t *vout)
Definition: video_output.c:525
CropBorderCallback
static int CropBorderCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:495
vout_ControlChangeSubFilters
void vout_ControlChangeSubFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:701
vout_ChangeFullscreen
void vout_ChangeFullscreen(vout_thread_t *vout, const char *id)
Definition: video_output.c:516
vout_thread_private_t::private_pool
picture_pool_t * private_pool
Definition: vout_private.h:42
subpicture_NewFromPicture
subpicture_t * subpicture_NewFromPicture(vlc_object_t *p_obj, picture_t *p_picture, vlc_fourcc_t i_chroma)
This function will create a subpicture having one region in the requested chroma showing the given pi...
Definition: subpicture.c:100
SubMarginCallback
static int SubMarginCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:637
vout_thread_private_t::interlacing
struct vout_thread_private_t::@128 interlacing
vout_crop
Definition: vout_internal.h:107
vlc_video_context
Definition: decoder_helpers.c:228
vout_OpenWrapper
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
vout_ChangeDisplayFilled
void vout_ChangeDisplayFilled(vout_thread_t *vout, bool is_filled)
Definition: video_output.c:567
VOUT_WINDOW_STATE_NORMAL
@ VOUT_WINDOW_STATE_NORMAL
Normal stacking.
Definition: vlc_vout_window.h:77
AddCustomRatios
static void AddCustomRatios(vout_thread_t *p_vout, const char *psz_var, char *psz_list)
Definition: vout_intf.c:131
p_crop_values
static const struct @126 p_crop_values[]
vlc_object_t
VLC object common members.
Definition: vlc_objects.h:43
var_CreateGetNonEmptyString
static char * var_CreateGetNonEmptyString(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:570
subpicture_t::b_ephemer
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
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
vout_ChangeWindowState
void vout_ChangeWindowState(vout_thread_t *vout, unsigned st)
Definition: video_output.c:536
VLC_CODEC_YUVA
#define VLC_CODEC_YUVA
Definition: vlc_fourcc.h:270
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
vlc_vout_osd.h
VLC_TICK_FROM_MS
#define VLC_TICK_FROM_MS(ms)
Definition: vlc_tick.h:122
psz_value
char psz_value[8]
Definition: vout_intf.c:99
subpicture_t::b_fade
bool b_fade
enable fading
Definition: vlc_subpicture.h:188
VLC_TICK_FROM_SEC
#define VLC_TICK_FROM_SEC(sec)
Definition: vlc_tick.h:52
VLC_VAR_COORDS
#define VLC_VAR_COORDS
Definition: vlc_variables.h:54
ViewpointCallback
static int ViewpointCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:657
vlc_block.h
name
const char name[16]
Definition: httpd.c:1268
snapshot.h
N_
#define N_(str)
Definition: vlc_fixups.h:375
SubFilterCallback
static int SubFilterCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:627
vlc_picture_fifo.h
var_SetInteger
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
VoutOsdSnapshot
static void VoutOsdSnapshot(vout_thread_t *p_vout, picture_t *p_pic, const char *psz_filename)
This function will display the name and a PIP of the provided snapshot.
Definition: vout_intf.c:377
subpicture_t::i_stop
vlc_tick_t i_stop
end of display date
Definition: vlc_subpicture.h:185
AspectCallback
static int AspectCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:523
psz_label
char psz_label[13]
Definition: vout_intf.c:91
vout_CreateVars
void vout_CreateVars(vout_thread_t *p_vout)
Definition: vout_intf.c:154
var_GetInteger
static int64_t var_GetInteger(vlc_object_t *p_obj, const char *psz_name)
Get an integer value.
Definition: vlc_variables.h:374
vout_ParseCrop
bool vout_ParseCrop(struct vout_crop *restrict cfg, const char *crop_str)
Definition: vout_intf.c:454
vout_OSDMessage
static void vout_OSDMessage(vout_thread_t *vout, int channel, const char *format,...)
Definition: vlc_vout_osd.h:81
vout_ChangeSpuChannelMargin
void vout_ChangeSpuChannelMargin(vout_thread_t *vout, enum vlc_vout_order order, int margin)
Definition: video_output.c:709
vout_thread_private_t::display_pool
picture_pool_t * display_pool
Definition: vout_private.h:43
VOUT_WINDOW_STATE_ABOVE
@ VOUT_WINDOW_STATE_ABOVE
Stacking above (a.k.a.
Definition: vlc_vout_window.h:78
AboveCallback
static int AboveCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:555
ZoomCallback
static int ZoomCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:545
vout_snapshot_save_cfg_t::path
char * path
Definition: snapshot.h:61
vout_GetSnapshot
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
vout_ChangeViewpoint
void vout_ChangeViewpoint(vout_thread_t *vout, const vlc_viewpoint_t *p_viewpoint)
Definition: video_output.c:718
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
vout_thread_t
Video output thread descriptor.
Definition: vlc_vout.h:55
vout_display_t
Definition: vlc_vout_display.h:316
VOUT_CROP_BORDER
@ VOUT_CROP_BORDER
Definition: vout_internal.h:104
vout_internal.h
VideoFilterCallback
static int VideoFilterCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:607
block_Release
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
vlc_value_t
VLC value structure.
Definition: vlc_common.h:457
vout_ControlChangeSubSources
void vout_ControlChangeSubSources(vout_thread_t *vout, const char *filters)
Definition: video_output.c:693
vlc_object_instance
#define vlc_object_instance(o)
Definition: vlc_objects.h:195
VOUT_WINDOW_STATE_BELOW
@ VOUT_WINDOW_STATE_BELOW
Stacking below (a.k.a.
Definition: vlc_vout_window.h:79
block_t
Definition: vlc_block.h:117
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
AutoScaleCallback
static int AutoScaleCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:535
VOUT_CROP_WINDOW
@ VOUT_CROP_WINDOW
Definition: vout_internal.h:104
vlc_modules.h