mirror of
https://github.com/videolan/vlc.git
synced 2024-12-12 11:13:34 +08:00
* 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.
This commit is contained in:
parent
214396bc9f
commit
47723362cc
4
AUTHORS
4
AUTHORS
@ -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
|
||||
|
||||
|
22
configure
vendored
22
configure
vendored
@ -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
|
||||
|
22
configure.in
22
configure.in
@ -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: Stéphane Borel <stef@via.ecp.fr>
|
||||
* Authors: Stéphane 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 = SetFilePointer( (HANDLE) p_ifo->i_fd, i_pos, NULL, FILE_BEGIN );
|
||||
ReadFile( (HANDLE) p_ifo->i_fd, pi_buffer, DVD_LB_SIZE, &tmp, NULL );
|
||||
p_ifo->i_pos = lseek( p_ifo->i_fd, i_pos, SEEK_SET );
|
||||
read( p_ifo->i_fd, pi_buffer, DVD_LB_SIZE );
|
||||
|
||||
#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: Stéphane 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 $
|
||||
* $Id: input_es.c,v 1.6 2001/06/07 15:27:44 sam Exp $
|
||||
*
|
||||
* Authors:
|
||||
*
|
||||
@ -120,7 +120,7 @@ static int ESProbe( probedata_t *p_data )
|
||||
|
||||
char * psz_name = p_input->p_source;
|
||||
int i_handle;
|
||||
int i_score = 10;
|
||||
int i_score = 5;
|
||||
|
||||
if( TestMethod( INPUT_METHOD_VAR, "es" ) )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user