Commit 1e053ea0 authored by Sam Hocevar's avatar Sam Hocevar

  * ./plugins/mga/mga.c: removed the mgammx module and put the code in
    the chroma_i420_ymga module instead. This introduces a slight
    performance issue as we now need to memcpy() the Y plane, but I have
    some vout4 enhancements on their way which make this point moot.
  * ./debian/changelog: imported official Debian changelog.
  * ./debian/control: activated the vlc-mad and vlc-arts packages; package
    builds should now work again.
  * ./plugins/dvd/dvd.c: solved a symbol resolution issue when vlc was
    compiled without libdvdcss which overflowed the return stack.
  * ./plugins/ggi/ggi.c: ported the GGI plugin to vout4.
  * ./plugins/glide/glide.c: ported the Glide plugin to vout4 (untested).
  * ./src/input/input.c: prepared everything for multi-input mode; since
    no interface is yet prepared to handle this, I changed them so that
    they just use the first available input for now. This may break other
    things, but I promise I'll eventually repair everything :-)
parent ebd16b8d
......@@ -61,6 +61,8 @@ PLUGINS_TARGETS := ac3_adec/ac3_adec \
chroma/chroma_i420_yuy2_mmx \
chroma/chroma_i422_yuy2 \
chroma/chroma_i422_yuy2_mmx \
chroma/chroma_i420_ymga \
chroma/chroma_i420_ymga_mmx \
directx/directx \
dsp/dsp \
dummy/dummy \
......@@ -98,7 +100,6 @@ PLUGINS_TARGETS := ac3_adec/ac3_adec \
memcpy/memcpymmxext \
memcpy/memcpy3dn \
mga/mga \
mga/mgammx \
motion/motion \
motion/motionmmx \
motion/motionmmxext \
......
......@@ -4897,10 +4897,10 @@ case x"${target_cpu}" in
;;
esac
BUILTINS="${BUILTINS} mpeg_es mpeg_ps mpeg_ts memcpy idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 mpeg_adec lpcm_adec ac3_adec mpeg_vdec"
BUILTINS="${BUILTINS} mpeg_es mpeg_ps mpeg_ts memcpy idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 chroma_i420_ymga mpeg_adec lpcm_adec ac3_adec mpeg_vdec"
PLUGINS="${PLUGINS} ac3_spdif spudec filter_deinterlace filter_invert filter_wall filter_transform filter_distort"
MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx"
MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx chroma_i420_ymga_mmx"
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
SSE_MODULES="imdctsse downmixsse"
......@@ -6440,9 +6440,6 @@ if test "${enable_mga+set}" = set; then
if test x$enable_mga = xyes
then
PLUGINS="${PLUGINS} mga"
if test x"$ac_cv_mmx_inline" != x"no"; then
PLUGINS="${PLUGINS} mgammx"
fi
fi
fi
......@@ -6484,7 +6481,7 @@ fi
# Extract the first word of "sdl12-config", so it can be a program name with args.
set dummy sdl12-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6488: checking for $ac_word" >&5
echo "configure:6485: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SDL12_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
......@@ -6524,7 +6521,7 @@ fi
# Extract the first word of "sdl11-config", so it can be a program name with args.
set dummy sdl11-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6528: checking for $ac_word" >&5
echo "configure:6525: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SDL11_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
......@@ -6565,7 +6562,7 @@ fi
# Extract the first word of "sdl-config", so it can be a program name with args.
set dummy sdl-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6569: checking for $ac_word" >&5
echo "configure:6566: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SDL_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
......@@ -6611,17 +6608,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:6615: checking for $ac_hdr" >&5
echo "configure:6612: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6620 "configure"
#line 6617 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:6622: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -6691,17 +6688,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:6695: checking for $ac_hdr" >&5
echo "configure:6692: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6700 "configure"
#line 6697 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:6702: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -6730,7 +6727,7 @@ done
else
echo $ac_n "checking for directX headers in ${withval}""... $ac_c" 1>&6
echo "configure:6734: checking for directX headers in ${withval}" >&5
echo "configure:6731: checking for directX headers in ${withval}" >&5
if test -f ${withval}/include/directx.h
then
PLUGINS="${PLUGINS} directx"
......@@ -6817,7 +6814,7 @@ if test "${enable_gnome+set}" = set; then
# Extract the first word of "gnome-config", so it can be a program name with args.
set dummy gnome-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6821: checking for $ac_word" >&5
echo "configure:6818: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GNOME_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
......@@ -6862,17 +6859,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:6866: checking for $ac_hdr" >&5
echo "configure:6863: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6871 "configure"
#line 6868 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6876: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:6873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -6932,7 +6929,7 @@ fi
# Extract the first word of "gtk-config", so it can be a program name with args.
set dummy gtk-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6936: checking for $ac_word" >&5
echo "configure:6933: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GTK_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
......@@ -6982,17 +6979,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:6986: checking for $ac_hdr" >&5
echo "configure:6983: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6991 "configure"
#line 6988 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:6993: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -7049,17 +7046,17 @@ if test x$enable_x11 != xno &&
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:7053: checking for $ac_hdr" >&5
echo "configure:7050: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 7058 "configure"
#line 7055 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:7063: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:7060: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -7112,17 +7109,17 @@ if test x$enable_xvideo != xno &&
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:7116: checking for $ac_hdr" >&5
echo "configure:7113: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 7121 "configure"
#line 7118 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:7126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:7123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -7162,17 +7159,17 @@ if test "${enable_alsa+set}" = set; then
then
ac_safe=`echo "alsa/asoundlib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for alsa/asoundlib.h""... $ac_c" 1>&6
echo "configure:7166: checking for alsa/asoundlib.h" >&5
echo "configure:7163: checking for alsa/asoundlib.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 7171 "configure"
#line 7168 "configure"
#include "confdefs.h"
#include <alsa/asoundlib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:7176: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:7173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -7189,7 +7186,7 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for main in -lasound""... $ac_c" 1>&6
echo "configure:7193: checking for main in -lasound" >&5
echo "configure:7190: checking for main in -lasound" >&5
ac_lib_var=`echo asound'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
......@@ -7197,14 +7194,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lasound $LIBS"
cat > conftest.$ac_ext <<EOF
#line 7201 "configure"
#line 7198 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
if { (eval echo configure:7208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:7205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
......
......@@ -307,13 +307,13 @@ esac
dnl
dnl default modules
dnl
BUILTINS="${BUILTINS} mpeg_es mpeg_ps mpeg_ts memcpy idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 mpeg_adec lpcm_adec ac3_adec mpeg_vdec"
BUILTINS="${BUILTINS} mpeg_es mpeg_ps mpeg_ts memcpy idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 chroma_i420_ymga mpeg_adec lpcm_adec ac3_adec mpeg_vdec"
PLUGINS="${PLUGINS} ac3_spdif spudec filter_deinterlace filter_invert filter_wall filter_transform filter_distort"
dnl
dnl Accelerated modules
dnl
MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx"
MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx chroma_i420_ymga_mmx"
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
SSE_MODULES="imdctsse downmixsse"
......@@ -949,9 +949,6 @@ AC_ARG_ENABLE(mga,
[ if test x$enable_mga = xyes
then
PLUGINS="${PLUGINS} mga"
if test x"$ac_cv_mmx_inline" != x"no"; then
PLUGINS="${PLUGINS} mgammx"
fi
fi ])
dnl
......
vlc (0.2.92-UNSTABLE) unstable; urgency=low
vlc (0.2.92cvs-1) unstable; urgency=low
* Development branch.
-- Christophe Massiot <massiot@via.ecp.fr> Fri, 7 Dec 2001 20:18:56 +0100
vlc (0.2.91-2) unstable; urgency=low
vlc (0.2.92-8) unstable; urgency=high
* Only link with libXv.a if libXv_pic.a wasn't found, which fixes
package builds on sid.
* Added -ffunction-sections to the compilation of mpeg_vdec.a when
the architecture is hppa.
-- Samuel Hocevar <sam@zoy.org> Sun, 6 Jan 2002 06:56:08 +0100
vlc (0.2.92-7) unstable; urgency=high
* Fixed configure.in so that it doesn't fail on hppa.
* Fixed a symbol resolution issue that made vlc crash when libdvdcss
was installed.
-- Samuel Hocevar <sam@zoy.org> Sat, 5 Jan 2002 03:46:23 +0100
vlc (0.2.92-6) unstable; urgency=high
* Attempt to fix IA64 and hppa builds.
-- Samuel Hocevar <sam@zoy.org> Fri, 4 Jan 2002 14:11:02 +0100
vlc (0.2.92-5) unstable; urgency=high
* Many fixes imported from the 0.2.92 upstream release (VCD input,
buffer management, decoder error management).
* Removed a stupid dependency on libc6 which prevented the package
from being built on alpha.
-- Samuel Hocevar <sam@zoy.org> Wed, 2 Jan 2002 04:16:44 +0100
vlc (0.2.92-4) unstable; urgency=high
* Put debian/control and debian/rules in sync again (Closes: #126697).
* Replaced the 48x48 XPM icons with 32x32 icons to comply with policy
(Closes: #126939).
* Don't spawn the Gtk+ or the Gnome interface if no $DISPLAY variable is
present, which fixes the framebuffer output (Closes: #101753).
-- Samuel Hocevar <sam@zoy.org> Sun, 30 Dec 2001 02:59:01 +0100
vlc (0.2.92-3) unstable; urgency=high
* Removed references to vlc-mad (Closes: #126194).
-- Samuel Hocevar <sam@zoy.org> Sat, 22 Dec 2001 21:04:27 +0100
vlc (0.2.92-2) unstable; urgency=high
* Bumped urgency to high to get this stable version into testing; all
reported critical bugs were fixed.
* Bumped Standards-Version to 3.5.6.
* Fixed a PowerPC compilation issue.
* Fixed a crash in the VCD input.
-- Samuel Hocevar <sam@zoy.org> Thu, 20 Dec 2001 23:24:21 +0100
vlc (0.2.92-1) unstable; urgency=low
* Using the stable 0.2.92 CVS branch, has lots of stability fixes.
* Disabled broken ALSA audio output (Closes: #110869, #119846).
* Changed configure.in so that vlc is linked against libXv.a,
not xvideo.so and sdl.so (Closes: #111790).
* Added versioned build-dep to libasound2-dev (Closes: #121057).
-- Samuel Hocevar <sam@zoy.org> Wed, 19 Dec 2001 17:06:44 +0100
vlc (0.2.91-2) unstable; urgency=low
* Added "Video" menu hints (Closes: #121036).
-- Samuel Hocevar <sam@zoy.org> Sun, 25 Nov 2001 02:25:34 +0100
......
......@@ -115,8 +115,9 @@ Description: MAD plugin for vlc
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This plugin adds support for libmad, the MPEG audio decoder library, to
the VideoLAN Client. MAD is 100% fixed-point based.Package: vlc-mad
the VideoLAN Client. MAD is 100% fixed-point based.
Package: vlc-arts
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
Description: aRts plugin for vlc
......
......@@ -59,11 +59,11 @@ install: build
# make symlinks for packages and install plugins
case $(DEB_BUILD_ARCH) in \
i386) \
ARCH_ALIASES="ggi gtk gnome esd sdl qt arts alsa glide" ;; \
ARCH_ALIASES="ggi gtk gnome esd sdl qt arts mad alsa glide" ;; \
alpha|ia64|m68k|powerpc) \
ARCH_ALIASES="ggi gtk gnome esd sdl qt arts alsa" ;; \
ARCH_ALIASES="ggi gtk gnome esd sdl qt arts mad alsa" ;; \
*) \
ARCH_ALIASES="ggi gtk gnome esd sdl qt arts" ;; \
ARCH_ALIASES="ggi gtk gnome esd sdl qt arts mad" ;; \
esac ;\
for alias in $$ARCH_ALIASES ; do \
ln -s vlc debian/vlc-$$alias/usr/share/doc/vlc-$$alias ; \
......
......@@ -3,7 +3,7 @@
* Collection of useful common types and macros definitions
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: common.h,v 1.65 2002/01/05 02:22:02 sam Exp $
* $Id: common.h,v 1.66 2002/01/07 02:12:29 sam Exp $
*
* Authors: Samuel Hocevar <sam@via.ecp.fr>
* Vincent Seguin <seguin@via.ecp.fr>
......@@ -439,8 +439,9 @@ typedef __int64 off_t;
typedef struct module_symbols_s
{
struct main_s* p_main;
struct aout_bank_s* p_aout_bank;
struct vout_bank_s* p_vout_bank;
struct input_bank_s* p_input_bank;
struct aout_bank_s* p_aout_bank;
struct vout_bank_s* p_vout_bank;
int ( * main_GetIntVariable ) ( char *, int );
char * ( * main_GetPszVariable ) ( char *, char * );
......
......@@ -4,7 +4,7 @@
* control the pace of reading.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: input_ext-intf.h,v 1.55 2001/12/30 07:09:54 sam Exp $
* $Id: input_ext-intf.h,v 1.56 2002/01/07 02:12:29 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
......@@ -34,15 +34,33 @@
#define OFFSETTOTIME_MAX_SIZE 10
/*****************************************************************************
* input_bank_t, p_input_bank (global variable)
*****************************************************************************
* This global variable is accessed by any function using the input.
*****************************************************************************/
typedef struct input_bank_s
{
/* Array to all the input threads */
struct input_thread_s *pp_input[ INPUT_MAX_THREADS ];
int i_count;
vlc_mutex_t lock; /* Global lock */
} input_bank_t;
#ifndef PLUGIN
extern input_bank_t *p_input_bank;
#else
# define p_input_bank (p_symbols->p_input_bank)
#endif
/*****************************************************************************
* es_descriptor_t: elementary stream descriptor
*****************************************************************************
* Describes an elementary stream, and includes fields required to handle and
* demultiplex this elementary stream.
*****************************************************************************/
struct decoder_fifo_s; /* defined in input_ext-dec.h */
struct pgrm_descriptor_s;
typedef struct es_descriptor_s
{
u16 i_id; /* stream ID for PS, PID for TS */
......@@ -234,9 +252,6 @@ typedef struct stream_descriptor_s
*****************************************************************************
* This structure includes all the local static variables of an input thread
*****************************************************************************/
struct vout_thread_s;
struct bit_stream_s;
typedef struct input_thread_s
{
/* Thread properties and locks */
......@@ -323,6 +338,9 @@ typedef struct input_thread_s
* Prototypes
*****************************************************************************/
#ifndef PLUGIN
void input_InitBank ( void );
void input_EndBank ( void );
struct input_thread_s * input_CreateThread ( struct playlist_item_s *,
int *pi_status );
void input_DestroyThread ( struct input_thread_s *, int *pi_status );
......
......@@ -4,7 +4,7 @@
* interface, such as message output.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: interface.h,v 1.25 2001/12/30 07:09:54 sam Exp $
* $Id: interface.h,v 1.26 2002/01/07 02:12:29 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -46,9 +46,6 @@ typedef struct intf_thread_s
/* Interface callback */
void ( *pf_manage ) ( struct intf_thread_s * );
/* Input thread - NULL if not active */
p_input_thread_t p_input;
/* XXX: new message passing stuff will go here */
vlc_mutex_t change_lock;
boolean_t b_menu_change;
......
/*****************************************************************************
* stream_control.h: structures of the input exported verywhere
* stream_control.h: structures of the input exported everywhere
* This header provides a structure so that everybody knows the state
* of the reading.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: stream_control.h,v 1.6 2001/07/18 14:21:00 massiot Exp $
* $Id: stream_control.h,v 1.7 2002/01/07 02:12:29 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
......
......@@ -4,7 +4,7 @@
* includes all common video types and constants.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: video.h,v 1.40 2002/01/05 02:22:03 sam Exp $
* $Id: video.h,v 1.41 2002/01/07 02:12:29 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -161,6 +161,7 @@ typedef struct picture_heap_s
#define FOURCC_Y211 0x31313259 /* Packed 2:1:1, Y:U:Y:V */
/* Custom formats which we use but which don't exist in the fourcc database */
#define FOURCC_YMGA 0x41474d59 /* Planar Y, packed UV, from Matrox */
#define FOURCC_I422 0x32323449 /* Planar 4:2:2, Y:U:V */
#define FOURCC_I444 0x34343449 /* Planar 4:4:4, Y:U:V */
......
......@@ -2,7 +2,7 @@
* intf_beos.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: intf_beos.cpp,v 1.35 2001/12/30 07:09:54 sam Exp $
* $Id: intf_beos.cpp,v 1.36 2002/01/07 02:12:29 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -156,9 +156,10 @@ static void intf_Run( intf_thread_t *p_intf )
p_intf->pf_manage( p_intf );
/* Manage the slider */
if( p_intf->p_input != NULL && p_intf->p_sys->p_window != NULL)
if( p_input_bank->pp_input[0] != NULL
&& p_intf->p_sys->p_window != NULL)
{
p_intf->p_sys->p_window->updateInterface();
p_intf->p_sys->p_window->updateInterface();
}
/* Wait a bit */
......
......@@ -4,3 +4,5 @@ chroma_i420_yuy2_SOURCES = i420_yuy2.c
chroma_i420_yuy2_mmx_SOURCES = i420_yuy2.c
chroma_i422_yuy2_SOURCES = i422_yuy2.c
chroma_i422_yuy2_mmx_SOURCES = i422_yuy2.c
chroma_i420_ymga_SOURCES = i420_ymga.c
chroma_i420_ymga_mmx_SOURCES = i420_ymga.c
/*****************************************************************************
* i420_ymga.c : YUV to YUV conversion module for vlc
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: i420_ymga.c,v 1.1 2002/01/07 02:12:29 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <math.h> /* exp(), pow() */
#include <errno.h> /* ENOMEM */
#include <string.h> /* strerror() */
#include <stdlib.h> /* malloc(), free() */
#include <videolan/vlc.h>
#include "video.h"
#include "video_output.h"
#define SRC_FOURCC "I420/IYUV/YV12"
#define DEST_FOURCC "YMGA"
/*****************************************************************************
* Local and extern prototypes.
*****************************************************************************/
static void chroma_getfunctions ( function_list_t * p_function_list );
static int chroma_Probe ( probedata_t *p_data );
static int chroma_Init ( vout_thread_t *p_vout );
static void chroma_End ( vout_thread_t *p_vout );
static void I420_YMGA ( vout_thread_t *, picture_t *, picture_t * );
/*****************************************************************************
* Build configuration tree.
*****************************************************************************/
MODULE_CONFIG_START
MODULE_CONFIG_STOP
MODULE_INIT_START