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
N: Gildas Bazin
E: gbazin@netcourrier.com
C: gbazin
D: mingw32 port, various win32 fixes
D: DirectX audio and video output
N: Billy Biggs
E: vektor@dumbterm.net
D: libdvdcss enhancements
N: Stphane Borel
E: stef@via.ecp.fr
C: stef
......
......@@ -11,12 +11,12 @@
#
# 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
#
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
......@@ -83,10 +83,10 @@ CPP_DEP := $(CPP_OBJ:%.o=.dep/%.dpp)
# Translate plugin names
#
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
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
# All symbols must be exported
......@@ -104,6 +104,7 @@ all: vlc ${ALIASES} plugins vlc.app
clean: libdvdcss-clean plugins-clean vlc-clean
rm -f src/*/*.o extras/*/*.o
rm -f lib/*.so lib/*.so.* lib/*.a
rm -f plugins/*.so plugins/*.so.* plugins/*.a
libdvdcss-clean:
cd extras/libdvdcss && $(MAKE) clean
......@@ -144,7 +145,7 @@ endif
plugins-install:
mkdir -p $(DESTDIR)$(libdir)/videolan/vlc
ifneq (,$(PLUGINS))
$(INSTALL) -m 644 $(PLUGINS:%=lib/%.so) $(DESTDIR)$(libdir)/videolan/vlc
$(INSTALL) -m 644 $(PLUGINS:%=plugins/%.so) $(DESTDIR)$(libdir)/videolan/vlc
endif
libdvdcss-install:
......@@ -270,7 +271,7 @@ ifneq (,$(findstring darwin,$(SYS)))
$(INSTALL) vlc vlc.app/Contents/MacOS/
$(INSTALL) share/vlc.icns vlc.app/Contents/Resources/
ifneq (,$(PLUGINS))
$(INSTALL) $(PLUGINS:%=lib/%.so) vlc.app/Contents/MacOS/lib
$(INSTALL) $(PLUGINS:%=plugins/%.so) vlc.app/Contents/MacOS/plugins
endif
$(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share
endif
......@@ -343,14 +344,14 @@ endif
#
plugins: Makefile.modules Makefile.opts Makefile.dep Makefile $(PLUGIN_OBJ)
$(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
#
builtins: Makefile.modules Makefile.opts Makefile.dep Makefile $(BUILTIN_OBJ)
$(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
......
......@@ -72,6 +72,7 @@ LIB_GLIDE = @LIB_GLIDE@
LIB_GNOME = @LIB_GNOME@
LIB_GTK = @LIB_GTK@
LIB_IDCTALTIVEC = @LIB_IDCTALTIVEC@
LIB_KDE = @LIB_KDE@
LIB_MACOSX = @LIB_MACOSX@
LIB_NCURSES = @LIB_NCURSES@
LIB_QT = @LIB_QT@
......
......@@ -4208,7 +4208,11 @@ fi
# Check whether --enable-kde or --disable-kde was given.
if test "${enable_kde+set}" = set; then
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
......@@ -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.
set dummy gtk-config; ac_word=$2
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
echo $ac_n "(cached) $ac_c" 1>&6
else
......@@ -4293,17 +4297,17 @@ if test x$enable_x11 != xno; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
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
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 4302 "configure"
#line 4306 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
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}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -4355,17 +4359,17 @@ if test x$enable_xvideo != xno; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
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
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 4364 "configure"
#line 4368 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
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}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -4403,17 +4407,17 @@ if test "${enable_alsa+set}" = set; then
enableval="$enable_alsa"
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 "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
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 4412 "configure"
#line 4416 "configure"
#include "confdefs.h"
#include <sys/asoundlib.h>
EOF
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}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
......@@ -4430,7 +4434,7 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for main in -lasound""... $ac_c" 1>&6
echo "configure: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_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
......@@ -4438,14 +4442,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lasound $LIBS"
cat > conftest.$ac_ext <<EOF
#line 4442 "configure"
#line 4446 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
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*
eval "ac_cv_lib_$ac_lib_var=yes"
else
......@@ -4526,6 +4530,7 @@ fi
trap '' 1 2 15
......@@ -4708,6 +4713,7 @@ s%@LIB_GLIDE@%$LIB_GLIDE%g
s%@LIB_GNOME@%$LIB_GNOME%g
s%@LIB_GTK@%$LIB_GTK%g
s%@LIB_IDCTALTIVEC@%$LIB_IDCTALTIVEC%g
s%@LIB_KDE@%$LIB_KDE%g
s%@LIB_MACOSX@%$LIB_MACOSX%g
s%@LIB_NCURSES@%$LIB_NCURSES%g
s%@LIB_QT@%$LIB_QT%g
......
......@@ -531,7 +531,11 @@ dnl KDE module
dnl
AC_ARG_ENABLE(kde,
[ --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 Gnome module
......@@ -650,6 +654,7 @@ AC_SUBST(LIB_GLIDE)
AC_SUBST(LIB_GNOME)
AC_SUBST(LIB_GTK)
AC_SUBST(LIB_IDCTALTIVEC)
AC_SUBST(LIB_KDE)
AC_SUBST(LIB_MACOSX)
AC_SUBST(LIB_NCURSES)
AC_SUBST(LIB_QT)
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
* css.h: Structures for DVD authentification and unscrambling
*****************************************************************************
* 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>
*
......@@ -32,27 +32,25 @@ typedef u8 dvd_key_t[KEY_SIZE];
typedef struct disc_s
{
u8 pi_challenge[2*KEY_SIZE];
dvd_key_t pi_key1;
dvd_key_t pi_key2;
dvd_key_t pi_key_check;
u8 p_challenge[2*KEY_SIZE];
dvd_key_t p_key1;
dvd_key_t p_key2;
dvd_key_t p_key_check;
u8 i_varient;
} disc_t;
typedef struct title_key_s
{
int i_occ;
dvd_key_t pi_key;
int i_startlb;
dvd_key_t p_key;
struct title_key_s *p_next;
} title_key_t;
typedef struct css_s
{
int i_agid;
disc_t disc;
u8 pi_disc_key[2048];
int i_title;
int i_title_pos;
dvd_key_t pi_title_key;
u8 p_disc_key[2048];
} css_t;
/*****************************************************************************
......@@ -62,6 +60,6 @@ struct css_s;
int CSSTest ( dvdcss_handle );
int CSSInit ( dvdcss_handle );
int CSSGetKey ( dvdcss_handle );
int CSSGetKey ( dvdcss_handle, int, dvd_key_t );
int CSSDescrambleSector ( u8 * , u8 * );
......@@ -2,7 +2,7 @@
* csstables.h: CSS Tables for DVD unscrambling
*****************************************************************************
* 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>
*
......@@ -29,7 +29,7 @@
* 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,
0x3e, 0x7e, 0x36, 0x2b, 0x6e, 0x2e, 0x66, 0x7b,
......@@ -65,7 +65,7 @@ static u8 pi_css_tab1[ 256 ] =
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,
0x09, 0x08, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e,
......@@ -101,7 +101,7 @@ static u8 pi_css_tab2[ 256 ] =
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,
......@@ -169,7 +169,7 @@ static u8 pi_css_tab3[ 512 ] =
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,
0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
......@@ -205,7 +205,7 @@ static u8 pi_css_tab4[ 256 ] =
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,
0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f,
......@@ -241,7 +241,7 @@ static u8 pi_css_tab5[ 256 ] =
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,
0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF,
......@@ -277,7 +277,7 @@ static u8 pi_crypt_tab0[ 256 ] =
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,
0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F,
......@@ -313,7 +313,7 @@ static u8 pi_crypt_tab1[ 256 ] =
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,
0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77,
......@@ -349,7 +349,7 @@ static u8 pi_crypt_tab2[ 256 ] =
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,
0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C,
......
......@@ -2,7 +2,7 @@
* libdvdcss.c: DVD reading library.
*****************************************************************************
* 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>
* Samuel Hocevar <sam@zoy.org>
......@@ -94,6 +94,7 @@ extern dvdcss_handle dvdcss_open ( char *psz_target, int i_flags )
}
/* Initialize structure */
dvdcss->p_keys = NULL;
dvdcss->b_debug = i_flags & DVDCSS_INIT_DEBUG;
dvdcss->b_errors = !(i_flags & DVDCSS_INIT_QUIET);
dvdcss->psz_error = "no error";
......@@ -151,8 +152,12 @@ extern int dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
/*****************************************************************************
* 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;
if( ! dvdcss->b_encrypted )
......@@ -160,11 +165,23 @@ extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block )
return 0;
}
/* Crack CSS title key for current VTS */
dvdcss->css.i_title = i_title;
dvdcss->css.i_title_pos = i_block;
/* Check if we've already cracked this key */
p_titlekey = dvdcss->p_keys;
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 )
{
......@@ -177,6 +194,27 @@ extern int dvdcss_crack ( dvdcss_handle dvdcss, int i_title, int i_block )
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;
}
......@@ -187,26 +225,42 @@ extern int dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer,
int i_blocks,
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 );
if( i_ret != i_blocks
if( i_ret <= 0
|| !dvdcss->b_encrypted
|| !(i_flags & DVDCSS_READ_DECRYPT) )
{
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 )
{
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( dvdcss->css.pi_title_key, p_buffer );
CSSDescrambleSector( p_current->p_key, p_buffer );
((u8*)p_buffer)[0x14] &= 0x8f;
(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,
int i_flags )
{
#define P_IOVEC ((struct iovec*)p_iovec)
int i_ret;
title_key_t *p_current;
int i_ret, i_index;
void *iov_base;
size_t iov_len;
i_ret = _dvdcss_readv( dvdcss, P_IOVEC, i_blocks );
if( i_ret != i_blocks
if( i_ret <= 0
|| !dvdcss->b_encrypted
|| !(i_flags & DVDCSS_READ_DECRYPT) )
{
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 */
iov_base = P_IOVEC->iov_base;
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 */
if( iov_len & 0x7ff )
......@@ -249,16 +321,14 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec,
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 += DVDCSS_BLOCK_SIZE;
(u8*)iov_len -= DVDCSS_BLOCK_SIZE;
i_ret--;
}
return i_blocks;
return i_ret;
#undef P_IOVEC
}
......@@ -267,8 +337,18 @@ extern int dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec,
*****************************************************************************/
extern int dvdcss_close ( dvdcss_handle dvdcss )
{
title_key_t *p_currentkey;
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 );
if( i_ret < 0 )
......@@ -344,7 +424,6 @@ static int _dvdcss_close ( dvdcss_handle dvdcss )
static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
{
#if defined( WIN32 )
if( WIN2K )
{
......@@ -375,6 +454,8 @@ static int _dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
#else
off_t i_read;
dvdcss->i_seekpos = i_blocks;
i_read = lseek( dvdcss->i_fd,
(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 )
static int _dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer, int i_blocks )
{
int i_read;
#if defined( WIN32 )
if( WIN2K )
{
int i_bytes;
if( !ReadFile( (HANDLE) dvdcss->i_fd, p_buffer,
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
{
i_read = _win32_dvdcss_aread( dvdcss->i_fd, p_buffer, i_blocks );
return i_read;
return _win32_dvdcss_aread( dvdcss->i_fd, p_buffer, i_blocks );
}
#else
i_read = read( dvdcss->i_fd, p_buffer, (size_t)i_blocks * DVDCSS_BLOCK_SIZE );
return i_read / DVDCSS_BLOCK_SIZE;
#else
int i_bytes;
i_bytes = read( dvdcss->i_fd, p_buffer, (size_t)i_blocks * DVDCSS_BLOCK_SIZE );
return i_bytes / DVDCSS_BLOCK_SIZE;
#endif
}
......@@ -670,13 +752,15 @@ static int _win32_dvdcss_aread( int i_fd, void *p_data, int i_blocks )
ResetEvent( hEvent );
if( fd->lpSendCommand( (void*) &ssc ) == SS_PENDING )
{
WaitForSingleObject( hEvent, INFINITE );
}
CloseHandle( hEvent );
if(ssc.SRB_Status != SS_COMP)
if( ssc.SRB_Status != SS_COMP )
{
return -1;
return -1;
}
fd->i_blocks += i_blocks;
......@@ -685,3 +769,4 @@ static int _win32_dvdcss_aread( int i_fd, void *p_data, int i_blocks )
}
#endif
......@@ -2,7 +2,7 @@
* private.h: private DVD reading library data
*****************************************************************************
* 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>
* Samuel Hocevar <sam@zoy.org>
......@@ -34,10 +34,12 @@ struct dvdcss_s
{
/* File descriptor */
int i_fd;
int i_seekpos;
/* Decryption stuff */
css_t css;
boolean_t b_encrypted;
css_t css;
boolean_t b_encrypted;
title_key_t *p_keys;
/* Error management */
char *psz_error;
......
......@@ -2,7 +2,7 @@
* libdvdcss.h: DVD reading library, exported functions.
*****************************************************************************
* 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>
* Samuel Hocevar <sam@zoy.org>
......@@ -46,7 +46,6 @@ extern dvdcss_handle dvdcss_open ( char *psz_target,
int i_flags );
extern int dvdcss_close ( dvdcss_handle );
extern int dvdcss_crack ( dvdcss_handle,
int i_title,
int i_block );
extern int dvdcss_seek ( dvdcss_handle,
int i_blocks );
......
*.a
*.so
*.so.*
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/alsa.so: $(PLUGIN_C)
../../plugins/alsa.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ALSA)
../../lib/alsa.a: $(BUILTIN_C)
../../plugins/alsa.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
This diff is collapsed.
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/beos.so: $(PLUGIN_CPP)
../../plugins/beos.so: $(PLUGIN_CPP)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_BEOS)
../../lib/beos.a: $(BUILTIN_CPP)
../../plugins/beos.a: $(BUILTIN_CPP)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/darwin.so: $(PLUGIN_C)
../../plugins/darwin.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DARWIN)
../../lib/darwin.a: $(BUILTIN_C)
../../plugins/darwin.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/directx.so: $(PLUGIN_C)
../../plugins/directx.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DIRECTX)
../../lib/directx.a: $(BUILTIN_C)
../../plugins/directx.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -40,24 +40,24 @@ $(BUILTIN_DOWNMIX3DN): BUILTIN_DOWNMIX3DN_%.o: %.c
# Real targets
#
../../lib/downmix.so: $(PLUGIN_DOWNMIX)
../../plugins/downmix.so: $(PLUGIN_DOWNMIX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/downmix.a: $(BUILTIN_DOWNMIX)
../../plugins/downmix.a: $(BUILTIN_DOWNMIX)
ar r $@ $^
$(RANLIB) $@
../../lib/downmixsse.so: $(PLUGIN_DOWNMIXSSE)
../../plugins/downmixsse.so: $(PLUGIN_DOWNMIXSSE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/downmixsse.a: $(BUILTIN_DOWNMIXSSE)
../../plugins/downmixsse.a: $(BUILTIN_DOWNMIXSSE)
ar r $@ $^
$(RANLIB) $@
../../lib/downmix3dn.so: $(PLUGIN_DOWNMIX3DN)
../../plugins/downmix3dn.so: $(PLUGIN_DOWNMIX3DN)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/downmix3dn.a: $(BUILTIN_DOWNMIX3DN)
../../plugins/downmix3dn.a: $(BUILTIN_DOWNMIX3DN)
ar r $@ $^
$(RANLIB) $@
......@@ -2,7 +2,7 @@
* downmix.c : AC3 downmix module
*****************************************************************************
* 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>
*
......@@ -95,7 +95,8 @@ static void downmix_getfunctions( function_list_t * p_function_list )
*****************************************************************************/
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 );
}
......
......@@ -2,7 +2,7 @@
* downmix3dn.c : accelerated 3D Now! AC3 downmix module
*****************************************************************************
* 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>
*
......@@ -100,7 +100,8 @@ static int downmix_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( DOWNMIX_METHOD_VAR, "downmix3dn" ) )
if( TestMethod( DOWNMIX_METHOD_VAR, "downmix3dn" )
|| TestMethod( DOWNMIX_METHOD_VAR, "3dn" ) )
{
return( 999 );
}
......
......@@ -2,7 +2,7 @@
* downmixsse.c : accelerated SSE AC3 downmix module
*****************************************************************************
* 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>
*
......@@ -100,7 +100,8 @@ static int downmix_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( DOWNMIX_METHOD_VAR, "downmixsse" ) )
if( TestMethod( DOWNMIX_METHOD_VAR, "downmixsse" )
|| TestMethod( DOWNMIX_METHOD_VAR, "sse" ) )
{
return( 999 );
}
......
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/dsp.so: $(PLUGIN_C)
../../plugins/dsp.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/dsp.a: $(BUILTIN_C)
../../plugins/dsp.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -26,17 +26,17 @@ include ../../Makefile.modules
# Real targets
#
../../lib/null.so: $(PLUGIN_NULL)
../../plugins/null.so: $(PLUGIN_NULL)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/null.a: $(BUILTIN_NULL)
../../plugins/null.a: $(BUILTIN_NULL)
ar r $@ $^
$(RANLIB) $@
../../lib/dummy.so: $(PLUGIN_DUMMY)
../../plugins/dummy.so: $(PLUGIN_DUMMY)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/dummy.a: $(BUILTIN_DUMMY)
../../plugins/dummy.a: $(BUILTIN_DUMMY)
ar r $@ $^
$(RANLIB) $@
......@@ -31,17 +31,17 @@ $(BUILTIN_DVD): BUILTIN_%.o: %.c
#
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)
../../lib/dvd.a: libdvdcss $(BUILTIN_DVD)
../../plugins/dvd.a: libdvdcss $(BUILTIN_DVD)
ar r $@ $(BUILTIN_DVD)
$(RANLIB) $@
else
../../lib/dvd.so: $(PLUGIN_DVD)
../../plugins/dvd.so: $(PLUGIN_DVD)
$(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) $(LIB_DVD)
../../lib/dvd.a: $(BUILTIN_DVD)
../../plugins/dvd.a: $(BUILTIN_DVD)
ar r $@ $(BUILTIN_DVD)
$(RANLIB) $@
endif
......
......@@ -10,7 +10,7 @@
* -dvd_udf to find files
*****************************************************************************
* 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>
*
......@@ -334,13 +334,11 @@ static void DVDOpen( struct input_thread_s *p_input )
if( strlen( p_input->p_source ) > 4
&& !strncasecmp( p_input->p_source, "dvd:", 4 ) )
{
dvdhandle = dvdcss_open( p_input->p_source + 4,
DVDCSS_INIT_QUIET );
dvdhandle = dvdcss_open( p_input->p_source + 4, DVDCSS_INIT_QUIET );
}
else
{
dvdhandle = dvdcss_open( p_input->p_source,
DVDCSS_INIT_QUIET );
dvdhandle = dvdcss_open( p_input->p_source, DVDCSS_INIT_QUIET );
}
if( dvdhandle == NULL )
......@@ -442,7 +440,6 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
* CSS cracking has to be done again
*/
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 );
/*
......@@ -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 );
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 )
{
vlc_mutex_unlock( &p_input->stream.stream_lock );
return 1;
}
......@@ -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" );
p_dvd->i_title++;
vlc_mutex_lock( &p_input->stream.stream_lock );
DVDSetArea( p_input, p_input->stream.pp_areas[p_dvd->i_title] );
vlc_mutex_unlock( &p_input->stream.stream_lock );
return 0;
}
vlc_mutex_unlock( &p_input->stream.stream_lock );
if( i_read_blocks == i_block_once )
{
return 0;
......
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/esd.so: $(PLUGIN_C)
../../plugins/esd.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ESD)
../../lib/esd.a: $(BUILTIN_C)
../../plugins/esd.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/fb.so: $(PLUGIN_C)
../../plugins/fb.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/fb.a: $(BUILTIN_C)
../../plugins/fb.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/ggi.so: $(PLUGIN_C)
../../plugins/ggi.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GGI)
../../lib/ggi.a: $(BUILTIN_C)
../../plugins/ggi.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -30,10 +30,10 @@ $(BUILTIN_GLIDE): BUILTIN_%.o: %.c
# Real targets
#
../../lib/glide.so: $(PLUGIN_GLIDE)
../../plugins/glide.so: $(PLUGIN_GLIDE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GLIDE)
../../lib/glide.a: $(BUILTIN_GLIDE)
../../plugins/glide.a: $(BUILTIN_GLIDE)
ar r $@ $^
$(RANLIB) $@
......@@ -50,18 +50,18 @@ $(BUILTIN_GNOME): BUILTIN_GNOME_%.o: %.c
# Real targets
#
../../lib/gtk.so: $(PLUGIN_GTK) $(PLUGIN_GTKCOMMON)
../../plugins/gtk.so: $(PLUGIN_GTK) $(PLUGIN_GTKCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GTK)
../../lib/gtk.a: $(BUILTIN_GTK)
../../plugins/gtk.a: $(BUILTIN_GTK)
ar r $@ $^
$(RANLIB) $@
../../lib/gnome.so: $(PLUGIN_GNOME) $(PLUGIN_GTKCOMMON)
../../plugins/gnome.so: $(PLUGIN_GNOME) $(PLUGIN_GTKCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GNOME)
../../lib/gnome.a: $(BUILTIN_GNOME)
../../plugins/gnome.a: $(BUILTIN_GNOME)
ar r $@ $^
$(RANLIB) $@
......@@ -69,38 +69,38 @@ $(BUILTIN_IDCTALTIVEC): BUILTIN_IDCTALTIVEC_%.o: %.c
# 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)
../../lib/idct.a: $(BUILTIN_IDCT)
../../plugins/idct.a: $(BUILTIN_IDCT)
ar r $@ $^
$(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)
../../lib/idctclassic.a: $(BUILTIN_IDCTCLASSIC)
../../plugins/idctclassic.a: $(BUILTIN_IDCTCLASSIC)
ar r $@ $^
$(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)
../../lib/idctmmx.a: $(BUILTIN_IDCTMMX)
../../plugins/idctmmx.a: $(BUILTIN_IDCTMMX)
ar r $@ $^
$(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)
../../lib/idctmmxext.a: $(BUILTIN_IDCTMMXEXT)
../../plugins/idctmmxext.a: $(BUILTIN_IDCTMMXEXT)
ar r $@ $^
$(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)
../../lib/idctaltivec.a: $(BUILTIN_IDCTALTIVEC)
../../plugins/idctaltivec.a: $(BUILTIN_IDCTALTIVEC)
ar r $@ $^
$(RANLIB) $@
......@@ -2,7 +2,7 @@
* idct.c : IDCT module
*****************************************************************************
* 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>
*
......@@ -101,7 +101,8 @@ static void idct_getfunctions( function_list_t * p_function_list )
*****************************************************************************/
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 );
}
......
......@@ -2,7 +2,7 @@
* idctaltivec.c : Altivec IDCT module
*****************************************************************************
* 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>
*
......@@ -108,7 +108,8 @@ static int idct_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( IDCT_METHOD_VAR, "idctaltivec" ) )
if( TestMethod( IDCT_METHOD_VAR, "idctaltivec" )
|| TestMethod( IDCT_METHOD_VAR, "altivec" ) )
{
return( 999 );
}
......
......@@ -2,7 +2,7 @@
* idctclassic.c : Classic IDCT module
*****************************************************************************
* 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>
*
......@@ -103,7 +103,8 @@ static void idct_getfunctions( function_list_t * p_function_list )
*****************************************************************************/
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 );
}
......
......@@ -2,7 +2,7 @@
* idctmmx.c : MMX IDCT module
*****************************************************************************
* 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>
* Michel Lespinasse <walken@zoy.org>
......@@ -113,7 +113,8 @@ static int idct_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( IDCT_METHOD_VAR, "idctmmx" ) )
if( TestMethod( IDCT_METHOD_VAR, "idctmmx" )
|| TestMethod( IDCT_METHOD_VAR, "mmx" ) )
{
return( 999 );
}
......
......@@ -2,7 +2,7 @@
* idctmmxext.c : MMX EXT IDCT module
*****************************************************************************
* 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>
* Michel Lespinasse <walken@zoy.org>
......@@ -113,7 +113,8 @@ static int idct_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( IDCT_METHOD_VAR, "idctmmxext" ) )
if( TestMethod( IDCT_METHOD_VAR, "idctmmxext" )
|| TestMethod( IDCT_METHOD_VAR, "mmxext" ) )
{
return( 999 );
}
......
......@@ -44,24 +44,24 @@ $(BUILTIN_IMDCT3DN): BUILTIN_IMDCT3DN_%.o: %.c
# Real targets
#
../../lib/imdct.so: $(PLUGIN_IMDCT) $(PLUGIN_IMDCTCOMMON)
../../plugins/imdct.so: $(PLUGIN_IMDCT) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/imdct.a: $(BUILTIN_IMDCT)
../../plugins/imdct.a: $(BUILTIN_IMDCT)
ar r $@ $^
$(RANLIB) $@
../../lib/imdctsse.so: $(PLUGIN_IMDCTSSE) $(PLUGIN_IMDCTCOMMON)
../../plugins/imdctsse.so: $(PLUGIN_IMDCTSSE) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/imdctsse.a: $(BUILTIN_IMDCTSSE)
../../plugins/imdctsse.a: $(BUILTIN_IMDCTSSE)
ar r $@ $^
$(RANLIB) $@
../../lib/imdct3dn.so: $(PLUGIN_IMDCT3DN) $(PLUGIN_IMDCTCOMMON)
../../plugins/imdct3dn.so: $(PLUGIN_IMDCT3DN) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/imdct3dn.a: $(BUILTIN_IMDCT3DN)
../../plugins/imdct3dn.a: $(BUILTIN_IMDCT3DN)
ar r $@ $^
$(RANLIB) $@
......@@ -2,7 +2,7 @@
* imdct.c : IMDCT module
*****************************************************************************
* 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>
*
......@@ -93,7 +93,8 @@ static void imdct_getfunctions( function_list_t * p_function_list )
*****************************************************************************/
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 );
}
......
......@@ -2,7 +2,7 @@
* imdct3dn.c : accelerated 3D Now! IMDCT module
*****************************************************************************
* 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>
*
......@@ -98,7 +98,8 @@ static int imdct_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( IMDCT_METHOD_VAR, "imdct3dn" ) )
if( TestMethod( IMDCT_METHOD_VAR, "imdct3dn" )
|| TestMethod( IMDCT_METHOD_VAR, "3dn" ) )
{
return( 999 );
}
......
......@@ -2,7 +2,7 @@
* imdctsse.c : accelerated SSE IMDCT module
*****************************************************************************
* 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>
*
......@@ -98,7 +98,8 @@ static int imdct_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( IMDCT_METHOD_VAR, "imdctsse" ) )
if( TestMethod( IMDCT_METHOD_VAR, "imdctsse" )
|| TestMethod( IMDCT_METHOD_VAR, "sse" ) )
{
return( 999 );
}
......
......@@ -7,6 +7,12 @@
# Objects
#
MOCFILES = kinterfacemain.moc.cpp \
kvlcslider.moc.cpp \
kdiskdialog.moc.cpp \
knetdialog.moc.cpp \
ktitlemenu.moc.cpp
PLUGIN_KDE = kde.o \
kdeinterface.o \
kinterfacemain.o \
......@@ -15,14 +21,10 @@ PLUGIN_KDE = kde.o \
knetdialog.o \
ktitlemenu.o
PLUGIN_KDE_MOC = kinterfacemain.moc.o \
kvlcslider.moc.o \
kdiskdialog.moc.o \
knetdialog.moc.o \
ktitlemenu.moc.o
PLUGIN_KDE_MOC = $(MOCFILES:%.cpp=%.o)
#BUILTIN_KDE = $(PLUGIN_KDE:%.o=BUILTIN_%.o)
#BUILTIN_KDE_MOC = $(PLUGIN_KDE_MOC:%.o=BUILTIN_%.o)
BUILTIN_KDE = $(PLUGIN_KDE:%.o=BUILTIN_%.o)
BUILTIN_KDE_MOC = $(MOCFILES:%.cpp=BUILTIN_%.o)
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
$(MOCFILES): %.moc.cpp: %.h
$(MOC) $< -o $@
$(PLUGIN_KDE): %.o: .dep/%.dpp
$(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: %.cpp
$(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -c -o $@ $<
$(PLUGIN_KDE_MOC:%.moc.o=%.moc.cpp): %.moc.cpp: %.h
moc $< -o $@
$(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -DPLUGIN -DMODULE_NAME=kde -c -o $@ $<
#$(BUILTIN_KDE): BUILTIN_%.o: .dep/%.dpp
#$(BUILTIN_KDE): BUILTIN_%.o: %.cpp
# $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -c -o $@ $<
$(BUILTIN_KDE): BUILTIN_%.o: .dep/%.dpp
$(BUILTIN_KDE): BUILTIN_%.o: %.cpp
$(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: %.cpp
# $(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -c -o $@ $<
#$(BUILTIN_KDE_MOC: %.moc.o=%.cpp): %.moc.cpp: %.h
# $(MOC) $< -o $@
$(BUILTIN_KDE_MOC): BUILTIN_%.o: .dep/%.dpp
$(BUILTIN_KDE_MOC): BUILTIN_%.o: %.cpp
$(CC) $(CFLAGS) -DBUILTIN -I/usr/include/kde -I/usr/include/qt -DBUILTIN -DMODULE_NAME=kde -c -o $@ $<
#
# Real targets
#
../../lib/kde.so: $(PLUGIN_KDE) $(PLUGIN_KDE_MOC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_KDE) -lkfile
../../plugins/kde.so: $(PLUGIN_KDE) $(PLUGIN_KDE_MOC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_KDE)
#../../lib/kde.a: $(BUILTIN_KDE)
# ar r $@ $^
# $(RANLIB) $@
../../plugins/kde.a: $(BUILTIN_KDE) $(BUILTIN_KDE_MOC)
ar r $@ $^
$(RANLIB) $@
......@@ -24,7 +24,6 @@ extern "C"
#include "threads.h"
#include "mtime.h"
#include "tests.h"
#include "modules.h"
#include "stream_control.h"
#include "input_ext-intf.h"
......@@ -34,6 +33,9 @@ extern "C"
#include "interface.h"
#include "main.h"
#include "modules.h"
#include "modules_export.h"
}
#endif /* _INTF_PLUGIN_H_ */
\ No newline at end of file
#endif /* _INTF_PLUGIN_H_ */
/***************************************************************************
kde.cpp - description
-------------------
begin : Sun Mar 25 2001
copyright : (C) 2001 by andres
email : dae@chez.com
***************************************************************************/
#define MODULE_NAME kde
/*****************************************************************************
* kde.cpp : KDE plugin for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: kde.cpp,v 1.3 2001/07/11 02:01:04 sam Exp $
*
* 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
#include "intf_plugin.h"
extern "C"
......@@ -38,3 +53,4 @@ MODULE_DEACTIVATE_START
MODULE_DEACTIVATE_STOP
} /* extern "C" */
......@@ -30,10 +30,10 @@ $(BUILTIN_MACOSX): BUILTIN_%.o: %.c
# Real targets
#
../../lib/macosx.so: $(PLUGIN_MACOSX)
../../plugins/macosx.so: $(PLUGIN_MACOSX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_MACOSX)
../../lib/macosx.a: $(BUILTIN_MACOSX)
../../plugins/macosx.a: $(BUILTIN_MACOSX)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../lib/mga.so: $(PLUGIN_C)
../../plugins/mga.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/mga.a: $(BUILTIN_C)
../../plugins/mga.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -44,31 +44,31 @@ $(BUILTIN_MOTIONMMXEXT): BUILTIN_MOTIONMMXEXT_%.o: %.c
# Real targets
#
../../lib/motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON)
../../plugins/motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motion.a: $(BUILTIN_MOTION)
../../plugins/motion.a: $(BUILTIN_MOTION)
ar r $@ $^
$(RANLIB) $@
../../lib/motionclassic.so: $(PLUGIN_MOTIONCLASSIC) $(PLUGIN_MOTIONCOMMON)
../../plugins/motionclassic.so: $(PLUGIN_MOTIONCLASSIC) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motionclassic.a: $(BUILTIN_MOTIONCLASSIC)
../../plugins/motionclassic.a: $(BUILTIN_MOTIONCLASSIC)
ar r $@ $^
$(RANLIB) $@
../../lib/motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON)
../../plugins/motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motionmmx.a: $(BUILTIN_MOTIONMMX)
../../plugins/motionmmx.a: $(BUILTIN_MOTIONMMX)
ar r $@ $^
$(RANLIB) $@
../../lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON)
../../plugins/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/motionmmxext.a: $(BUILTIN_MOTIONMMXEXT)
../../plugins/motionmmxext.a: $(BUILTIN_MOTIONMMXEXT)
ar r $@ $^
$(RANLIB) $@
......@@ -2,7 +2,7 @@
* motion.c : C motion compensation module for vlc
*****************************************************************************
* 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>
*
......@@ -73,7 +73,8 @@ MODULE_DEACTIVATE_STOP
*****************************************************************************/
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 );
}
......
......@@ -2,7 +2,7 @@
* motionmmx.c : MMX motion compensation module for vlc
*****************************************************************************
* 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>
*
......@@ -78,7 +78,8 @@ int _M( motion_Probe )( probedata_t *p_data )
return( 0 );
}
if( TestMethod( MOTION_METHOD_VAR, "motionmmx" ) )
if( TestMethod( MOTION_METHOD_VAR, "motionmmx" )
|| TestMethod( MOTION_METHOD_VAR, "mmx" ) )
{
return( 999 );
}
......
......@@ -2,7 +2,7 @@
* motionmmxext.c : MMX EXT motion compensation module for vlc
*****************************************************************************
* 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>
*
......@@ -78,7 +78,8 @@ int _M( motion_Probe )( probedata_t *p_data )
return( 0 );
}
if( TestMethod( MOTION_METHOD_VAR, "motionmmxext" ) )
if( TestMethod( MOTION_METHOD_VAR, "motionmmxext" )
|| TestMethod( MOTION_METHOD_VAR, "mmxext" ) )
{
return( 999 );
}
......
......@@ -28,24 +28,24 @@ include ../../Makefile.modules
# Real targets
#
../../lib/es.so: $(PLUGIN_ES)
../../plugins/es.so: $(PLUGIN_ES)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/es.a: $(BUILTIN_ES)
../../plugins/es.a: $(BUILTIN_ES)
ar r $@ $^
$(RANLIB) $@
../../lib/ps.so: $(PLUGIN_PS)
../../plugins/ps.so: $(PLUGIN_PS)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/ps.a: $(BUILTIN_PS)
../../plugins/ps.a: $(BUILTIN_PS)
ar r $@ $^
$(RANLIB) $@
../../lib/ts.so: $(PLUGIN_TS)
../../plugins/ts.so: $(PLUGIN_TS)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_TS)
../../lib/ts.a: $(BUILTIN_TS)
../../plugins/ts.a: $(BUILTIN_TS)
ar r $@ $^
$(RANLIB) $@
......@@ -20,13 +20,13 @@ include ../../Makefile.modules
$(PLUGIN_QT): %.o: .dep/%.dpp
$(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
grep -q Q_OBJECT $< && $(MOC) -i $< -o $@ || true
$(BUILTIN_QT): BUILTIN_%.o: .dep/%.dpp
$(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
grep -q Q_OBJECT $< && $(MOC) -i $< -o $@ || true
......@@ -34,10 +34,10 @@ $(BUILTIN_QT:%.o=%.moc): BUILTIN_%.moc: %.cpp
# Real targets
#
../../lib/qt.so: $(PLUGIN_QT)
../../plugins/qt.so: $(PLUGIN_QT)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_QT)
../../lib/qt.a: $(BUILTIN_QT)
../../plugins/qt.a: $(BUILTIN_QT)
ar r $@ $^
$(RANLIB) $@
......@@ -30,10 +30,10 @@ $(BUILTIN_SDL): BUILTIN_%.o: %.c
# Real targets
#
../../lib/sdl.so: $(PLUGIN_SDL)
../../plugins/sdl.so: $(PLUGIN_SDL)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_SDL)
../../lib/sdl.a: $(BUILTIN_SDL)
../../plugins/sdl.a: $(BUILTIN_SDL)
ar r $@ $^
$(RANLIB) $@
......@@ -2,7 +2,7 @@
* vout_sdl.c: SDL video output display method
*****************************************************************************
* 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>
* Pierre Baillet <oct@zoy.org>
......@@ -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_height,
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 )
......@@ -571,28 +577,23 @@ static void vout_Display( vout_thread_t *p_vout )
}
else
{
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);
SDL_LockYUVOverlay( p_vout->p_sys->p_overlay );
/* copy the data into video buffers */
/* Y first */
memcpy(p_vout->p_sys->p_overlay->pixels[0],
p_vout->p_rendered_pic->p_y,
p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[0]);
memcpy( p_vout->p_sys->p_overlay->pixels[0],
p_vout->p_rendered_pic->p_y,
p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[0] );
/* then V */
memcpy(p_vout->p_sys->p_overlay->pixels[1],
p_vout->p_rendered_pic->p_v,
p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[1] / 2);
memcpy( p_vout->p_sys->p_overlay->pixels[1],
p_vout->p_rendered_pic->p_v,
p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[1] / 2 );
/* and U */
memcpy(p_vout->p_sys->p_overlay->pixels[2],
p_vout->p_rendered_pic->p_u,
p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[2] / 2);
memcpy( p_vout->p_sys->p_overlay->pixels[2],
p_vout->p_rendered_pic->p_u,
p_vout->p_sys->p_overlay->h *
p_vout->p_sys->p_overlay->pitches[2] / 2 );
#define BUFFER (&p_vout->p_buffer[p_vout->i_buffer_index])
disp.w = BUFFER->i_pic_width;
......
......@@ -26,17 +26,17 @@ include ../../Makefile.modules
# Real targets
#
../../lib/ncurses.so: $(PLUGIN_NCURSES)
../../plugins/ncurses.so: $(PLUGIN_NCURSES)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_NCURSES)
../../lib/ncurses.a: $(BUILTIN_NCURSES)
../../plugins/ncurses.a: $(BUILTIN_NCURSES)
ar r $@ $^
$(RANLIB) $@
../../lib/rc.so: $(PLUGIN_RC)
../../plugins/rc.so: $(PLUGIN_RC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/rc.a: $(BUILTIN_RC)
../../plugins/rc.a: $(BUILTIN_RC)
ar r $@ $^
$(RANLIB) $@
......@@ -33,25 +33,25 @@ include ../../Makefile.modules
# Real targets
#
../../lib/x11.so: $(PLUGIN_X11)
../../plugins/x11.so: $(PLUGIN_X11)
ifeq ($(SYS),nto-qnx)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11) -lsocket
else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11)
endif
../../lib/x11.a: $(BUILTIN_X11)
../../plugins/x11.a: $(BUILTIN_X11)
ar r $@ $^
$(RANLIB) $@
../../lib/xvideo.so: $(PLUGIN_XVIDEO)
../../plugins/xvideo.so: $(PLUGIN_XVIDEO)
ifeq ($(SYS),nto-qnx)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO) -lsocket
else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO)
endif
../../lib/xvideo.a: $(BUILTIN_XVIDEO)
../../plugins/xvideo.a: $(BUILTIN_XVIDEO)
ar r $@ $^
$(RANLIB) $@
......@@ -27,17 +27,17 @@ include ../../Makefile.modules
# Real targets
#
../../lib/yuv.so: $(PLUGIN_YUV)
../../plugins/yuv.so: $(PLUGIN_YUV)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_YUV)
../../lib/yuv.a: $(BUILTIN_YUV)
../../plugins/yuv.a: $(BUILTIN_YUV)
ar r $@ $^
$(RANLIB) $@
../../lib/yuvmmx.so: $(PLUGIN_YUVMMX)
../../plugins/yuvmmx.so: $(PLUGIN_YUVMMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../lib/yuvmmx.a: $(BUILTIN_YUVMMX)
../../plugins/yuvmmx.a: $(BUILTIN_YUVMMX)
ar r $@ $^
$(RANLIB) $@
......@@ -5,7 +5,7 @@
* case by optimized functions.
*****************************************************************************
* 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>
*
......@@ -82,7 +82,8 @@ void _M( yuv_getfunctions )( function_list_t * p_function_list )
*****************************************************************************/
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 );
}
......
......@@ -3,7 +3,7 @@
* Provides functions to perform the YUV conversion.
*****************************************************************************
* 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>
*
......@@ -85,7 +85,8 @@ static int yuv_Probe( probedata_t *p_data )
return( 0 );
}
if( TestMethod( YUV_METHOD_VAR, "yuvmmx" ) )
if( TestMethod( YUV_METHOD_VAR, "yuvmmx" )
|| TestMethod( YUV_METHOD_VAR, "mmx" ) )
{
return( 999 );
}
......
......@@ -2,7 +2,7 @@
* modules.c : Built-in and plugin modules management functions
*****************************************************************************
* 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>
* Ethan C. Baldridge <BaldridgeE@cadmus.com>
......@@ -120,7 +120,7 @@ static module_symbols_t symbols;
void module_InitBank( void )
{
#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 * psz_fullpath;
......@@ -302,7 +302,7 @@ void module_ManageBank( void )
}
else
{
intf_WarnMsg( 1, "module: hiding unused plugin module `%s'",
intf_WarnMsg( 3, "module: hiding unused plugin module `%s'",
p_module->psz_name );
HideModule( p_module );
......@@ -557,7 +557,7 @@ static int AllocatePluginModule( char * psz_filename )
p_module_bank->first = p_module;
/* 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 );
return( 0 );
......@@ -673,7 +673,7 @@ static int AllocateBuiltinModule( int ( *pf_init ) ( module_t * ),
p_module_bank->first = p_module;
/* 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 );
return( 0 );
......
......@@ -5,7 +5,7 @@
* thread, and destroy a previously oppened video output thread.
*****************************************************************************
* 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>
*
......@@ -196,7 +196,7 @@ vout_thread_t * vout_CreateThread ( int *pi_status )
p_vout->b_fullscreen = main_GetIntVariable( VOUT_FULLSCREEN_VAR,
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_bytes_per_pixel * 8, p_vout->i_bytes_per_line );
......@@ -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_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",
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,
......@@ -1041,7 +1041,7 @@ static void RunThread( vout_thread_t *p_vout)
p_vout->i_pictures--;
}
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 );
continue;
......
......@@ -2,7 +2,7 @@
* vpar_synchro.c : frame dropping routines
*****************************************************************************
* 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>
* Samuel Hocevar <sam@via.ecp.fr>
......@@ -458,9 +458,10 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type,
{
case I_CODING_TYPE:
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;
}
......@@ -487,9 +488,10 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type,
case P_CODING_TYPE:
p_vpar->synchro.i_eta_p++;
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;
}
......
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