Commit a50a0a25 authored by Sam Hocevar's avatar Sam Hocevar

  * libdvdcss enhancements by Billy Biggs <vektor@dumbterm.net>. This breaks
    vlc's DVD input (looks like decoders are expecting data too early and
    DVD input can't cope with it due to decryption). Needs to be investigated.
  * Plugins are now compiled in plugins/* and libraries in lib/*.
  * The KDE UI compiles again but does not work yet.
  * ALSA plugin message corrections.
  * Calculation modules can now be calledwith a shorter name
    (eg. '--downmix mmx' instead of '--downmix downmixmmx').
  * Fixed insane verbosity of the SDL plugin.
parent 96ab9e69
...@@ -21,9 +21,14 @@ D: directory browsing code in modules.c ...@@ -21,9 +21,14 @@ D: directory browsing code in modules.c
N: Gildas Bazin N: Gildas Bazin
E: gbazin@netcourrier.com E: gbazin@netcourrier.com
C: gbazin
D: mingw32 port, various win32 fixes D: mingw32 port, various win32 fixes
D: DirectX audio and video output D: DirectX audio and video output
N: Billy Biggs
E: vektor@dumbterm.net
D: libdvdcss enhancements
N: Stphane Borel N: Stphane Borel
E: stef@via.ecp.fr E: stef@via.ecp.fr
C: stef C: stef
......
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
# #
# All possible plugin directories, needed for make clean # All possible plugin directories, needed for make clean
# #
PLUGINS_DIR := alsa beos darwin directx dsp dummy dvd esd fb ggi glide gtk downmix idct imdct macosx mga motion mpeg qt sdl text x11 yuv PLUGINS_DIR := alsa beos darwin directx dsp dummy dvd esd fb ggi glide gtk downmix idct imdct kde macosx mga motion mpeg qt sdl text x11 yuv
# #
# All possible plugin objects # All possible plugin objects
# #
PLUGINS_TARGETS := alsa/alsa beos/beos darwin/darwin directx/directx dsp/dsp dummy/dummy dummy/null dvd/dvd esd/esd fb/fb ggi/ggi glide/glide gtk/gnome gtk/gtk downmix/downmix downmix/downmixsse downmix/downmix3dn idct/idct idct/idctclassic idct/idctmmx idct/idctmmxext imdct/imdct imdct/imdct3dn imdct/imdctsse macosx/macosx mga/mga motion/motion motion/motionmmx motion/motionmmxext mpeg/es mpeg/ps mpeg/ts qt/qt sdl/sdl text/ncurses text/rc x11/x11 x11/xvideo yuv/yuv yuv/yuvmmx PLUGINS_TARGETS := alsa/alsa beos/beos darwin/darwin directx/directx dsp/dsp dummy/dummy dummy/null dvd/dvd esd/esd fb/fb ggi/ggi glide/glide gtk/gnome gtk/gtk downmix/downmix downmix/downmixsse downmix/downmix3dn idct/idct idct/idctclassic idct/idctmmx idct/idctmmxext imdct/imdct imdct/imdct3dn imdct/imdctsse kde/kde macosx/macosx mga/mga motion/motion motion/motionmmx motion/motionmmxext mpeg/es mpeg/ps mpeg/ts qt/qt sdl/sdl text/ncurses text/rc x11/x11 x11/xvideo yuv/yuv yuv/yuvmmx
# #
# C Objects # C Objects
...@@ -83,10 +83,10 @@ CPP_DEP := $(CPP_OBJ:%.o=.dep/%.dpp) ...@@ -83,10 +83,10 @@ CPP_DEP := $(CPP_OBJ:%.o=.dep/%.dpp)
# Translate plugin names # Translate plugin names
# #
ifneq (,$(PLUGINS)) ifneq (,$(PLUGINS))
PLUGIN_OBJ := $(shell for i in $(PLUGINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@lib/\1.so@' -e 's@^ .*@@' ; done) PLUGIN_OBJ := $(shell for i in $(PLUGINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@plugins/\1.so@' -e 's@^ .*@@' ; done)
endif endif
ifneq (,$(BUILTINS)) ifneq (,$(BUILTINS))
BUILTIN_OBJ := $(shell for i in $(BUILTINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@lib/\1.a@' -e 's@^ .*@@' ; done) BUILTIN_OBJ := $(shell for i in $(BUILTINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@plugins/\1.a@' -e 's@^ .*@@' ; done)
endif endif
# All symbols must be exported # All symbols must be exported
...@@ -104,6 +104,7 @@ all: vlc ${ALIASES} plugins vlc.app ...@@ -104,6 +104,7 @@ all: vlc ${ALIASES} plugins vlc.app
clean: libdvdcss-clean plugins-clean vlc-clean clean: libdvdcss-clean plugins-clean vlc-clean
rm -f src/*/*.o extras/*/*.o rm -f src/*/*.o extras/*/*.o
rm -f lib/*.so lib/*.so.* lib/*.a rm -f lib/*.so lib/*.so.* lib/*.a
rm -f plugins/*.so plugins/*.so.* plugins/*.a
libdvdcss-clean: libdvdcss-clean:
cd extras/libdvdcss && $(MAKE) clean cd extras/libdvdcss && $(MAKE) clean
...@@ -144,7 +145,7 @@ endif ...@@ -144,7 +145,7 @@ endif
plugins-install: plugins-install:
mkdir -p $(DESTDIR)$(libdir)/videolan/vlc mkdir -p $(DESTDIR)$(libdir)/videolan/vlc
ifneq (,$(PLUGINS)) ifneq (,$(PLUGINS))
$(INSTALL) -m 644 $(PLUGINS:%=lib/%.so) $(DESTDIR)$(libdir)/videolan/vlc $(INSTALL) -m 644 $(PLUGINS:%=plugins/%.so) $(DESTDIR)$(libdir)/videolan/vlc
endif endif
libdvdcss-install: libdvdcss-install:
...@@ -270,7 +271,7 @@ ifneq (,$(findstring darwin,$(SYS))) ...@@ -270,7 +271,7 @@ ifneq (,$(findstring darwin,$(SYS)))
$(INSTALL) vlc vlc.app/Contents/MacOS/ $(INSTALL) vlc vlc.app/Contents/MacOS/
$(INSTALL) share/vlc.icns vlc.app/Contents/Resources/ $(INSTALL) share/vlc.icns vlc.app/Contents/Resources/
ifneq (,$(PLUGINS)) ifneq (,$(PLUGINS))
$(INSTALL) $(PLUGINS:%=lib/%.so) vlc.app/Contents/MacOS/lib $(INSTALL) $(PLUGINS:%=plugins/%.so) vlc.app/Contents/MacOS/plugins
endif endif
$(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share $(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share
endif endif
...@@ -343,14 +344,14 @@ endif ...@@ -343,14 +344,14 @@ endif
# #
plugins: Makefile.modules Makefile.opts Makefile.dep Makefile $(PLUGIN_OBJ) plugins: Makefile.modules Makefile.opts Makefile.dep Makefile $(PLUGIN_OBJ)
$(PLUGIN_OBJ): FORCE $(PLUGIN_OBJ): FORCE
cd $(shell echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.* \([^/]*/\)'$(@:lib/%.so=%)' .*@plugins/\1@' -e 's@^ .*@@') && $(MAKE) $(@:%=../../%) cd $(shell echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.* \([^/]*/\)'$(@:plugins/%.so=%)' .*@plugins/\1@' -e 's@^ .*@@') && $(MAKE) $(@:%=../../%)
# #
# Built-in modules target # Built-in modules target
# #
builtins: Makefile.modules Makefile.opts Makefile.dep Makefile $(BUILTIN_OBJ) builtins: Makefile.modules Makefile.opts Makefile.dep Makefile $(BUILTIN_OBJ)
$(BUILTIN_OBJ): FORCE $(BUILTIN_OBJ): FORCE
cd $(shell echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.* \([^/]*/\)'$(@:lib/%.a=%)' .*@plugins/\1@' -e 's@^ .*@@') && $(MAKE) $(@:%=../../%) cd $(shell echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.* \([^/]*/\)'$(@:plugins/%.a=%)' .*@plugins/\1@' -e 's@^ .*@@') && $(MAKE) $(@:%=../../%)
# #
# libdvdcss target # libdvdcss target
......
...@@ -72,6 +72,7 @@ LIB_GLIDE = @LIB_GLIDE@ ...@@ -72,6 +72,7 @@ LIB_GLIDE = @LIB_GLIDE@
LIB_GNOME = @LIB_GNOME@ LIB_GNOME = @LIB_GNOME@
LIB_GTK = @LIB_GTK@ LIB_GTK = @LIB_GTK@
LIB_IDCTALTIVEC = @LIB_IDCTALTIVEC@ LIB_IDCTALTIVEC = @LIB_IDCTALTIVEC@
LIB_KDE = @LIB_KDE@
LIB_MACOSX = @LIB_MACOSX@ LIB_MACOSX = @LIB_MACOSX@
LIB_NCURSES = @LIB_NCURSES@ LIB_NCURSES = @LIB_NCURSES@
LIB_QT = @LIB_QT@ LIB_QT = @LIB_QT@
......
...@@ -4208,7 +4208,11 @@ fi ...@@ -4208,7 +4208,11 @@ fi
# Check whether --enable-kde or --disable-kde was given. # Check whether --enable-kde or --disable-kde was given.
if test "${enable_kde+set}" = set; then if test "${enable_kde+set}" = set; then
enableval="$enable_kde" enableval="$enable_kde"
if test x$enable_kde = xyes; then PLUGINS="${PLUGINS} kde"; ALIASES="${ALIASES} kvlc"; fi if test x$enable_kde = xyes; then
PLUGINS="${PLUGINS} kde";
ALIASES="${ALIASES} kvlc";
LIB_KDE="-lkfile"
fi
fi fi
...@@ -4233,7 +4237,7 @@ if test x$enable_gtk != xno; then ...@@ -4233,7 +4237,7 @@ if test x$enable_gtk != xno; then
# Extract the first word of "gtk-config", so it can be a program name with args. # Extract the first word of "gtk-config", so it can be a program name with args.
set dummy gtk-config; ac_word=$2 set dummy gtk-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:4237: checking for $ac_word" >&5 echo "configure:4241: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GTK_CONFIG'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_GTK_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -4293,17 +4297,17 @@ if test x$enable_x11 != xno; then ...@@ -4293,17 +4297,17 @@ if test x$enable_x11 != xno; then
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:4297: checking for $ac_hdr" >&5 echo "configure:4301: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 4302 "configure" #line 4306 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:4307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:4311: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
...@@ -4355,17 +4359,17 @@ if test x$enable_xvideo != xno; then ...@@ -4355,17 +4359,17 @@ if test x$enable_xvideo != xno; then
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:4359: checking for $ac_hdr" >&5 echo "configure:4363: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 4364 "configure" #line 4368 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:4369: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:4373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
...@@ -4403,17 +4407,17 @@ if test "${enable_alsa+set}" = set; then ...@@ -4403,17 +4407,17 @@ if test "${enable_alsa+set}" = set; then
enableval="$enable_alsa" enableval="$enable_alsa"
if test x$enable_alsa = xyes; then ac_safe=`echo "sys/asoundlib.h" | sed 'y%./+-%__p_%'` if test x$enable_alsa = xyes; then ac_safe=`echo "sys/asoundlib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/asoundlib.h""... $ac_c" 1>&6 echo $ac_n "checking for sys/asoundlib.h""... $ac_c" 1>&6
echo "configure:4407: checking for sys/asoundlib.h" >&5 echo "configure:4411: checking for sys/asoundlib.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 4412 "configure" #line 4416 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/asoundlib.h> #include <sys/asoundlib.h>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:4417: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:4421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
...@@ -4430,7 +4434,7 @@ fi ...@@ -4430,7 +4434,7 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6 echo "$ac_t""yes" 1>&6
echo $ac_n "checking for main in -lasound""... $ac_c" 1>&6 echo $ac_n "checking for main in -lasound""... $ac_c" 1>&6
echo "configure:4434: checking for main in -lasound" >&5 echo "configure:4438: checking for main in -lasound" >&5
ac_lib_var=`echo asound'_'main | sed 'y%./+-%__p_%'` ac_lib_var=`echo asound'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -4438,14 +4442,14 @@ else ...@@ -4438,14 +4442,14 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lasound $LIBS" LIBS="-lasound $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 4442 "configure" #line 4446 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
main() main()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:4449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:4453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -4526,6 +4530,7 @@ fi ...@@ -4526,6 +4530,7 @@ fi
trap '' 1 2 15 trap '' 1 2 15
...@@ -4708,6 +4713,7 @@ s%@LIB_GLIDE@%$LIB_GLIDE%g ...@@ -4708,6 +4713,7 @@ s%@LIB_GLIDE@%$LIB_GLIDE%g
s%@LIB_GNOME@%$LIB_GNOME%g s%@LIB_GNOME@%$LIB_GNOME%g
s%@LIB_GTK@%$LIB_GTK%g s%@LIB_GTK@%$LIB_GTK%g
s%@LIB_IDCTALTIVEC@%$LIB_IDCTALTIVEC%g s%@LIB_IDCTALTIVEC@%$LIB_IDCTALTIVEC%g
s%@LIB_KDE@%$LIB_KDE%g
s%@LIB_MACOSX@%$LIB_MACOSX%g s%@LIB_MACOSX@%$LIB_MACOSX%g
s%@LIB_NCURSES@%$LIB_NCURSES%g s%@LIB_NCURSES@%$LIB_NCURSES%g
s%@LIB_QT@%$LIB_QT%g s%@LIB_QT@%$LIB_QT%g
......
...@@ -531,7 +531,11 @@ dnl KDE module ...@@ -531,7 +531,11 @@ dnl KDE module
dnl dnl
AC_ARG_ENABLE(kde, AC_ARG_ENABLE(kde,
[ --enable-kde KDE interface support (default disabled)], [ --enable-kde KDE interface support (default disabled)],
[if test x$enable_kde = xyes; then PLUGINS="${PLUGINS} kde"; ALIASES="${ALIASES} kvlc"; fi]) [if test x$enable_kde = xyes; then
PLUGINS="${PLUGINS} kde";
ALIASES="${ALIASES} kvlc";
LIB_KDE="-lkfile"
fi])
dnl dnl
dnl Gnome module dnl Gnome module
...@@ -650,6 +654,7 @@ AC_SUBST(LIB_GLIDE) ...@@ -650,6 +654,7 @@ AC_SUBST(LIB_GLIDE)
AC_SUBST(LIB_GNOME) AC_SUBST(LIB_GNOME)
AC_SUBST(LIB_GTK) AC_SUBST(LIB_GTK)
AC_SUBST(LIB_IDCTALTIVEC) AC_SUBST(LIB_IDCTALTIVEC)
AC_SUBST(LIB_KDE)
AC_SUBST(LIB_MACOSX) AC_SUBST(LIB_MACOSX)
AC_SUBST(LIB_NCURSES) AC_SUBST(LIB_NCURSES)
AC_SUBST(LIB_QT) AC_SUBST(LIB_QT)
......
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* css.h: Structures for DVD authentification and unscrambling * css.h: Structures for DVD authentification and unscrambling
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: css.h,v 1.3 2001/07/07 21:10:58 gbazin Exp $ * $Id: css.h,v 1.4 2001/07/11 02:01:03 sam Exp $
* *
* Author: Stphane Borel <stef@via.ecp.fr> * Author: Stphane Borel <stef@via.ecp.fr>
* *
...@@ -32,27 +32,25 @@ typedef u8 dvd_key_t[KEY_SIZE]; ...@@ -32,27 +32,25 @@ typedef u8 dvd_key_t[KEY_SIZE];
typedef struct disc_s typedef struct disc_s
{ {
u8 pi_challenge[2*KEY_SIZE]; u8 p_challenge[2*KEY_SIZE];
dvd_key_t pi_key1; dvd_key_t p_key1;
dvd_key_t pi_key2; dvd_key_t p_key2;
dvd_key_t pi_key_check; dvd_key_t p_key_check;
u8 i_varient; u8 i_varient;
} disc_t; } disc_t;
typedef struct title_key_s typedef struct title_key_s
{ {
int i_occ; int i_startlb;
dvd_key_t pi_key; dvd_key_t p_key;
struct title_key_s *p_next;
} title_key_t; } title_key_t;
typedef struct css_s typedef struct css_s
{ {
int i_agid; int i_agid;
disc_t disc; disc_t disc;
u8 pi_disc_key[2048]; u8 p_disc_key[2048];
int i_title;
int i_title_pos;
dvd_key_t pi_title_key;
} css_t; } css_t;
/***************************************************************************** /*****************************************************************************
...@@ -62,6 +60,6 @@ struct css_s; ...@@ -62,6 +60,6 @@ struct css_s;
int CSSTest ( dvdcss_handle ); int CSSTest ( dvdcss_handle );
int CSSInit ( dvdcss_handle ); int CSSInit ( dvdcss_handle );
int CSSGetKey ( dvdcss_handle ); int CSSGetKey ( dvdcss_handle, int, dvd_key_t );
int CSSDescrambleSector ( u8 * , u8 * ); int CSSDescrambleSector ( u8 * , u8 * );
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* csstables.h: CSS Tables for DVD unscrambling * csstables.h: CSS Tables for DVD unscrambling
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: csstables.h,v 1.1 2001/06/12 22:14:44 sam Exp $ * $Id: csstables.h,v 1.2 2001/07/11 02:01:03 sam Exp $
* *
* Author: Stphane Borel <stef@via.ecp.fr> * Author: Stphane Borel <stef@via.ecp.fr>
* *
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/ *****************************************************************************/
static u8 pi_css_tab1[ 256 ] = static u8 p_css_tab1[ 256 ] =
{ {
0x33, 0x73, 0x3b, 0x26, 0x63, 0x23, 0x6b, 0x76, 0x33, 0x73, 0x3b, 0x26, 0x63, 0x23, 0x6b, 0x76,
0x3e, 0x7e, 0x36, 0x2b, 0x6e, 0x2e, 0x66, 0x7b, 0x3e, 0x7e, 0x36, 0x2b, 0x6e, 0x2e, 0x66, 0x7b,
...@@ -65,7 +65,7 @@ static u8 pi_css_tab1[ 256 ] = ...@@ -65,7 +65,7 @@ static u8 pi_css_tab1[ 256 ] =
0xba, 0xfa, 0xb2, 0xaf, 0xea, 0xaa, 0xe2, 0xff 0xba, 0xfa, 0xb2, 0xaf, 0xea, 0xaa, 0xe2, 0xff
}; };
static u8 pi_css_tab2[ 256 ] = static u8 p_css_tab2[ 256 ] =
{ {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x09, 0x08, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e, 0x09, 0x08, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e,
...@@ -101,7 +101,7 @@ static u8 pi_css_tab2[ 256 ] = ...@@ -101,7 +101,7 @@ static u8 pi_css_tab2[ 256 ] =
0xe4, 0xe5, 0xe6, 0xe7, 0xe0, 0xe1, 0xe2, 0xe3 0xe4, 0xe5, 0xe6, 0xe7, 0xe0, 0xe1, 0xe2, 0xe3
}; };
static u8 pi_css_tab3[ 512 ] = static u8 p_css_tab3[ 512 ] =
{ {
0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff,
0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff,
...@@ -169,7 +169,7 @@ static u8 pi_css_tab3[ 512 ] = ...@@ -169,7 +169,7 @@ static u8 pi_css_tab3[ 512 ] =
0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff
}; };
static u8 pi_css_tab4[ 256 ] = static u8 p_css_tab4[ 256 ] =
{ {
0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
...@@ -205,7 +205,7 @@ static u8 pi_css_tab4[ 256 ] = ...@@ -205,7 +205,7 @@ static u8 pi_css_tab4[ 256 ] =
0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
}; };
static u8 pi_css_tab5[ 256 ] = static u8 p_css_tab5[ 256 ] =
{ {
0xff, 0x7f, 0xbf, 0x3f, 0xdf, 0x5f, 0x9f, 0x1f, 0xff, 0x7f, 0xbf, 0x3f, 0xdf, 0x5f, 0x9f, 0x1f,
0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f, 0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f,
...@@ -241,7 +241,7 @@ static u8 pi_css_tab5[ 256 ] = ...@@ -241,7 +241,7 @@ static u8 pi_css_tab5[ 256 ] =
0xe0, 0x60, 0xa0, 0x20, 0xc0, 0x40, 0x80, 0x00 0xe0, 0x60, 0xa0, 0x20, 0xc0, 0x40, 0x80, 0x00
}; };
static u8 pi_crypt_tab0[ 256 ] = static u8 p_crypt_tab0[ 256 ] =
{ {
0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2, 0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2,
0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF, 0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF,
...@@ -277,7 +277,7 @@ static u8 pi_crypt_tab0[ 256 ] = ...@@ -277,7 +277,7 @@ static u8 pi_crypt_tab0[ 256 ] =
0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C 0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C
}; };
static u8 pi_crypt_tab1[ 256 ] = static u8 p_crypt_tab1[ 256 ] =
{ {
0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56, 0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56,
0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F, 0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F,
...@@ -313,7 +313,7 @@ static u8 pi_crypt_tab1[ 256 ] = ...@@ -313,7 +313,7 @@ static u8 pi_crypt_tab1[ 256 ] =
0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4 0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4
}; };
static u8 pi_crypt_tab2[ 256 ] = static u8 p_crypt_tab2[ 256 ] =
{ {
0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66, 0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66,
0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77, 0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77,
...@@ -349,7 +349,7 @@ static u8 pi_crypt_tab2[ 256 ] = ...@@ -349,7 +349,7 @@ static u8 pi_crypt_tab2[ 256 ] =
0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C 0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C
}; };
static u8 pi_crypt_tab3[ 288 ] = static u8 p_crypt_tab3[ 288 ] =
{ {
0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58, 0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58,
0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C, 0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* libdvdcss.c: DVD reading library. * libdvdcss.c: DVD reading library.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: libdvdcss.c,v 1.4 2001/07/07 21:10:58 gbazin Exp $ * $Id: libdvdcss.c,v 1.5 2001/07/11 02:01:03 sam Exp $
* *
* Authors: Stphane Borel <stef@via.ecp.fr> * Authors: Stphane Borel <stef@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -94,6 +94,7 @@ extern dvdcss_handle dvdcss_open ( char *psz_target, int i_flags ) ...@@ -94,6 +94,7 @@ extern dvdcss_handle dvdcss_open ( char *psz_target, int i_flags )
} }
/* Initialize structure */ /* Initialize structure */
dvdcss->p_keys = NULL;
dvdcss->b_debug = i_flags & DVDCSS_INIT_DEBUG; dvdcss->b_debug = i_flags & DVDCSS_INIT_DEBUG;
dvdcss->b_errors = !(i_flags & DVDCSS_INIT_QUIET); dvdcss->b_errors = !(i_flags & DVDCSS_INIT_QUIET);
dvdcss->psz_error = "no error"; dvdcss->psz_error = "no error";
...@@ -151,8 +152,12 @@ extern int dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks ) ...@@ -151,8 +152,12 @@ extern int dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
/***************************************************************************** /*****************************************************************************
* dvdcss_crack: crack the current title key * dvdcss_crack: crack the current title key
*****************************************************************************/ *****************************************************************************/
extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block ) extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_block )
{ {
title_key_t **pp_writekey;
title_key_t **pp_currentkey;
title_key_t *p_titlekey;
dvd_key_t p_key;
int i_ret; int i_ret;
if( ! dvdcss->b_encrypted ) if( ! dvdcss->b_encrypted )
...@@ -160,11 +165,23 @@ extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block ) ...@@ -160,11 +165,23 @@ extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block )
return 0; return 0;
} }
/* Crack CSS title key for current VTS */ /* Check if we've already cracked this key */
dvdcss->css.i_title = i_title; p_titlekey = dvdcss->p_keys;
dvdcss->css.i_title_pos = i_block; while( p_titlekey != NULL
&& p_titlekey->p_next != NULL
&& p_titlekey->p_next->i_startlb < i_block )
{
p_titlekey = p_titlekey->p_next;
}
i_ret = CSSGetKey( dvdcss ); if( p_titlekey != NULL && p_titlekey->i_startlb == i_block )
{
/* We've already cracked this key, nothing to do */
return 0;
}
/* Crack CSS title key for current VTS */
i_ret = CSSGetKey( dvdcss, i_block, p_key );
if( i_ret < 0 ) if( i_ret < 0 )
{ {
...@@ -177,6 +194,27 @@ extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block ) ...@@ -177,6 +194,27 @@ extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block )
return -1; return -1;
} }
/* Add key to keytable if it isn't empty */
if( p_key[0] || p_key[1] || p_key[2] || p_key[3] || p_key[4] )
{
/* Find our spot in the list */
pp_writekey = &(dvdcss->p_keys);
pp_currentkey = pp_writekey;
while( *pp_currentkey != NULL
&& (*pp_currentkey)->i_startlb < i_block )
{
pp_writekey = pp_currentkey;
pp_currentkey = &((*pp_currentkey)->p_next);
}
/* Write in the new key */
p_titlekey = *pp_writekey;
*pp_writekey = malloc( sizeof( title_key_t ) );
(*pp_writekey)->i_startlb = i_block;
memcpy( (*pp_writekey)->p_key, p_key, KEY_SIZE );
(*pp_writekey)->p_next = p_titlekey;
}
return 0; return 0;
} }
...@@ -187,26 +225,42 @@ extern int dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer, ...@@ -187,26 +225,42 @@ extern int dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer,
int i_blocks, int i_blocks,
int i_flags ) int i_flags )
{ {
int i_ret; title_key_t *p_current;
int i_ret, i_index;
i_ret = _dvdcss_read( dvdcss, p_buffer, i_blocks ); i_ret = _dvdcss_read( dvdcss, p_buffer, i_blocks );
if( i_ret != i_blocks if( i_ret <= 0
|| !dvdcss->b_encrypted || !dvdcss->b_encrypted
|| !(i_flags & DVDCSS_READ_DECRYPT) ) || !(i_flags & DVDCSS_READ_DECRYPT) )
{ {
return i_ret; return i_ret;
} }
while( i_ret ) /* find our key */
p_current = dvdcss->p_keys;
while( p_current != NULL
&& p_current->p_next
&& p_current->p_next->i_startlb < dvdcss->i_seekpos )
{ {
CSSDescrambleSector( dvdcss->css.pi_title_key, p_buffer ); p_current = p_current->p_next;
}
if( p_current == NULL )
{
/* no css key found to use, so no decryption to do */
return 0;
}
/* Decrypt the blocks we managed to read */
for( i_index = i_ret; i_index; i_index-- )
{
CSSDescrambleSector( p_current->p_key, p_buffer );
((u8*)p_buffer)[0x14] &= 0x8f; ((u8*)p_buffer)[0x14] &= 0x8f;
(u8*)p_buffer += DVDCSS_BLOCK_SIZE; (u8*)p_buffer += DVDCSS_BLOCK_SIZE;
i_ret--;
} }
return i_blocks; return i_ret;
} }
/***************************************************************************** /*****************************************************************************
...@@ -217,24 +271,42 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec, ...@@ -217,24 +271,42 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec,
int i_flags ) int i_flags )
{ {
#define P_IOVEC ((struct iovec*)p_iovec) #define P_IOVEC ((struct iovec*)p_iovec)
int i_ret; title_key_t *p_current;
int i_ret, i_index;
void *iov_base; void *iov_base;
size_t iov_len; size_t iov_len;
i_ret = _dvdcss_readv( dvdcss, P_IOVEC, i_blocks ); i_ret = _dvdcss_readv( dvdcss, P_IOVEC, i_blocks );
if( i_ret != i_blocks if( i_ret <= 0
|| !dvdcss->b_encrypted || !dvdcss->b_encrypted
|| !(i_flags & DVDCSS_READ_DECRYPT) ) || !(i_flags & DVDCSS_READ_DECRYPT) )
{ {
return i_ret; return i_ret;
} }
/* Find our key */
p_current = dvdcss->p_keys;
while( p_current != NULL
&& p_current->p_next
&& p_current->p_next->i_startlb < dvdcss->i_seekpos )
{
p_current = p_current->p_next;
}
if( p_current == NULL )
{
/* no css key found to use, so no decryption to do */
return 0;
}
/* Initialize loop for decryption */ /* Initialize loop for decryption */
iov_base = P_IOVEC->iov_base; iov_base = P_IOVEC->iov_base;
iov_len = P_IOVEC->iov_len; iov_len = P_IOVEC->iov_len;
while( i_ret ) /* Decrypt the blocks we managed to read */
for( i_index = i_ret; i_index; i_index-- )
{ {
/* Check that iov_len is a multiple of 2048 */ /* Check that iov_len is a multiple of 2048 */
if( iov_len & 0x7ff ) if( iov_len & 0x7ff )
...@@ -249,16 +321,14 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec, ...@@ -249,16 +321,14 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec,
iov_len = P_IOVEC->iov_len; iov_len = P_IOVEC->iov_len;
} }
CSSDescrambleSector( dvdcss->css.pi_title_key, iov_base ); CSSDescrambleSector( p_current->p_key, iov_base );
((u8*)iov_base)[0x14] &= 0x8f; ((u8*)iov_base)[0x14] &= 0x8f;
(u8*)iov_base += DVDCSS_BLOCK_SIZE; (u8*)iov_base += DVDCSS_BLOCK_SIZE;
(u8*)iov_len -= DVDCSS_BLOCK_SIZE; (u8*)iov_len -= DVDCSS_BLOCK_SIZE;
i_ret--;
} }
return i_blocks; return i_ret;
#undef P_IOVEC #undef P_IOVEC
} }
...@@ -267,8 +337,18 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec, ...@@ -267,8 +337,18 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec,
*****************************************************************************/ *****************************************************************************/
extern int dvdcss_close ( dvdcss_handle dvdcss ) extern int dvdcss_close ( dvdcss_handle dvdcss )
{ {
title_key_t *p_currentkey;
int i_ret; int i_ret;
/* Free our list of keys */
p_currentkey = dvdcss->p_keys;
while( p_currentkey )
{
title_key_t *p_tmpkey = p_currentkey->p_next;
free( p_currentkey );
p_currentkey = p_tmpkey;
}
i_ret = _dvdcss_close( dvdcss ); i_ret = _dvdcss_close( dvdcss );
if( i_ret < 0 ) if( i_ret < 0 )
...@@ -344,7 +424,6 @@ static int _dvdcss_close ( dvdcss_handle dvdcss ) ...@@ -344,7 +424,6 @@ static int _dvdcss_close ( dvdcss_handle dvdcss )
static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks ) static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
{ {
#if defined( WIN32 ) #if defined( WIN32 )
if( WIN2K ) if( WIN2K )
{ {
...@@ -375,6 +454,8 @@ static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks ) ...@@ -375,6 +454,8 @@ static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
#else #else
off_t i_read; off_t i_read;
dvdcss->i_seekpos = i_blocks;
i_read = lseek( dvdcss->i_fd, i_read = lseek( dvdcss->i_fd,
(off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE, SEEK_SET ); (off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE, SEEK_SET );
...@@ -385,28 +466,29 @@ static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks ) ...@@ -385,28 +466,29 @@ static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
static int _dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer, int i_blocks ) static int _dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer, int i_blocks )
{ {
int i_read;
#if defined( WIN32 ) #if defined( WIN32 )
if( WIN2K ) if( WIN2K )
{ {
int i_bytes;
if( !ReadFile( (HANDLE) dvdcss->i_fd, p_buffer, if( !ReadFile( (HANDLE) dvdcss->i_fd, p_buffer,
i_blocks * DVDCSS_BLOCK_SIZE, i_blocks * DVDCSS_BLOCK_SIZE,
(LPDWORD)&i_read, NULL ) ) (LPDWORD)&i_bytes, NULL ) )
{ {
i_read = -DVDCSS_BLOCK_SIZE; return -1;
} }
return i_read / DVDCSS_BLOCK_SIZE; return i_bytes / DVDCSS_BLOCK_SIZE;
} }
else else
{ {
i_read = _win32_dvdcss_aread( dvdcss->i_fd, p_buffer, i_blocks ); return _win32_dvdcss_aread( dvdcss->i_fd, p_buffer, i_blocks );
return i_read;
} }
#else #else
i_read = read( dvdcss->i_fd, p_buffer, (size_t)i_blocks * DVDCSS_BLOCK_SIZE ); int i_bytes;
return i_read / DVDCSS_BLOCK_SIZE;
i_bytes = read( dvdcss->i_fd, p_buffer, (size_t)i_blocks * DVDCSS_BLOCK_SIZE );
return i_bytes / DVDCSS_BLOCK_SIZE;
#endif #endif
} }
...@@ -670,11 +752,13 @@ static int _win32_dvdcss_aread( int i_fd, void *p_data, int i_blocks ) ...@@ -670,11 +752,13 @@ static int _win32_dvdcss_aread( int i_fd, void *p_data, int i_blocks )
ResetEvent( hEvent ); ResetEvent( hEvent );
if( fd->lpSendCommand( (void*) &ssc ) == SS_PENDING ) if( fd->lpSendCommand( (void*) &ssc ) == SS_PENDING )
{
WaitForSingleObject( hEvent, INFINITE ); WaitForSingleObject( hEvent, INFINITE );
}
CloseHandle( hEvent ); CloseHandle( hEvent );
if(ssc.SRB_Status != SS_COMP) if( ssc.SRB_Status != SS_COMP )
{ {
return -1; return -1;
} }
...@@ -685,3 +769,4 @@ static int _win32_dvdcss_aread( int i_fd, void *p_data, int i_blocks ) ...@@ -685,3 +769,4 @@ static int _win32_dvdcss_aread( int i_fd, void *p_data, int i_blocks )
} }
#endif #endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* private.h: private DVD reading library data * private.h: private DVD reading library data
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: libdvdcss.h,v 1.3 2001/06/14 02:47:44 sam Exp $ * $Id: libdvdcss.h,v 1.4 2001/07/11 02:01:03 sam Exp $
* *
* Authors: Stphane Borel <stef@via.ecp.fr> * Authors: Stphane Borel <stef@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -34,10 +34,12 @@ struct dvdcss_s ...@@ -34,10 +34,12 @@ struct dvdcss_s
{ {
/* File descriptor */ /* File descriptor */
int i_fd; int i_fd;
int i_seekpos;
/* Decryption stuff */ /* Decryption stuff */
css_t css; css_t css;
boolean_t b_encrypted; boolean_t b_encrypted;
title_key_t *p_keys;
/* Error management */ /* Error management */
char *psz_error; char *psz_error;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* libdvdcss.h: DVD reading library, exported functions. * libdvdcss.h: DVD reading library, exported functions.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: dvdcss.h,v 1.3 2001/06/20 07:43:48 sam Exp $ * $Id: dvdcss.h,v 1.4 2001/07/11 02:01:03 sam Exp $
* *
* Authors: Stphane Borel <stef@via.ecp.fr> * Authors: Stphane Borel <stef@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -46,7 +46,6 @@ extern dvdcss_handle dvdcss_open ( char *psz_target, ...@@ -46,7 +46,6 @@ extern dvdcss_handle dvdcss_open ( char *psz_target,
int i_flags ); int i_flags );
extern int dvdcss_close ( dvdcss_handle ); extern int dvdcss_close ( dvdcss_handle );
extern int dvdcss_crack ( dvdcss_handle, extern int dvdcss_crack ( dvdcss_handle,
int i_title,
int i_block ); int i_block );
extern int dvdcss_seek ( dvdcss_handle, extern int dvdcss_seek ( dvdcss_handle,
int i_blocks ); int i_blocks );
......
*.a
*.so *.so
*.so.* *.so.*
*.a
*.so
*.so.*
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/alsa.so: $(PLUGIN_C) ../../plugins/alsa.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ALSA) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ALSA)
../../lib/alsa.a: $(BUILTIN_C) ../../plugins/alsa.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* aout_alsa.c : Alsa functions library * aout_alsa.c : Alsa functions library
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * Copyright (C) 2000 VideoLAN
* $Id: aout_alsa.c,v 1.16 2001/05/30 17:03:11 sam Exp $ * $Id: aout_alsa.c,v 1.17 2001/07/11 02:01:03 sam Exp $
* *
* Authors: Henri Fallon <henri@videolan.org> - Original Author * Authors: Henri Fallon <henri@videolan.org> - Original Author
* Jeffrey Baker <jwbaker@acm.org> - Port to ALSA 1.0 API * Jeffrey Baker <jwbaker@acm.org> - Port to ALSA 1.0 API
...@@ -94,9 +94,8 @@ static int aout_Probe( probedata_t *p_data ) ...@@ -94,9 +94,8 @@ static int aout_Probe( probedata_t *p_data )
SND_PCM_STREAM_PLAYBACK, 0 ); SND_PCM_STREAM_PLAYBACK, 0 );
if( i_open_return ) if( i_open_return )
{ {
intf_ErrMsg( "Aout_alsa: error opening alsa device in aout_probe(%d)" intf_WarnMsg( 2, "aout info: could not probe ALSA device (%s)",
" : %s", i_open_return, snd_strerror( i_open_return ) ); snd_strerror( i_open_return ) );
intf_WarnMsg( 1, "Aout_alsa : module scored 0" );
return ( 0 ); return ( 0 );
} }
...@@ -105,15 +104,13 @@ static int aout_Probe( probedata_t *p_data ) ...@@ -105,15 +104,13 @@ static int aout_Probe( probedata_t *p_data )
if( i_close_return ) if( i_close_return )
{ {
intf_ErrMsg( "Aout_alsa: error closing alsa device in aout_probe(%d)" intf_ErrMsg( "aout error: could not close ALSA device (%s)",
" : %s", i_close_return, snd_strerror( i_close_return ) ); snd_strerror( i_close_return ) );
intf_WarnMsg( 1, "Aout_alsa : module scored 0" );
return( 0 ); return( 0 );
} }
if( TestMethod( AOUT_METHOD_VAR, "alsa" ) ) if( TestMethod( AOUT_METHOD_VAR, "alsa" ) )
{ {
intf_WarnMsg( 1, "Aout_alsa : module scored 999" );
return( 999 ); return( 999 );
} }
...@@ -135,7 +132,7 @@ static int aout_Open( aout_thread_t *p_aout ) ...@@ -135,7 +132,7 @@ static int aout_Open( aout_thread_t *p_aout )
p_aout->p_sys = malloc( sizeof( aout_sys_t ) ); p_aout->p_sys = malloc( sizeof( aout_sys_t ) );
if( p_aout->p_sys == NULL ) if( p_aout->p_sys == NULL )
{ {
intf_ErrMsg( "Aout_alsa : Could not allocate memory : %s", intf_ErrMsg( "aout error: failed allocating memory for ALSA (%s)",
strerror(ENOMEM) ); strerror(ENOMEM) );
return( 1 ); return( 1 );
} }
...@@ -151,13 +148,12 @@ static int aout_Open( aout_thread_t *p_aout ) ...@@ -151,13 +148,12 @@ static int aout_Open( aout_thread_t *p_aout )
"plug:0,0", "plug:0,0",
SND_PCM_STREAM_PLAYBACK, 0) ) ) SND_PCM_STREAM_PLAYBACK, 0) ) )
{ {
intf_ErrMsg( "Could not open alsa device; exit = %i", intf_ErrMsg( "aout error: could not open ALSA device (%s)",
i_open_returns ); snd_strerror(i_open_returns) );
intf_ErrMsg( "This means : %s", snd_strerror(i_open_returns) );
return( -1 ); return( -1 );
} }
intf_DbgMsg( "Aout_alsa : Alsa device successfully opened" ); intf_DbgMsg( "aout info: ALSA device successfully opened" );
return( 0 ); return( 0 );
} }
...@@ -180,7 +176,8 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -180,7 +176,8 @@ static int aout_SetFormat( aout_thread_t *p_aout )
snd_pcm_hw_params_alloca(&p_hw); snd_pcm_hw_params_alloca(&p_hw);
snd_pcm_sw_params_alloca(&p_sw); snd_pcm_sw_params_alloca(&p_sw);
switch (p_aout->i_format) { switch (p_aout->i_format)
{
case AOUT_FMT_S16_LE: case AOUT_FMT_S16_LE:
i_format = SND_PCM_FORMAT_S16_LE; i_format = SND_PCM_FORMAT_S16_LE;
p_aout->p_sys->bytes_per_sample = 2; p_aout->p_sys->bytes_per_sample = 2;
...@@ -199,7 +196,7 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -199,7 +196,7 @@ static int aout_SetFormat( aout_thread_t *p_aout )
i_rv = snd_pcm_hw_params_any( p_aout->p_sys->p_alsa_handle, p_hw ); i_rv = snd_pcm_hw_params_any( p_aout->p_sys->p_alsa_handle, p_hw );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to retrieve initial parameters." ); intf_ErrMsg( "aout error: unable to retrieve initial parameters" );
return( -1 ); return( -1 );
} }
...@@ -207,7 +204,7 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -207,7 +204,7 @@ static int aout_SetFormat( aout_thread_t *p_aout )
SND_PCM_ACCESS_RW_INTERLEAVED ); SND_PCM_ACCESS_RW_INTERLEAVED );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set interleaved stream format." ); intf_ErrMsg( "aout error: unable to set interleaved stream format" );
return( -1 ); return( -1 );
} }
...@@ -215,8 +212,8 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -215,8 +212,8 @@ static int aout_SetFormat( aout_thread_t *p_aout )
p_hw, i_format ); p_hw, i_format );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set stream sample size and word" intf_ErrMsg( "aout error: unable to set stream sample size and word"
" order." ); " order" );
return( -1 ); return( -1 );
} }
...@@ -224,7 +221,7 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -224,7 +221,7 @@ static int aout_SetFormat( aout_thread_t *p_aout )
p_aout->i_channels ); p_aout->i_channels );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set number of output channels." ); intf_ErrMsg( "aout error: unable to set number of output channels" );
return( -1 ); return( -1 );
} }
...@@ -232,10 +229,9 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -232,10 +229,9 @@ static int aout_SetFormat( aout_thread_t *p_aout )
p_aout->l_rate, 0 ); p_aout->l_rate, 0 );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set sample rate." ); intf_ErrMsg( "aout error: unable to set sample rate" );
return( -1 ); return( -1 );
} }
else
p_aout->p_sys->rate = i_rv; p_aout->p_sys->rate = i_rv;
i_rv = snd_pcm_hw_params_set_buffer_time_near( p_aout->p_sys->p_alsa_handle, i_rv = snd_pcm_hw_params_set_buffer_time_near( p_aout->p_sys->p_alsa_handle,
...@@ -243,26 +239,24 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -243,26 +239,24 @@ static int aout_SetFormat( aout_thread_t *p_aout )
0 ); 0 );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set buffer time." ); intf_ErrMsg( "aout error: unable to set buffer time" );
return( -1 ); return( -1 );
} }
else
p_aout->p_sys->buffer_time = i_rv; p_aout->p_sys->buffer_time = i_rv;
i_rv = snd_pcm_hw_params_set_period_time_near( p_aout->p_sys->p_alsa_handle, i_rv = snd_pcm_hw_params_set_period_time_near( p_aout->p_sys->p_alsa_handle,
p_hw, p_aout->p_sys->buffer_time / p_aout->p_sys->bytes_per_frame, 0 ); p_hw, p_aout->p_sys->buffer_time / p_aout->p_sys->bytes_per_frame, 0 );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set period time." ); intf_ErrMsg( "aout error: unable to set period time" );
return( -1 ); return( -1 );
} }
else
p_aout->p_sys->period_time = i_rv; p_aout->p_sys->period_time = i_rv;
i_rv = snd_pcm_hw_params(p_aout->p_sys->p_alsa_handle, p_hw); i_rv = snd_pcm_hw_params(p_aout->p_sys->p_alsa_handle, p_hw);
if (i_rv < 0) if (i_rv < 0)
{ {
intf_ErrMsg( "Aout_alsa: Unable to set hardware configuration." ); intf_ErrMsg( "aout error: unable to set hardware configuration" );
return( -1 ); return( -1 );
} }
...@@ -286,16 +280,15 @@ static int aout_SetFormat( aout_thread_t *p_aout ) ...@@ -286,16 +280,15 @@ static int aout_SetFormat( aout_thread_t *p_aout )
i_rv = snd_pcm_sw_params( p_aout->p_sys->p_alsa_handle, p_sw ); i_rv = snd_pcm_sw_params( p_aout->p_sys->p_alsa_handle, p_sw );
if( i_rv < 0 ) if( i_rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: Unable to set software configuration." ); intf_ErrMsg( "aout error: unable to set software configuration" );
return( -1 ); return( -1 );
} }
return( 0 ); return( 0 );
} }
/***************************************************************************** /*****************************************************************************
* static void aout_HandleXrun : reprepare the output * aout_HandleXrun : reprepare the output
***************************************************************************** *****************************************************************************
* When buffer gets empty, the driver goes in "Xrun" state, where it needs * When buffer gets empty, the driver goes in "Xrun" state, where it needs
* to be reprepared before playing again * to be reprepared before playing again
...@@ -304,13 +297,15 @@ static void aout_HandleXrun(aout_thread_t *p_aout) ...@@ -304,13 +297,15 @@ static void aout_HandleXrun(aout_thread_t *p_aout)
{ {
int i_rv; int i_rv;
intf_ErrMsg( "Aout_alsa: resetting output after buffer underrun." ); intf_ErrMsg( "aout error: resetting output after buffer underrun" );
i_rv = snd_pcm_reset( p_aout->p_sys->p_alsa_handle ); i_rv = snd_pcm_reset( p_aout->p_sys->p_alsa_handle );
i_rv = snd_pcm_prepare( p_aout->p_sys->p_alsa_handle ); i_rv = snd_pcm_prepare( p_aout->p_sys->p_alsa_handle );
if( i_rv < 0 ) if( i_rv < 0 )
intf_ErrMsg( "Aout_alsa: Unable to recover from buffer underrun: %s", {
intf_ErrMsg( "aout error: unable to recover from buffer underrun (%s)",
snd_strerror( i_rv ) ); snd_strerror( i_rv ) );
}
} }
...@@ -334,8 +329,7 @@ static long aout_GetBufInfo( aout_thread_t *p_aout, long l_buffer_limit ) ...@@ -334,8 +329,7 @@ static long aout_GetBufInfo( aout_thread_t *p_aout, long l_buffer_limit )
if( i_alsa_get_status_returns ) if( i_alsa_get_status_returns )
{ {
intf_ErrMsg ( "Aout_alsa: Error getting alsa buffer info (%d) : %s", intf_ErrMsg ( "aout error: failed getting alsa buffer info (%s)",
i_alsa_get_status_returns,
snd_strerror ( i_alsa_get_status_returns ) ); snd_strerror ( i_alsa_get_status_returns ) );
return ( -1 ); return ( -1 );
} }
...@@ -352,7 +346,7 @@ static long aout_GetBufInfo( aout_thread_t *p_aout, long l_buffer_limit ) ...@@ -352,7 +346,7 @@ static long aout_GetBufInfo( aout_thread_t *p_aout, long l_buffer_limit )
break; break;
default: default:
intf_ErrMsg( "Aout_alsa: Encountered unhandled condition %i!", intf_ErrMsg( "aout error: unhandled condition %i",
snd_pcm_status_get_state( p_status ) ); snd_pcm_status_get_state( p_status ) );
break; break;
} }
...@@ -383,7 +377,7 @@ static void aout_Play( aout_thread_t *p_aout, byte_t *buffer, int i_size ) ...@@ -383,7 +377,7 @@ static void aout_Play( aout_thread_t *p_aout, byte_t *buffer, int i_size )
if( (signed int) rv < 0 ) if( (signed int) rv < 0 )
{ {
intf_ErrMsg( "Aout_alsa: error writing to output: %s", intf_ErrMsg( "aout error: failed writing to output (%s)",
snd_strerror( rv ) ); snd_strerror( rv ) );
return; return;
} }
...@@ -403,13 +397,13 @@ static void aout_Close( aout_thread_t *p_aout ) ...@@ -403,13 +397,13 @@ static void aout_Close( aout_thread_t *p_aout )
if( i_close_returns ) if( i_close_returns )
{ {
intf_ErrMsg( "Aout_alsa: error closing alsa device (%d): %s", intf_ErrMsg( "aout error: failed closing ALSA device (%s)",
i_close_returns, snd_strerror( i_close_returns ) ); i_close_returns, snd_strerror( i_close_returns ) );
} }
free( p_aout->p_sys ); free( p_aout->p_sys );
intf_DbgMsg( "Aout_alsa : Alsa device closed" ); intf_DbgMsg( "aout: ALSA device closed" );
} }
/***************************************************************************** /*****************************************************************************
...@@ -425,3 +419,4 @@ void _M( aout_getfunctions )( function_list_t * p_function_list ) ...@@ -425,3 +419,4 @@ void _M( aout_getfunctions )( function_list_t * p_function_list )
p_function_list->functions.aout.pf_play = aout_Play; p_function_list->functions.aout.pf_play = aout_Play;
p_function_list->functions.aout.pf_close = aout_Close; p_function_list->functions.aout.pf_close = aout_Close;
} }
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/beos.so: $(PLUGIN_CPP) ../../plugins/beos.so: $(PLUGIN_CPP)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_BEOS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_BEOS)
../../lib/beos.a: $(BUILTIN_CPP) ../../plugins/beos.a: $(BUILTIN_CPP)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/darwin.so: $(PLUGIN_C) ../../plugins/darwin.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DARWIN) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DARWIN)
../../lib/darwin.a: $(BUILTIN_C) ../../plugins/darwin.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/directx.so: $(PLUGIN_C) ../../plugins/directx.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DIRECTX) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DIRECTX)
../../lib/directx.a: $(BUILTIN_C) ../../plugins/directx.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -40,24 +40,24 @@ $(BUILTIN_DOWNMIX3DN): BUILTIN_DOWNMIX3DN_%.o: %.c ...@@ -40,24 +40,24 @@ $(BUILTIN_DOWNMIX3DN): BUILTIN_DOWNMIX3DN_%.o: %.c
# Real targets # Real targets
# #
../../lib/downmix.so: $(PLUGIN_DOWNMIX) ../../plugins/downmix.so: $(PLUGIN_DOWNMIX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/downmix.a: $(BUILTIN_DOWNMIX) ../../plugins/downmix.a: $(BUILTIN_DOWNMIX)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/downmixsse.so: $(PLUGIN_DOWNMIXSSE) ../../plugins/downmixsse.so: $(PLUGIN_DOWNMIXSSE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/downmixsse.a: $(BUILTIN_DOWNMIXSSE) ../../plugins/downmixsse.a: $(BUILTIN_DOWNMIXSSE)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/downmix3dn.so: $(PLUGIN_DOWNMIX3DN) ../../plugins/downmix3dn.so: $(PLUGIN_DOWNMIX3DN)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/downmix3dn.a: $(BUILTIN_DOWNMIX3DN) ../../plugins/downmix3dn.a: $(BUILTIN_DOWNMIX3DN)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* downmix.c : AC3 downmix module * downmix.c : AC3 downmix module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: downmix.c,v 1.2 2001/05/30 17:03:12 sam Exp $ * $Id: downmix.c,v 1.3 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -95,7 +95,8 @@ static void downmix_getfunctions( function_list_t * p_function_list ) ...@@ -95,7 +95,8 @@ static void downmix_getfunctions( function_list_t * p_function_list )
*****************************************************************************/ *****************************************************************************/
static int downmix_Probe( probedata_t *p_data ) static int downmix_Probe( probedata_t *p_data )
{ {
if( TestMethod( DOWNMIX_METHOD_VAR, "downmix" ) ) if( TestMethod( DOWNMIX_METHOD_VAR, "downmix" )
|| TestMethod( DOWNMIX_METHOD_VAR, "c" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* downmix3dn.c : accelerated 3D Now! AC3 downmix module * downmix3dn.c : accelerated 3D Now! AC3 downmix module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: downmix3dn.c,v 1.3 2001/06/03 12:47:21 sam Exp $ * $Id: downmix3dn.c,v 1.4 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -100,7 +100,8 @@ static int downmix_Probe( probedata_t *p_data ) ...@@ -100,7 +100,8 @@ static int downmix_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( DOWNMIX_METHOD_VAR, "downmix3dn" ) ) if( TestMethod( DOWNMIX_METHOD_VAR, "downmix3dn" )
|| TestMethod( DOWNMIX_METHOD_VAR, "3dn" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* downmixsse.c : accelerated SSE AC3 downmix module * downmixsse.c : accelerated SSE AC3 downmix module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: downmixsse.c,v 1.3 2001/06/03 12:47:21 sam Exp $ * $Id: downmixsse.c,v 1.4 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -100,7 +100,8 @@ static int downmix_Probe( probedata_t *p_data ) ...@@ -100,7 +100,8 @@ static int downmix_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( DOWNMIX_METHOD_VAR, "downmixsse" ) ) if( TestMethod( DOWNMIX_METHOD_VAR, "downmixsse" )
|| TestMethod( DOWNMIX_METHOD_VAR, "sse" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/dsp.so: $(PLUGIN_C) ../../plugins/dsp.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/dsp.a: $(BUILTIN_C) ../../plugins/dsp.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -26,17 +26,17 @@ include ../../Makefile.modules ...@@ -26,17 +26,17 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/null.so: $(PLUGIN_NULL) ../../plugins/null.so: $(PLUGIN_NULL)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/null.a: $(BUILTIN_NULL) ../../plugins/null.a: $(BUILTIN_NULL)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/dummy.so: $(PLUGIN_DUMMY) ../../plugins/dummy.so: $(PLUGIN_DUMMY)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/dummy.a: $(BUILTIN_DUMMY) ../../plugins/dummy.a: $(BUILTIN_DUMMY)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -31,17 +31,17 @@ $(BUILTIN_DVD): BUILTIN_%.o: %.c ...@@ -31,17 +31,17 @@ $(BUILTIN_DVD): BUILTIN_%.o: %.c
# #
ifeq (1,$(LOCAL_LIBDVDCSS)) ifeq (1,$(LOCAL_LIBDVDCSS))
../../lib/dvd.so: libdvdcss $(PLUGIN_DVD) ../../plugins/dvd.so: libdvdcss $(PLUGIN_DVD)
$(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) ../../lib/libdvdcss.a $(LIB_DVD) $(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) ../../lib/libdvdcss.a $(LIB_DVD)
../../lib/dvd.a: libdvdcss $(BUILTIN_DVD) ../../plugins/dvd.a: libdvdcss $(BUILTIN_DVD)
ar r $@ $(BUILTIN_DVD) ar r $@ $(BUILTIN_DVD)
$(RANLIB) $@ $(RANLIB) $@
else else
../../lib/dvd.so: $(PLUGIN_DVD) ../../plugins/dvd.so: $(PLUGIN_DVD)
$(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) $(LIB_DVD) $(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) $(LIB_DVD)
../../lib/dvd.a: $(BUILTIN_DVD) ../../plugins/dvd.a: $(BUILTIN_DVD)
ar r $@ $(BUILTIN_DVD) ar r $@ $(BUILTIN_DVD)
$(RANLIB) $@ $(RANLIB) $@
endif endif
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* -dvd_udf to find files * -dvd_udf to find files
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: input_dvd.c,v 1.78 2001/06/29 11:34:28 stef Exp $ * $Id: input_dvd.c,v 1.79 2001/07/11 02:01:04 sam Exp $
* *
* Author: Stphane Borel <stef@via.ecp.fr> * Author: Stphane Borel <stef@via.ecp.fr>
* *
...@@ -334,13 +334,11 @@ static void DVDOpen( struct input_thread_s *p_input ) ...@@ -334,13 +334,11 @@ static void DVDOpen( struct input_thread_s *p_input )
if( strlen( p_input->p_source ) > 4 if( strlen( p_input->p_source ) > 4
&& !strncasecmp( p_input->p_source, "dvd:", 4 ) ) && !strncasecmp( p_input->p_source, "dvd:", 4 ) )
{ {
dvdhandle = dvdcss_open( p_input->p_source + 4, dvdhandle = dvdcss_open( p_input->p_source + 4, DVDCSS_INIT_QUIET );
DVDCSS_INIT_QUIET );
} }
else else
{ {
dvdhandle = dvdcss_open( p_input->p_source, dvdhandle = dvdcss_open( p_input->p_source, DVDCSS_INIT_QUIET );
DVDCSS_INIT_QUIET );
} }
if( dvdhandle == NULL ) if( dvdhandle == NULL )
...@@ -442,7 +440,6 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area ) ...@@ -442,7 +440,6 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
* CSS cracking has to be done again * CSS cracking has to be done again
*/ */
dvdcss_crack( p_dvd->dvdhandle, dvdcss_crack( p_dvd->dvdhandle,
vmg.title_inf.p_attr[p_dvd->i_title-1].i_title_set_num,
vts.i_pos + vts.manager_inf.i_title_vob_start_sector ); vts.i_pos + vts.manager_inf.i_title_vob_start_sector );
/* /*
...@@ -927,10 +924,9 @@ intf_WarnMsg( 2, "Sector: 0x%x Read: %d Chapter: %d", p_dvd->i_sector, i_block_o ...@@ -927,10 +924,9 @@ intf_WarnMsg( 2, "Sector: 0x%x Read: %d Chapter: %d", p_dvd->i_sector, i_block_o
< p_input->stream.p_selected_area->i_size ); < p_input->stream.p_selected_area->i_size );
b_eof = b_eot && ( ( p_dvd->i_title + 1 ) >= p_input->stream.i_area_nb ); b_eof = b_eot && ( ( p_dvd->i_title + 1 ) >= p_input->stream.i_area_nb );
vlc_mutex_unlock( &p_input->stream.stream_lock );
if( b_eof ) if( b_eof )
{ {
vlc_mutex_unlock( &p_input->stream.stream_lock );
return 1; return 1;
} }
...@@ -938,12 +934,13 @@ intf_WarnMsg( 2, "Sector: 0x%x Read: %d Chapter: %d", p_dvd->i_sector, i_block_o ...@@ -938,12 +934,13 @@ intf_WarnMsg( 2, "Sector: 0x%x Read: %d Chapter: %d", p_dvd->i_sector, i_block_o
{ {
intf_WarnMsg( 4, "dvd info: new title" ); intf_WarnMsg( 4, "dvd info: new title" );
p_dvd->i_title++; p_dvd->i_title++;
vlc_mutex_lock( &p_input->stream.stream_lock );
DVDSetArea( p_input, p_input->stream.pp_areas[p_dvd->i_title] ); DVDSetArea( p_input, p_input->stream.pp_areas[p_dvd->i_title] );
vlc_mutex_unlock( &p_input->stream.stream_lock ); vlc_mutex_unlock( &p_input->stream.stream_lock );
return 0; return 0;
} }
vlc_mutex_unlock( &p_input->stream.stream_lock );
if( i_read_blocks == i_block_once ) if( i_read_blocks == i_block_once )
{ {
return 0; return 0;
......
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/esd.so: $(PLUGIN_C) ../../plugins/esd.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ESD) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ESD)
../../lib/esd.a: $(BUILTIN_C) ../../plugins/esd.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/fb.so: $(PLUGIN_C) ../../plugins/fb.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/fb.a: $(BUILTIN_C) ../../plugins/fb.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/ggi.so: $(PLUGIN_C) ../../plugins/ggi.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GGI) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GGI)
../../lib/ggi.a: $(BUILTIN_C) ../../plugins/ggi.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -30,10 +30,10 @@ $(BUILTIN_GLIDE): BUILTIN_%.o: %.c ...@@ -30,10 +30,10 @@ $(BUILTIN_GLIDE): BUILTIN_%.o: %.c
# Real targets # Real targets
# #
../../lib/glide.so: $(PLUGIN_GLIDE) ../../plugins/glide.so: $(PLUGIN_GLIDE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GLIDE) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GLIDE)
../../lib/glide.a: $(BUILTIN_GLIDE) ../../plugins/glide.a: $(BUILTIN_GLIDE)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -50,18 +50,18 @@ $(BUILTIN_GNOME): BUILTIN_GNOME_%.o: %.c ...@@ -50,18 +50,18 @@ $(BUILTIN_GNOME): BUILTIN_GNOME_%.o: %.c
# Real targets # Real targets
# #
../../lib/gtk.so: $(PLUGIN_GTK) $(PLUGIN_GTKCOMMON) ../../plugins/gtk.so: $(PLUGIN_GTK) $(PLUGIN_GTKCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GTK) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GTK)
../../lib/gtk.a: $(BUILTIN_GTK) ../../plugins/gtk.a: $(BUILTIN_GTK)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/gnome.so: $(PLUGIN_GNOME) $(PLUGIN_GTKCOMMON) ../../plugins/gnome.so: $(PLUGIN_GNOME) $(PLUGIN_GTKCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GNOME) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GNOME)
../../lib/gnome.a: $(BUILTIN_GNOME) ../../plugins/gnome.a: $(BUILTIN_GNOME)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -69,38 +69,38 @@ $(BUILTIN_IDCTALTIVEC): BUILTIN_IDCTALTIVEC_%.o: %.c ...@@ -69,38 +69,38 @@ $(BUILTIN_IDCTALTIVEC): BUILTIN_IDCTALTIVEC_%.o: %.c
# Real targets # Real targets
# #
../../lib/idct.so: $(PLUGIN_IDCT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C) ../../plugins/idct.so: $(PLUGIN_IDCT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/idct.a: $(BUILTIN_IDCT) ../../plugins/idct.a: $(BUILTIN_IDCT)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C) ../../plugins/idctclassic.so: $(PLUGIN_IDCTCLASSIC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/idctclassic.a: $(BUILTIN_IDCTCLASSIC) ../../plugins/idctclassic.a: $(BUILTIN_IDCTCLASSIC)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX) ../../plugins/idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/idctmmx.a: $(BUILTIN_IDCTMMX) ../../plugins/idctmmx.a: $(BUILTIN_IDCTMMX)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/idctmmxext.so: $(PLUGIN_IDCTMMXEXT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX) ../../plugins/idctmmxext.so: $(PLUGIN_IDCTMMXEXT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/idctmmxext.a: $(BUILTIN_IDCTMMXEXT) ../../plugins/idctmmxext.a: $(BUILTIN_IDCTMMXEXT)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/idctaltivec.so: $(PLUGIN_IDCTALTIVEC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C) ../../plugins/idctaltivec.so: $(PLUGIN_IDCTALTIVEC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_IDCTALTIVEC) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_IDCTALTIVEC)
../../lib/idctaltivec.a: $(BUILTIN_IDCTALTIVEC) ../../plugins/idctaltivec.a: $(BUILTIN_IDCTALTIVEC)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* idct.c : IDCT module * idct.c : IDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: idct.c,v 1.11 2001/06/03 12:47:21 sam Exp $ * $Id: idct.c,v 1.12 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -101,7 +101,8 @@ static void idct_getfunctions( function_list_t * p_function_list ) ...@@ -101,7 +101,8 @@ static void idct_getfunctions( function_list_t * p_function_list )
*****************************************************************************/ *****************************************************************************/
static int idct_Probe( probedata_t *p_data ) static int idct_Probe( probedata_t *p_data )
{ {
if( TestMethod( IDCT_METHOD_VAR, "idct" ) ) if( TestMethod( IDCT_METHOD_VAR, "idct" )
|| TestMethod( IDCT_METHOD_VAR, "c" ))
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* idctaltivec.c : Altivec IDCT module * idctaltivec.c : Altivec IDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: idctaltivec.c,v 1.8 2001/06/03 12:47:21 sam Exp $ * $Id: idctaltivec.c,v 1.9 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -108,7 +108,8 @@ static int idct_Probe( probedata_t *p_data ) ...@@ -108,7 +108,8 @@ static int idct_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( IDCT_METHOD_VAR, "idctaltivec" ) ) if( TestMethod( IDCT_METHOD_VAR, "idctaltivec" )
|| TestMethod( IDCT_METHOD_VAR, "altivec" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* idctclassic.c : Classic IDCT module * idctclassic.c : Classic IDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: idctclassic.c,v 1.11 2001/06/03 12:47:21 sam Exp $ * $Id: idctclassic.c,v 1.12 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -103,7 +103,8 @@ static void idct_getfunctions( function_list_t * p_function_list ) ...@@ -103,7 +103,8 @@ static void idct_getfunctions( function_list_t * p_function_list )
*****************************************************************************/ *****************************************************************************/
static int idct_Probe( probedata_t *p_data ) static int idct_Probe( probedata_t *p_data )
{ {
if( TestMethod( IDCT_METHOD_VAR, "idctclassic" ) ) if( TestMethod( IDCT_METHOD_VAR, "idctclassic" )
|| TestMethod( IDCT_METHOD_VAR, "classic" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* idctmmx.c : MMX IDCT module * idctmmx.c : MMX IDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: idctmmx.c,v 1.13 2001/06/03 12:47:21 sam Exp $ * $Id: idctmmx.c,v 1.14 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Aaron Holtzman <aholtzma@ess.engr.uvic.ca> * Authors: Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
* Michel Lespinasse <walken@zoy.org> * Michel Lespinasse <walken@zoy.org>
...@@ -113,7 +113,8 @@ static int idct_Probe( probedata_t *p_data ) ...@@ -113,7 +113,8 @@ static int idct_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( IDCT_METHOD_VAR, "idctmmx" ) ) if( TestMethod( IDCT_METHOD_VAR, "idctmmx" )
|| TestMethod( IDCT_METHOD_VAR, "mmx" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* idctmmxext.c : MMX EXT IDCT module * idctmmxext.c : MMX EXT IDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: idctmmxext.c,v 1.10 2001/06/03 12:47:21 sam Exp $ * $Id: idctmmxext.c,v 1.11 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Aaron Holtzman <aholtzma@ess.engr.uvic.ca> * Authors: Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
* Michel Lespinasse <walken@zoy.org> * Michel Lespinasse <walken@zoy.org>
...@@ -113,7 +113,8 @@ static int idct_Probe( probedata_t *p_data ) ...@@ -113,7 +113,8 @@ static int idct_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( IDCT_METHOD_VAR, "idctmmxext" ) ) if( TestMethod( IDCT_METHOD_VAR, "idctmmxext" )
|| TestMethod( IDCT_METHOD_VAR, "mmxext" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -44,24 +44,24 @@ $(BUILTIN_IMDCT3DN): BUILTIN_IMDCT3DN_%.o: %.c ...@@ -44,24 +44,24 @@ $(BUILTIN_IMDCT3DN): BUILTIN_IMDCT3DN_%.o: %.c
# Real targets # Real targets
# #
../../lib/imdct.so: $(PLUGIN_IMDCT) $(PLUGIN_IMDCTCOMMON) ../../plugins/imdct.so: $(PLUGIN_IMDCT) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/imdct.a: $(BUILTIN_IMDCT) ../../plugins/imdct.a: $(BUILTIN_IMDCT)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/imdctsse.so: $(PLUGIN_IMDCTSSE) $(PLUGIN_IMDCTCOMMON) ../../plugins/imdctsse.so: $(PLUGIN_IMDCTSSE) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/imdctsse.a: $(BUILTIN_IMDCTSSE) ../../plugins/imdctsse.a: $(BUILTIN_IMDCTSSE)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/imdct3dn.so: $(PLUGIN_IMDCT3DN) $(PLUGIN_IMDCTCOMMON) ../../plugins/imdct3dn.so: $(PLUGIN_IMDCT3DN) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/imdct3dn.a: $(BUILTIN_IMDCT3DN) ../../plugins/imdct3dn.a: $(BUILTIN_IMDCT3DN)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* imdct.c : IMDCT module * imdct.c : IMDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: imdct.c,v 1.3 2001/06/03 12:47:21 sam Exp $ * $Id: imdct.c,v 1.4 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -93,7 +93,8 @@ static void imdct_getfunctions( function_list_t * p_function_list ) ...@@ -93,7 +93,8 @@ static void imdct_getfunctions( function_list_t * p_function_list )
*****************************************************************************/ *****************************************************************************/
static int imdct_Probe( probedata_t *p_data ) static int imdct_Probe( probedata_t *p_data )
{ {
if( TestMethod( IMDCT_METHOD_VAR, "imdct" ) ) if( TestMethod( IMDCT_METHOD_VAR, "imdct" )
|| TestMethod( IMDCT_METHOD_VAR, "c" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* imdct3dn.c : accelerated 3D Now! IMDCT module * imdct3dn.c : accelerated 3D Now! IMDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: imdct3dn.c,v 1.5 2001/06/12 00:30:41 reno Exp $ * $Id: imdct3dn.c,v 1.6 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -98,7 +98,8 @@ static int imdct_Probe( probedata_t *p_data ) ...@@ -98,7 +98,8 @@ static int imdct_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( IMDCT_METHOD_VAR, "imdct3dn" ) ) if( TestMethod( IMDCT_METHOD_VAR, "imdct3dn" )
|| TestMethod( IMDCT_METHOD_VAR, "3dn" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* imdctsse.c : accelerated SSE IMDCT module * imdctsse.c : accelerated SSE IMDCT module
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: imdctsse.c,v 1.5 2001/06/12 00:30:41 reno Exp $ * $Id: imdctsse.c,v 1.6 2001/07/11 02:01:04 sam Exp $
* *
* Authors: Gal Hendryckx <jimmy@via.ecp.fr> * Authors: Gal Hendryckx <jimmy@via.ecp.fr>
* *
...@@ -98,7 +98,8 @@ static int imdct_Probe( probedata_t *p_data ) ...@@ -98,7 +98,8 @@ static int imdct_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( IMDCT_METHOD_VAR, "imdctsse" ) ) if( TestMethod( IMDCT_METHOD_VAR, "imdctsse" )
|| TestMethod( IMDCT_METHOD_VAR, "sse" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -7,6 +7,12 @@ ...@@ -7,6 +7,12 @@
# Objects # Objects
# #
MOCFILES = kinterfacemain.moc.cpp \
kvlcslider.moc.cpp \
kdiskdialog.moc.cpp \
knetdialog.moc.cpp \
ktitlemenu.moc.cpp
PLUGIN_KDE = kde.o \ PLUGIN_KDE = kde.o \
kdeinterface.o \ kdeinterface.o \
kinterfacemain.o \ kinterfacemain.o \
...@@ -15,14 +21,10 @@ PLUGIN_KDE = kde.o \ ...@@ -15,14 +21,10 @@ PLUGIN_KDE = kde.o \
knetdialog.o \ knetdialog.o \
ktitlemenu.o ktitlemenu.o
PLUGIN_KDE_MOC = kinterfacemain.moc.o \ PLUGIN_KDE_MOC = $(MOCFILES:%.cpp=%.o)
kvlcslider.moc.o \
kdiskdialog.moc.o \
knetdialog.moc.o \
ktitlemenu.moc.o
#BUILTIN_KDE = $(PLUGIN_KDE:%.o=BUILTIN_%.o) BUILTIN_KDE = $(PLUGIN_KDE:%.o=BUILTIN_%.o)
#BUILTIN_KDE_MOC = $(PLUGIN_KDE_MOC:%.o=BUILTIN_%.o) BUILTIN_KDE_MOC = $(MOCFILES:%.cpp=BUILTIN_%.o)
ALL_OBJ = $(PLUGIN_KDE) $(PLUGIN_KDE_MOC) $(BUILTIN_KDE) $(BUILTIN_KDE_MOC) ALL_OBJ = $(PLUGIN_KDE) $(PLUGIN_KDE_MOC) $(BUILTIN_KDE) $(BUILTIN_KDE_MOC)
...@@ -32,34 +34,33 @@ ALL_OBJ = $(PLUGIN_KDE) $(PLUGIN_KDE_MOC) $(BUILTIN_KDE) $(BUILTIN_KDE_MOC) ...@@ -32,34 +34,33 @@ ALL_OBJ = $(PLUGIN_KDE) $(PLUGIN_KDE_MOC) $(BUILTIN_KDE) $(BUILTIN_KDE_MOC)
include ../../Makefile.modules include ../../Makefile.modules
$(MOCFILES): %.moc.cpp: %.h
$(MOC) $< -o $@
$(PLUGIN_KDE): %.o: .dep/%.dpp $(PLUGIN_KDE): %.o: .dep/%.dpp
$(PLUGIN_KDE): %.o: %.cpp $(PLUGIN_KDE): %.o: %.cpp
$(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -c -o $@ $< $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -DPLUGIN -DMODULE_NAME=kde -c -o $@ $<
$(PLUGIN_KDE_MOC): %.o: .dep/%.dpp $(PLUGIN_KDE_MOC): %.o: .dep/%.dpp
$(PLUGIN_KDE_MOC): %.o: %.cpp $(PLUGIN_KDE_MOC): %.o: %.cpp
$(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -c -o $@ $< $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -DPLUGIN -DMODULE_NAME=kde -c -o $@ $<
$(PLUGIN_KDE_MOC:%.moc.o=%.moc.cpp): %.moc.cpp: %.h
moc $< -o $@
#$(BUILTIN_KDE): BUILTIN_%.o: .dep/%.dpp $(BUILTIN_KDE): BUILTIN_%.o: .dep/%.dpp
#$(BUILTIN_KDE): BUILTIN_%.o: %.cpp $(BUILTIN_KDE): BUILTIN_%.o: %.cpp
# $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -c -o $@ $< $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -DBUILTIN -DMODULE_NAME=kde -c -o $@ $<
#$(BUILTIN_KDE_MOC): BUILTIN_%.o: dep/%.dpp $(BUILTIN_KDE_MOC): BUILTIN_%.o: .dep/%.dpp
#$(BUILTIN_KDE_MOC): BUILTIN_%.o: %.cpp $(BUILTIN_KDE_MOC): BUILTIN_%.o: %.cpp
# $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -c -o $@ $< $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -DBUILTIN -DMODULE_NAME=kde -c -o $@ $<
#$(BUILTIN_KDE_MOC: %.moc.o=%.cpp): %.moc.cpp: %.h
# $(MOC) $< -o $@
# #
# Real targets # Real targets
# #
../../lib/kde.so: $(PLUGIN_KDE) $(PLUGIN_KDE_MOC) ../../plugins/kde.so: $(PLUGIN_KDE) $(PLUGIN_KDE_MOC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_KDE) -lkfile $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_KDE)
#../../lib/kde.a: $(BUILTIN_KDE) ../../plugins/kde.a: $(BUILTIN_KDE) $(BUILTIN_KDE_MOC)
# ar r $@ $^ ar r $@ $^
# $(RANLIB) $@ $(RANLIB) $@
...@@ -24,7 +24,6 @@ extern "C" ...@@ -24,7 +24,6 @@ extern "C"
#include "threads.h" #include "threads.h"
#include "mtime.h" #include "mtime.h"
#include "tests.h" #include "tests.h"
#include "modules.h"
#include "stream_control.h" #include "stream_control.h"
#include "input_ext-intf.h" #include "input_ext-intf.h"
...@@ -34,6 +33,9 @@ extern "C" ...@@ -34,6 +33,9 @@ extern "C"
#include "interface.h" #include "interface.h"
#include "main.h" #include "main.h"
#include "modules.h"
#include "modules_export.h"
} }
#endif /* _INTF_PLUGIN_H_ */ #endif /* _INTF_PLUGIN_H_ */
/*************************************************************************** /*****************************************************************************
kde.cpp - description * kde.cpp : KDE plugin for vlc
------------------- *****************************************************************************
begin : Sun Mar 25 2001 * Copyright (C) 2001 VideoLAN
copyright : (C) 2001 by andres * $Id: kde.cpp,v 1.3 2001/07/11 02:01:04 sam Exp $
email : dae@chez.com *
***************************************************************************/ * Authors: Andres <dae@chez.com> Sun Mar 25 2001
*
* 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.
*****************************************************************************/
#define MODULE_NAME kde #define MODULE_NAME kde
#include "intf_plugin.h" #include "intf_plugin.h"
...@@ -38,3 +53,4 @@ MODULE_DEACTIVATE_START ...@@ -38,3 +53,4 @@ MODULE_DEACTIVATE_START
MODULE_DEACTIVATE_STOP MODULE_DEACTIVATE_STOP
} /* extern "C" */ } /* extern "C" */
...@@ -30,10 +30,10 @@ $(BUILTIN_MACOSX): BUILTIN_%.o: %.c ...@@ -30,10 +30,10 @@ $(BUILTIN_MACOSX): BUILTIN_%.o: %.c
# Real targets # Real targets
# #
../../lib/macosx.so: $(PLUGIN_MACOSX) ../../plugins/macosx.so: $(PLUGIN_MACOSX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_MACOSX) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_MACOSX)
../../lib/macosx.a: $(BUILTIN_MACOSX) ../../plugins/macosx.a: $(BUILTIN_MACOSX)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -22,10 +22,10 @@ include ../../Makefile.modules ...@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/mga.so: $(PLUGIN_C) ../../plugins/mga.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/mga.a: $(BUILTIN_C) ../../plugins/mga.a: $(BUILTIN_C)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -44,31 +44,31 @@ $(BUILTIN_MOTIONMMXEXT): BUILTIN_MOTIONMMXEXT_%.o: %.c ...@@ -44,31 +44,31 @@ $(BUILTIN_MOTIONMMXEXT): BUILTIN_MOTIONMMXEXT_%.o: %.c
# Real targets # Real targets
# #
../../lib/motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON) ../../plugins/motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motion.a: $(BUILTIN_MOTION) ../../plugins/motion.a: $(BUILTIN_MOTION)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/motionclassic.so: $(PLUGIN_MOTIONCLASSIC) $(PLUGIN_MOTIONCOMMON) ../../plugins/motionclassic.so: $(PLUGIN_MOTIONCLASSIC) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motionclassic.a: $(BUILTIN_MOTIONCLASSIC) ../../plugins/motionclassic.a: $(BUILTIN_MOTIONCLASSIC)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON) ../../plugins/motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motionmmx.a: $(BUILTIN_MOTIONMMX) ../../plugins/motionmmx.a: $(BUILTIN_MOTIONMMX)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON) ../../plugins/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motionmmxext.a: $(BUILTIN_MOTIONMMXEXT) ../../plugins/motionmmxext.a: $(BUILTIN_MOTIONMMXEXT)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* motion.c : C motion compensation module for vlc * motion.c : C motion compensation module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * Copyright (C) 2000 VideoLAN
* $Id: motion.c,v 1.7 2001/06/07 15:27:44 sam Exp $ * $Id: motion.c,v 1.8 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -73,7 +73,8 @@ MODULE_DEACTIVATE_STOP ...@@ -73,7 +73,8 @@ MODULE_DEACTIVATE_STOP
*****************************************************************************/ *****************************************************************************/
int _M( motion_Probe )( probedata_t *p_data ) int _M( motion_Probe )( probedata_t *p_data )
{ {
if( TestMethod( MOTION_METHOD_VAR, "motion" ) ) if( TestMethod( MOTION_METHOD_VAR, "motion" )
|| TestMethod( MOTION_METHOD_VAR, "c" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* motionmmx.c : MMX motion compensation module for vlc * motionmmx.c : MMX motion compensation module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * Copyright (C) 2000 VideoLAN
* $Id: motionmmx.c,v 1.8 2001/06/07 15:27:44 sam Exp $ * $Id: motionmmx.c,v 1.9 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -78,7 +78,8 @@ int _M( motion_Probe )( probedata_t *p_data ) ...@@ -78,7 +78,8 @@ int _M( motion_Probe )( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( MOTION_METHOD_VAR, "motionmmx" ) ) if( TestMethod( MOTION_METHOD_VAR, "motionmmx" )
|| TestMethod( MOTION_METHOD_VAR, "mmx" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* motionmmxext.c : MMX EXT motion compensation module for vlc * motionmmxext.c : MMX EXT motion compensation module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * Copyright (C) 2000 VideoLAN
* $Id: motionmmxext.c,v 1.8 2001/06/07 15:27:44 sam Exp $ * $Id: motionmmxext.c,v 1.9 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -78,7 +78,8 @@ int _M( motion_Probe )( probedata_t *p_data ) ...@@ -78,7 +78,8 @@ int _M( motion_Probe )( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( MOTION_METHOD_VAR, "motionmmxext" ) ) if( TestMethod( MOTION_METHOD_VAR, "motionmmxext" )
|| TestMethod( MOTION_METHOD_VAR, "mmxext" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -28,24 +28,24 @@ include ../../Makefile.modules ...@@ -28,24 +28,24 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/es.so: $(PLUGIN_ES) ../../plugins/es.so: $(PLUGIN_ES)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/es.a: $(BUILTIN_ES) ../../plugins/es.a: $(BUILTIN_ES)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/ps.so: $(PLUGIN_PS) ../../plugins/ps.so: $(PLUGIN_PS)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/ps.a: $(BUILTIN_PS) ../../plugins/ps.a: $(BUILTIN_PS)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/ts.so: $(PLUGIN_TS) ../../plugins/ts.so: $(PLUGIN_TS)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_TS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_TS)
../../lib/ts.a: $(BUILTIN_TS) ../../plugins/ts.a: $(BUILTIN_TS)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -20,13 +20,13 @@ include ../../Makefile.modules ...@@ -20,13 +20,13 @@ include ../../Makefile.modules
$(PLUGIN_QT): %.o: .dep/%.dpp $(PLUGIN_QT): %.o: .dep/%.dpp
$(PLUGIN_QT): %.o: %.moc $(PLUGIN_QT): %.o: %.moc
$(CC) $(CFLAGS) -DPLUGIN $(PCFLAGS) -I/usr/include/qt -I${QTDIR}/include -c -o $@ $(<:%.moc=%.cpp) $(CC) $(CFLAGS) -DPLUGIN $(PCFLAGS) -I/usr/include/qt -I${QTDIR}/include -DPLUGIN -DMODULE_NAME=qt -c -o $@ $(<:%.moc=%.cpp)
$(PLUGIN_QT:%.o=%.moc): %.moc: %.cpp $(PLUGIN_QT:%.o=%.moc): %.moc: %.cpp
grep -q Q_OBJECT $< && $(MOC) -i $< -o $@ || true grep -q Q_OBJECT $< && $(MOC) -i $< -o $@ || true
$(BUILTIN_QT): BUILTIN_%.o: .dep/%.dpp $(BUILTIN_QT): BUILTIN_%.o: .dep/%.dpp
$(BUILTIN_QT): %.o: %.moc $(BUILTIN_QT): %.o: %.moc
$(CC) $(CFLAGS) -DBUILTIN -I/usr/include/qt -I${QTDIR}/include -c -o $@ $(<:BUILTIN_%.moc=%.cpp) $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/qt -I${QTDIR}/include -DBUILTIN -DMODULE_NAME=qt -c -o $@ $(<:BUILTIN_%.moc=%.cpp)
$(BUILTIN_QT:%.o=%.moc): BUILTIN_%.moc: %.cpp $(BUILTIN_QT:%.o=%.moc): BUILTIN_%.moc: %.cpp
grep -q Q_OBJECT $< && $(MOC) -i $< -o $@ || true grep -q Q_OBJECT $< && $(MOC) -i $< -o $@ || true
...@@ -34,10 +34,10 @@ $(BUILTIN_QT:%.o=%.moc): BUILTIN_%.moc: %.cpp ...@@ -34,10 +34,10 @@ $(BUILTIN_QT:%.o=%.moc): BUILTIN_%.moc: %.cpp
# Real targets # Real targets
# #
../../lib/qt.so: $(PLUGIN_QT) ../../plugins/qt.so: $(PLUGIN_QT)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_QT) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_QT)
../../lib/qt.a: $(BUILTIN_QT) ../../plugins/qt.a: $(BUILTIN_QT)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -30,10 +30,10 @@ $(BUILTIN_SDL): BUILTIN_%.o: %.c ...@@ -30,10 +30,10 @@ $(BUILTIN_SDL): BUILTIN_%.o: %.c
# Real targets # Real targets
# #
../../lib/sdl.so: $(PLUGIN_SDL) ../../plugins/sdl.so: $(PLUGIN_SDL)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_SDL) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_SDL)
../../lib/sdl.a: $(BUILTIN_SDL) ../../plugins/sdl.a: $(BUILTIN_SDL)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vout_sdl.c: SDL video output display method * vout_sdl.c: SDL video output display method
***************************************************************************** *****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN * Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: vout_sdl.c,v 1.56 2001/07/06 08:43:31 sam Exp $ * $Id: vout_sdl.c,v 1.57 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Pierre Baillet <oct@zoy.org> * Pierre Baillet <oct@zoy.org>
...@@ -559,8 +559,14 @@ static void vout_Display( vout_thread_t *p_vout ) ...@@ -559,8 +559,14 @@ static void vout_Display( vout_thread_t *p_vout )
p_vout->p_rendered_pic->i_width, p_vout->p_rendered_pic->i_width,
p_vout->p_rendered_pic->i_height, p_vout->p_rendered_pic->i_height,
SDL_YV12_OVERLAY, SDL_YV12_OVERLAY,
p_vout->p_sys->p_display p_vout->p_sys->p_display );
);
if( p_vout->p_sys->p_overlay != NULL )
{
intf_WarnMsg( 2, "vout: YUV acceleration %s",
p_vout->p_sys->p_overlay->hw_overlay
? "activated" : "unavailable !" );
}
} }
if( p_vout->p_sys->p_overlay == NULL ) if( p_vout->p_sys->p_overlay == NULL )
...@@ -571,28 +577,23 @@ static void vout_Display( vout_thread_t *p_vout ) ...@@ -571,28 +577,23 @@ static void vout_Display( vout_thread_t *p_vout )
} }
else else
{ {
SDL_LockYUVOverlay( p_vout->p_sys->p_overlay );
intf_WarnMsg( 2, "vout: YUV acceleration %s",
p_vout->p_sys->p_overlay->hw_overlay
? "activated" : "unavailable !" );
SDL_LockYUVOverlay(p_vout->p_sys->p_overlay);
/* copy the data into video buffers */ /* copy the data into video buffers */
/* Y first */ /* Y first */
memcpy(p_vout->p_sys->p_overlay->pixels[0], memcpy( p_vout->p_sys->p_overlay->pixels[0],
p_vout->p_rendered_pic->p_y, p_vout->p_rendered_pic->p_y,
p_vout->p_sys->p_overlay->h * p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[0]); p_vout->p_sys->p_overlay->pitches[0] );
/* then V */ /* then V */
memcpy(p_vout->p_sys->p_overlay->pixels[1], memcpy( p_vout->p_sys->p_overlay->pixels[1],
p_vout->p_rendered_pic->p_v, p_vout->p_rendered_pic->p_v,
p_vout->p_sys->p_overlay->h * p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[1] / 2); p_vout->p_sys->p_overlay->pitches[1] / 2 );
/* and U */ /* and U */
memcpy(p_vout->p_sys->p_overlay->pixels[2], memcpy( p_vout->p_sys->p_overlay->pixels[2],
p_vout->p_rendered_pic->p_u, p_vout->p_rendered_pic->p_u,
p_vout->p_sys->p_overlay->h * p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[2] / 2); p_vout->p_sys->p_overlay->pitches[2] / 2 );
#define BUFFER (&p_vout->p_buffer[p_vout->i_buffer_index]) #define BUFFER (&p_vout->p_buffer[p_vout->i_buffer_index])
disp.w = BUFFER->i_pic_width; disp.w = BUFFER->i_pic_width;
......
...@@ -26,17 +26,17 @@ include ../../Makefile.modules ...@@ -26,17 +26,17 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/ncurses.so: $(PLUGIN_NCURSES) ../../plugins/ncurses.so: $(PLUGIN_NCURSES)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_NCURSES) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_NCURSES)
../../lib/ncurses.a: $(BUILTIN_NCURSES) ../../plugins/ncurses.a: $(BUILTIN_NCURSES)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/rc.so: $(PLUGIN_RC) ../../plugins/rc.so: $(PLUGIN_RC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/rc.a: $(BUILTIN_RC) ../../plugins/rc.a: $(BUILTIN_RC)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -33,25 +33,25 @@ include ../../Makefile.modules ...@@ -33,25 +33,25 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/x11.so: $(PLUGIN_X11) ../../plugins/x11.so: $(PLUGIN_X11)
ifeq ($(SYS),nto-qnx) ifeq ($(SYS),nto-qnx)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11) -lsocket $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11) -lsocket
else else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11)
endif endif
../../lib/x11.a: $(BUILTIN_X11) ../../plugins/x11.a: $(BUILTIN_X11)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/xvideo.so: $(PLUGIN_XVIDEO) ../../plugins/xvideo.so: $(PLUGIN_XVIDEO)
ifeq ($(SYS),nto-qnx) ifeq ($(SYS),nto-qnx)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO) -lsocket $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO) -lsocket
else else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO)
endif endif
../../lib/xvideo.a: $(BUILTIN_XVIDEO) ../../plugins/xvideo.a: $(BUILTIN_XVIDEO)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -27,17 +27,17 @@ include ../../Makefile.modules ...@@ -27,17 +27,17 @@ include ../../Makefile.modules
# Real targets # Real targets
# #
../../lib/yuv.so: $(PLUGIN_YUV) ../../plugins/yuv.so: $(PLUGIN_YUV)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_YUV) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_YUV)
../../lib/yuv.a: $(BUILTIN_YUV) ../../plugins/yuv.a: $(BUILTIN_YUV)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
../../lib/yuvmmx.so: $(PLUGIN_YUVMMX) ../../plugins/yuvmmx.so: $(PLUGIN_YUVMMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/yuvmmx.a: $(BUILTIN_YUVMMX) ../../plugins/yuvmmx.a: $(BUILTIN_YUVMMX)
ar r $@ $^ ar r $@ $^
$(RANLIB) $@ $(RANLIB) $@
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* case by optimized functions. * case by optimized functions.
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: video_yuv.c,v 1.14 2001/06/03 12:47:21 sam Exp $ * $Id: video_yuv.c,v 1.15 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* *
...@@ -82,7 +82,8 @@ void _M( yuv_getfunctions )( function_list_t * p_function_list ) ...@@ -82,7 +82,8 @@ void _M( yuv_getfunctions )( function_list_t * p_function_list )
*****************************************************************************/ *****************************************************************************/
static int yuv_Probe( probedata_t *p_data ) static int yuv_Probe( probedata_t *p_data )
{ {
if( TestMethod( YUV_METHOD_VAR, "yuv" ) ) if( TestMethod( YUV_METHOD_VAR, "yuv" )
|| TestMethod( YUV_METHOD_VAR, "c" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* Provides functions to perform the YUV conversion. * Provides functions to perform the YUV conversion.
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: video_yuvmmx.c,v 1.10 2001/06/03 12:47:21 sam Exp $ * $Id: video_yuvmmx.c,v 1.11 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -85,7 +85,8 @@ static int yuv_Probe( probedata_t *p_data ) ...@@ -85,7 +85,8 @@ static int yuv_Probe( probedata_t *p_data )
return( 0 ); return( 0 );
} }
if( TestMethod( YUV_METHOD_VAR, "yuvmmx" ) ) if( TestMethod( YUV_METHOD_VAR, "yuvmmx" )
|| TestMethod( YUV_METHOD_VAR, "mmx" ) )
{ {
return( 999 ); return( 999 );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* modules.c : Built-in and plugin modules management functions * modules.c : Built-in and plugin modules management functions
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: modules.c,v 1.37 2001/06/25 11:34:08 sam Exp $ * $Id: modules.c,v 1.38 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Ethan C. Baldridge <BaldridgeE@cadmus.com> * Ethan C. Baldridge <BaldridgeE@cadmus.com>
...@@ -120,7 +120,7 @@ static module_symbols_t symbols; ...@@ -120,7 +120,7 @@ static module_symbols_t symbols;
void module_InitBank( void ) void module_InitBank( void )
{ {
#ifdef HAVE_DYNAMIC_PLUGINS #ifdef HAVE_DYNAMIC_PLUGINS
static char * path[] = { ".", "lib", PLUGIN_PATH, NULL, NULL }; static char * path[] = { ".", "plugins", PLUGIN_PATH, NULL, NULL };
char ** ppsz_path = path; char ** ppsz_path = path;
char * psz_fullpath; char * psz_fullpath;
...@@ -302,7 +302,7 @@ void module_ManageBank( void ) ...@@ -302,7 +302,7 @@ void module_ManageBank( void )
} }
else else
{ {
intf_WarnMsg( 1, "module: hiding unused plugin module `%s'", intf_WarnMsg( 3, "module: hiding unused plugin module `%s'",
p_module->psz_name ); p_module->psz_name );
HideModule( p_module ); HideModule( p_module );
...@@ -557,7 +557,7 @@ static int AllocatePluginModule( char * psz_filename ) ...@@ -557,7 +557,7 @@ static int AllocatePluginModule( char * psz_filename )
p_module_bank->first = p_module; p_module_bank->first = p_module;
/* Immediate message so that a slow module doesn't make the user wait */ /* Immediate message so that a slow module doesn't make the user wait */
intf_WarnMsgImm( 2, "module: plugin module `%s', %s", intf_WarnMsgImm( 2, "module: new plugin module `%s', %s",
p_module->psz_name, p_module->psz_longname ); p_module->psz_name, p_module->psz_longname );
return( 0 ); return( 0 );
...@@ -673,7 +673,7 @@ static int AllocateBuiltinModule( int ( *pf_init ) ( module_t * ), ...@@ -673,7 +673,7 @@ static int AllocateBuiltinModule( int ( *pf_init ) ( module_t * ),
p_module_bank->first = p_module; p_module_bank->first = p_module;
/* Immediate message so that a slow module doesn't make the user wait */ /* Immediate message so that a slow module doesn't make the user wait */
intf_WarnMsgImm( 2, "module: builtin module `%s', %s", intf_WarnMsgImm( 2, "module: new builtin module `%s', %s",
p_module->psz_name, p_module->psz_longname ); p_module->psz_name, p_module->psz_longname );
return( 0 ); return( 0 );
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* thread, and destroy a previously oppened video output thread. * thread, and destroy a previously oppened video output thread.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * Copyright (C) 2000 VideoLAN
* $Id: video_output.c,v 1.133 2001/07/10 06:07:53 gbazin Exp $ * $Id: video_output.c,v 1.134 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* *
...@@ -196,7 +196,7 @@ vout_thread_t * vout_CreateThread ( int *pi_status ) ...@@ -196,7 +196,7 @@ vout_thread_t * vout_CreateThread ( int *pi_status )
p_vout->b_fullscreen = main_GetIntVariable( VOUT_FULLSCREEN_VAR, p_vout->b_fullscreen = main_GetIntVariable( VOUT_FULLSCREEN_VAR,
VOUT_FULLSCREEN_DEFAULT ); VOUT_FULLSCREEN_DEFAULT );
intf_WarnMsg( 3, "wished configuration: %dx%d, %d/%d bpp (%d Bpl)", intf_WarnMsg( 3, "vout info: asking for %dx%d, %d/%d bpp (%d Bpl)",
p_vout->i_width, p_vout->i_height, p_vout->i_screen_depth, p_vout->i_width, p_vout->i_height, p_vout->i_screen_depth,
p_vout->i_bytes_per_pixel * 8, p_vout->i_bytes_per_line ); p_vout->i_bytes_per_pixel * 8, p_vout->i_bytes_per_line );
...@@ -889,7 +889,7 @@ static int InitThread( vout_thread_t *p_vout ) ...@@ -889,7 +889,7 @@ static int InitThread( vout_thread_t *p_vout )
p_vout->i_width, p_vout->i_height, p_vout->i_screen_depth, p_vout->i_width, p_vout->i_height, p_vout->i_screen_depth,
p_vout->i_bytes_per_pixel * 8 ); p_vout->i_bytes_per_pixel * 8 );
intf_WarnMsg( 3, "actual configuration: %dx%d, %d/%d bpp (%d Bpl), " intf_WarnMsg( 3, "vout info: got %dx%d, %d/%d bpp (%d Bpl), "
"masks: 0x%x/0x%x/0x%x", "masks: 0x%x/0x%x/0x%x",
p_vout->i_width, p_vout->i_height, p_vout->i_screen_depth, p_vout->i_width, p_vout->i_height, p_vout->i_screen_depth,
p_vout->i_bytes_per_pixel * 8, p_vout->i_bytes_per_line, p_vout->i_bytes_per_pixel * 8, p_vout->i_bytes_per_line,
...@@ -1041,7 +1041,7 @@ static void RunThread( vout_thread_t *p_vout) ...@@ -1041,7 +1041,7 @@ static void RunThread( vout_thread_t *p_vout)
p_vout->i_pictures--; p_vout->i_pictures--;
} }
intf_WarnMsg( 1, intf_WarnMsg( 1,
"warning: late picture skipped (%p)", p_pic ); "vout warning: late picture skipped (%p)", p_pic );
vlc_mutex_unlock( &p_vout->picture_lock ); vlc_mutex_unlock( &p_vout->picture_lock );
continue; continue;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vpar_synchro.c : frame dropping routines * vpar_synchro.c : frame dropping routines
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: vpar_synchro.c,v 1.90 2001/05/07 03:14:10 stef Exp $ * $Id: vpar_synchro.c,v 1.91 2001/07/11 02:01:05 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* Samuel Hocevar <sam@via.ecp.fr> * Samuel Hocevar <sam@via.ecp.fr>
...@@ -460,7 +460,8 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type, ...@@ -460,7 +460,8 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type,
if( p_vpar->synchro.i_eta_p if( p_vpar->synchro.i_eta_p
&& p_vpar->synchro.i_eta_p != p_vpar->synchro.i_n_p ) && p_vpar->synchro.i_eta_p != p_vpar->synchro.i_n_p )
{ {
intf_WarnMsg( 3, "Stream periodicity changed from P[%d] to P[%d]", intf_WarnMsg( 3, "vpar info: stream periodicity changed "
"from P[%d] to P[%d]",
p_vpar->synchro.i_n_p, p_vpar->synchro.i_eta_p ); p_vpar->synchro.i_n_p, p_vpar->synchro.i_eta_p );
p_vpar->synchro.i_n_p = p_vpar->synchro.i_eta_p; p_vpar->synchro.i_n_p = p_vpar->synchro.i_eta_p;
} }
...@@ -489,7 +490,8 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type, ...@@ -489,7 +490,8 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type,
if( p_vpar->synchro.i_eta_b if( p_vpar->synchro.i_eta_b
&& p_vpar->synchro.i_eta_b != p_vpar->synchro.i_n_b ) && p_vpar->synchro.i_eta_b != p_vpar->synchro.i_n_b )
{ {
intf_WarnMsg( 3, "Stream periodicity changed from B[%d] to B[%d]", intf_WarnMsg( 3, "vpar info: stream periodicity changed "
"from B[%d] to B[%d]",
p_vpar->synchro.i_n_b, p_vpar->synchro.i_eta_b ); p_vpar->synchro.i_n_b, p_vpar->synchro.i_eta_b );
p_vpar->synchro.i_n_b = p_vpar->synchro.i_eta_b; p_vpar->synchro.i_n_b = p_vpar->synchro.i_eta_b;
} }
......
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