VLC  3.0.21
picture.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * picture.h: picture internals
3  *****************************************************************************
4  * Copyright (C) 2015 Remi Denis-Courmont
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19  *****************************************************************************/
20 
21 #include <vlc_picture.h>
22 #include <vlc_atomic.h>
23 
24 typedef struct
25 {
26  picture_t picture;
27  struct
28  {
29  atomic_uintptr_t refs;
30  void (*destroy)(picture_t *);
31  void *opaque;
32  } gc;
vlc_credential::psz_password
const char * psz_password
valid only if vlc_credential_get() returned true
Definition: vlc_keystore.h:175
md5_init
static void md5_init(void *context)
Definition: md5.c:55
psz_vlc_changeset
const char psz_vlc_changeset[]
EndMD5
void EndMD5(struct md5_s *h)
Definition: md5.c:345
picture_priv_t::opaque
void * opaque
Definition: picture.h:47
vlc_logger_t::lock
vlc_rwlock_t lock
Definition: messages.c:71
picture_t::b_progressive
bool b_progressive
is it a progressive frame ?
Definition: vlc_picture.h:90
vlc_res::prev
struct vlc_res * prev
Definition: objres.c:53
VLC_TICK_INVALID
#define VLC_TICK_INVALID
Definition: vlc_common.h:153
vlc_Log
void vlc_Log(vlc_object_t *obj, int type, const char *module, const char *file, unsigned line, const char *func, const char *format,...)
Emit a log message.
Definition: messages.c:152
count
size_t count
Definition: core.c:461
plane_CopyPixels
void plane_CopyPixels(plane_t *p_dst, const plane_t *p_src)
Definition: picture.c:317
KEY_PROTOCOL
Definition: vlc_keystore.h:51
vlc_credential_get
bool vlc_credential_get(vlc_credential *p_credential, vlc_object_t *p_parent, const char *psz_option_username, const char *psz_option_password, const char *psz_dialog_title, const char *psz_dialog_fmt,...)
Get a username/password couple.
Definition: keystore.c:371
vlc_credential_init
void vlc_credential_init(vlc_credential *p_credential, const vlc_url_t *p_url)
Init a credential struct.
Definition: keystore.c:344
vlc_obj_malloc
void * vlc_obj_malloc(vlc_object_t *obj, size_t size)
Definition: objres.c:135
picture_Hold
picture_t * picture_Hold(picture_t *p_picture)
This function will increase the picture reference count.
Definition: picture.c:290
VLC_COMMON_MEMBERS
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:457
picture_t::format
video_frame_format_t format
The properties of the picture.
Definition: vlc_picture.h:73
vlc_keystore_store
int vlc_keystore_store(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], const uint8_t *p_secret, ssize_t i_secret_len, const char *psz_label)
Store a secret associated with a set of key/values.
Definition: keystore.c:73
vlc_LogSet
void vlc_LogSet(libvlc_int_t *vlc, vlc_log_cb cb, void *opaque)
Sets the message logging callback.
Definition: messages.c:388
vlc_object_internals::first
vlc_object_internals_t * first
Definition: variables.h:52
vlc_restorecancel
void vlc_restorecancel(int state)
Restores the cancellation state.
Definition: thread.c:323
vlc_list_t
VLC list structure.
Definition: vlc_common.h:344
vlc_res
Definition: objres.c:34
strcasecmp
int strcasecmp(const char *, const char *)
vlc_module_load
#define vlc_module_load(o, c, n, s,...)
Definition: vlc_modules.h:39
picture_resource_t::i_lines
int i_lines
Number of lines, including margins.
Definition: vlc_picture.h:134
vlc_keystore
Definition: vlc_keystore.h:294
md5_s::B
uint32_t B
Definition: vlc_md5.h:34
image_HandlerCreate
#define image_HandlerCreate(a)
Definition: vlc_image.h:64
vlc_internals
#define vlc_internals(obj)
Definition: variables.h:59
libvlc_int_t
Definition: vlc_main.h:33
vlc_keystore_entry::ppsz_values
char * ppsz_values[KEY_MAX]
Set of key/values.
Definition: vlc_keystore.h:68
vlc_object_destroy
static void vlc_object_destroy(vlc_object_t *p_this)
Destroys a VLC object once it has no more references.
Definition: objects.c:313
ptrcmp
static bool ptrcmp(void *a, void *b)
Definition: objres.c:130
vlc_obj_calloc
void * vlc_obj_calloc(vlc_object_t *obj, size_t nmemb, size_t size)
Definition: objres.c:163
keystore_create
static vlc_keystore * keystore_create(vlc_object_t *p_parent, const char *psz_name)
Definition: keystore.c:35
date_Set
void date_Set(date_t *p_date, vlc_tick_t i_new_date)
Set the date value of a date_t.
Definition: mtime.c:115
date_t::i_divider_num
uint32_t i_divider_num
Definition: vlc_mtime.h:62
vlc_log_early_t
Definition: messages.c:206
vlc_common.h
video_format_Setup
void video_format_Setup(video_format_t *p_fmt, vlc_fourcc_t i_chroma, int i_width, int i_height, int i_visible_width, int i_visible_height, int i_sar_num, int i_sar_den)
It will fill up a video_format_t using the given arguments.
Definition: es_format.c:130
date_t::i_remainder
uint32_t i_remainder
Definition: vlc_mtime.h:64
md5_s
Definition: vlc_md5.h:32
vlc_object_internals::tree_lock
vlc_mutex_t tree_lock
Definition: variables.h:53
OP
#define OP(a, b, c, d, s, T)
vlc_vaLog
void vlc_vaLog(vlc_object_t *obj, int type, const char *module, const char *file, unsigned line, const char *func, const char *format, va_list args)
Emit a log message.
Definition: messages.c:87
lldiv_t::rem
long long rem
Definition: vlc_fixups.h:77
picture_CopyPixels
void picture_CopyPixels(picture_t *p_dst, const picture_t *p_src)
This function will copy the picture pixels.
Definition: picture.c:362
vlc_object_internals::resources
struct vlc_res * resources
Definition: variables.h:56
KEY_AUTHTYPE
Definition: vlc_keystore.h:57
vlc_object_internals::var_lock
vlc_mutex_t var_lock
Definition: variables.h:42
video_format_t::i_y_offset
unsigned int i_y_offset
start offset of visible area
Definition: vlc_es.h:332
date_Change
void date_Change(date_t *p_date, uint32_t i_divider_n, uint32_t i_divider_d)
Change a date_t.
Definition: mtime.c:101
vlc_keystore.h
vlc_object_internals::pf_destructor
vlc_destructor_t pf_destructor
Definition: variables.h:47
vlc_credential::b_store
bool b_store
Definition: vlc_keystore.h:197
picture_context_t::destroy
void(* destroy)(struct picture_context_t *)
Definition: vlc_picture.h:61
vlc_chroma_description_t::w
vlc_rational_t w
Definition: vlc_fourcc.h:687
video_format_t::i_sar_num
unsigned int i_sar_num
sample/pixel aspect ratio
Definition: vlc_es.h:338
picture_t::i_nb_fields
unsigned int i_nb_fields
Definition: vlc_picture.h:92
libvlc_priv
static libvlc_priv_t * libvlc_priv(libvlc_int_t *libvlc)
Definition: libvlc.h:198
picture_DestroyClone
static void picture_DestroyClone(picture_t *clone)
Definition: picture.c:379
vlc_credential::psz_split_domain
char * psz_split_domain
Definition: vlc_keystore.h:190
vlc_object_internals::var_root
void * var_root
Definition: variables.h:41
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_common.h:150
picture_DestroyFromResource
static void picture_DestroyFromResource(picture_t *p_picture)
Destroys a picture allocated by picture_NewFromResource() but without a custom destruction callback.
Definition: picture.c:109
aligned_alloc
void * aligned_alloc(size_t, size_t)
vlc_log_early_t::msg
char * msg
Definition: messages.c:211
msg_type
static const struct @72 msg_type[]
vlc_objres_new
void * vlc_objres_new(size_t size, void(*release)(void *))
Allocates an object resource.
Definition: objres.c:46
vlc_value_t::p_address
void * p_address
Definition: vlc_common.h:335
vlc_charset.h
DumpStructure
static void DumpStructure(vlc_object_t *obj, unsigned level, char *psz_foo)
Definition: objects.c:67
video_format_t
video format description
Definition: vlc_es.h:325
vlc_objres_push
void vlc_objres_push(vlc_object_t *obj, void *data)
Pushes an object resource on the object resources stack.
Definition: objres.c:62
vlc_keystore_entry
Keystore entry returned by vlc_keystore_find()
Definition: vlc_keystore.h:65
vlc_LogEarlyClose
static void vlc_LogEarlyClose(vlc_logger_t *logger, void *d)
Definition: messages.c:268
date_Increment
vlc_tick_t date_Increment(date_t *p_date, uint32_t i_nb_samples)
Increment the date and return the result, taking into account rounding errors.
Definition: mtime.c:151
picture_Export
int picture_Export(vlc_object_t *p_obj, block_t **pp_image, video_format_t *p_fmt, picture_t *p_picture, vlc_fourcc_t i_format, int i_override_width, int i_override_height)
This function will export a picture to an encoded bitstream.
Definition: picture.c:414
vlc_common_members::libvlc
libvlc_int_t * libvlc
LibVLC instance.
Definition: vlc_common.h:445
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
X
#define X(a)
picture_resource_t::p_sys
picture_sys_t * p_sys
Definition: vlc_picture.h:125
KEY_SERVER
Definition: vlc_keystore.h:53
vlc_url_t::psz_password
char * psz_password
Definition: vlc_url.h:149
picture_resource_t
Resource for a picture.
Definition: vlc_picture.h:123
vlc_log_t::psz_header
const char * psz_header
Additional header (used by VLM media)
Definition: vlc_messages.h:60
vlc_rational_t::den
unsigned den
Definition: fourcc_gen.c:33
vlc_log_early_t::meta
vlc_log_t meta
Definition: messages.c:210
libvlc_priv_t::p_memory_keystore
vlc_keystore * p_memory_keystore
memory keystore
Definition: libvlc.h:189
picture_t::date
vlc_tick_t date
display date
Definition: vlc_picture.h:82
vlc_keystore_entry::p_secret
uint8_t * p_secret
Secret password.
Definition: vlc_keystore.h:70
picture_t::context
picture_context_t * context
video format-specific data pointer
Definition: vlc_picture.h:93
image_Write
#define image_Write(a, b, c, d)
Definition: vlc_image.h:69
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:354
vlc_object_internals::refs
atomic_uint refs
Definition: variables.h:46
vlc_log_t::psz_object_type
const char * psz_object_type
Emitter object type name.
Definition: vlc_messages.h:58
picture.h
lldiv_t
Definition: vlc_fixups.h:74
variables.h
VLC_VAR_STRING
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
picture_Release
void picture_Release(picture_t *p_picture)
This function will release a picture.
Definition: picture.c:300
VLC_MSG_ERR
Error.
Definition: vlc_messages.h:47
OBJECT_FLAGS_QUIET
#define OBJECT_FLAGS_QUIET
Definition: vlc_objects.h:32
picture_priv_t::destroy
void(* destroy)(picture_t *)
Definition: picture.h:46
MSTRTIME_MAX_SIZE
#define MSTRTIME_MAX_SIZE
Definition: vlc_mtime.h:50
var_InheritString
#define var_InheritString(o, n)
Definition: vlc_variables.h:639
vlc_rwlock_unlock
void vlc_rwlock_unlock(vlc_rwlock_t *lock)
Releases a read/write lock.
Definition: thread.c:393
picture_t
Video picture.
Definition: vlc_picture.h:68
vlc_LogInit
int vlc_LogInit(libvlc_int_t *vlc)
Initializes the messages logging subsystem and drain the early messages to the configured log.
Definition: messages.c:352
asprintf
int asprintf(char **, const char *,...)
vlc_logger_early_t
Definition: messages.c:214
var_Create
#define var_Create(a, b, c)
Definition: vlc_variables.h:121
var_DelCallback
#define var_DelCallback(a, b, c, d)
Definition: vlc_variables.h:165
vlc_uri_decode_duplicate
char * vlc_uri_decode_duplicate(const char *str)
Decodes an URI component.
Definition: url.c:42
vlc_keystore::pf_find
unsigned int(* pf_find)(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], vlc_keystore_entry **pp_entries)
See vlc_keystore_find()
Definition: vlc_keystore.h:306
strndup
char * strndup(const char *, size_t)
timespec::tv_nsec
long tv_nsec
Definition: vlc_fixups.h:445
libvlc_InternalKeystoreClean
void libvlc_InternalKeystoreClean(libvlc_int_t *p_libvlc)
Definition: keystore.c:138
vlc_thread_id
unsigned long vlc_thread_id(void)
Thread identifier.
Definition: thread.c:491
lldiv
lldiv_t lldiv(long long, long long)
KEY_MAX
Definition: vlc_keystore.h:58
vlc_logger_early_t::head
vlc_log_early_t * head
Definition: messages.c:217
vlc_credential::p_keystore
vlc_keystore * p_keystore
Definition: vlc_keystore.h:186
AddMD5
void AddMD5(struct md5_s *restrict h, const void *data, size_t len)
Definition: md5.c:340
video_format_CopyCrop
void video_format_CopyCrop(video_format_t *p_dst, const video_format_t *p_src)
It will copy the crop properties from a video_format_t to another.
Definition: es_format.c:235
date_t::i_divider_den
uint32_t i_divider_den
Definition: vlc_mtime.h:63
vlc_logger_t::log
vlc_log_cb log
Definition: messages.c:72
aligned_free
#define aligned_free(ptr)
Definition: vlc_fixups.h:322
plane_t::i_lines
int i_lines
Number of lines, including margins.
Definition: vlc_picture.h:42
vlc_object_release
void vlc_object_release(vlc_object_t *obj)
Drops a reference to an object (decrements the reference count).
Definition: objects.c:427
vlc_url_t::psz_host
char * psz_host
Definition: vlc_url.h:150
vlc_mime.h
VOUT_MAX_PLANES
#define VOUT_MAX_PLANES
Definition: vlc_config.h:89
vlc_credential::psz_dialog_username
char * psz_dialog_username
Definition: vlc_keystore.h:194
vlc_common_members::parent
vlc_object_t * parent
Parent object.
Definition: vlc_common.h:452
CLOCK_FREQ
#define CLOCK_FREQ
Definition: vlc_config.h:45
lock
static vlc_mutex_t lock
Definition: interface.c:62
vlc_credential::psz_var_username
char * psz_var_username
Definition: vlc_keystore.h:191
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
lldiv_t::quot
long long quot
Definition: vlc_fixups.h:76
vlc_chroma_description_t::pixel_size
unsigned pixel_size
Definition: vlc_fourcc.h:690
vlc_credential::p_url
const vlc_url_t * p_url
url to store or to search
Definition: vlc_keystore.h:165
vlc_object_find_name
vlc_object_t * vlc_object_find_name(vlc_object_t *p_this, const char *psz_name)
Finds a named object and increment its reference count.
Definition: objects.c:376
vlc_object_release
#define vlc_object_release(a)
Definition: vlc_objects.h:63
vlc_vaLogEarly
static void vlc_vaLogEarly(void *d, int type, const vlc_log_t *item, const char *format, va_list ap)
Definition: messages.c:221
video_format_t::i_width
unsigned int i_width
picture width
Definition: vlc_es.h:329
smb_split_domain
static void smb_split_domain(vlc_credential *p_credential)
Definition: keystore.c:266
is_credential_valid
static bool is_credential_valid(vlc_credential *p_credential)
Definition: keystore.c:191
vlc_keystore_find
unsigned int vlc_keystore_find(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], vlc_keystore_entry **pp_entries)
Find all entries that match a set of key/values.
Definition: keystore.c:103
vlc_object_internals::prev
vlc_object_internals_t * prev
Definition: variables.h:51
GCD
static int64_t GCD(int64_t a, int64_t b)
Definition: vlc_common.h:492
vlc_keystore::pf_store
int(* pf_store)(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], const uint8_t *p_secret, size_t i_secret_len, const char *psz_label)
See vlc_keystore_store()
Definition: vlc_keystore.h:301
vlc_rwlock_wrlock
void vlc_rwlock_wrlock(vlc_rwlock_t *lock)
Acquires a read/write lock for writing.
Definition: thread.c:387
timespec::tv_sec
time_t tv_sec
Definition: vlc_fixups.h:444
var_DestroyAll
void var_DestroyAll(vlc_object_t *obj)
Definition: variables.c:429
vlc_object_internals::psz_name
char * psz_name
Definition: variables.h:38
picture_t::i_planes
int i_planes
number of allocated planes
Definition: vlc_picture.h:76
date_Get
vlc_tick_t date_Get(const date_t *p_date)
Get the date of a date_t.
Definition: mtime.c:127
vlc_chroma_description_t::p
struct vlc_chroma_description_t::@178 p[4]
name_lock
static vlc_mutex_t name_lock
Definition: objects.c:277
vlc_url_t::psz_protocol
char * psz_protocol
Definition: vlc_url.h:147
vlc_keystore_remove
unsigned int vlc_keystore_remove(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX])
Remove all entries that match a set of key/values.
Definition: keystore.c:112
vlc_fourcc_GetChromaDescription
const vlc_chroma_description_t * vlc_fourcc_GetChromaDescription(vlc_fourcc_t i_fourcc)
It returns a vlc_chroma_description_t describing the requested fourcc or NULL if not found.
Definition: fourcc.c:786
module_t
Internal module descriptor.
Definition: modules.h:79
video_format_t::i_x_offset
unsigned int i_x_offset
start offset of visible area
Definition: vlc_es.h:331
psz_ext
const char psz_ext[8]
Definition: mime.c:57
vlc_credential::p_entries
vlc_keystore_entry * p_entries
Definition: vlc_keystore.h:187
TIME_UTC
#define TIME_UTC
Definition: vlc_fixups.h:254
vlc_atomic.h
aout_internal.h
picture_resource_t::p
struct picture_resource_t::@195 p[(5)]
date_Move
void date_Move(date_t *p_date, vlc_tick_t i_difference)
Move forwards or backwards the date of a date_t.
Definition: mtime.c:138
vlc_custom_create
void * vlc_custom_create(vlc_object_t *parent, size_t length, const char *typename)
Creates a VLC object.
Definition: objects.c:174
plane_t::i_pitch
int i_pitch
Number of bytes in a line, including margins.
Definition: vlc_picture.h:43
A
#define A(sfcc)
Definition: fourcc_gen.c:37
vlc_object_internals::next
vlc_object_internals_t * next
Definition: variables.h:50
vlc_credential::psz_dialog_password
char * psz_dialog_password
Definition: vlc_keystore.h:195
vlc_url_t::psz_username
char * psz_username
Definition: vlc_url.h:148
vlc_logger_early_t::tailp
vlc_log_early_t ** tailp
Definition: messages.c:218
vlc_objres_clear
void vlc_objres_clear(vlc_object_t *obj)
Releases all resources of an object.
Definition: objres.c:82
timespec_get
int timespec_get(struct timespec *, int)
vlc_interface.h
PICTURE_SW_SIZE_MAX
#define PICTURE_SW_SIZE_MAX
Definition: picture.c:41
KEY_PORT
Definition: vlc_keystore.h:55
date_t
Definition: vlc_mtime.h:58
vlc_credential::b_from_keystore
bool b_from_keystore
Definition: vlc_keystore.h:196
libvlc_priv_t::logger
vlc_logger_t * logger
Definition: libvlc.h:186
FH
#define FH(b, c, d)
Definition: md5.c:75
vlc_externals
#define vlc_externals(priv)
Definition: variables.h:60
PictureDestroyContext
static void PictureDestroyContext(picture_t *p_picture)
Definition: picture.c:95
vlc_credential_store
bool vlc_credential_store(vlc_credential *p_credential, vlc_object_t *p_parent)
Store the last dialog credential returned by vlc_credential_get()
Definition: keystore.c:501
vlc_credential::i_get_order
enum vlc_credential::@184 i_get_order
ext_mime
static const struct @52 ext_mime[]
protocol_is_smb
static bool protocol_is_smb(const vlc_url_t *p_url)
Definition: keystore.c:250
psz_mime
const char * psz_mime
Definition: mime.c:58
vlc_chroma_description_t::h
vlc_rational_t h
Definition: vlc_fourcc.h:688
date_Decrement
vlc_tick_t date_Decrement(date_t *p_date, uint32_t i_nb_samples)
Decrement the date and return the result, taking into account rounding errors.
Definition: mtime.c:179
vlc_rwlock_init
void vlc_rwlock_init(vlc_rwlock_t *lock)
Initializes a read/write lock.
Definition: thread.c:369
KEY_USER
Definition: vlc_keystore.h:52
VLC_VAR_ISCOMMAND
#define VLC_VAR_ISCOMMAND
Definition: vlc_variables.h:64
KEY_PATH
Definition: vlc_keystore.h:54
dummy_release
static void dummy_release(void *data)
Definition: objres.c:125
vlc_log_t::file
const char * file
Source code file name or NULL.
Definition: vlc_messages.h:61
date_Init
void date_Init(date_t *p_date, uint32_t i_divider_n, uint32_t i_divider_d)
Initialize a date_t.
Definition: mtime.c:85
vlc_keystore::p_module
module_t * p_module
Definition: vlc_keystore.h:297
picture_NewFromResource
picture_t * picture_NewFromResource(const video_format_t *p_fmt, const picture_resource_t *p_resource)
This function will create a new picture using the provided resource.
Definition: picture.c:207
picture_t::b_top_field_first
bool b_top_field_first
which field is first
Definition: vlc_picture.h:91
picture_t::b_force
bool b_force
Definition: vlc_picture.h:83
psz_name
const char * psz_name
Definition: vlc_codecs.h:315
picture_context_t
Definition: vlc_picture.h:59
vlc_LogPreinit
int vlc_LogPreinit(libvlc_int_t *vlc)
Performs preinitialization of the messages logging subsystem.
Definition: messages.c:321
vlc_keystore_create
vlc_keystore * vlc_keystore_create(vlc_object_t *p_parent)
Create a keystore object.
Definition: keystore.c:57
vlc_LogDeinit
void vlc_LogDeinit(libvlc_int_t *vlc)
Definition: messages.c:420
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
vlc_value_t::psz_string
char * psz_string
Definition: vlc_common.h:334
VarsCommand
static int VarsCommand(vlc_object_t *obj, char const *cmd, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: objects.c:146
block_t::i_pts
vlc_tick_t i_pts
Definition: vlc_block.h:123
max_align_t
Definition: vlc_fixups.h:133
vlc_logger_t
Definition: messages.c:44
vlc_res::release
void(* release)(void *)
Definition: objres.c:54
vlc_credential::psz_var_password
char * psz_var_password
Definition: vlc_keystore.h:192
VLC_ENOOBJ
#define VLC_ENOOBJ
Object not found.
Definition: vlc_common.h:358
image_HandlerDelete
void image_HandlerDelete(image_handler_t *p_image)
Delete the image_handler_t instance.
Definition: image.c:105
vlc_log_t::line
int line
Source code file line number or -1.
Definition: vlc_messages.h:62
picture_resource_t::pf_destroy
void(* pf_destroy)(picture_t *)
Definition: vlc_picture.h:126
vlc_objres_remove
void vlc_objres_remove(vlc_object_t *obj, void *data, bool(*match)(void *, void *))
Releases one object resource explicitly.
Definition: objres.c:95
vlc_rwlock_destroy
void vlc_rwlock_destroy(vlc_rwlock_t *lock)
Destroys an initialized unused read/write lock.
Definition: thread.c:375
video_format_t::i_visible_height
unsigned int i_visible_height
height of visible area
Definition: vlc_es.h:334
FI
#define FI(b, c, d)
Definition: md5.c:76
vlc_log_t::tid
unsigned long tid
Emitter thread ID.
Definition: vlc_messages.h:64
md5_s::A
uint32_t A
Definition: vlc_md5.h:34
md5_s::buf
uint8_t buf[64]
Definition: vlc_md5.h:36
container_of
#define container_of(ptr, type, member)
Definition: vlc_common.h:953
video_format_t::i_sar_den
unsigned int i_sar_den
Definition: vlc_es.h:339
get_memory_keystore
static vlc_keystore * get_memory_keystore(vlc_object_t *p_obj)
Definition: keystore.c:151
vlc_destructor_t
void(* vlc_destructor_t)(struct vlc_object_t *)
Definition: libvlc.h:118
vlc_object_internals::var_wait
vlc_cond_t var_wait
Definition: variables.h:43
vlc_LogCallback
static void vlc_LogCallback(libvlc_int_t *vlc, int type, const vlc_log_t *item, const char *format,...)
Definition: messages.c:68
vlc_url.h
DumpVariables
void DumpVariables(vlc_object_t *obj)
Definition: variables.c:1369
likely
#define likely(p)
Definition: vlc_common.h:113
vlc_url_t
Definition: vlc_url.h:145
vlc_object_t
The main vlc_object_t structure.
Definition: vlc_objects.h:39
vlc_savecancel
int vlc_savecancel(void)
Disables thread cancellation.
Definition: thread.c:313
md5_s::count
int count
Definition: vlc_md5.h:37
libvlc_priv_t
Definition: libvlc.h:178
LCM
static int LCM(int a, int b)
Definition: picture.c:140
plane_t::i_visible_pitch
int i_visible_pitch
How many visible pixels are there ?
Definition: vlc_picture.h:50
KEY_REALM
Definition: vlc_keystore.h:56
vlc_rational_t::num
unsigned num
Definition: fourcc_gen.c:33
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:355
md5_s::nblocks
uint32_t nblocks
Definition: vlc_md5.h:35
protocol_default_ports
static struct @51 protocol_default_ports[]
picture_Reset
void picture_Reset(picture_t *p_picture)
This function will reset a picture information (properties and quantizers).
Definition: picture.c:127
picture_Copy
void picture_Copy(picture_t *p_dst, const picture_t *p_src)
This function will copy both picture dynamic properties and pixels.
Definition: picture.c:373
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:916
md5_write
static void md5_write(void *context, const void *inbuf_arg, size_t inlen)
Definition: md5.c:219
FindName
static vlc_object_t * FindName(vlc_object_t *obj, const char *name)
Definition: objects.c:341
vlc_mutex_t
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:353
plane_t
Description of a planar graphic field.
Definition: vlc_picture.h:37
vlc_log_early_t::next
struct vlc_log_early_t * next
Definition: messages.c:208
plane_t::p_pixels
uint8_t * p_pixels
Start of the plane's data.
Definition: vlc_picture.h:39
video_format_t::i_visible_width
unsigned int i_visible_width
width of visible area
Definition: vlc_es.h:333
vlc_log_t::func
const char * func
Source code calling function name or NULL.
Definition: vlc_messages.h:63
strdup
char * strdup(const char *)
find_closest_path
static vlc_keystore_entry * find_closest_path(vlc_keystore_entry *p_entries, unsigned i_count, const char *psz_path)
Definition: keystore.c:157
vlc_keystore_entry::i_secret_len
size_t i_secret_len
Length of the secret.
Definition: vlc_keystore.h:72
TreeCommand
static int TreeCommand(vlc_object_t *obj, char const *cmd, vlc_value_t oldval, vlc_value_t newval, void *data)
Prints the VLC object tree.
Definition: objects.c:112
vlc_objres_pop
static void * vlc_objres_pop(vlc_object_t *obj)
Definition: objres.c:71
vlc_credential::psz_authtype
const char * psz_authtype
http authtype to search, can be overridden after a call to vlc_credential_get()
Definition: vlc_keystore.h:171
vlc_list_t::i_count
int i_count
Definition: vlc_common.h:347
vlc_picture.h
vlc_log_t::psz_module
const char * psz_module
Emitter module (source code)
Definition: vlc_messages.h:59
mul_overflow
#define mul_overflow(a, b, r)
Definition: vlc_common.h:745
vlc_url_t::i_port
unsigned i_port
Definition: vlc_url.h:151
vlc_logger_unload
static void vlc_logger_unload(void *func, va_list ap)
Definition: messages.c:304
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
image_handler_t
Definition: vlc_image.h:39
vlc_obj_alloc_common
static void * vlc_obj_alloc_common(vlc_object_t *obj, size_t nmemb, size_t size, bool do_memset)
Definition: objres.c:143
vlc_md5.h
vlc_block.h
ObjectExists
static vlc_object_t * ObjectExists(vlc_object_t *root, void *obj)
Definition: objects.c:128
transform
static void transform(MD5_CONTEXT *ctx, const unsigned char *data)
Definition: md5.c:82
name
const char name[16]
Definition: httpd.c:1251
is_url_valid
static bool is_url_valid(const vlc_url_t *p_url)
Definition: keystore.c:200
vlc_res::payload
max_align_t payload[]
Definition: objres.c:55
FG
#define FG(b, c, d)
Definition: md5.c:74
vlc_cond_destroy
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
vlc_keystore_release
void vlc_keystore_release(vlc_keystore *p_keystore)
Release a keystore object.
Definition: keystore.c:64
video_format_Init
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_Setup
int picture_Setup(picture_t *p_picture, const video_format_t *restrict fmt)
Definition: picture.c:145
vlc_cond_init
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
md5_s::D
uint32_t D
Definition: vlc_md5.h:34
vlc_object_set_name
int vlc_object_set_name(vlc_object_t *obj, const char *name)
Assign a name to an object for vlc_object_find_name().
Definition: objects.c:280
vlc_rwlock_t
pthread_rwlock_t vlc_rwlock_t
Read/write lock.
Definition: vlc_threads.h:304
vlc_logger_t::module
module_t * module
Definition: messages.c:74
B
#define B(fcc, dsc)
Definition: fourcc_gen.c:38
MAX_DUMPSTRUCTURE_DEPTH
#define MAX_DUMPSTRUCTURE_DEPTH
Definition: vlc_config.h:108
picture_t::p_sys
picture_sys_t * p_sys
Private data - the video output plugin might want to put stuff here to keep track of the picture.
Definition: vlc_picture.h:98
vlc_list_release
void vlc_list_release(vlc_list_t *p_list)
Definition: objects.c:545
md5_s::C
uint32_t C
Definition: vlc_md5.h:34
vlc_mutex_destroy
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
vlc_keystore_release_entry
static void vlc_keystore_release_entry(vlc_keystore_entry *p_entry)
Definition: vlc_keystore.h:282
vlc_dialog_wait_login_va
int vlc_dialog_wait_login_va(vlc_object_t *p_obj, char **ppsz_username, char **ppsz_password, bool *p_store, const char *psz_default_username, const char *psz_title, const char *psz_fmt, va_list ap)
Requests an user name and a password.
Definition: dialog.c:426
vlc_common_members::force
bool force
Module probe flag.
Definition: vlc_common.h:439
vlc_LogEarlyOpen
static int vlc_LogEarlyOpen(vlc_logger_t *logger)
Definition: messages.c:252
vlc_credential
Definition: vlc_keystore.h:162
vlc_vaLogCallback
static void vlc_vaLogCallback(libvlc_int_t *vlc, int type, const vlc_log_t *item, const char *format, va_list ap)
Definition: messages.c:53
date_t::date
vlc_tick_t date
Definition: vlc_mtime.h:61
psz_label
char psz_label[13]
Definition: vout_intf.c:82
video_format_t::i_height
unsigned int i_height
picture height
Definition: vlc_es.h:330
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
unlikely
#define unlikely(p)
Definition: vlc_common.h:114
vlc_log_cb
void(* vlc_log_cb)(void *data, int type, const vlc_log_t *item, const char *fmt, va_list args)
Message logging callback signature.
Definition: vlc_messages.h:102
vlc_logger_early_t::lock
vlc_mutex_t lock
Definition: messages.c:216
vlc_credential::i_entries_count
unsigned int i_entries_count
Definition: vlc_keystore.h:188
vlc_image.h
var_AddCallback
#define var_AddCallback(a, b, c, d)
Definition: vlc_variables.h:164
protocol_set_port
static bool protocol_set_port(const vlc_url_t *p_url, char *psz_port)
Definition: keystore.c:222
credential_find_keystore
static void credential_find_keystore(vlc_credential *p_credential, vlc_keystore *p_keystore)
Definition: keystore.c:284
vlc_object_hold
void * vlc_object_hold(vlc_object_t *p_this)
Increment an object reference counter.
Definition: objects.c:410
vlc_obj_free
void vlc_obj_free(vlc_object_t *obj, void *ptr)
Definition: objres.c:168
picture_New
picture_t * picture_New(vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den)
This function will create a new picture.
Definition: picture.c:276
vlc_logger_t::sys
void * sys
Definition: messages.c:73
vlc_credential_clean
void vlc_credential_clean(vlc_credential *p_credential)
Clean a credential struct.
Definition: keystore.c:354
libvlc.h
block_t::i_dts
vlc_tick_t i_dts
Definition: vlc_block.h:124
protocol_store_path
static bool protocol_store_path(const vlc_url_t *p_url)
Definition: keystore.c:256
picture_CopyProperties
void picture_CopyProperties(picture_t *p_dst, const picture_t *p_src)
This function will copy all picture dynamic properties.
Definition: picture.c:352
vlc_common_members::header
char * header
Log messages header.
Definition: vlc_common.h:430
vlc_rwlock_rdlock
void vlc_rwlock_rdlock(vlc_rwlock_t *lock)
Acquires a read/write lock for reading.
Definition: thread.c:381
picture_priv_t
Definition: picture.h:23
vlc_credential::psz_username
const char * psz_username
valid only if vlc_credential_get() returned true
Definition: vlc_keystore.h:173
md5_final
static void md5_final(void *context)
Definition: md5.c:264
picture_context_t::copy
struct picture_context_t *(* copy)(struct picture_context_t *)
Definition: vlc_picture.h:62
vlc_log_t::i_object_id
uintptr_t i_object_id
Emitter (temporarily) unique object ID or 0.
Definition: vlc_messages.h:57
vlc_log_early_t::type
int type
Definition: messages.c:209
timespec
Definition: vlc_fixups.h:443
picture_resource_t::p_pixels
uint8_t * p_pixels
Start of the plane's data.
Definition: vlc_picture.h:133
vlc_aout.h
picture_Destroy
static void picture_Destroy(picture_t *p_picture)
Destroys a picture allocated with picture_NewFromFormat() (and thus AllocatePicture()).
Definition: picture.c:119
video_format_t::i_chroma
vlc_fourcc_t i_chroma
picture chroma
Definition: vlc_es.h:327
vlc_codec.h
vlc_chroma_description_t
Chroma related information.
Definition: vlc_fourcc.h:684
picture_resource_t::i_pitch
int i_pitch
Number of bytes in a line, including margins.
Definition: vlc_picture.h:135
add_overflow
#define add_overflow(a, b, r)
Definition: vlc_common.h:684
vlc_module_unload
#define vlc_module_unload(o, m, d,...)
Definition: vlc_modules.h:43
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:468
byte
uint8_t byte
Definition: md5.c:48
vlc_keystore::pf_remove
unsigned int(* pf_remove)(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX])
See vlc_keystore_remove()
Definition: vlc_keystore.h:311
vlc_alloc
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:957
module_unneed
#define module_unneed(a, b)
Definition: vlc_modules.h:49
InitMD5
void InitMD5(struct md5_s *h)
Definition: md5.c:335
vlc_object_get_name
char * vlc_object_get_name(const vlc_object_t *obj)
Definition: objects.c:296
vlc_object_set_destructor
void vlc_object_set_destructor(vlc_object_t *p_this, vlc_destructor_t pf_destructor)
Set the destructor of a vlc object.
Definition: objects.c:269
VLC_STATIC_MUTEX
#define VLC_STATIC_MUTEX
Static initializer for (static) mutex.
Definition: vlc_threads.h:272
vlc_mime_Ext2Mime
const char * vlc_mime_Ext2Mime(const char *psz_url)
Definition: mime.c:89
vlc_credential::psz_realm
const char * psz_realm
http realm or smb domain to search, can be overridden after a call to vlc_credential_get()
Definition: vlc_keystore.h:168
vlc_value_t
VLC value structure.
Definition: vlc_common.h:329
vlc_keystore_release_entries
void vlc_keystore_release_entries(vlc_keystore_entry *p_entries, unsigned int i_count)
Release the list of entries returned by vlc_keystore_find()
Definition: keystore.c:120
vlc_list_children
vlc_list_t * vlc_list_children(vlc_object_t *obj)
Gets the list of children of an object, and increment their reference count.
Definition: objects.c:504
vlc_url_t::psz_path
char * psz_path
Definition: vlc_url.h:152
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
picture_t::p
plane_t p[(5)]
description of the planes
Definition: vlc_picture.h:75
vlc_log_t
Log message.
Definition: vlc_messages.h:55
NTPtime64
uint64_t NTPtime64(void)
Definition: mtime.c:201
block_t
Definition: vlc_block.h:111
picture_priv_t::gc
struct picture_priv_t::@53 gc
vlc_common_members::object_type
const char * object_type
Object type name.
Definition: vlc_common.h:423
vlc_dialog.h
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
vlc_object_t::obj
struct vlc_common_members obj
Definition: vlc_objects.h:42
AllocatePicture
static int AllocatePicture(picture_t *p_pic)
Allocate a new picture in the heap.
Definition: picture.c:50
vasprintf
int vasprintf(char **, const char *, va_list)
vlc_list_t::p_values
vlc_value_t * p_values
Definition: vlc_common.h:348
picture_priv_t::refs
atomic_uintptr_t refs
Definition: picture.h:45
vlc_logger_t::obj
struct vlc_common_members obj
Definition: messages.c:70
picture_Clone
picture_t * picture_Clone(picture_t *picture)
Perform a shallow picture copy.
Definition: picture.c:387
secstotimestr
char * secstotimestr(char *psz_buffer, int32_t i_seconds)
Convert seconds to a time in the format h:mm:ss.
Definition: mtime.c:49
picture_NewFromFormat
picture_t * picture_NewFromFormat(const video_format_t *p_fmt)
This function will create a new picture using the given format.
Definition: picture.c:271
vlc_object_create
void * vlc_object_create(vlc_object_t *p_this, size_t i_size)
Allocates and initializes a vlc object.
Definition: objects.c:255
psz_protocol
const char * psz_protocol
Definition: keystore.c:209
module_need
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
i_port
uint16_t i_port
Definition: keystore.c:210
vlc_obj_res
static struct vlc_res ** vlc_obj_res(vlc_object_t *obj)
Definition: objres.c:41
libvlc_InternalKeystoreInit
int libvlc_InternalKeystoreInit(libvlc_int_t *p_libvlc)
Definition: keystore.c:128
vlc_log_early_t
struct vlc_log_early_t vlc_log_early_t
u32
uint32_t u32
Definition: md5.c:47
vlc_fourcc_t
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:32
picture_priv_t::picture
picture_t picture
Definition: picture.h:42
PrintObject
static void PrintObject(vlc_object_t *obj, const char *prefix)
Definition: objects.c:56
p
#define p(t)
vlc_modules.h
vlc_chroma_description_t::plane_count
unsigned plane_count
Definition: vlc_fourcc.h:685
vlc_common_members::flags
int flags
Definition: vlc_common.h:432
vlc_object_internals
Definition: variables.h:35
vlc_vaLogDiscard
static void vlc_vaLogDiscard(void *d, int type, const vlc_log_t *item, const char *format, va_list ap)
Definition: messages.c:287
vlc_logger_load
static int vlc_logger_load(void *func, va_list ap)
Definition: messages.c:293