28# define VLC_COMMON_H 1
68# define VLC_GCC_VERSION(maj,min) \
69 ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min)))
72# define VLC_GCC_VERSION(maj,min) (0)
76#if defined __has_attribute
77# if __has_attribute(warning)
78# define VLC_WARN_CALL(w) VLC_NOINLINE_FUNC __attribute__((warning((w))))
80# define VLC_WARN_CALL(w)
83# if __has_attribute(error)
84# define VLC_ERROR_CALL(e) VLC_NOINLINE_FUNC __attribute__((error((e))))
86# define VLC_ERROR_CALL(e)
89# if __has_attribute(unused)
90# define VLC_UNUSED_FUNC __attribute__((unused))
92# define VLC_UNUSED_FUNC
95# if __has_attribute(noinline)
96# define VLC_NOINLINE_FUNC __attribute__((noinline))
98# define VLC_NOINLINE_FUNC
101# if __has_attribute(deprecated)
102# define VLC_DEPRECATED __attribute__((deprecated))
113# define VLC_DEPRECATED
116# if __has_attribute(malloc)
117# define VLC_MALLOC __attribute__((malloc))
135# if __has_attribute(warn_unused_result)
136# define VLC_USED __attribute__((warn_unused_result))
156#elif defined(_MSC_VER)
157# define VLC_USED _Check_return_
161# define VLC_DEPRECATED
165# define VLC_DEPRECATED
170# if VLC_GCC_VERSION(6,0)
171# define VLC_DEPRECATED_ENUM __attribute__((deprecated))
173# define VLC_DEPRECATED_ENUM
176# if defined( _WIN32 ) && !defined( __clang__ )
177# define VLC_FORMAT(x,y) __attribute__ ((format(gnu_printf,x,y)))
179# define VLC_FORMAT(x,y) __attribute__ ((format(printf,x,y)))
181# define VLC_FORMAT_ARG(x) __attribute__ ((format_arg(x)))
192# define VLC_DEPRECATED_ENUM
204# define VLC_FORMAT(x,y)
215# define VLC_FORMAT_ARG(x)
218#if defined (__ELF__) || defined (__MACH__) || defined (__wasm__)
219# define VLC_WEAK __attribute__((weak))
232#if defined (__GNUC__) || defined (__clang__)
233# define likely(p) __builtin_expect(!!(p), 1)
234# define unlikely(p) __builtin_expect(!!(p), 0)
235# define unreachable() __builtin_unreachable()
236#elif defined(_MSC_VER)
237# define likely(p) (!!(p))
238# define unlikely(p) (!!(p))
239# define unreachable() (__assume(0))
248# define likely(p) (!!(p))
257# define unlikely(p) (!!(p))
269# define unreachable() ((void)0)
283#define vlc_assert_unreachable() (vlc_assert(!"unreachable"), unreachable())
298#ifdef LIBVLC_INTERNAL_
299# define vlc_assert(pred) assert(pred)
301# define vlc_assert(pred) ((void)0)
306# define VLC_EXTERN extern "C"
311#if defined (_WIN32) && defined (VLC_DLL_EXPORT)
312# define VLC_EXPORT __declspec(dllexport)
313#elif defined (__GNUC__)
314# define VLC_EXPORT __attribute__((visibility("default")))
325#define VLC_API VLC_EXTERN VLC_EXPORT
339#ifdef WORDS_BIGENDIAN
340# define VLC_FOURCC( a, b, c, d ) \
341 ( ((uint32_t)d) | ( ((uint32_t)c) << 8 ) \
342 | ( ((uint32_t)b) << 16 ) | ( ((uint32_t)a) << 24 ) )
343# define VLC_TWOCC( a, b ) \
344 ( (uint16_t)(b) | ( (uint16_t)(a) << 8 ) )
347# define VLC_FOURCC( a, b, c, d ) \
348 ( ((uint32_t)a) | ( ((uint32_t)b) << 8 ) \
349 | ( ((uint32_t)c) << 16 ) | ( ((uint32_t)d) << 24 ) )
350# define VLC_TWOCC( a, b ) \
351 ( (uint16_t)(a) | ( (uint16_t)(b) << 8 ) )
364 memcpy( psz_fourcc, &fcc, 4 );
493 struct { int32_t x; int32_t y; } coords;
505#define VLC_EGENERIC (-2 * (1 << (sizeof (int) * 8 - 2)))
507#define VLC_ENOMEM (-ENOMEM)
509#define VLC_ETIMEOUT (-ETIMEDOUT)
511#define VLC_ENOENT (-ENOENT)
513#define VLC_EINVAL (-EINVAL)
515#define VLC_EACCES (-EACCES)
517#define VLC_ENOTSUP (-ENOTSUP)
548#include <sys/syslimits.h>
549#include <AvailabilityMacros.h>
553# define OS2EMX_PLAIN_CHAR
569# define __MAX(a, b) ( ((a) > (b)) ? (a) : (b) )
572# define __MIN(a, b) ( ((a) < (b)) ? (a) : (b) )
576#define VLC_CLIP(v, min, max) __MIN(__MAX((v), (min)), (max))
586 return (v + (align - 1)) & ~(align - 1);
589#if defined __has_attribute
590# if __has_attribute(diagnose_if)
591static inline size_t vlc_align(
size_t v,
size_t align)
592 __attribute__((diagnose_if(((align & (align - 1)) || (align == 0)),
593 "align must be power of 2",
"error")));
599static inline int64_t
GCD ( int64_t a, int64_t b )
614 if( a&(~255) )
return (-a)>>31;
623#define VLC_INT_FUNC(basename) \
624 VLC_INT_FUNC_TYPE(basename, unsigned, ) \
625 VLC_INT_FUNC_TYPE(basename, unsigned long, l) \
626 VLC_INT_FUNC_TYPE(basename, unsigned long long, ll)
628#if defined (__GNUC__) || defined (__clang__)
629# define VLC_INT_FUNC_TYPE(basename,type,suffix) \
630VLC_USED static inline int vlc_##basename##suffix(type x) \
632 return __builtin_##basename##suffix(x); \
639 int i =
sizeof (x) * 8;
651 return vlc_clzll(x) - ((
sizeof (
long long) -
sizeof (
long)) * 8);
656 return vlc_clzll(x) - ((
sizeof (
long long) -
sizeof (
int)) * 8);
661 unsigned i =
sizeof (x) * 8;
673 for (
unsigned i = 4 *
sizeof (x); i > 0; i /= 2)
689# define VLC_INT_FUNC_TYPE(basename,type,suffix) \
690VLC_USED static inline int vlc_##basename##suffix(type x) \
692 return vlc_##basename##_generic(x); \
701# define VLC_INT_GENERIC(func,x) \
703 unsigned char: func(x), \
704 signed char: func(x), \
705 unsigned short: func(x), \
706 signed short: func(x), \
707 unsigned int: func(x), \
708 signed int: func(x), \
709 unsigned long: func##l(x), \
710 signed long: func##l(x), \
711 unsigned long long: func##ll(x), \
712 signed long long: func##ll(x))
727 unsigned char: (vlc_clz(x) - (sizeof (unsigned) - 1) * 8), \
728 unsigned short: (vlc_clz(x) \
729 - (sizeof (unsigned) - sizeof (unsigned short)) * 8), \
730 unsigned: vlc_clz(x), \
731 unsigned long: vlc_clzl(x), \
732 unsigned long long: vlc_clzll(x))
744# define ctz(x) VLC_INT_GENERIC(vlc_ctz, x)
753# define parity(x) VLC_INT_GENERIC(vlc_parity, x)
762# define vlc_popcount(x) \
764 signed char: vlc_popcount((unsigned char)(x)), \
765 signed short: vlc_popcount((unsigned short)(x)), \
766 default: VLC_INT_GENERIC(vlc_popcount ,x))
793 return (x << 8) | (x >> 8);
800#if defined (__GNUC__) || defined(__clang__)
801 return __builtin_bswap32 (x);
803 return ((x & 0x000000FF) << 24)
804 | ((x & 0x0000FF00) << 8)
805 | ((x & 0x00FF0000) >> 8)
806 | ((x & 0xFF000000) >> 24);
814#if defined (__GNUC__) || defined(__clang__)
815 return __builtin_bswap64 (x);
816#elif !defined (__cplusplus)
817 return ((x & 0x00000000000000FF) << 56)
818 | ((x & 0x000000000000FF00) << 40)
819 | ((x & 0x0000000000FF0000) << 24)
820 | ((x & 0x00000000FF000000) << 8)
821 | ((x & 0x000000FF00000000) >> 8)
822 | ((x & 0x0000FF0000000000) >> 24)
823 | ((x & 0x00FF000000000000) >> 40)
824 | ((x & 0xFF00000000000000) >> 56);
826 return ((x & 0x00000000000000FFULL) << 56)
827 | ((x & 0x000000000000FF00ULL) << 40)
828 | ((x & 0x0000000000FF0000ULL) << 24)
829 | ((x & 0x00000000FF000000ULL) << 8)
830 | ((x & 0x000000FF00000000ULL) >> 8)
831 | ((x & 0x0000FF0000000000ULL) >> 24)
832 | ((x & 0x00FF000000000000ULL) >> 40)
833 | ((x & 0xFF00000000000000ULL) >> 56);
842static inline bool uadd_overflow(
unsigned a,
unsigned b,
unsigned *res)
844#if VLC_GCC_VERSION(5,0) || defined(__clang__)
845 return __builtin_uadd_overflow(a, b, res);
852static inline bool uaddl_overflow(
unsigned long a,
unsigned long b,
855#if VLC_GCC_VERSION(5,0) || defined(__clang__)
856 return __builtin_uaddl_overflow(a, b, res);
863static inline bool uaddll_overflow(
unsigned long long a,
unsigned long long b,
864 unsigned long long *res)
866#if VLC_GCC_VERSION(5,0) || defined(__clang__)
867 return __builtin_uaddll_overflow(a, b, res);
888# define add_overflow(a,b,r) \
890 unsigned: uadd_overflow(a, b, (unsigned *)(r)), \
891 unsigned long: uaddl_overflow(a, b, (unsigned long *)(r)), \
892 unsigned long long: uaddll_overflow(a, b, (unsigned long long *)(r)))
894static inline bool add_overflow(
unsigned a,
unsigned b,
unsigned *res)
899static inline bool add_overflow(
unsigned long a,
unsigned long b,
905static inline bool add_overflow(
unsigned long long a,
unsigned long long b,
906 unsigned long long *res)
912#if !(VLC_GCC_VERSION(5,0) || defined(__clang__))
916static inline bool umul_overflow(
unsigned a,
unsigned b,
unsigned *res)
918#if VLC_GCC_VERSION(5,0) || defined(__clang__)
919 return __builtin_umul_overflow(a, b, res);
922 return b > 0 && a > (UINT_MAX / b);
926static inline bool umull_overflow(
unsigned long a,
unsigned long b,
929#if VLC_GCC_VERSION(5,0) || defined(__clang__)
930 return __builtin_umull_overflow(a, b, res);
933 return b > 0 && a > (ULONG_MAX / b);
937static inline bool umulll_overflow(
unsigned long long a,
unsigned long long b,
938 unsigned long long *res)
940#if VLC_GCC_VERSION(5,0) || defined(__clang__)
941 return __builtin_umulll_overflow(a, b, res);
944 return b > 0 && a > (ULLONG_MAX / b);
962#define mul_overflow(a,b,r) \
964 unsigned: umul_overflow(a, b, (unsigned *)(r)), \
965 unsigned long: umull_overflow(a, b, (unsigned long *)(r)), \
966 unsigned long long: umulll_overflow(a, b, (unsigned long long *)(r)))
968static inline bool mul_overflow(
unsigned a,
unsigned b,
unsigned *res)
973static inline bool mul_overflow(
unsigned long a,
unsigned long b,
979static inline bool mul_overflow(
unsigned long long a,
unsigned long long b,
980 unsigned long long *res)
989#define FREENULL(a) do { free( a ); a = NULL; } while(0)
991#define EMPTY_STR(str) (!str || !*str)
993#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
998#ifdef WORDS_BIGENDIAN
999# define hton16(i) ((uint16_t)(i))
1000# define hton32(i) ((uint32_t)(i))
1001# define hton64(i) ((uint64_t)(i))
1003# define hton16(i) vlc_bswap16(i)
1004# define hton32(i) vlc_bswap32(i)
1005# define hton64(i) vlc_bswap64(i)
1007#define ntoh16(i) hton16(i)
1008#define ntoh32(i) hton32(i)
1009#define ntoh64(i) hton64(i)
1013static inline uint16_t
U16_AT (
const void *
p)
1017 memcpy (&x,
p,
sizeof (x));
1023static inline uint32_t
U32_AT (
const void *
p)
1027 memcpy (&x,
p,
sizeof (x));
1033static inline uint64_t
U64_AT (
const void *
p)
1037 memcpy (&x,
p,
sizeof (x));
1041#define GetWBE(p) U16_AT(p)
1042#define GetDWBE(p) U32_AT(p)
1043#define GetQWBE(p) U64_AT(p)
1047static inline uint16_t
GetWLE (
const void *
p)
1051 memcpy (&x,
p,
sizeof (x));
1052#ifdef WORDS_BIGENDIAN
1060static inline uint32_t
GetDWLE (
const void *
p)
1064 memcpy (&x,
p,
sizeof (x));
1065#ifdef WORDS_BIGENDIAN
1073static inline uint64_t
GetQWLE (
const void *
p)
1077 memcpy (&x,
p,
sizeof (x));
1078#ifdef WORDS_BIGENDIAN
1085static inline void SetWBE (
void *
p, uint16_t w)
1088 memcpy (
p, &w,
sizeof (w));
1092static inline void SetDWBE (
void *
p, uint32_t dw)
1095 memcpy (
p, &dw,
sizeof (dw));
1099static inline void SetQWBE (
void *
p, uint64_t qw)
1102 memcpy (
p, &qw,
sizeof (qw));
1106static inline void SetWLE (
void *
p, uint16_t w)
1108#ifdef WORDS_BIGENDIAN
1111 memcpy (
p, &w,
sizeof (w));
1115static inline void SetDWLE (
void *
p, uint32_t dw)
1117#ifdef WORDS_BIGENDIAN
1120 memcpy (
p, &dw,
sizeof (dw));
1124static inline void SetQWLE (
void *
p, uint64_t qw)
1126#ifdef WORDS_BIGENDIAN
1129 memcpy (
p, &qw,
sizeof (qw));
1133#define VLC_UNUSED(x) (void)(x)
1140# define O_NONBLOCK 0
1145# define swab(a,b,c) _swab((char*) (a), (char*) (b), (c))
1155#define container_of(ptr, type, member) \
1156 ((type *)(((char *)(ptr)) - offsetof(type, member)))
1177#define vlc_pgettext( ctx, id ) \
1178 vlc_pgettext_aux( ctx "\004" id, id )
1181static inline const
char *
vlc_pgettext_aux( const
char *ctx, const
char *
id )
1184 return (tr == ctx) ? id : tr;
1190static inline void *
xmalloc(
size_t len)
1192 void *ptr = malloc(len);
1193 if (
unlikely(ptr == NULL && len > 0))
1198static inline void *
xrealloc(
void *ptr,
size_t len)
1200 void *nptr = realloc(ptr, len);
1201 if (
unlikely(nptr == NULL && len > 0))
1206static inline char *
xstrdup (
const char *str)
1208 char *ptr =
strdup (str);
1228#if defined( _WIN32 ) || defined( __OS2__ )
1229# define DIR_SEP_CHAR '\\'
1230# define DIR_SEP "\\"
1231# define PATH_SEP_CHAR ';'
1232# define PATH_SEP ";"
1234# define DIR_SEP_CHAR '/'
1236# define PATH_SEP_CHAR ':'
1237# define PATH_SEP ":"
1240#define LICENSE_MSG \
1241 _("This program comes with NO WARRANTY, to the extent permitted by " \
1242 "law.\nYou may redistribute it under the terms of the GNU General " \
1243 "Public License;\nsee the file named COPYING for details.\n" \
1244 "Written by the VideoLAN team; see the AUTHORS file.\n")
1246#if defined(__cplusplus) || defined(_MSC_VER)
1247#define ARRAY_STATIC_SIZE
1249#define ARRAY_STATIC_SIZE static
size_t count
Definition: core.c:403
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
static uint32_t vlc_bswap32(uint32_t x)
Byte swap (32 bits)
Definition: vlc_common.h:796
static int vlc_clzll(unsigned long long x)
Definition: vlc_common.h:637
#define ctz(x)
Count trailing zeroes.
Definition: vlc_common.h:742
#define vlc_popcount(x)
Bit weight / population count.
Definition: vlc_common.h:760
static int vlc_popcountl(unsigned long x)
Definition: vlc_common.h:696
#define parity(x)
Parity.
Definition: vlc_common.h:751
#define clz(x)
Count leading zeroes.
Definition: vlc_common.h:723
static uint64_t vlc_bswap64(uint64_t x)
Byte swap (64 bits)
Definition: vlc_common.h:810
static int vlc_parity_generic(unsigned long long x)
Definition: vlc_common.h:671
static int vlc_clzl(unsigned long x)
Definition: vlc_common.h:649
static int vlc_clz(unsigned x)
Definition: vlc_common.h:654
static int vlc_popcountll(unsigned long long x)
Definition: vlc_common.h:696
static int vlc_popcount_generic(unsigned long long x)
Definition: vlc_common.h:678
static int vlc_ctz_generic(unsigned long long x)
Definition: vlc_common.h:659
static uint16_t vlc_bswap16(uint16_t x)
Byte swap (16 bits)
Definition: vlc_common.h:789
#define VLC_INT_FUNC(basename)
Definition: vlc_common.h:623
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:257
#define VLC_USED
Definition: vlc_common.h:163
#define VLC_API
Exported API call annotation.
Definition: vlc_common.h:325
#define VLC_MALLOC
Definition: vlc_common.h:164
#define VLC_FORMAT_ARG(x)
Format string translation function annotation.
Definition: vlc_common.h:215
static int64_t GCD(int64_t a, int64_t b)
Greatest common divisor.
Definition: vlc_common.h:599
static uint8_t clip_uint8_vlc(int32_t a)
Definition: vlc_common.h:612
static size_t vlc_align(size_t v, size_t align)
Make integer v a multiple of align.
Definition: vlc_common.h:584
static bool umulll_overflow(unsigned long long a, unsigned long long b, unsigned long long *res)
Definition: vlc_common.h:935
static bool uaddll_overflow(unsigned long long a, unsigned long long b, unsigned long long *res)
Definition: vlc_common.h:861
static bool umull_overflow(unsigned long a, unsigned long b, unsigned long *res)
Definition: vlc_common.h:924
#define add_overflow(a, b, r)
Overflowing addition.
Definition: vlc_common.h:886
static bool umul_overflow(unsigned a, unsigned b, unsigned *res)
Definition: vlc_common.h:914
static bool uadd_overflow(unsigned a, unsigned b, unsigned *res)
Definition: vlc_common.h:840
#define mul_overflow(a, b, r)
Overflowing multiplication.
Definition: vlc_common.h:960
static bool uaddl_overflow(unsigned long a, unsigned long b, unsigned long *res)
Definition: vlc_common.h:850
Definition: vlc_addons.h:73
Audio output object.
Definition: vlc_aout.h:155
Definition: vlc_config_cat.h:150
Definition: vlc_configuration.h:319
Timestamps without long-term rounding errors.
Definition: vlc_tick.h:235
Definition: vlc_codec.h:102
Definition: vlc_codec.h:255
Definition: vlc_es_out.h:148
Structure describing a filter.
Definition: vlc_filter.h:216
Definition: vlc_image.h:40
Definition: vlc_input_item.h:54
Definition: vlc_input_item.h:45
Definition: vlc_iso_lang.h:31
Definition: vlc_objects.h:91
Configuration item.
Definition: vlc_configuration.h:70
Internal module descriptor.
Definition: modules.h:76
Video picture.
Definition: vlc_picture.h:130
Definition: vlc_input.h:52
Main service discovery structure to build a SD module.
Definition: vlc_services_discovery.h:60
Stream output access_output.
Definition: vlc_sout.h:56
Muxer structure.
Definition: vlc_sout.h:104
Definition: vlc_sout.h:188
Subpicture unit descriptor.
Definition: vlc_spu.h:48
stream_t definition
Definition: vlc_stream.h:133
Video subtitle region.
Definition: vlc_subpicture.h:60
Video subtitle.
Definition: vlc_subpicture.h:167
The update object.
Definition: update.h:159
Opaque structure representing an ES (Elementary Stream) track.
Definition: es_out.c:98
Internal state for block queues.
Definition: fifo.c:39
Definition: vlc_frame.h:123
MD5 hash context.
Definition: vlc_hash.h:86
VLC object common members.
Definition: vlc_objects.h:45
Definition: fourcc_gen.c:34
Definition: vlc_renderer_discovery.h:166
Definition: renderer_discovery.c:36
Definition: vlc_url.h:146
Viewpoints.
Definition: vlc_viewpoint.h:41
Definition: vlc_vlm.h:178
Definition: vlm_internal.h:78
Video output thread descriptor.
Definition: vlc_vout.h:55
VLC value structure.
Definition: vlc_common.h:487
int64_t i_int
Definition: vlc_common.h:488
void * p_address
Definition: vlc_common.h:492
bool b_bool
Definition: vlc_common.h:489
char * psz_string
Definition: vlc_common.h:491
float f_float
Definition: vlc_common.h:490
static void * xrealloc(void *ptr, size_t len)
Definition: vlc_common.h:1196
static void SetDWBE(void *p, uint32_t dw)
Writes 32 bits in network byte order.
Definition: vlc_common.h:1090
static uint32_t GetDWLE(const void *p)
Reads 32 bits in little-endian order.
Definition: vlc_common.h:1058
static void SetWLE(void *p, uint16_t w)
Writes 16 bits in little endian order.
Definition: vlc_common.h:1104
int(* vlc_list_callback_t)(vlc_object_t *, char const *, int, vlc_value_t *, void *)
Definition: vlc_common.h:533
#define hton16(i)
Definition: vlc_common.h:1001
const char * VLC_CompileHost(void)
Definition: version.c:44
audio_format_t audio_sample_format_t
Definition: vlc_common.h:411
static uint32_t U32_AT(const void *p)
Reads 32 bits in network byte order.
Definition: vlc_common.h:1021
static uint16_t U16_AT(const void *p)
Reads 16 bits in network byte order.
Definition: vlc_common.h:1011
static char * xstrdup(const char *str)
Definition: vlc_common.h:1204
static void SetDWLE(void *p, uint32_t dw)
Writes 32 bits in little endian order.
Definition: vlc_common.h:1113
#define hton64(i)
Definition: vlc_common.h:1003
#define ntoh32(i)
Definition: vlc_common.h:1006
struct vod_t vod_t
Definition: vlc_common.h:468
int(* vlc_callback_t)(vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
Definition: vlc_common.h:524
static void SetWBE(void *p, uint16_t w)
Writes 16 bits in network byte order.
Definition: vlc_common.h:1083
static void * vlc_reallocarray(void *ptr, size_t count, size_t size)
Definition: vlc_common.h:1163
static uint64_t U64_AT(const void *p)
Reads 64 bits in network byte order.
Definition: vlc_common.h:1031
const char * VLC_Compiler(void)
Definition: version.c:45
struct vod_media_t vod_media_t
Definition: vlc_common.h:469
const char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:80
static uint64_t GetQWLE(const void *p)
Reads 64 bits in little-endian order.
Definition: vlc_common.h:1071
bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
static void SetQWBE(void *p, uint64_t qw)
Writes 64 bits in network byte order.
Definition: vlc_common.h:1097
static void * xmalloc(size_t len)
Definition: vlc_common.h:1188
video_format_t video_frame_format_t
Definition: vlc_common.h:417
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1157
static void SetQWLE(void *p, uint64_t qw)
Writes 64 bits in little endian order.
Definition: vlc_common.h:1122
#define hton32(i)
Definition: vlc_common.h:1002
const char * vlc_ngettext(const char *s, const char *p, unsigned long n)
Definition: textdomain.c:89
static const char * vlc_pgettext_aux(const char *ctx, const char *id)
Definition: vlc_common.h:1179
const char * VLC_CompileBy(void)
Definition: version.c:43
#define ntoh64(i)
Definition: vlc_common.h:1007
uint32_t vlc_fourcc_t
The vlc_fourcc_t type.
Definition: vlc_common.h:337
static void vlc_fourcc_to_char(vlc_fourcc_t fcc, char *psz_fourcc)
Translate a vlc_fourcc into its string representation.
Definition: vlc_common.h:362
static uint16_t GetWLE(const void *p)
Reads 16 bits in little-endian order.
Definition: vlc_common.h:1045
#define ntoh16(i)
Definition: vlc_common.h:1005
This file defines of values used in interface, vout, aout and vlc core functions.
char * strdup(const char *)
Common VLC object definitions.
VLC object variables and callbacks interface.