* Collection of useful common types and macros definitions
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: vlc_common.h,v 1.105 2004/01/25 21:39:37 gbazin Exp $
+ * $Id: vlc_common.h,v 1.109 2004/02/23 20:34:47 gbazin Exp $
*
* Authors: Samuel Hocevar <sam@via.ecp.fr>
* Vincent Seguin <seguin@via.ecp.fr>
typedef struct pgrm_descriptor_t pgrm_descriptor_t;
typedef struct pgrm_sys_t pgrm_sys_t;
typedef struct stream_descriptor_t stream_descriptor_t;
-typedef struct stream_sys_t stream_sys_t;
/* Format */
typedef struct audio_format_t audio_format_t;
typedef struct video_palette_t video_palette_t;
/* NInput */
-typedef struct stream_t stream_t;
+typedef struct stream_sys_t stream_sys_t;
+typedef struct stream_t stream_t;
typedef struct es_out_t es_out_t;
typedef struct es_out_id_t es_out_id_t;
typedef struct es_out_sys_t es_out_sys_t;
#define GetDWBE( p ) U32_AT( p )
#define GetQWBE( p ) U64_AT( p )
+/* Helper writer functions */
+
+#define SetWLE( p, v ) _SetWLE( (uint8_t*)p, v)
+static inline void _SetWLE( uint8_t *p, uint16_t i_dw )
+{
+ p[1] = ( i_dw >> 8 )&0xff;
+ p[0] = ( i_dw )&0xff;
+}
+
+#define SetDWLE( p, v ) _SetDWLE( (uint8_t*)p, v)
+static inline void _SetDWLE( uint8_t *p, uint32_t i_dw )
+{
+ p[3] = ( i_dw >> 24 )&0xff;
+ p[2] = ( i_dw >> 16 )&0xff;
+ p[1] = ( i_dw >> 8 )&0xff;
+ p[0] = ( i_dw )&0xff;
+}
+#define SetQWLE( p, v ) _SetQWLE( (uint8_t*)p, v)
+static inline void _SetQWLE( uint8_t *p, uint64_t i_qw )
+{
+ SetDWLE( p, i_qw&0xffffffff );
+ SetDWLE( p+4, ( i_qw >> 32)&0xffffffff );
+}
#if WORDS_BIGENDIAN
# define hton16(i) ( i )
/* 64 bits integer constant suffix */
#if defined( __MINGW32__ ) || (!defined(WIN32) && !defined(UNDER_CE))
# define I64C(x) x##LL
+# define UI64C(x) x##ULL
#else
# define I64C(x) x##i64
+# define UI64C(x) x##ui64
#endif /* defined(WIN32)||defined(UNDER_CE) */
#if defined(WIN32) || defined(UNDER_CE)
#define CPU_CAPABILITY_3DNOW (1<<4)
#define CPU_CAPABILITY_MMXEXT (1<<5)
#define CPU_CAPABILITY_SSE (1<<6)
+#define CPU_CAPABILITY_SSE2 (1<<7)
#define CPU_CAPABILITY_ALTIVEC (1<<16)
#define CPU_CAPABILITY_FPU (1<<31)