Go to the documentation of this file.
22 #define RGB2YUV( R, G, B ) \
23 ((0.257 * R) + (0.504 * G) + (0.098 * B) + 16), \
24 (-(0.148 * R) - (0.291 * G) + (0.439 * B) + 128),\
25 ((0.439 * R) - (0.368 * G) - (0.071 * B) + 128)
27 #define HEX2YUV( rgb ) \
28 RGB2YUV( (rgb >> 16), ((rgb & 0xFF00) >> 8), (rgb & 0xFF) )
32 uint32_t argb1, uint32_t argb2 )
34 for( uint8_t i = 0; i<i_splits; i++ )
36 uint32_t rgb1 = argb1 & 0x00FFFFFF;
37 uint32_t rgb2 = argb2 & 0x00FFFFFF;
39 uint32_t r = ((((rgb1 >> 16) * (i_splits - i)) + (rgb2 >> 16) * i)) / i_splits;
40 uint32_t g = (((((rgb1 >> 8) & 0xFF) * (i_splits - i)) + ((rgb2 >> 8) & 0xFF) * i)) / i_splits;
41 uint32_t b = ((((rgb1 & 0xFF) * (i_splits - i)) + (rgb2 & 0xFF) * i)) / i_splits;
51 const int i_split =
p->i_visible_lines / i_splits;
52 const int i_left =
p->i_visible_lines % i_splits +
p->i_lines -
p->i_visible_lines;
53 for(
int i = 0; i<i_splits; i++ )
55 memset( &
p->p_pixels[
p->i_pitch * (i * i_split)],
57 p->i_pitch * i_split );
59 memset( &
p->p_pixels[
p->i_pitch * (i_splits - 1) * i_split],
61 p->i_pitch * i_left );
static const struct @95 p_aspect_ratio_values[]
void vout_IntfInit(vout_thread_t *p_vout)
Definition: vout_intf.c:146
void vout_ControlChangeZoom(vout_thread_t *vout, int num, int den)
Definition: video_output.c:495
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:331
static const struct @93 p_zoom_values[]
#define VOUT_SPU_CHANNEL_OSD
Definition: vlc_vout.h:156
subpicture_region_t * subpicture_region_New(const video_format_t *p_fmt)
This function will create a new subpicture region.
Definition: subpicture.c:206
#define image_HandlerCreate(a)
Definition: vlc_image.h:64
#define VLC_VAR_SETTEXT
Definition: vlc_variables.h:89
void vout_ControlChangeSubMargin(vout_thread_t *vout, int margin)
Definition: video_output.c:551
static int FullscreenCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:541
void vout_OSDMessage(vout_thread_t *vout, int channel, const char *format,...)
Write an informative message at the default location, for the default duration and only if the OSD op...
Definition: video_text.c:141
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:140
#define var_CreateGetNonEmptyString(a, b)
Definition: vlc_variables.h:496
#define RGB2YUV(R, G, B)
Definition: vout_spuregion_helper.h:21
#define VLC_VAR_DOINHERIT
Creation flag.
Definition: vlc_variables.h:69
void vout_ControlChangeDisplayFilled(vout_thread_t *vout, bool is_filled)
Definition: video_output.c:490
int i_entries
to keep the compatibility with libavcodec's palette
Definition: vlc_es.h:46
#define var_TriggerCallback(a, b)
Definition: vlc_variables.h:166
es_format_t fmt_in
Chain input format (constant)
Definition: filter_chain.c:58
#define VLC_VAR_ADDCHOICE
Definition: vlc_variables.h:96
int i_original_picture_height
original height of the movie
Definition: vlc_subpicture.h:186
#define OBJECT_FLAGS_NOINTERACT
Definition: vlc_objects.h:33
static int WallPaperCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:522
void * p_address
Definition: vlc_common.h:331
#define var_InheritBool(o, n)
Definition: vlc_variables.h:601
static void VoutSaveSnapshot(vout_thread_t *p_vout)
This function will handle a snapshot request.
Definition: vout_intf.c:372
#define VLC_VAR_BOOL
Definition: vlc_variables.h:49
libvlc_int_t * libvlc
LibVLC instance.
Definition: vlc_common.h:441
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
#define _(str)
Definition: vlc_fixups.h:371
char * prefix_fmt
Definition: snapshot.h:71
bool is_sequential
Definition: snapshot.h:67
#define image_ReadUrl(a, b, c, d)
Definition: vlc_image.h:68
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
void vout_ControlChangeFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:536
#define VLC_VAR_ADDRESS
Definition: vlc_variables.h:53
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:162
static subpicture_region_t * spuregion_CreateFromPicture(vlc_object_t *p_this, video_format_t *p_fmt, const char *psz_uri)
Definition: vout_spuregion_helper.h:65
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
static int SubSourceCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:573
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
void picture_Release(picture_t *p_picture)
This function will release a picture.
Definition: picture.c:300
void vout_ControlChangeCropBorder(vout_thread_t *vout, int left, int top, int right, int bottom)
Definition: video_output.c:524
#define VLC_VAR_FLOAT
Definition: vlc_variables.h:52
#define OBJECT_FLAGS_QUIET
Definition: vlc_objects.h:32
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:101
Definition: vlc_vout_display.h:76
#define var_InheritString(o, n)
Definition: vlc_variables.h:639
Video picture.
Definition: vlc_picture.h:68
char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:89
int64_t i_int
Definition: vlc_common.h:327
#define var_Create(a, b, c)
Definition: vlc_variables.h:121
Definition: snapshot.h:66
int i_channel
subpicture channel ID
Definition: vlc_subpicture.h:157
static int CropCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:436
static int SnapshotCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:552
void vout_ControlChangeSampleAspectRatio(vout_thread_t *vout, unsigned num, unsigned den)
Definition: video_output.c:500
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
#define VLC_VAR_VOID
Definition: vlc_variables.h:48
bool b_bool
Definition: vlc_common.h:328
Definition: vlc_vout_display.h:75
void vout_IntfReinit(vout_thread_t *p_vout)
Definition: vout_intf.c:310
float f_float
Definition: vlc_common.h:329
char * format
Definition: snapshot.h:70
Video subtitle.
Definition: vlc_subpicture.h:153
double f_value
Definition: vout_intf.c:81
int vout_GetSnapshot(vout_thread_t *vout, block_t **image_dst, picture_t **picture_dst, video_format_t *fmt, const char *type, mtime_t timeout)
This function will handle a snapshot request.
Definition: video_output.c:441
int sequence
Definition: snapshot.h:68
Video subtitle region.
Definition: vlc_subpicture.h:57
static void block_Release(block_t *block)
Releases a block.
Definition: vlc_block.h:181
#define VLC_VAR_ISCOMMAND
Definition: vlc_variables.h:64
Definition: vlc_vout_display.h:74
int i_original_picture_width
original width of the movie
Definition: vlc_subpicture.h:185
static void spuregion_CreateVGradientPalette(video_palette_t *p_palette, uint8_t i_splits, uint32_t argb1, uint32_t argb2)
Definition: vout_spuregion_helper.h:30
char * vout_snapshot_GetDirectory(void)
This function will return the directory used for snapshots.
Definition: snapshot.c:135
uint8_t palette[256][4]
4-byte RGBA/YUVA palette
Definition: vlc_es.h:47
char * psz_string
Definition: vlc_common.h:330
#define var_GetInteger(a, b)
Definition: vlc_variables.h:655
void vout_ControlChangeCropWindow(vout_thread_t *vout, int x, int y, int width, int height)
Definition: video_output.c:512
#define var_SetInteger(a, b, c)
Definition: vlc_variables.h:256
void vout_PutSubpicture(vout_thread_t *vout, subpicture_t *subpic)
Definition: video_output.c:370
void image_HandlerDelete(image_handler_t *p_image)
Delete the image_handler_t instance.
Definition: image.c:105
static void spuregion_CreateVGradientFill(plane_t *p, uint8_t i_splits)
Definition: vout_spuregion_helper.h:48
static int CropBorderCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:462
void vout_ControlChangeSubFilters(vout_thread_t *vout, const char *filters)
Definition: video_output.c:546
static int SubMarginCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:593
mtime_t i_stop
end of display date
Definition: vlc_subpicture.h:172
static void AddCustomRatios(vout_thread_t *p_vout, const char *psz_var, char *psz_list)
Definition: vout_intf.c:123
The main vlc_object_t structure.
Definition: vlc_objects.h:39
bool b_ephemer
If this flag is set to true the subtitle will be displayed until the next one appear.
Definition: vlc_subpicture.h:173
#define VLC_UNUSED(x)
Definition: vlc_common.h:912
#define VLC_CODEC_YUVA
Definition: vlc_fourcc.h:261
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
Description of a planar graphic field.
Definition: vlc_picture.h:37
char psz_value[8]
Definition: vout_intf.c:91
bool b_fade
enable fading
Definition: vlc_subpicture.h:175
static const struct @94 p_crop_values[]
struct vlc_common_members obj
Definition: vlc_vout.h:71
Definition: vlc_image.h:39
#define VLC_VAR_COORDS
Definition: vlc_variables.h:54
static int ViewpointCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:603
void vout_ControlChangeCropRatio(vout_thread_t *vout, unsigned num, unsigned den)
Definition: video_output.c:506
const char name[16]
Definition: httpd.c:1249
static void video_format_Init(video_format_t *p_src, vlc_fourcc_t i_chroma)
Initialize a video_format_t structure with chroma 'i_chroma'.
Definition: vlc_es.h:380
picture_t * p_picture
picture comprising this region
Definition: vlc_subpicture.h:60
Definition: fourcc_gen.c:50
#define N_(str)
Definition: vlc_fixups.h:372
static int SubFilterCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:583
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:357
#define var_SetString(a, b, c)
Definition: vlc_variables.h:259
static int AspectCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:478
char psz_label[13]
Definition: vout_intf.c:82
void vout_ControlChangeWindowState(vout_thread_t *vout, unsigned st)
Definition: video_output.c:486
void vout_ControlChangeFullscreen(vout_thread_t *vout, bool fullscreen)
Definition: video_output.c:481
mtime_t i_start
beginning of display date
Definition: vlc_subpicture.h:171
#define var_AddCallback(a, b, c, d)
Definition: vlc_variables.h:164
static int AboveCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:513
static int ZoomCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:503
char * path
Definition: snapshot.h:69
Video output thread descriptor.
Definition: vlc_vout.h:70
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
void vout_ControlChangeViewpoint(vout_thread_t *vout, const vlc_viewpoint_t *p_viewpoint)
Definition: video_output.c:557
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
static int VideoFilterCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:563
VLC value structure.
Definition: vlc_common.h:325
void vout_ControlChangeSubSources(vout_thread_t *vout, const char *filters)
Definition: video_output.c:541
Definition: vlc_block.h:111
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
struct vlc_common_members obj
Definition: vlc_objects.h:42
static int AutoScaleCallback(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vout_intf.c:493
int flags
Definition: vlc_common.h:428
#define var_Change(a, b, c, d, e)
Definition: vlc_variables.h:127