Commit 47723362 authored by Sam Hocevar's avatar Sam Hocevar

  * Applied old FreeBSD patch for dvd input by German Tischler.
  * Found what was causing the slowdowns: a namespace collision. Put all
    plugins into builtins again.
parent 214396bc
......@@ -191,3 +191,7 @@ N: Peter Surda
E: shurdeek@panorama.sth.ac.at
D: rc plugin for vlc control through /dev/stdin
N: German Tischler
E: tanis@gaspode.franken.de
D: FreeBSD DVD input patch
......@@ -3263,17 +3263,17 @@ fi
ARCH=${host_cpu}
BUILTINS="${BUILTINS} es ps ts"
PLUGINS="${PLUGINS} yuv idct idctclassic motion imdct downmix"
BUILTINS="${BUILTINS} es ps ts yuv idct idctclassic motion imdct downmix"
PLUGINS="${PLUGINS}"
case x$host_os in
xmingw32msvc)
MMX_PLUGINS="idctmmx motionmmx"
MMXEXT_PLUGINS="idctmmxext motionmmxext imdct3dn"
MMX_MODULES="idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn"
;;
*)
MMX_PLUGINS="yuvmmx idctmmx motionmmx"
MMXEXT_PLUGINS="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
MMX_MODULES="yuvmmx idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
;;
esac
......@@ -3289,7 +3289,7 @@ int main() {
EOF
if { (eval echo configure:3291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ACCEL_PLUGINS="${ACCEL_PLUGINS} ${MMX_PLUGINS}"
ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
echo "$ac_t""yes" 1>&6
else
echo "configure: failed program was:" >&5
......@@ -3311,7 +3311,7 @@ int main() {
EOF
if { (eval echo configure:3313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ACCEL_PLUGINS="${ACCEL_PLUGINS} ${MMXEXT_PLUGINS}"
ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
echo "$ac_t""yes" 1>&6
else
echo "configure: failed program was:" >&5
......@@ -3504,10 +3504,10 @@ fi
if test "${enable_mmx+set}" = set; then
enableval="$enable_mmx"
if test x$enableval = xyes; then ARCH="${ARCH} mmx";
PLUGINS="${PLUGINS} ${ACCEL_PLUGINS}"; fi
BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi
else
if test x${host_cpu} = xi686 -o x${host_cpu} = xi586 -o x${host_cpu} = xx86 -o x${host_cpu} = xi386; then ARCH="${ARCH} mmx";
PLUGINS="${PLUGINS} ${ACCEL_PLUGINS}"; fi
BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi
fi
......@@ -3515,7 +3515,7 @@ fi
if test "${enable_altivec+set}" = set; then
enableval="$enable_altivec"
if test x$enableval = xyes; then ARCH="${ARCH} altivec";
PLUGINS="${PLUGINS} idctaltivec"
BUILTINS="${BUILTINS} idctaltivec"
LIB_IDCTALTIVEC="-framework vecLib"
fi
fi
......
......@@ -148,31 +148,31 @@ ARCH=${host_cpu}
dnl
dnl default modules
dnl
BUILTINS="${BUILTINS} es ps ts"
PLUGINS="${PLUGINS} yuv idct idctclassic motion imdct downmix"
BUILTINS="${BUILTINS} es ps ts yuv idct idctclassic motion imdct downmix"
PLUGINS="${PLUGINS}"
dnl
dnl Accelerated modules
dnl
case x$host_os in
xmingw32msvc)
MMX_PLUGINS="idctmmx motionmmx"
MMXEXT_PLUGINS="idctmmxext motionmmxext imdct3dn"
MMX_MODULES="idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn"
;;
*)
MMX_PLUGINS="yuvmmx idctmmx motionmmx"
MMXEXT_PLUGINS="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
MMX_MODULES="yuvmmx idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
;;
esac
AC_MSG_CHECKING([if \$CC groks MMX inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("packuswb %%mm1,%%mm2"::"r"(p));}],,
ACCEL_PLUGINS="${ACCEL_PLUGINS} ${MMX_PLUGINS}"
ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
AC_MSG_CHECKING([if \$CC groks MMX EXT or SSE inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("maskmovq %%mm1,%%mm2"::"r"(p));}],,
ACCEL_PLUGINS="${ACCEL_PLUGINS} ${MMXEXT_PLUGINS}"
ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
dnl
......@@ -249,9 +249,9 @@ dnl
AC_ARG_ENABLE(mmx,
[ --disable-mmx Disable MMX optimizations (default enabled for x86)],
[ if test x$enableval = xyes; then ARCH="${ARCH} mmx";
PLUGINS="${PLUGINS} ${ACCEL_PLUGINS}"; fi ],
BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
[ if test x${host_cpu} = xi686 -o x${host_cpu} = xi586 -o x${host_cpu} = xx86 -o x${host_cpu} = xi386; then ARCH="${ARCH} mmx";
PLUGINS="${PLUGINS} ${ACCEL_PLUGINS}"; fi ])
BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
dnl
dnl AltiVec acceleration
......@@ -259,7 +259,7 @@ dnl
AC_ARG_ENABLE(altivec,
[ --enable-altivec Enable altivec optimizations (default disabled since it is broken)],
[ if test x$enableval = xyes; then ARCH="${ARCH} altivec";
PLUGINS="${PLUGINS} idctaltivec"
BUILTINS="${BUILTINS} idctaltivec"
LIB_IDCTALTIVEC="-framework vecLib"
fi ])
#[ if test -d /System/Library/Frameworks/vecLib.framework; then ARCH="${ARCH} altivec"; PLUGINS="${PLUGINS} idctaltivec"; fi ])
......
......@@ -41,6 +41,7 @@ typedef struct module_symbols_s
void ( * intf_Msg ) ( char *, ... );
void ( * intf_ErrMsg ) ( char *, ... );
void ( * intf_WarnMsg ) ( int, char *, ... );
void ( * intf_FlushMsg )( void );
int ( * intf_PlaylistAdd ) ( struct playlist_s *, int, const char* );
int ( * intf_PlaylistDelete ) ( struct playlist_s *, int );
......@@ -134,6 +135,7 @@ typedef struct module_symbols_s
(p_symbols)->intf_Msg = intf_Msg; \
(p_symbols)->intf_ErrMsg = intf_ErrMsg; \
(p_symbols)->intf_WarnMsg = intf_WarnMsg; \
(p_symbols)->intf_FlushMsg = intf_FlushMsg; \
(p_symbols)->intf_PlaylistAdd = intf_PlaylistAdd; \
(p_symbols)->intf_PlaylistDelete = intf_PlaylistDelete; \
(p_symbols)->intf_PlaylistNext = intf_PlaylistNext; \
......@@ -198,9 +200,10 @@ extern module_symbols_t* p_symbols;
# define intf_AssignKey(a,b,c,d) p_symbols->intf_AssignKey(a,b,c,d)
# define intf_ProcessKey(a,b) p_symbols->intf_ProcessKey(a,b)
# define intf_Msg(a,b...) p_symbols->intf_Msg(a, ## b)
# define intf_ErrMsg(a,b...) p_symbols->intf_ErrMsg(a, ## b)
# define intf_WarnMsg(a,b,c...) p_symbols->intf_WarnMsg(a,b, ## c)
# define intf_Msg p_symbols->intf_Msg
# define intf_ErrMsg p_symbols->intf_ErrMsg
# define intf_WarnMsg p_symbols->intf_WarnMsg
# define intf_FlushMsg p_symbols->intf_FlushMsg
# define intf_PlaylistAdd(a,b,c) p_symbols->intf_PlaylistAdd(a,b,c)
# define intf_PlaylistDelete(a,b) p_symbols->intf_PlaylistDelete(a,b)
......
......@@ -2,9 +2,10 @@
* dvd_ifo.c: Functions for ifo parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_ifo.c,v 1.30 2001/06/03 12:47:21 sam Exp $
* $Id: dvd_ifo.c,v 1.31 2001/06/07 15:27:44 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
* Authors: Stphane Borel <stef@via.ecp.fr>
* German Tischler <tanis@gaspode.franken.de>
*
* based on:
* - libifo by Thomas Mirlacher <dent@cosy.sbg.ac.at>
......@@ -84,12 +85,65 @@ static __inline__ u8* FillBuffer( ifo_t* p_ifo, u8* pi_buffer, off_t i_pos )
#endif
memset( pi_buffer, 0, DVD_LB_SIZE );
#if !defined( WIN32 )
#if defined( WIN32 )
p_ifo->i_pos = SetFilePointer( (HANDLE) p_ifo->i_fd, i_pos,
NULL, FILE_BEGIN );
ReadFile( (HANDLE) p_ifo->i_fd, pi_buffer, DVD_LB_SIZE, &tmp, NULL );
#elif defined(__FreeBSD__)
if ( i_pos & ( DVD_LB_SIZE - 1 ) )
{
off_t i_relpos = i_pos & ( DVD_LB_SIZE - 1 );
off_t i_newpos = i_pos & ~( DVD_LB_SIZE - 1 );
if ( lseek(p_ifo->i_fd, i_newpos, SEEK_SET) == -1 )
{
intf_WarnMsg( 2, "input warning: seek failure" );
p_ifo->i_pos = -1;
return pi_buffer;
}
if ( read(p_ifo->i_fd, p_ifo->p_remap, DVD_LB_SIZE) == -1 )
{
intf_WarnMsg( 2, "input warning: first chunk read failure" );
p_ifo->i_pos = -1;
return pi_buffer;
}
if ( lseek(p_ifo->i_fd, i_newpos + DVD_LB_SIZE, SEEK_SET) == -1 )
{
intf_WarnMsg( 2, "input warning: seek failure" );
p_ifo->i_pos = -1;
return pi_buffer;
}
if ( read(p_ifo->i_fd, (p_ifo->p_remap + DVD_LB_SIZE),
DVD_LB_SIZE) == -1 )
{
intf_WarnMsg( 2, "input warning: second chunk read failure" );
p_ifo->i_pos = -1;
return pi_buffer;
}
memcpy( pi_buffer, p_ifo->p_remap + i_relpos,
( DVD_LB_SIZE - i_relpos ) );
memcpy( pi_buffer + ( DVD_LB_SIZE - i_relpos ),
( p_ifo->p_remap + DVD_LB_SIZE ), i_relpos );
p_ifo->i_pos = i_pos;
}
else
{
p_ifo->i_pos = lseek( p_ifo->i_fd, i_pos, SEEK_SET );
read( p_ifo->i_fd, pi_buffer, DVD_LB_SIZE );
}
#else
p_ifo->i_pos = lseek( p_ifo->i_fd, i_pos, SEEK_SET );
read( p_ifo->i_fd, pi_buffer, DVD_LB_SIZE );
#else
p_ifo->i_pos = SetFilePointer( (HANDLE) p_ifo->i_fd, i_pos, NULL, FILE_BEGIN );
ReadFile( (HANDLE) p_ifo->i_fd, pi_buffer, DVD_LB_SIZE, &tmp, NULL );
#endif
return pi_buffer;
......
......@@ -2,7 +2,7 @@
* dvd_ifo.h: Structures for ifo parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_ifo.h,v 1.15 2001/05/19 00:39:30 stef Exp $
* $Id: dvd_ifo.h,v 1.16 2001/06/07 15:27:44 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
......@@ -545,6 +545,11 @@ typedef struct ifo_s
vmg_t vmg; /* Structure described in video_ts */
int i_title; /* Current title number */
vts_t vts; /* Vts ifo for current title set */
#if defined(__FreeBSD__)
uint8_t p_remap[ 2 * DVD_LB_SIZE ];
/* Remap buffer for unaligned reads */
#endif
} ifo_t;
......
......@@ -2,7 +2,7 @@
* motion.c : C motion compensation module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id: motion.c,v 1.6 2001/06/03 12:47:21 sam Exp $
* $Id: motion.c,v 1.7 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
......@@ -45,7 +45,7 @@
/*****************************************************************************
* Local and extern prototypes.
*****************************************************************************/
void motion_getfunctions( function_list_t * p_function_list );
void _M( motion_getfunctions )( function_list_t * p_function_list );
/*****************************************************************************
* Build configuration tree.
......@@ -62,7 +62,7 @@ MODULE_INIT_START
MODULE_INIT_STOP
MODULE_ACTIVATE_START
motion_getfunctions( &p_module->p_functions->motion );
_M( motion_getfunctions )( &p_module->p_functions->motion );
MODULE_ACTIVATE_STOP
MODULE_DEACTIVATE_START
......
......@@ -2,7 +2,7 @@
* motionmmx.c : MMX motion compensation module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id: motionmmx.c,v 1.7 2001/06/03 12:47:21 sam Exp $
* $Id: motionmmx.c,v 1.8 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
......@@ -45,7 +45,7 @@
/*****************************************************************************
* Local and extern prototypes.
*****************************************************************************/
void motion_getfunctions( function_list_t * p_function_list );
void _M( motion_getfunctions )( function_list_t * p_function_list );
/*****************************************************************************
* Build configuration tree.
......@@ -62,7 +62,7 @@ MODULE_INIT_START
MODULE_INIT_STOP
MODULE_ACTIVATE_START
motion_getfunctions( &p_module->p_functions->motion );
_M( motion_getfunctions )( &p_module->p_functions->motion );
MODULE_ACTIVATE_STOP
MODULE_DEACTIVATE_START
......
......@@ -2,7 +2,7 @@
* motionmmxext.c : MMX EXT motion compensation module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id: motionmmxext.c,v 1.7 2001/06/03 12:47:21 sam Exp $
* $Id: motionmmxext.c,v 1.8 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
......@@ -45,7 +45,7 @@
/*****************************************************************************
* Local and extern prototypes.
*****************************************************************************/
void motion_getfunctions( function_list_t * p_function_list );
void _M( motion_getfunctions )( function_list_t * p_function_list );
/*****************************************************************************
* Build configuration tree.
......@@ -62,7 +62,7 @@ MODULE_INIT_START
MODULE_INIT_STOP
MODULE_ACTIVATE_START
motion_getfunctions( &p_module->p_functions->motion );
_M( motion_getfunctions )( &p_module->p_functions->motion );
MODULE_ACTIVATE_STOP
MODULE_DEACTIVATE_START
......
......@@ -2,7 +2,7 @@
* vdec_motion_common.c : common motion compensation routines common
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: vdec_motion_common.c,v 1.7 2001/06/03 12:47:21 sam Exp $
* $Id: vdec_motion_common.c,v 1.8 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Jean-Marc Dressler <polux@via.ecp.fr>
......@@ -75,7 +75,7 @@ static void vdec_MotionFrameDMV444 ( macroblock_t * p_mb );
* Functions exported as capabilities. They are declared as static so that
* we don't pollute the namespace too much.
*****************************************************************************/
void motion_getfunctions( function_list_t * p_function_list )
void _M( motion_getfunctions )( function_list_t * p_function_list )
{
p_function_list->pf_probe = _M( motion_Probe );
......@@ -97,14 +97,14 @@ void motion_getfunctions( function_list_t * p_function_list )
}
#define __MotionComponents(width,height) \
void MotionComponent_x_y_copy_##width##_##height (); \
void MotionComponent_X_y_copy_##width##_##height (); \
void MotionComponent_x_Y_copy_##width##_##height (); \
void MotionComponent_X_Y_copy_##width##_##height (); \
void MotionComponent_x_y_avg_##width##_##height (); \
void MotionComponent_X_y_avg_##width##_##height (); \
void MotionComponent_x_Y_avg_##width##_##height (); \
void MotionComponent_X_Y_avg_##width##_##height ();
void _M( MotionComponent_x_y_copy_##width##_##height )(); \
void _M( MotionComponent_X_y_copy_##width##_##height )(); \
void _M( MotionComponent_x_Y_copy_##width##_##height )(); \
void _M( MotionComponent_X_Y_copy_##width##_##height )(); \
void _M( MotionComponent_x_y_avg_##width##_##height )(); \
void _M( MotionComponent_X_y_avg_##width##_##height )(); \
void _M( MotionComponent_x_Y_avg_##width##_##height )(); \
void _M( MotionComponent_X_Y_avg_##width##_##height )();
__MotionComponents (16,16) /* 444, 422, 420 */
__MotionComponents (16,8) /* 444, 422, 420 */
......@@ -122,20 +122,20 @@ __MotionComponents (8,16) /* 422 */
switch (i_select) \
{ \
case 0: \
MotionComponent_x_y_copy_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_x_y_copy_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
case 1: \
MotionComponent_X_y_copy_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_X_y_copy_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
case 2: \
MotionComponent_x_Y_copy_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_x_Y_copy_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
case 3: \
MotionComponent_X_Y_copy_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_X_Y_copy_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
} \
} \
......@@ -144,20 +144,20 @@ __MotionComponents (8,16) /* 422 */
switch (i_select) \
{ \
case 0: \
MotionComponent_x_y_avg_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_x_y_avg_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
case 1: \
MotionComponent_X_y_avg_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_X_y_avg_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
case 2: \
MotionComponent_x_Y_avg_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_x_Y_avg_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
case 3: \
MotionComponent_X_Y_avg_##width##_##height (p_src, p_dest, \
i_stride); \
_M( MotionComponent_X_Y_avg_##width##_##height )(p_src, \
p_dest, i_stride); \
break; \
} \
} \
......
......@@ -2,7 +2,7 @@
* vdec_motion_inner.c : motion compensation inner routines
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: vdec_motion_inner.c,v 1.1 2001/01/18 05:13:22 sam Exp $
* $Id: vdec_motion_inner.c,v 1.2 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Jean-Marc Dressler <polux@via.ecp.fr>
......@@ -23,6 +23,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#include "modules_inner.h"
/*****************************************************************************
* Preamble
*****************************************************************************/
......@@ -36,8 +38,8 @@
#include "video.h"
#define __MotionComponent_x_y_copy(width,height) \
void MotionComponent_x_y_copy_##width##_##height(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
void _M(MotionComponent_x_y_copy_##width##_##height)(yuv_data_t *p_src, \
yuv_data_t *p_dest, \
int i_stride) \
{ \
int i_x, i_y; \
......@@ -54,7 +56,7 @@ void MotionComponent_x_y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_y_copy(width,height) \
void MotionComponent_X_y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_y_copy_##width##_##height)(yuv_data_t *p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -74,7 +76,7 @@ void MotionComponent_X_y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_Y_copy(width,height) \
void MotionComponent_x_Y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_Y_copy_##width##_##height)(yuv_data_t *p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -94,7 +96,7 @@ void MotionComponent_x_Y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_Y_copy(width,height) \
void MotionComponent_X_Y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_Y_copy_##width##_##height)(yuv_data_t *p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -116,7 +118,7 @@ void MotionComponent_X_Y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_y_avg(width,height) \
void MotionComponent_x_y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -136,7 +138,7 @@ void MotionComponent_x_y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_y_avg(width,height) \
void MotionComponent_X_y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -158,7 +160,7 @@ void MotionComponent_X_y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_Y_avg(width,height) \
void MotionComponent_x_Y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_Y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -181,7 +183,7 @@ void MotionComponent_x_Y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_Y_avg(width,height) \
void MotionComponent_X_Y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_Y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......
......@@ -3,7 +3,7 @@
* MMX
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: vdec_motion_inner_mmx.c,v 1.1 2001/01/18 05:13:22 sam Exp $
* $Id: vdec_motion_inner_mmx.c,v 1.2 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>, largerly inspired by the
* work done by the livid project <http://www.linuxvideo.org/>
......@@ -23,6 +23,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#include "modules_inner.h"
/*****************************************************************************
* Preamble
*****************************************************************************/
......@@ -259,7 +261,7 @@ static __inline__ void MMXInterpAverage4( u8 *dst, u8 *src1, u8 *src2,
#define pavg_m2r(src,dest) pavgusb_m2r (src, dest);
#define __MotionComponent_x_y_copy(width,height) \
void MotionComponent_x_y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -282,7 +284,7 @@ void MotionComponent_x_y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_y_copy(width,height) \
void MotionComponent_X_y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -305,7 +307,7 @@ void MotionComponent_X_y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_Y_copy(width,height) \
void MotionComponent_x_Y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_Y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -330,7 +332,7 @@ void MotionComponent_x_Y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_Y_copy(width,height) \
void MotionComponent_X_Y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_Y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -356,7 +358,7 @@ void MotionComponent_X_Y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_y_avg(width,height) \
void MotionComponent_x_y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -379,7 +381,7 @@ void MotionComponent_x_y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_y_avg(width,height) \
void MotionComponent_X_y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -402,7 +404,7 @@ void MotionComponent_X_y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_Y_avg(width,height) \
void MotionComponent_x_Y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_Y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -426,7 +428,7 @@ void MotionComponent_x_Y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_Y_avg(width,height) \
void MotionComponent_X_Y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_Y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......
......@@ -3,7 +3,7 @@
* in MMX EXT
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: vdec_motion_inner_mmxext.c,v 1.1 2001/01/18 05:13:22 sam Exp $
* $Id: vdec_motion_inner_mmxext.c,v 1.2 2001/06/07 15:27:44 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>, largerly inspired by the
* work done by the livid project <http://www.linuxvideo.org/>
......@@ -23,6 +23,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#include "modules_inner.h"
/*****************************************************************************
* Preamble
*****************************************************************************/
......@@ -50,7 +52,7 @@ static mmx_t mask_one = {0x0101010101010101LL};
#define pavg_m2r(src,dest) pavgb_m2r (src, dest);
#define __MotionComponent_x_y_copy(width,height) \
void MotionComponent_x_y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -80,7 +82,7 @@ void MotionComponent_x_y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_y_copy(width,height) \
void MotionComponent_X_y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -103,7 +105,7 @@ void MotionComponent_X_y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_Y_copy(width,height) \
void MotionComponent_x_Y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_Y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -128,7 +130,7 @@ void MotionComponent_x_Y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_Y_copy(width,height) \
void MotionComponent_X_Y_copy_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_Y_copy_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -212,7 +214,7 @@ void MotionComponent_X_Y_copy_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_y_avg(width,height) \
void MotionComponent_x_y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -235,7 +237,7 @@ void MotionComponent_x_y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_y_avg(width,height) \
void MotionComponent_X_y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -261,7 +263,7 @@ void MotionComponent_X_y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_x_Y_avg(width,height) \
void MotionComponent_x_Y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_x_Y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......@@ -289,7 +291,7 @@ void MotionComponent_x_Y_avg_##width##_##height(yuv_data_t * p_src, \
}
#define __MotionComponent_X_Y_avg(width,height) \
void MotionComponent_X_Y_avg_##width##_##height(yuv_data_t * p_src, \
void _M(MotionComponent_X_Y_avg_##width##_##height)(yuv_data_t * p_src, \
yuv_data_t * p_dest, \
int i_stride) \
{ \
......
......@@ -2,7 +2,7 @@
* input_es.c: Elementary Stream demux and packet management
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: input_es.c,v 1.5 2001/05/31 03:12:49 sam Exp $