Commit c974b7b0 authored by Christophe Massiot's avatar Christophe Massiot

* ./AUTHORS : added lool :-p ;

* ./doc/vlc-howto.sgml : Fixed typos ;
* ./include/vlc_common.h : Greatly simplified ntoh*, and U??_AT macros are
  now alignment-safe ;
* ./STATUS : New file indicating who's working on what. Please keep it
  up-to-date ;
* ./MAINTAINERS : New file indicating who has knowledge on which parts.
parent 1f95f033
...@@ -23,6 +23,7 @@ E: sigmunau@idi.ntnu.no ...@@ -23,6 +23,7 @@ E: sigmunau@idi.ntnu.no
D: lirc plugin D: lirc plugin
D: norwegian translation D: norwegian translation
D: aalib plugin D: aalib plugin
D: KDE plug-in
S: Norway S: Norway
N: Pierre Baillet N: Pierre Baillet
...@@ -314,6 +315,13 @@ D: Many ports (Mac OS X, iPAQ, *BSD, Solaris...) ...@@ -314,6 +315,13 @@ D: Many ports (Mac OS X, iPAQ, *BSD, Solaris...)
D: documentation D: documentation
S: France S: France
N: Loc Minier
E: lool@via.ecp.fr
C: lool
D: Gtk/gnome enhancements
D: xosd interface plug-in
S: France
N: Benjamin Mironer N: Benjamin Mironer
E: bmironer@noos.fr E: bmironer@noos.fr
D: Mac OS X fixes D: Mac OS X fixes
......
# $Id: MAINTAINERS,v 1.1 2002/07/12 21:57:25 massiot Exp $
#
# VLC MAINTAINERS
#
# This file lists all modules of VLC, and presents who's responsible for
# what. "Responsible" doesn't mean this person will be alone to improve
# the code, it just means that she's probably the contributor with the
# best knowledge of the code, so that questions and propositions of
# contributions should be directed to her.
* MISC VLC ARCHITECTURE
- Makefiles & autoconf : [sam] & [meuuh]
- configuration & command-line options : [gibalou]
- modules, detection, dynamic loading : [sam]
- objects support, libvlc : [sam]
- messages (errors, debug) : [sam]
- internationalization : [sam]
- MMX optimizations : [sam]
- Altivec optimizations : [meuuh] ([jlj])
* PORTS
- Debian GNU/Linux : [sam]
- Mandrake Linux : Yves Duret
- BeOS : Tony Castley (Eric Petit)
- Windows : [gibalou]
- Mac OS X : [jlj] ([meuuh])
- QNX RTOS : [jlj]
- Solaris : [meuuh]
- *BSD : [meuuh]
- GNU/Hurd : [sam]
- iPAQ Familiar Linux : [saman] ([meuuh])
- BSD/OS : Steven M. Schultz
* INTERFACE
- interface architecture : [sam]
- modules gtk, gnome : [sam] ([stef])
- modules lirc, dummy, rc, ncurses : [sam]
- modules qt, kde : [sigmund]
- module xosd : [lool]
* VIDEO OUTPUT
- video output architecture : [sam]
- modules dummy, fb, ggi, glide, mga, sdl : [sam]
- output filters & chroma : [sam]
- modules x11, xvideo : [gibalou]
- module aa : [sigmund]
* AUDIO OUTPUT
- audio output architecture : [sam] ([meuuh])
- module ALSA : [henri]
- module aRts : Emmanuel Blindauer
- modules dsp, dummy, esd : [sam] ([meuuh])
- output filters : [sam] ([meuuh])
* INPUT
- input architecture : [meuuh]
- demux modules PS, ES, a52_system : [meuuh]
- access modules file, udp, http : [meuuh]
- demux modules TS, satellite : [jobi]
- network modules ipv4, ipv6 : [meuuh]
- demux module mpeg_audio (mp3), avi : [fenrir]
- DVD module : [stef]
- VCD module : [jobi] ([jlj])
* DECODERS
- decoders architecture : [meuuh] ([henri])
- built-in MPEG audio : unmaintained (FIXME)
- built-in MPEG video & associated idct+motion : [meuuh]
- built-in AC3 & associated plug-ins : Renaud Dartus (soon-to-be scrapped)
- mad : [saman] ([meuuh])
- ffmpeg : [fenrir]
- AC3 SPDIF : [stef]
- A/52 : [gibalou] ([meuuh])
- SPU : [sam]
- Ogg/Vorbis : Xavier Maillard
* DOCUMENTATION
- VLC HOWTO : [jobi]
- Developer documentation : [sam] ([meuuh])
- FAQ : [lool]
[fenrir] = Laurent Aimar
[gibalou] = Gildas Bazin
[henri] = Henri Fallon
[jlj] = Jon Lech Johansen
[jobi] = Johan Bilien
[lool] = Loc Minier
[meuuh] = Christophe Massiot
[sam] = Samuel Hocevar
[saman] = Jean-Paul Saman
[sigmund] = Sigmund Augdal
[stef] = Stphane Borel
# $Id: STATUS,v 1.1 2002/07/12 21:57:25 massiot Exp $
#
# VLC STATUS
#
# This file gathers all current contributors of VLC, and what they're
# currently working on. PLEASE KEEP THIS FILE UP-TO-DATE. If you don't
# have a CVS account and want to contribute, ask a committer to update
# this file.
Laurent Aimar <fenrir@via.ecp.fr> :
- MPEG-4 HTTP streaming
ETA : very soon
Sigmund Augdal <sigmunau@idi.ntnu.no> :
- Id3 tags for MP3 files, creation of an attributes list in the input
ETA : soon
- RTP & RTSP support
ETA : long-term
Gildas Bazin <gbazin@netcourrier.com> :
- wxWindows interface plug-in
ETA : starting in september
Stphane Borel <stef@via.ecp.fr> :
- DVD menus
ETA : soon
- Better deinterlacing support
ETA : summer
Henri Fallon <henri@via.ecp.fr> :
- DXR2 & DXR3 support
ETA : soon
- Better deinterlacing support
ETA : summer
Samuel Hocevar <sam@via.ecp.fr> :
- VLC objects, reentrancy, navigator plug-ins
ETA : soon
- Audio output 3
ETA : late summer
Jon Lech Johansen <jon-vl@nanocrew.net> :
- Mac OS X interface : contextual menu, playlist, general enhancements
ETA : very soon
Xavier Maillard <zedek@fxgsproject.org> :
- Xinerama fullscreen support
ETA : completed
- Ogg/Vorbis decoder plug-in
ETA : soon
Christophe Massiot <massiot@via.ecp.fr> :
- Audio output 3
ETA : late summer
- Input 3 (multiple-file input, DivX subtitles, frame by frame,
rewind, better time handling)
ETA : end of 2002
...@@ -116,7 +116,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">. ...@@ -116,7 +116,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<itemize> <itemize>
<item> Linux (all distributions, including iPAQ Familiar Linux) <item> Linux (all distributions, including iPAQ Familiar Linux)
<item> Windows (all 32bit versions) <item> Windows (all 32bit versions)
<item> Mas OS X <item> Mac OS X
<item> FreeBSD, NetBSD, OpenBSD, BSD/OS <item> FreeBSD, NetBSD, OpenBSD, BSD/OS
<item> BeOS <item> BeOS
<item> QNX RTOS <item> QNX RTOS
...@@ -124,8 +124,8 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">. ...@@ -124,8 +124,8 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
</itemize> </itemize>
</p> </p>
<p> <p>
Please note that the Linux, Windows and MacOS X are generally the most Please note that the Linux, Windows and MacOS X versions are generally the most
up-to-date versions. up-to-date ones.
</p> </p>
</sect2> </sect2>
<sect2> <sect2>
......
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
* thread, and destroy a previously opened video output thread. * thread, and destroy a previously opened video output thread.
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: video_output.h,v 1.79 2002/06/11 09:44:21 gbazin Exp $ * $Id: video_output.h,v 1.80 2002/07/12 21:57:25 massiot Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@via.ecp.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* Collection of useful common types and macros definitions * Collection of useful common types and macros definitions
***************************************************************************** *****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN * Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: vlc_common.h,v 1.8 2002/07/05 11:18:56 sam Exp $ * $Id: vlc_common.h,v 1.9 2002/07/12 21:57:25 massiot Exp $
* *
* Authors: Samuel Hocevar <sam@via.ecp.fr> * Authors: Samuel Hocevar <sam@via.ecp.fr>
* Vincent Seguin <seguin@via.ecp.fr> * Vincent Seguin <seguin@via.ecp.fr>
...@@ -258,98 +258,7 @@ struct vlc_object_s ...@@ -258,98 +258,7 @@ struct vlc_object_s
#ifdef NTOHL_IN_SYS_PARAM_H #ifdef NTOHL_IN_SYS_PARAM_H
# include <sys/param.h> # include <sys/param.h>
#elif defined(WIN32) #elif !defined(WIN32) /* NTOHL_IN_SYS_PARAM_H || WIN32 */
/* Swap bytes in 16 bit value. */
# define __bswap_constant_16(x) \
((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
# if defined __GNUC__ && __GNUC__ >= 2
# define __bswap_16(x) \
(__extension__ \
({ register unsigned short int __v; \
if (__builtin_constant_p (x)) \
__v = __bswap_constant_16 (x); \
else \
__asm__ __volatile__ ("rorw $8, %w0" \
: "=r" (__v) \
: "0" ((unsigned short int) (x)) \
: "cc"); \
__v; }))
# else
/* This is better than nothing. */
# define __bswap_16(x) __bswap_constant_16 (x)
# endif
/* Swap bytes in 32 bit value. */
# define __bswap_constant_32(x) \
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
# if defined __GNUC__ && __GNUC__ >= 2
/* To swap the bytes in a word the i486 processors and up provide the
`bswap' opcode. On i386 we have to use three instructions. */
# if !defined __i486__ && !defined __pentium__ && !defined __pentiumpro__
# define __bswap_32(x) \
(__extension__ \
({ register unsigned int __v; \
if (__builtin_constant_p (x)) \
__v = __bswap_constant_32 (x); \
else \
__asm__ __volatile__ ("rorw $8, %w0;" \
"rorl $16, %0;" \
"rorw $8, %w0" \
: "=r" (__v) \
: "0" ((unsigned int) (x)) \
: "cc"); \
__v; }))
# else
# define __bswap_32(x) \
(__extension__ \
({ register unsigned int __v; \
if (__builtin_constant_p (x)) \
__v = __bswap_constant_32 (x); \
else \
__asm__ __volatile__ ("bswap %0" \
: "=r" (__v) \
: "0" ((unsigned int) (x))); \
__v; }))
# endif
# else
# define __bswap_32(x) __bswap_constant_32 (x)
# endif
# if defined __GNUC__ && __GNUC__ >= 2
/* Swap bytes in 64 bit value. */
# define __bswap_constant_64(x) \
((((x) & 0xff00000000000000ull) >> 56) \
| (((x) & 0x00ff000000000000ull) >> 40) \
| (((x) & 0x0000ff0000000000ull) >> 24) \
| (((x) & 0x000000ff00000000ull) >> 8) \
| (((x) & 0x00000000ff000000ull) << 8) \
| (((x) & 0x0000000000ff0000ull) << 24) \
| (((x) & 0x000000000000ff00ull) << 40) \
| (((x) & 0x00000000000000ffull) << 56))
# define __bswap_64(x) \
(__extension__ \
({ union { __extension__ unsigned long long int __ll; \
unsigned long int __l[2]; } __w, __r; \
if (__builtin_constant_p (x)) \
__r.__ll = __bswap_constant_64 (x); \
else \
{ \
__w.__ll = (x); \
__r.__l[0] = __bswap_32 (__w.__l[1]); \
__r.__l[1] = __bswap_32 (__w.__l[0]); \
} \
__r.__ll; }))
# else
# define __bswap_64(i) \
(u64)((__bswap_32((i) & 0xffffffff) << 32) | \
__bswap_32(((i) >> 32) & 0xffffffff ))
# endif
#else /* NTOHL_IN_SYS_PARAM_H || WIN32 */
# include <netinet/in.h> # include <netinet/in.h>
#endif /* NTOHL_IN_SYS_PARAM_H || WIN32 */ #endif /* NTOHL_IN_SYS_PARAM_H || WIN32 */
...@@ -371,35 +280,39 @@ struct vlc_object_s ...@@ -371,35 +280,39 @@ struct vlc_object_s
/* MSB (big endian)/LSB (little endian) conversions - network order is always /* MSB (big endian)/LSB (little endian) conversions - network order is always
* MSB, and should be used for both network communications and files. Note that * MSB, and should be used for both network communications and files. Note that
* byte orders other than little and big endians are not supported, but only * byte orders other than little and big endians are not supported, but only
* the VAX seems to have such exotic properties - note that these 'functions' * the VAX seems to have such exotic properties. */
* needs <netinet/in.h> or the local equivalent. */ static inline u16 U16_AT( void * _p )
#if !defined( WIN32 ) {
u8 * p = (u8 *)_p;
return ( ((u16)p[0] << 8) | p[1] );
}
static inline u32 U32_AT( void * _p )
{
u8 * p = (u8 *)_p;
return ( ((u32)p[0] << 24) | ((u32)p[1] << 16) | ((u32)p[2] << 8) | p[3] );
}
static inline u64 U64_AT( void * _p )
{
u8 * p = (u8 *)_p;
return ( ((u64)p[0] << 56) | ((u64)p[1] << 48) | ((u64)p[2] << 40)
| ((u64)p[3] << 32) | ((u64)p[4] << 24) | ((u64)p[5] << 16)
| ((u64)p[6] << 8) | p[7] );
}
#if WORDS_BIGENDIAN #if WORDS_BIGENDIAN
# define hton16 htons # define hton16(i) ( i )
# define hton32 htonl # define hton32(i) ( i )
# define hton64(i) ( i ) # define hton64(i) ( i )
# define ntoh16 ntohs # define ntoh16(i) ( i )
# define ntoh32 ntohl # define ntoh32(i) ( i )
# define ntoh64(i) ( i ) # define ntoh64(i) ( i )
#else #else
# define hton16 htons # define hton16(i) U16_AT(&i)
# define hton32 htonl # define hton32(i) U32_AT(&i)
static inline u64 __hton64( u64 i ) # define hton64(i) U64_AT(&i)
{ # define ntoh16(i) U16_AT(&i)
return ((u64)(htonl((i) & 0xffffffff)) << 32) # define ntoh32(i) U32_AT(&i)
| htonl(((i) >> 32) & 0xffffffff ); # define ntoh64(i) U64_AT(&i)
}
# define hton64(i) __hton64( i )
# define ntoh16 ntohs
# define ntoh32 ntohl
# define ntoh64 hton64
#endif #endif
#endif /* !defined( WIN32 ) */
/* Macros with automatic casts */
#define U64_AT(p) ( ntoh64 ( *( (u64 *)(p) ) ) )
#define U32_AT(p) ( ntoh32 ( *( (u32 *)(p) ) ) )
#define U16_AT(p) ( ntoh16 ( *( (u16 *)(p) ) ) )
/* Alignment of critical static data structures */ /* Alignment of critical static data structures */
#ifdef ATTRIBUTE_ALIGNED_MAX #ifdef ATTRIBUTE_ALIGNED_MAX
...@@ -444,29 +357,7 @@ char * strndup( const char *s, size_t n ); ...@@ -444,29 +357,7 @@ char * strndup( const char *s, size_t n );
#define I64C(x) x##LL #define I64C(x) x##LL
#ifdef WIN32
#if defined( WIN32 )
/* The ntoh* and hton* bytes swapping functions are provided by winsock
* but for conveniency and speed reasons it is better to implement them
* ourselves. ( several plugins use them and it is too much hassle to link
* winsock with each of them ;-)
*/
# ifdef WORDS_BIGENDIAN
# define ntoh32(x) (x)
# define ntoh16(x) (x)
# define ntoh64(x) (x)
# define hton32(x) (x)
# define hton16(x) (x)
# define hton64(x) (x)
# else
# define ntoh32(x) __bswap_32 (x)
# define ntoh16(x) __bswap_16 (x)
# define ntoh64(x) __bswap_32 (x)
# define hton32(x) __bswap_32 (x)
# define hton16(x) __bswap_16 (x)
# define hton64(x) __bswap_64 (x)
# endif
/* win32, cl and icl support */ /* win32, cl and icl support */
# if defined( _MSC_VER ) || !defined( __MINGW32__ ) # if defined( _MSC_VER ) || !defined( __MINGW32__ )
# define __attribute__(x) # define __attribute__(x)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* Functions are prototyped in mtime.h. * Functions are prototyped in mtime.h.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: mtime.c,v 1.32 2002/06/01 12:32:01 sam Exp $ * $Id: mtime.c,v 1.33 2002/07/12 21:57:25 massiot Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* *
...@@ -83,7 +83,7 @@ char *mstrtime( char *psz_buffer, mtime_t date ) ...@@ -83,7 +83,7 @@ char *mstrtime( char *psz_buffer, mtime_t date )
} }
/***************************************************************************** /*****************************************************************************
* mdate: return high precision date (inline function) * mdate: return high precision date
***************************************************************************** *****************************************************************************
* Uses the gettimeofday() function when possible (1 MHz resolution) or the * Uses the gettimeofday() function when possible (1 MHz resolution) or the
* ftime() function (1 kHz resolution). * ftime() function (1 kHz resolution).
...@@ -122,7 +122,7 @@ mtime_t mdate( void ) ...@@ -122,7 +122,7 @@ mtime_t mdate( void )
} }
/***************************************************************************** /*****************************************************************************
* mwait: wait for a date (inline function) * mwait: wait for a date
***************************************************************************** *****************************************************************************
* This function uses select() and an system date function to wake up at a * This function uses select() and an system date function to wake up at a
* precise date. It should be used for process synchronization. If current date * precise date. It should be used for process synchronization. If current date
...@@ -201,7 +201,7 @@ void mwait( mtime_t date ) ...@@ -201,7 +201,7 @@ void mwait( mtime_t date )
} }
/***************************************************************************** /*****************************************************************************
* msleep: more precise sleep() (inline function) (ok ?) * msleep: more precise sleep()
***************************************************************************** *****************************************************************************
* Portable usleep() function. * Portable usleep() function.
*****************************************************************************/ *****************************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment