You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(91) |
Oct
(8) |
Nov
(15) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(2) |
Feb
(5) |
Mar
(41) |
Apr
(41) |
May
(29) |
Jun
(61) |
Jul
(74) |
Aug
(3) |
Sep
(35) |
Oct
(24) |
Nov
(86) |
Dec
(163) |
2003 |
Jan
(28) |
Feb
(94) |
Mar
(27) |
Apr
(14) |
May
(5) |
Jun
(8) |
Jul
(1) |
Aug
(67) |
Sep
(113) |
Oct
(78) |
Nov
(37) |
Dec
(97) |
2004 |
Jan
(15) |
Feb
(35) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2006 |
Jan
|
Feb
(25) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(1) |
2007 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
(13) |
Mar
(1) |
Apr
(7) |
May
(1) |
Jun
|
Jul
(21) |
Aug
|
Sep
(1) |
Oct
(10) |
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Michel L. <wa...@us...> - 2001-11-26 10:46:03
|
Update of /cvsroot/libmpeg2/mpeg2dec/vc++ In directory usw-pr-cvs1:/tmp/cvs-serv3175/vc++ Added Files: Makefile.am config.h inttypes.h libmpeg2.dsp libvo.dsp mpeg2dec.dsp mpeg2dec.dsw Log Message: added support for vc++ builds --- NEW FILE: Makefile.am --- EXTRA_DIST = config.h inttypes.h libmpeg2.dsp libvo.dsp mpeg2dec.dsp \ mpeg2dec.dsw --- NEW FILE: config.h --- /* vc++/config.h - manually adapted from include/config.h.in */ /* Define to empty if the keyword does not work. */ /* #undef const */ /* Define as __inline if that's what the C compiler calls it. */ #define inline __inline /* Define as the return type of signal handlers (int or void). */ /* #undef RETSIGTYPE */ /* Define to `unsigned' if <sys/types.h> doesn't define. */ /* #undef size_t */ /* Define if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Define if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ /* #undef WORDS_BIGENDIAN */ /* Define if the X Window System is missing or not being used. */ /* #undef X_DISPLAY_MISSING */ /* Define if you have the memalign function. */ /* #undef HAVE_MEMALIGN */ /* Define if you have the <string.h> header file. */ #define HAVE_STRING_H 1 /* Define if you have the <sys/time.h> header file. */ /* #undef HAVE_SYS_TIME_H */ /* Name of package */ #define PACKAGE "mpeg2dec" /* Version number of package */ #define VERSION "0.2.1-cvs" /* x86 architecture */ /* #undef ARCH_X86 */ /* ppc architecture */ /* #undef ARCH_PPC */ /* libmpeg2 mediaLib support */ /* #undef LIBMPEG2_MLIB */ /* libvo X11 support */ /* #undef LIBVO_X11 */ /* libvo Xv support */ /* #undef LIBVO_XV */ /* libvo mediaLib support */ /* #undef LIBVO_MLIB */ /* libvo SDL support */ /* #undef LIBVO_SDL */ /* libvo MGA support */ /* #undef LIBVO_MGA */ /* mpeg2dec profiling */ /* #undef MPEG2DEC_GPROF */ /* maximum supported data alignment */ /* #undef ATTRIBUTE_ALIGNED_MAX */ --- NEW FILE: inttypes.h --- typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; #ifdef ARCH_X86 typedef signed long long int64_t; #endif typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #ifdef ARCH_X86 typedef unsigned long long uint64_t; #endif --- NEW FILE: libmpeg2.dsp --- # Microsoft Developer Studio Project File - Name="libmpeg2" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Static Library" 0x0104 CFG=libmpeg2 - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "libmpeg2.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "libmpeg2.mak" CFG="libmpeg2 - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "libmpeg2 - Win32 Release" (based on "Win32 (x86) Static Library") !MESSAGE "libmpeg2 - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "libmpeg2 - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /I "." /I "../include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo !ELSEIF "$(CFG)" == "libmpeg2 - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "../include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo !ENDIF # Begin Target # Name "libmpeg2 - Win32 Release" # Name "libmpeg2 - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\libmpeg2\decode.c # End Source File # Begin Source File SOURCE=..\libmpeg2\header.c # End Source File # Begin Source File SOURCE=..\libmpeg2\idct.c # End Source File # Begin Source File SOURCE=..\libmpeg2\idct_altivec.c # End Source File # Begin Source File SOURCE=..\libmpeg2\idct_mlib.c # End Source File # Begin Source File SOURCE=..\libmpeg2\idct_mmx.c # End Source File # Begin Source File SOURCE=..\libmpeg2\motion_comp.c # End Source File # Begin Source File SOURCE=..\libmpeg2\motion_comp_altivec.c # End Source File # Begin Source File SOURCE=..\libmpeg2\motion_comp_mlib.c # End Source File # Begin Source File SOURCE=..\libmpeg2\motion_comp_mmx.c # End Source File # Begin Source File SOURCE=..\libmpeg2\slice.c # End Source File # Begin Source File SOURCE=..\libmpeg2\stats.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\include\mpeg2.h # End Source File # Begin Source File SOURCE=..\libmpeg2\mpeg2_internal.h # End Source File # Begin Source File SOURCE=..\libmpeg2\vlc.h # End Source File # End Group # End Target # End Project --- NEW FILE: libvo.dsp --- # Microsoft Developer Studio Project File - Name="libvo" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Static Library" 0x0104 CFG=libvo - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "libvo.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "libvo.mak" CFG="libvo - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "libvo - Win32 Release" (based on "Win32 (x86) Static Library") !MESSAGE "libvo - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "libvo - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /I "." /I "../include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo !ELSEIF "$(CFG)" == "libvo - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "../include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo !ENDIF # Begin Target # Name "libvo - Win32 Release" # Name "libvo - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\libvo\video_out.c # End Source File # Begin Source File SOURCE=..\libvo\video_out_mga.c # End Source File # Begin Source File SOURCE=..\libvo\video_out_null.c # End Source File # Begin Source File SOURCE=..\libvo\video_out_pgm.c # End Source File # Begin Source File SOURCE=..\libvo\video_out_sdl.c # End Source File # Begin Source File SOURCE=..\libvo\video_out_x11.c # End Source File # Begin Source File SOURCE=..\libvo\yuv2rgb.c # End Source File # Begin Source File SOURCE=..\libvo\yuv2rgb_mlib.c # End Source File # Begin Source File SOURCE=..\libvo\yuv2rgb_mmx.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\include\video_out.h # End Source File # Begin Source File SOURCE=..\libvo\video_out_internal.h # End Source File # Begin Source File SOURCE=..\libvo\yuv2rgb.h # End Source File # End Group # End Target # End Project --- NEW FILE: mpeg2dec.dsp --- # Microsoft Developer Studio Project File - Name="mpeg2dec" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=mpeg2dec - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "mpeg2dec.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "mpeg2dec.mak" CFG="mpeg2dec - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "mpeg2dec - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "mpeg2dec - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "mpeg2dec - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /I "." /I "../include" /I "../src" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "mpeg2dec - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "../include" /I "../src" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /YX /FD /GZ /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "mpeg2dec - Win32 Release" # Name "mpeg2dec - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\src\cpu_accel.c # End Source File # Begin Source File SOURCE=..\src\getopt.c # End Source File # Begin Source File SOURCE=..\src\mpeg2dec.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\src\getopt.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project --- NEW FILE: mpeg2dec.dsw --- Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "libmpeg2"=".\libmpeg2.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "libvo"=".\libvo.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "mpeg2dec"=".\mpeg2dec.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name libmpeg2 End Project Dependency Begin Project Dependency Project_Dep_Name libvo End Project Dependency }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### |
From: Michel L. <wa...@us...> - 2001-11-26 10:46:03
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv3175 Modified Files: Makefile.am configure.in Log Message: added support for vc++ builds Index: Makefile.am =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.am 2001/07/21 09:09:18 1.2 +++ Makefile.am 2001/11/26 10:45:59 1.3 @@ -1,3 +1,3 @@ -SUBDIRS = autotools include doc libmpeg2 libvo src test +SUBDIRS = autotools include doc libmpeg2 libvo src vc++ test EXTRA_DIST = bootstrap Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- configure.in 2001/10/09 07:15:12 1.10 +++ configure.in 2001/11/26 10:45:59 1.11 @@ -109,4 +109,4 @@ AC_C_ATTRIBUTE_ALIGNED -AC_OUTPUT(Makefile autotools/Makefile include/Makefile test/Makefile doc/Makefile src/Makefile libmpeg2/Makefile libvo/Makefile) +AC_OUTPUT(Makefile autotools/Makefile include/Makefile test/Makefile doc/Makefile src/Makefile libmpeg2/Makefile libvo/Makefile vc++/Makefile) |
From: Michel L. <wa...@us...> - 2001-11-26 10:41:11
|
Update of /cvsroot/libmpeg2/mpeg2dec/vc++ In directory usw-pr-cvs1:/tmp/cvs-serv2154/vc++ Log Message: Directory /cvsroot/libmpeg2/mpeg2dec/vc++ added to the repository |
From: Michel L. <wa...@us...> - 2001-11-26 01:18:11
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv20941/libmpeg2 Modified Files: decode.c mpeg2_internal.h slice.c stats.c Log Message: more portability fixes. made sure the slice number is always passed as an integer, instead of sometimes int and smetimes uint8_t do not include mmx.h when on non-X86 builds (because of the nonstandard long long in there) Index: decode.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/decode.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- decode.c 2001/11/04 11:42:07 1.4 +++ decode.c 2001/11/26 01:18:06 1.5 @@ -33,7 +33,9 @@ #include "mpeg2_internal.h" #include "mm_accel.h" #include "attributes.h" +#ifdef ARCH_X86 #include "mmx.h" +#endif #ifdef HAVE_MEMALIGN /* some systems have memalign() but no declaration for it */ Index: mpeg2_internal.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/mpeg2_internal.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- mpeg2_internal.h 2001/10/09 08:22:17 1.7 +++ mpeg2_internal.h 2001/11/26 01:18:06 1.8 @@ -197,7 +197,7 @@ extern mc_functions_t mc_functions_mlib; /* slice.c */ -void slice_process (picture_t * picture, uint8_t code, uint8_t * buffer); +void slice_process (picture_t * picture, int code, uint8_t * buffer); /* stats.c */ -void stats_header (uint8_t code, uint8_t * buffer); +void stats_header (int code, uint8_t * buffer); Index: slice.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/slice.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- slice.c 2001/09/23 23:22:45 1.3 +++ slice.c 2001/11/26 01:18:06 1.4 @@ -1505,7 +1505,7 @@ } \ } while (0) -void slice_process (picture_t * picture, uint8_t code, uint8_t * buffer) +void slice_process (picture_t * picture, int code, uint8_t * buffer) { #define bit_buf (picture->bitstream_buf) #define bits (picture->bitstream_bits) Index: stats.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/stats.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- stats.c 2001/09/23 23:22:45 1.2 +++ stats.c 2001/11/26 01:18:06 1.3 @@ -152,7 +152,7 @@ (buffer[4] & 0x20) ? " broken_link" : ""); } -static void stats_slice (uint8_t code, uint8_t * buffer) +static void stats_slice (int code, uint8_t * buffer) { /* fprintf (stderr, " (slice %d)\n", code); */ } @@ -257,7 +257,7 @@ alternate_scan, repeat_first_field, progressive_frame); } -void stats_header (uint8_t code, uint8_t * buffer) +void stats_header (int code, uint8_t * buffer) { if (! (debug_is_on ())) return; |
From: Michel L. <wa...@us...> - 2001-11-25 10:57:02
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv19923/src Modified Files: mpeg2dec.c Log Message: remove redundant include Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- mpeg2dec.c 2001/11/25 09:48:53 1.11 +++ mpeg2dec.c 2001/11/25 10:56:57 1.12 @@ -49,9 +49,6 @@ #ifdef HAVE_SYS_TIME_H -#include <sys/time.h> -#include <signal.h> - static void print_fps (int final); static RETSIGTYPE signal_handler (int sig) |
From: Michel L. <wa...@us...> - 2001-11-25 09:48:58
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv10462/src Modified Files: extract_mpeg2.c mpeg2dec.c Log Message: small fix for cygwin users: inttypes.h should always be included last... Index: extract_mpeg2.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/extract_mpeg2.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- extract_mpeg2.c 2001/10/29 08:13:54 1.8 +++ extract_mpeg2.c 2001/11/25 09:48:53 1.9 @@ -27,8 +27,8 @@ #include <stdlib.h> #include <string.h> #include <errno.h> -#include <inttypes.h> #include <getopt.h> +#include <inttypes.h> #define BUFFER_SIZE 4096 static uint8_t buffer[BUFFER_SIZE]; Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- mpeg2dec.c 2001/10/29 08:13:54 1.10 +++ mpeg2dec.c 2001/11/25 09:48:53 1.11 @@ -27,12 +27,12 @@ #include <stdlib.h> #include <string.h> #include <errno.h> -#include <inttypes.h> #include <getopt.h> #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #include <signal.h> #endif +#include <inttypes.h> #include "video_out.h" #include "mpeg2.h" |
From: Michel L. <wa...@us...> - 2001-11-25 09:48:57
|
Update of /cvsroot/libmpeg2/mpeg2dec/libvo In directory usw-pr-cvs1:/tmp/cvs-serv10462/libvo Modified Files: video_out_mga.c video_out_sdl.c video_out_x11.c yuv2rgb_mlib.c Log Message: small fix for cygwin users: inttypes.h should always be included last... Index: video_out_mga.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_mga.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- video_out_mga.c 2001/09/23 23:22:45 1.2 +++ video_out_mga.c 2001/11/25 09:48:52 1.3 @@ -31,7 +31,6 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> - #include <sys/ioctl.h> #include <unistd.h> #include <fcntl.h> Index: video_out_sdl.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_sdl.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- video_out_sdl.c 2001/09/23 23:22:45 1.3 +++ video_out_sdl.c 2001/11/25 09:48:53 1.4 @@ -31,8 +31,8 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <inttypes.h> #include <SDL/SDL.h> +#include <inttypes.h> #include "video_out.h" #include "video_out_internal.h" Index: video_out_x11.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_x11.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- video_out_x11.c 2001/09/23 23:22:45 1.2 +++ video_out_x11.c 2001/11/25 09:48:53 1.3 @@ -29,11 +29,10 @@ #include <stdlib.h> #include <X11/Xlib.h> #include <X11/Xutil.h> -#include <inttypes.h> - #include <sys/ipc.h> #include <sys/shm.h> #include <X11/extensions/XShm.h> +#include <inttypes.h> /* since it doesn't seem to be defined on some platforms */ int XShmGetEventBase (Display *); Index: yuv2rgb_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/yuv2rgb_mlib.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- yuv2rgb_mlib.c 2001/09/23 23:22:45 1.2 +++ yuv2rgb_mlib.c 2001/11/25 09:48:53 1.3 @@ -25,11 +25,11 @@ #ifdef LIBVO_MLIB #include <stddef.h> -#include <inttypes.h> #include <mlib_types.h> #include <mlib_status.h> #include <mlib_sys.h> #include <mlib_video.h> +#include <inttypes.h> #include "yuv2rgb.h" |
From: Michel L. <wa...@us...> - 2001-11-25 09:48:57
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv10462/libmpeg2 Modified Files: idct.c idct_mlib.c motion_comp_mlib.c Log Message: small fix for cygwin users: inttypes.h should always be included last... Index: idct.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- idct.c 2001/10/09 08:22:17 1.4 +++ idct.c 2001/11/25 09:48:52 1.5 @@ -42,8 +42,8 @@ #include "config.h" #include <stdio.h> -#include <inttypes.h> #include <stdlib.h> +#include <inttypes.h> #include "mpeg2_internal.h" #include "mm_accel.h" Index: idct_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct_mlib.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- idct_mlib.c 2001/10/09 08:22:17 1.3 +++ idct_mlib.c 2001/11/25 09:48:52 1.4 @@ -24,11 +24,11 @@ #ifdef LIBMPEG2_MLIB -#include <inttypes.h> #include <mlib_types.h> #include <mlib_status.h> #include <mlib_sys.h> #include <mlib_video.h> +#include <inttypes.h> #include "mpeg2_internal.h" Index: motion_comp_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp_mlib.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- motion_comp_mlib.c 2001/09/23 23:22:45 1.3 +++ motion_comp_mlib.c 2001/11/25 09:48:52 1.4 @@ -24,11 +24,11 @@ #ifdef LIBMPEG2_MLIB -#include <inttypes.h> #include <mlib_types.h> #include <mlib_status.h> #include <mlib_sys.h> #include <mlib_video.h> +#include <inttypes.h> #include "mpeg2_internal.h" |
From: Michel L. <wa...@us...> - 2001-11-04 11:42:10
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv28501/libmpeg2 Modified Files: decode.c header.c Log Message: support MP@HL streams instead of just MP@ML. Usefull for HDTV and stuff. Index: decode.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/decode.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- decode.c 2001/10/07 00:25:38 1.3 +++ decode.c 2001/11/04 11:42:07 1.4 @@ -43,7 +43,7 @@ #define memalign(align,size) malloc (size) #endif -#define BUFFER_SIZE (224 * 1024) +#define BUFFER_SIZE (1194 * 1024) mpeg2_config_t config; Index: header.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/header.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- header.c 2001/09/23 23:22:45 1.4 +++ header.c 2001/11/04 11:42:07 1.5 @@ -87,8 +87,8 @@ width = ((height >> 12) + 15) & ~15; height = ((height & 0xfff) + 15) & ~15; - if ((width > 768) || (height > 576)) - return 1; /* size restrictions for MP@ML or MPEG1 */ + if ((width > 1920) || (height > 1152)) + return 1; /* size restrictions for MP@HL */ picture->coded_picture_width = width; picture->coded_picture_height = height; |
From: Michel L. <wa...@us...> - 2001-10-29 08:13:58
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv21211/src Modified Files: extract_mpeg2.c mpeg2dec.c Log Message: TS demultiplexer. I had done this a long time ago (before disk crash) and had to check it in sometime ! Index: extract_mpeg2.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/extract_mpeg2.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- extract_mpeg2.c 2001/10/08 10:20:47 1.7 +++ extract_mpeg2.c 2001/10/29 08:13:54 1.8 @@ -34,11 +34,14 @@ static uint8_t buffer[BUFFER_SIZE]; static FILE * in_file; static int demux_track = 0xe0; +static int demux_pid = 0; static void print_usage (char ** argv) { - fprintf (stderr, "usage: %s [-s<track>] <file>\n" - "\t-s\tset track number (0-15 or 0xe0-0xef)\n", argv[0]); + fprintf (stderr, "usage: %s [-s <track>] [-t <pid>] <file>\n" + "\t-s\tset track number (0-15 or 0xe0-0xef)\n" + "\t-t\tuse transport stream demultiplexer, pid 0x10-0x1ffe\n", + argv[0]); exit (1); } @@ -48,7 +51,7 @@ int c; char * s; - while ((c = getopt (argc, argv, "s:")) != -1) + while ((c = getopt (argc, argv, "s:t:")) != -1) switch (c) { case 's': demux_track = strtol (optarg, &s, 16); @@ -60,6 +63,14 @@ } break; + case 't': + demux_pid = strtol (optarg, &s, 16); + if ((demux_pid < 0x10) || (demux_pid > 0x1ffe) || (*s)) { + fprintf (stderr, "Invalid pid: %s\n", optarg); + print_usage (argv); + } + break; + default: print_usage (argv); } @@ -75,7 +86,8 @@ in_file = stdin; } -static int demux (uint8_t * buf, uint8_t * end) +#define DEMUX_PAYLOAD_START 1 +static int demux (uint8_t * buf, uint8_t * end, int flags) { static int mpeg1_skip_table[16] = { 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 @@ -100,7 +112,7 @@ #define DEMUX_HEADER 0 #define DEMUX_DATA 1 #define DEMUX_SKIP 2 - static int state = DEMUX_HEADER; + static int state = DEMUX_SKIP; static int state_bytes = 0; static uint8_t head_buf[264]; @@ -139,6 +151,8 @@ buf = header + (x); \ } while (0) + if (flags & DEMUX_PAYLOAD_START) + goto payload_start; switch (state) { case DEMUX_HEADER: if (state_bytes > 0) { @@ -148,7 +162,7 @@ } break; case DEMUX_DATA: - if (state_bytes > end - buf) { + if (demux_pid || (state_bytes > end - buf)) { fwrite (buf, end - buf, 1, stdout); state_bytes -= end - buf; return 0; @@ -157,7 +171,7 @@ buf += state_bytes; break; case DEMUX_SKIP: - if (state_bytes > end - buf) { + if (demux_pid || (state_bytes > end - buf)) { state_bytes -= end - buf; return 0; } @@ -166,14 +180,22 @@ } while (1) { + if (demux_pid) { + state = DEMUX_SKIP; + return 0; + } + payload_start: header = buf; bytes = end - buf; continue_header: NEEDBYTES (4); if (header[0] || header[1] || (header[2] != 1)) { - if (header != head_buf) { + if (demux_pid) { + state = DEMUX_SKIP; + return 0; + } else if (header != head_buf) { buf++; - continue; + goto payload_start; } else { header[0] = header[1]; header[1] = header[2]; @@ -182,6 +204,12 @@ goto continue_header; } } + if (demux_pid) { + if ((header[3] >= 0xe0) && (header[3] <= 0xef)) + goto pes; + fprintf (stderr, "bad stream id %x\n", header[3]); + exit (1); + } switch (header[3]) { case 0xb9: /* program end code */ /* DONEBYTES (4); */ @@ -205,6 +233,7 @@ break; default: if (header[3] == demux_track) { + pes: NEEDBYTES (7); if ((header[6] & 0xc0) == 0x80) { /* mpeg2 */ NEEDBYTES (9); @@ -231,14 +260,13 @@ } DONEBYTES (len); bytes = 6 + (header[4] << 8) + header[5] - len; - if (bytes <= 0) - continue; - if (bytes > end - buf) { + if (demux_pid || (bytes > end - buf)) { fwrite (buf, end - buf, 1, stdout); state = DEMUX_DATA; state_bytes = bytes - (end - buf); return 0; - } + } else if (bytes <= 0) + continue; fwrite (buf, bytes, 1, stdout); buf += bytes; } else if (header[3] < 0xb9) { @@ -266,16 +294,53 @@ do { end = buffer + fread (buffer, 1, BUFFER_SIZE, in_file); - if (demux (buffer, end)) + if (demux (buffer, end, 0)) break; /* hit program_end_code */ } while (end == buffer + BUFFER_SIZE); } +static void ts_loop (void) +{ +#define PACKETS (BUFFER_SIZE / 188) + uint8_t * buf; + uint8_t * data; + uint8_t * end; + int packets; + int i; + int pid; + + do { + packets = fread (buffer, 188, PACKETS, in_file); + for (i = 0; i < packets; i++) { + buf = buffer + i * 188; + end = buf + 188; + if (buf[0] != 0x47) { + fprintf (stderr, "bad sync byte\n"); + exit (1); + } + pid = ((buf[1] << 8) + buf[2]) & 0x1fff; + if (pid != demux_pid) + continue; + data = buf + 4; + if (buf[3] & 0x20) { /* buf contains an adaptation field */ + data = buf + 5 + buf[4]; + if (data > end) + continue; + } + if (buf[3] & 0x10) + demux (data, end, (buf[1] & 0x40) ? DEMUX_PAYLOAD_START : 0); + } + } while (packets == PACKETS); +} + int main (int argc, char ** argv) { handle_args (argc, argv); - ps_loop (); + if (demux_pid) + ts_loop (); + else + ps_loop (); return 0; } Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- mpeg2dec.c 2001/10/08 10:20:47 1.9 +++ mpeg2dec.c 2001/10/29 08:13:54 1.10 @@ -42,6 +42,7 @@ static uint8_t buffer[BUFFER_SIZE]; static FILE * in_file; static int demux_track = 0; +static int demux_pid = 0; static int disable_accel = 0; static mpeg2dec_t mpeg2dec; static vo_open_t * output_open = NULL; @@ -128,9 +129,11 @@ int i; vo_driver_t * drivers; - fprintf (stderr, "usage: %s [-o <mode>] [-s[<track>]] [-c] <file>\n" + fprintf (stderr, + "usage: %s [-o <mode>] [-s [<track>]] [-t <pid>] [-c] <file>\n" "\t-s\tuse program stream demultiplexer, " "track 0-15 or 0xe0-0xef\n" + "\t-t\tuse transport stream demultiplexer, pid 0x10-0x1ffe\n" "\t-c\tuse c implementation, disables all accelerations\n" "\t-o\tvideo output mode\n", argv[0]); @@ -146,9 +149,10 @@ int c; vo_driver_t * drivers; int i; + char * s; drivers = vo_drivers (); - while ((c = getopt (argc, argv, "s::co:")) != -1) + while ((c = getopt (argc, argv, "s::t:co:")) != -1) switch (c) { case 'o': for (i = 0; drivers[i].name != NULL; i++) @@ -163,8 +167,6 @@ case 's': demux_track = 0xe0; if (optarg != NULL) { - char * s; - demux_track = strtol (optarg, &s, 16); if (demux_track < 0xe0) demux_track += 0xe0; @@ -175,6 +177,14 @@ } break; + case 't': + demux_pid = strtol (optarg, &s, 16); + if ((demux_pid < 0x10) || (demux_pid > 0x1ffe) || (*s)) { + fprintf (stderr, "Invalid pid: %s\n", optarg); + print_usage (argv); + } + break; + case 'c': disable_accel = 1; break; @@ -198,7 +208,17 @@ in_file = stdin; } -static int demux (uint8_t * buf, uint8_t * end) +static void decode_mpeg2 (uint8_t * buf, uint8_t * end) +{ + int num_frames; + + num_frames = mpeg2_decode_data (&mpeg2dec, buf, end); + while (num_frames--) + print_fps (0); +} + +#define DEMUX_PAYLOAD_START 1 +static int demux (uint8_t * buf, uint8_t * end, int flags) { static int mpeg1_skip_table[16] = { 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 @@ -223,14 +243,13 @@ #define DEMUX_HEADER 0 #define DEMUX_DATA 1 #define DEMUX_SKIP 2 - static int state = DEMUX_HEADER; + static int state = DEMUX_SKIP; static int state_bytes = 0; static uint8_t head_buf[264]; uint8_t * header; int bytes; int len; - int num_frames; #define NEEDBYTES(x) \ do { \ @@ -263,6 +282,8 @@ buf = header + (x); \ } while (0) + if (flags & DEMUX_PAYLOAD_START) + goto payload_start; switch (state) { case DEMUX_HEADER: if (state_bytes > 0) { @@ -272,20 +293,16 @@ } break; case DEMUX_DATA: - if (state_bytes > end - buf) { - num_frames = mpeg2_decode_data (&mpeg2dec, buf, end); - while (num_frames--) - print_fps (0); + if (demux_pid || (state_bytes > end - buf)) { + decode_mpeg2 (buf, end); state_bytes -= end - buf; return 0; } - num_frames = mpeg2_decode_data (&mpeg2dec, buf, buf + state_bytes); - while (num_frames--) - print_fps (0); + decode_mpeg2 (buf, buf + state_bytes); buf += state_bytes; break; case DEMUX_SKIP: - if (state_bytes > end - buf) { + if (demux_pid || (state_bytes > end - buf)) { state_bytes -= end - buf; return 0; } @@ -294,14 +311,22 @@ } while (1) { + if (demux_pid) { + state = DEMUX_SKIP; + return 0; + } + payload_start: header = buf; bytes = end - buf; continue_header: NEEDBYTES (4); if (header[0] || header[1] || (header[2] != 1)) { - if (header != head_buf) { + if (demux_pid) { + state = DEMUX_SKIP; + return 0; + } else if (header != head_buf) { buf++; - continue; + goto payload_start; } else { header[0] = header[1]; header[1] = header[2]; @@ -310,6 +335,12 @@ goto continue_header; } } + if (demux_pid) { + if ((header[3] >= 0xe0) && (header[3] <= 0xef)) + goto pes; + fprintf (stderr, "bad stream id %x\n", header[3]); + exit (1); + } switch (header[3]) { case 0xb9: /* program end code */ /* DONEBYTES (4); */ @@ -333,6 +364,7 @@ break; default: if (header[3] == demux_track) { + pes: NEEDBYTES (7); if ((header[6] & 0xc0) == 0x80) { /* mpeg2 */ NEEDBYTES (9); @@ -359,19 +391,14 @@ } DONEBYTES (len); bytes = 6 + (header[4] << 8) + header[5] - len; - if (bytes <= 0) - continue; - if (bytes > end - buf) { - num_frames = mpeg2_decode_data (&mpeg2dec, buf, end); - while (num_frames--) - print_fps (0); + if (demux_pid || (bytes > end - buf)) { + decode_mpeg2 (buf, end); state = DEMUX_DATA; state_bytes = bytes - (end - buf); return 0; - } - num_frames = mpeg2_decode_data (&mpeg2dec, buf, buf + bytes); - while (num_frames--) - print_fps (0); + } else if (bytes <= 0) + continue; + decode_mpeg2 (buf, buf + bytes); buf += bytes; } else if (header[3] < 0xb9) { fprintf (stderr, @@ -398,24 +425,52 @@ do { end = buffer + fread (buffer, 1, BUFFER_SIZE, in_file); - if (demux (buffer, end)) + if (demux (buffer, end, 0)) break; /* hit program_end_code */ } while (end == buffer + BUFFER_SIZE); } +static void ts_loop (void) +{ +#define PACKETS (BUFFER_SIZE / 188) + uint8_t * buf; + uint8_t * data; + uint8_t * end; + int packets; + int i; + int pid; + + do { + packets = fread (buffer, 188, PACKETS, in_file); + for (i = 0; i < packets; i++) { + buf = buffer + i * 188; + end = buf + 188; + if (buf[0] != 0x47) { + fprintf (stderr, "bad sync byte\n"); + exit (1); + } + pid = ((buf[1] << 8) + buf[2]) & 0x1fff; + if (pid != demux_pid) + continue; + data = buf + 4; + if (buf[3] & 0x20) { /* buf contains an adaptation field */ + data = buf + 5 + buf[4]; + if (data > end) + continue; + } + if (buf[3] & 0x10) + demux (data, end, (buf[1] & 0x40) ? DEMUX_PAYLOAD_START : 0); + } + } while (packets == PACKETS); +} + static void es_loop (void) { uint8_t * end; - int num_frames; do { end = buffer + fread (buffer, 1, BUFFER_SIZE, in_file); - - num_frames = mpeg2_decode_data (&mpeg2dec, buffer, end); - - while (num_frames--) - print_fps (0); - + decode_mpeg2 (buffer, end); } while (end == buffer + BUFFER_SIZE); } @@ -439,7 +494,9 @@ } mpeg2_init (&mpeg2dec, accel, output); - if (demux_track) + if (demux_pid) + ts_loop (); + else if (demux_track) ps_loop (); else es_loop (); |
From: Michel L. <wa...@us...> - 2001-10-09 08:22:19
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv11181/libmpeg2 Modified Files: idct.c idct_mlib.c mpeg2_internal.h Log Message: mlib changes: use IEEE compliant IDCT routines by default. This avoids error accumulation. problems: * this is slower than the non-IEEE mlib IDCT routine * this is only available for non-intra coded blocks. intra blocks are still decoded using a noncompliant IDCT routine. However this is not as much of a problem as intra blocks do not cause error accumulation. The old, faster behaviour can be restored by setting the environment variable MLIB_NON_IEEE=1 Sometime in the future it would be worth it to come up with a fast compliant IDCT routine using the VIS instructions - but this can not be done in the very short term. Index: idct.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- idct.c 2001/09/23 23:22:45 1.3 +++ idct.c 2001/10/09 08:22:17 1.4 @@ -43,6 +43,7 @@ #include <stdio.h> #include <inttypes.h> +#include <stdlib.h> #include "mpeg2_internal.h" #include "mm_accel.h" @@ -89,9 +90,18 @@ #endif #ifdef LIBMPEG2_MLIB if (config.flags & MM_ACCEL_MLIB) { - fprintf (stderr, "Using mlib for IDCT transform\n"); - idct_block_copy = idct_block_copy_mlib; - idct_block_add = idct_block_add_mlib; + char * env_var; + + env_var = getenv ("MLIB_NON_IEEE"); + + if (env_var == NULL) { + fprintf (stderr, "Using mlib for IDCT transform\n"); + idct_block_add = idct_block_add_mlib; + } else { + fprintf (stderr, "Using non-IEEE mlib for IDCT transform\n"); + idct_block_add = idct_block_add_mlib_non_ieee; + } + idct_block_copy = idct_block_copy_mlib_non_ieee; } else #endif { Index: idct_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct_mlib.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- idct_mlib.c 2001/09/23 23:22:45 1.2 +++ idct_mlib.c 2001/10/09 08:22:17 1.3 @@ -32,15 +32,20 @@ #include "mpeg2_internal.h" -void idct_block_copy_mlib (int16_t * block, uint8_t * dest, int stride) +void idct_block_add_mlib (int16_t * block, uint8_t * dest, int stride) { + mlib_VideoIDCT_IEEE_S16_S16 (block, block); + mlib_VideoAddBlock_U8_S16 (dest, block, stride); +} + +void idct_block_copy_mlib_non_ieee (int16_t * block, uint8_t * dest, + int stride) +{ mlib_VideoIDCT8x8_U8_S16 (dest, block, stride); } -void idct_block_add_mlib (int16_t * block, uint8_t * dest, int stride) +void idct_block_add_mlib_non_ieee (int16_t * block, uint8_t * dest, int stride) { - /* Should we use mlib_VideoIDCT_IEEE_S16_S16 here ?? */ - /* it's ~30% slower. */ mlib_VideoIDCT8x8_S16_S16 (block, block); mlib_VideoAddBlock_U8_S16 (dest, block, stride); } Index: mpeg2_internal.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/mpeg2_internal.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mpeg2_internal.h 2001/09/23 23:22:45 1.6 +++ mpeg2_internal.h 2001/10/09 08:22:17 1.7 @@ -156,8 +156,11 @@ void idct_init (void); /* idct_mlib.c */ -void idct_block_copy_mlib (int16_t * block, uint8_t * dest, int stride); void idct_block_add_mlib (int16_t * block, uint8_t * dest, int stride); +void idct_block_copy_mlib_non_ieee (int16_t * block, uint8_t * dest, + int stride); +void idct_block_add_mlib_non_ieee (int16_t * block, uint8_t * dest, + int stride); /* idct_mmx.c */ void idct_block_copy_mmxext (int16_t * block, uint8_t * dest, int stride); |
From: Michel L. <wa...@us...> - 2001-10-09 07:15:14
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv28820 Modified Files: configure.in Log Message: compile with the right options on sparc64. its a shame that we need these - on the other hand, it makes a big difference (>50%) and libmpeg2 would be *really* slow on anything less than an ultrasparc. Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- configure.in 2001/09/23 22:44:26 1.9 +++ configure.in 2001/10/09 07:15:12 1.10 @@ -44,8 +44,8 @@ OPT_CFLAGS="$CFLAGS -Wa,-m7400" AC_TRY_CFLAGS([$OPT_CFLAGS], [CFLAGS=$OPT_CFLAGS; AC_DEFINE([ARCH_PPC],,[ppc architecture])]);; - sparc-*) - OPT_CFLAGS="$CFLAGS -mcpu=ultrasparc -mvis" + sparc-* | sparc64-*) + OPT_CFLAGS="$CFLAGS -mcpu=ultrasparc -mvis -Wa,-Av9" AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; mips-sgi-irix6.*) dnl do we need to be that specific ? OPT_CFLAGS="$CFLAGS -mabi=64" |
From: Michel L. <wa...@us...> - 2001-10-08 10:20:49
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv28112/src Modified Files: extract_mpeg2.c mpeg2dec.c Log Message: new, more robust demuxer. the previous one had problems demuxing pes packets larger than the buffer size (now 4K) Index: extract_mpeg2.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/extract_mpeg2.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- extract_mpeg2.c 2001/09/23 23:22:45 1.6 +++ extract_mpeg2.c 2001/10/08 10:20:47 1.7 @@ -30,7 +30,7 @@ #include <inttypes.h> #include <getopt.h> -#define BUFFER_SIZE 262144 +#define BUFFER_SIZE 4096 static uint8_t buffer[BUFFER_SIZE]; static FILE * in_file; static int demux_track = 0xe0; @@ -75,107 +75,199 @@ in_file = stdin; } -static void ps_loop (void) +static int demux (uint8_t * buf, uint8_t * end) { static int mpeg1_skip_table[16] = { - 1, 0xffff, 5, 10, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff + 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - uint8_t * buf; - uint8_t * end; - uint8_t * tmp1; - uint8_t * tmp2; - int complain_loudly; + /* + * the demuxer keeps some state between calls: + * if "state" = DEMUX_HEADER, then "head_buf" contains the first + * "bytes" bytes from some header. + * if "state" == DEMUX_DATA, then we need to copy "bytes" bytes + * of ES data before the next header. + * if "state" == DEMUX_SKIP, then we need to skip "bytes" bytes + * of data before the next header. + * + * NEEDBYTES makes sure we have the requested number of bytes for a + * header. If we dont, it copies what we have into head_buf and returns, + * so that when we come back with more data we finish decoding this header. + * + * DONEBYTES updates "buf" to point after the header we just parsed. + */ - complain_loudly = 1; - buf = buffer; +#define DEMUX_HEADER 0 +#define DEMUX_DATA 1 +#define DEMUX_SKIP 2 + static int state = DEMUX_HEADER; + static int state_bytes = 0; + static uint8_t head_buf[264]; - do { - end = buf + fread (buf, 1, buffer + BUFFER_SIZE - buf, in_file); - buf = buffer; + uint8_t * header; + int bytes; + int len; - while (buf + 4 <= end) { - /* check start code */ - if (buf[0] || buf[1] || (buf[2] != 0x01)) { - if (complain_loudly) { - fprintf (stderr, "missing start code at %#lx\n", - ftell (in_file) - (end - buf)); - if ((buf[0] == 0) && (buf[1] == 0) && (buf[2] == 0)) - fprintf (stderr, "this stream appears to use " - "zero-byte padding before start codes,\n" - "which is not correct according to the " - "mpeg system standard.\n" - "mp1e was one encoder known to do this " - "before version 1.8.0.\n"); - complain_loudly = 0; - } +#define NEEDBYTES(x) \ + do { \ + int missing; \ + \ + missing = (x) - bytes; \ + if (missing > 0) { \ + if (header == head_buf) { \ + if (missing <= end - buf) { \ + memcpy (header + bytes, buf, missing); \ + buf += missing; \ + bytes = (x); \ + } else { \ + memcpy (header + bytes, buf, end - buf); \ + state_bytes = bytes + end - buf; \ + return 0; \ + } \ + } else { \ + memcpy (head_buf, header, bytes); \ + state = DEMUX_HEADER; \ + state_bytes = bytes; \ + return 0; \ + } \ + } \ + } while (0) + +#define DONEBYTES(x) \ + do { \ + if (header != head_buf) \ + buf = header + (x); \ + } while (0) + + switch (state) { + case DEMUX_HEADER: + if (state_bytes > 0) { + header = head_buf; + bytes = state_bytes; + goto continue_header; + } + break; + case DEMUX_DATA: + if (state_bytes > end - buf) { + fwrite (buf, end - buf, 1, stdout); + state_bytes -= end - buf; + return 0; + } + fwrite (buf, state_bytes, 1, stdout); + buf += state_bytes; + break; + case DEMUX_SKIP: + if (state_bytes > end - buf) { + state_bytes -= end - buf; + return 0; + } + buf += state_bytes; + break; + } + + while (1) { + header = buf; + bytes = end - buf; + continue_header: + NEEDBYTES (4); + if (header[0] || header[1] || (header[2] != 1)) { + if (header != head_buf) { buf++; continue; + } else { + header[0] = header[1]; + header[1] = header[2]; + header[2] = header[3]; + bytes = 3; + goto continue_header; } - - switch (buf[3]) { - case 0xb9: /* program end code */ - return; - case 0xba: /* pack header */ - /* skip */ - if ((buf[4] & 0xc0) == 0x40) /* mpeg2 */ - tmp1 = buf + 14 + (buf[13] & 7); - else if ((buf[4] & 0xf0) == 0x20) /* mpeg1 */ - tmp1 = buf + 12; - else if (buf + 5 > end) - goto copy; - else { - fprintf (stderr, "weird pack header\n"); - exit (1); - } - if (tmp1 > end) - goto copy; - buf = tmp1; - break; - default: - if (buf[3] == demux_track) { /* video */ - tmp2 = buf + 6 + (buf[4] << 8) + buf[5]; - if (tmp2 > end) - goto copy; - if ((buf[6] & 0xc0) == 0x80) /* mpeg2 */ - tmp1 = buf + 9 + buf[8]; - else { /* mpeg1 */ - for (tmp1 = buf + 6; *tmp1 == 0xff; tmp1++) - if (tmp1 == buf + 6 + 16) { - fprintf (stderr, "too much stuffing\n"); - buf = tmp2; - break; - } - if ((*tmp1 & 0xc0) == 0x40) - tmp1 += 2; - tmp1 += mpeg1_skip_table [*tmp1 >> 4]; + } + switch (header[3]) { + case 0xb9: /* program end code */ + /* DONEBYTES (4); */ + /* break; */ + return 1; + case 0xba: /* pack header */ + NEEDBYTES (12); + if ((header[4] & 0xc0) == 0x40) { /* mpeg2 */ + NEEDBYTES (14); + len = 14 + (header[13] & 7); + NEEDBYTES (len); + DONEBYTES (len); + /* header points to the mpeg2 pack header */ + } else if ((header[4] & 0xf0) == 0x20) { /* mpeg1 */ + DONEBYTES (12); + /* header points to the mpeg1 pack header */ + } else { + fprintf (stderr, "weird pack header\n"); + exit (1); + } + break; + default: + if (header[3] == demux_track) { + NEEDBYTES (7); + if ((header[6] & 0xc0) == 0x80) { /* mpeg2 */ + NEEDBYTES (9); + len = 9 + header[8]; + NEEDBYTES (len); + /* header points to the mpeg2 pes header */ + } else { /* mpeg1 */ + len = 7; + while ((header-1)[len] == 0xff) { + len++; + NEEDBYTES (len); + if (len == 23) { + fprintf (stderr, "too much stuffing\n"); + break; + } } - if (tmp1 < tmp2) - fwrite (tmp1, tmp2-tmp1, 1, stdout); - buf = tmp2; - break; - } else if (buf[3] < 0xb9) { - fprintf (stderr, - "looks like a video stream, not system stream\n"); - exit (1); + if (((header-1)[len] & 0xc0) == 0x40) { + len += 2; + NEEDBYTES (len); + } + len += mpeg1_skip_table[(header - 1)[len] >> 4]; + NEEDBYTES (len); + /* header points to the mpeg1 pes header */ } - /* skip */ - tmp1 = buf + 6 + (buf[4] << 8) + buf[5]; - if (tmp1 > end) - goto copy; - buf = tmp1; - break; + DONEBYTES (len); + bytes = 6 + (header[4] << 8) + header[5] - len; + if (bytes <= 0) + continue; + if (bytes > end - buf) { + fwrite (buf, end - buf, 1, stdout); + state = DEMUX_DATA; + state_bytes = bytes - (end - buf); + return 0; + } + fwrite (buf, bytes, 1, stdout); + buf += bytes; + } else if (header[3] < 0xb9) { + fprintf (stderr, + "looks like a video stream, not system stream\n"); + exit (1); + } else { + NEEDBYTES (6); + DONEBYTES (6); + bytes = (header[4] << 8) + header[5]; + if (bytes > end - buf) { + state = DEMUX_SKIP; + state_bytes = bytes - (end - buf); + return 0; + } + buf += bytes; } } + } +} - if (buf < end) { - copy: - /* we only pass here for mpeg1 ps streams */ - memmove (buffer, buf, end - buf); - } - buf = buffer + (end - buf); +static void ps_loop (void) +{ + uint8_t * end; + do { + end = buffer + fread (buffer, 1, BUFFER_SIZE, in_file); + if (demux (buffer, end)) + break; /* hit program_end_code */ } while (end == buffer + BUFFER_SIZE); } Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- mpeg2dec.c 2001/10/02 04:59:12 1.8 +++ mpeg2dec.c 2001/10/08 10:20:47 1.9 @@ -198,112 +198,208 @@ in_file = stdin; } -static void ps_loop (void) +static int demux (uint8_t * buf, uint8_t * end) { static int mpeg1_skip_table[16] = { - 1, 0xffff, 5, 10, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff + 0, 0, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - uint8_t * buf; - uint8_t * end; - uint8_t * tmp1; - uint8_t * tmp2; - int complain_loudly; + /* + * the demuxer keeps some state between calls: + * if "state" = DEMUX_HEADER, then "head_buf" contains the first + * "bytes" bytes from some header. + * if "state" == DEMUX_DATA, then we need to copy "bytes" bytes + * of ES data before the next header. + * if "state" == DEMUX_SKIP, then we need to skip "bytes" bytes + * of data before the next header. + * + * NEEDBYTES makes sure we have the requested number of bytes for a + * header. If we dont, it copies what we have into head_buf and returns, + * so that when we come back with more data we finish decoding this header. + * + * DONEBYTES updates "buf" to point after the header we just parsed. + */ - complain_loudly = 1; - buf = buffer; +#define DEMUX_HEADER 0 +#define DEMUX_DATA 1 +#define DEMUX_SKIP 2 + static int state = DEMUX_HEADER; + static int state_bytes = 0; + static uint8_t head_buf[264]; - do { - end = buf + fread (buf, 1, buffer + BUFFER_SIZE - buf, in_file); - buf = buffer; + uint8_t * header; + int bytes; + int len; + int num_frames; - while (buf + 4 <= end) { - /* check start code */ - if (buf[0] || buf[1] || (buf[2] != 0x01)) { - if (complain_loudly) { - fprintf (stderr, "missing start code at %#lx\n", - ftell (in_file) - (end - buf)); - if ((buf[0] == 0) && (buf[1] == 0) && (buf[2] == 0)) - fprintf (stderr, "this stream appears to use " - "zero-byte padding before start codes,\n" - "which is not correct according to the " - "mpeg system standard.\n" - "mp1e was one encoder known to do this " - "before version 1.8.0.\n"); - complain_loudly = 0; - } +#define NEEDBYTES(x) \ + do { \ + int missing; \ + \ + missing = (x) - bytes; \ + if (missing > 0) { \ + if (header == head_buf) { \ + if (missing <= end - buf) { \ + memcpy (header + bytes, buf, missing); \ + buf += missing; \ + bytes = (x); \ + } else { \ + memcpy (header + bytes, buf, end - buf); \ + state_bytes = bytes + end - buf; \ + return 0; \ + } \ + } else { \ + memcpy (head_buf, header, bytes); \ + state = DEMUX_HEADER; \ + state_bytes = bytes; \ + return 0; \ + } \ + } \ + } while (0) + +#define DONEBYTES(x) \ + do { \ + if (header != head_buf) \ + buf = header + (x); \ + } while (0) + + switch (state) { + case DEMUX_HEADER: + if (state_bytes > 0) { + header = head_buf; + bytes = state_bytes; + goto continue_header; + } + break; + case DEMUX_DATA: + if (state_bytes > end - buf) { + num_frames = mpeg2_decode_data (&mpeg2dec, buf, end); + while (num_frames--) + print_fps (0); + state_bytes -= end - buf; + return 0; + } + num_frames = mpeg2_decode_data (&mpeg2dec, buf, buf + state_bytes); + while (num_frames--) + print_fps (0); + buf += state_bytes; + break; + case DEMUX_SKIP: + if (state_bytes > end - buf) { + state_bytes -= end - buf; + return 0; + } + buf += state_bytes; + break; + } + + while (1) { + header = buf; + bytes = end - buf; + continue_header: + NEEDBYTES (4); + if (header[0] || header[1] || (header[2] != 1)) { + if (header != head_buf) { buf++; continue; + } else { + header[0] = header[1]; + header[1] = header[2]; + header[2] = header[3]; + bytes = 3; + goto continue_header; } - - switch (buf[3]) { - case 0xb9: /* program end code */ - return; - case 0xba: /* pack header */ - /* skip */ - if ((buf[4] & 0xc0) == 0x40) /* mpeg2 */ - tmp1 = buf + 14 + (buf[13] & 7); - else if ((buf[4] & 0xf0) == 0x20) /* mpeg1 */ - tmp1 = buf + 12; - else if (buf + 5 > end) - goto copy; - else { - fprintf (stderr, "weird pack header\n"); - exit (1); - } - if (tmp1 > end) - goto copy; - buf = tmp1; - break; - default: - if (buf[3] == demux_track) { /* video */ - tmp2 = buf + 6 + (buf[4] << 8) + buf[5]; - if (tmp2 > end) - goto copy; - if ((buf[6] & 0xc0) == 0x80) /* mpeg2 */ - tmp1 = buf + 9 + buf[8]; - else { /* mpeg1 */ - for (tmp1 = buf + 6; *tmp1 == 0xff; tmp1++) - if (tmp1 == buf + 6 + 16) { - fprintf (stderr, "too much stuffing\n"); - buf = tmp2; - break; - } - if ((*tmp1 & 0xc0) == 0x40) - tmp1 += 2; - tmp1 += mpeg1_skip_table [*tmp1 >> 4]; + } + switch (header[3]) { + case 0xb9: /* program end code */ + /* DONEBYTES (4); */ + /* break; */ + return 1; + case 0xba: /* pack header */ + NEEDBYTES (12); + if ((header[4] & 0xc0) == 0x40) { /* mpeg2 */ + NEEDBYTES (14); + len = 14 + (header[13] & 7); + NEEDBYTES (len); + DONEBYTES (len); + /* header points to the mpeg2 pack header */ + } else if ((header[4] & 0xf0) == 0x20) { /* mpeg1 */ + DONEBYTES (12); + /* header points to the mpeg1 pack header */ + } else { + fprintf (stderr, "weird pack header\n"); + exit (1); + } + break; + default: + if (header[3] == demux_track) { + NEEDBYTES (7); + if ((header[6] & 0xc0) == 0x80) { /* mpeg2 */ + NEEDBYTES (9); + len = 9 + header[8]; + NEEDBYTES (len); + /* header points to the mpeg2 pes header */ + } else { /* mpeg1 */ + len = 7; + while ((header-1)[len] == 0xff) { + len++; + NEEDBYTES (len); + if (len == 23) { + fprintf (stderr, "too much stuffing\n"); + break; + } } - if (tmp1 < tmp2) { - int num_frames; - - num_frames = mpeg2_decode_data (&mpeg2dec, tmp1, tmp2); - while (num_frames--) - print_fps (0); + if (((header-1)[len] & 0xc0) == 0x40) { + len += 2; + NEEDBYTES (len); } - buf = tmp2; - break; - } else if (buf[3] < 0xb9) { - fprintf (stderr, - "looks like a video stream, not system stream\n"); - exit (1); + len += mpeg1_skip_table[(header - 1)[len] >> 4]; + NEEDBYTES (len); + /* header points to the mpeg1 pes header */ } - /* skip */ - tmp1 = buf + 6 + (buf[4] << 8) + buf[5]; - if (tmp1 > end) - goto copy; - buf = tmp1; - break; + DONEBYTES (len); + bytes = 6 + (header[4] << 8) + header[5] - len; + if (bytes <= 0) + continue; + if (bytes > end - buf) { + num_frames = mpeg2_decode_data (&mpeg2dec, buf, end); + while (num_frames--) + print_fps (0); + state = DEMUX_DATA; + state_bytes = bytes - (end - buf); + return 0; + } + num_frames = mpeg2_decode_data (&mpeg2dec, buf, buf + bytes); + while (num_frames--) + print_fps (0); + buf += bytes; + } else if (header[3] < 0xb9) { + fprintf (stderr, + "looks like a video stream, not system stream\n"); + exit (1); + } else { + NEEDBYTES (6); + DONEBYTES (6); + bytes = (header[4] << 8) + header[5]; + if (bytes > end - buf) { + state = DEMUX_SKIP; + state_bytes = bytes - (end - buf); + return 0; + } + buf += bytes; } } + } +} - if (buf < end) { - copy: - /* we only pass here for mpeg1 ps streams */ - memmove (buffer, buf, end - buf); - } - buf = buffer + (end - buf); +static void ps_loop (void) +{ + uint8_t * end; + do { + end = buffer + fread (buffer, 1, BUFFER_SIZE, in_file); + if (demux (buffer, end)) + break; /* hit program_end_code */ } while (end == buffer + BUFFER_SIZE); } |
From: Michel L. <wa...@us...> - 2001-10-07 00:25:42
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv16804/libmpeg2 Modified Files: decode.c Log Message: for streams with field pictures, now report the fps in frame units not fields. Index: decode.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/decode.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- decode.c 2001/09/23 23:22:45 1.2 +++ decode.c 2001/10/07 00:25:38 1.3 @@ -90,14 +90,15 @@ stats_header (code, buffer); picture = mpeg2dec->picture; - is_frame_done = mpeg2dec->in_slice && ((!code) || (code >= 0xb0)); + is_frame_done = 0; - if (is_frame_done) { + if (mpeg2dec->in_slice && ((!code) || (code >= 0xb0))) { mpeg2dec->in_slice = 0; if (((picture->picture_structure == FRAME_PICTURE) || (picture->second_field)) && (!(mpeg2dec->drop_frame))) { + is_frame_done = 1; vo_draw ((picture->picture_coding_type == B_TYPE) ? picture->current_frame : picture->forward_reference_frame); |
From: Michel L. <wa...@us...> - 2001-10-02 07:50:59
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv8871/src Modified Files: Makefile.am Log Message: build statically libvo and dont distribute it. libvo is only part of the test program mpeg2dec, it is not intended to be general purpose. Index: Makefile.am =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile.am 2001/07/23 00:32:03 1.5 +++ Makefile.am 2001/10/02 07:50:56 1.6 @@ -3,7 +3,7 @@ bin_PROGRAMS = mpeg2dec extract_mpeg2 mpeg2dec_SOURCES = mpeg2dec.c getopt.c mpeg2dec_LDADD = $(top_builddir)/libmpeg2/libmpeg2.la \ - $(top_builddir)/libvo/libvo.la \ + $(top_builddir)/libvo/libvo.a @LIBVO_LIBS@ \ libcpuaccel.la extract_mpeg2_SOURCES = extract_mpeg2.c getopt.c |
From: Michel L. <wa...@us...> - 2001-10-02 07:50:59
|
Update of /cvsroot/libmpeg2/mpeg2dec/libvo In directory usw-pr-cvs1:/tmp/cvs-serv8871/libvo Modified Files: Makefile.am Log Message: build statically libvo and dont distribute it. libvo is only part of the test program mpeg2dec, it is not intended to be general purpose. Index: Makefile.am =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile.am 2001/07/19 08:21:13 1.1.1.1 +++ Makefile.am 2001/10/02 07:50:56 1.2 @@ -1,10 +1,8 @@ CFLAGS = @CFLAGS@ @LIBVO_CFLAGS@ -lib_LTLIBRARIES = libvo.la -libvo_la_SOURCES = video_out.c video_out_x11.c video_out_sdl.c \ - video_out_null.c video_out_pgm.c video_out_mga.c \ - yuv2rgb.c yuv2rgb_mlib.c yuv2rgb_mmx.c -libvo_la_LIBADD = @LIBVO_LIBS@ -libvo_la_LDFLAGS = -no-undefined +noinst_LIBRARIES = libvo.a +libvo_a_SOURCES = video_out.c video_out_x11.c video_out_sdl.c \ + video_out_null.c video_out_pgm.c video_out_mga.c \ + yuv2rgb.c yuv2rgb_mlib.c yuv2rgb_mmx.c EXTRA_DIST = configure.incl video_out_internal.h yuv2rgb.h hw_bes.h |
From: Michel L. <wa...@us...> - 2001-10-02 04:59:26
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv19275/src Modified Files: mpeg2dec.c Log Message: smaller buffer size. Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- mpeg2dec.c 2001/09/23 23:22:45 1.7 +++ mpeg2dec.c 2001/10/02 04:59:12 1.8 @@ -38,7 +38,7 @@ #include "mpeg2.h" #include "mm_accel.h" -#define BUFFER_SIZE 262144 +#define BUFFER_SIZE 4096 static uint8_t buffer[BUFFER_SIZE]; static FILE * in_file; static int demux_track = 0; |
From: Michel L. <wa...@us...> - 2001-09-23 23:22:48
|
Update of /cvsroot/libmpeg2/mpeg2dec/libvo In directory usw-pr-cvs1:/tmp/cvs-serv12278/libvo Modified Files: hw_bes.h video_out.c video_out_internal.h video_out_mga.c video_out_null.c video_out_pgm.c video_out_sdl.c video_out_x11.c yuv2rgb.c yuv2rgb.h yuv2rgb_mlib.c yuv2rgb_mmx.c Log Message: I dont think aaron is interested into mpeg2dec anymore. Index: hw_bes.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/hw_bes.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- hw_bes.h 2001/07/19 08:21:13 1.1.1.1 +++ hw_bes.h 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * hw_bes.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- video_out.c 2001/07/19 08:25:23 1.2 +++ video_out.c 2001/09/23 23:22:45 1.3 @@ -1,8 +1,10 @@ /* * video_out.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out_internal.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_internal.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- video_out_internal.h 2001/07/19 08:21:13 1.1.1.1 +++ video_out_internal.h 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * video_out_internal.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out_mga.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_mga.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- video_out_mga.c 2001/07/19 08:21:13 1.1.1.1 +++ video_out_mga.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * video_out_mga.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out_null.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_null.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- video_out_null.c 2001/07/19 08:21:13 1.1.1.1 +++ video_out_null.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * video_out_null.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out_pgm.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_pgm.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- video_out_pgm.c 2001/07/19 08:21:13 1.1.1.1 +++ video_out_pgm.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * video_out_pgm.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out_sdl.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_sdl.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- video_out_sdl.c 2001/09/02 02:44:04 1.2 +++ video_out_sdl.c 2001/09/23 23:22:45 1.3 @@ -7,6 +7,7 @@ * SDL info, source, and binaries can be found at http://www.libsdl.org/ * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: video_out_x11.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/video_out_x11.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- video_out_x11.c 2001/07/19 08:21:13 1.1.1.1 +++ video_out_x11.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * video_out_x11.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: yuv2rgb.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/yuv2rgb.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- yuv2rgb.c 2001/07/19 08:21:13 1.1.1.1 +++ yuv2rgb.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * yuv2rgb.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: yuv2rgb.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/yuv2rgb.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- yuv2rgb.h 2001/07/19 08:21:13 1.1.1.1 +++ yuv2rgb.h 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * yuv2rgb.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: yuv2rgb_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/yuv2rgb_mlib.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- yuv2rgb_mlib.c 2001/07/19 08:21:13 1.1.1.1 +++ yuv2rgb_mlib.c 2001/09/23 23:22:45 1.2 @@ -3,6 +3,7 @@ * Copyright (C) 2000-2001 Håkan Hjort <d95...@dt...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: yuv2rgb_mmx.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libvo/yuv2rgb_mmx.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- yuv2rgb_mmx.c 2001/07/19 08:21:13 1.1.1.1 +++ yuv2rgb_mmx.c 2001/09/23 23:22:45 1.2 @@ -6,6 +6,7 @@ * Author: Olie Lho <ol...@si...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by |
From: Michel L. <wa...@us...> - 2001-09-23 23:22:48
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv12278/libmpeg2 Modified Files: decode.c header.c idct.c idct_altivec.c idct_mlib.c idct_mmx.c motion_comp.c motion_comp_altivec.c motion_comp_mlib.c motion_comp_mmx.c mpeg2_internal.h slice.c stats.c vlc.h Log Message: I dont think aaron is interested into mpeg2dec anymore. Index: decode.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/decode.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- decode.c 2001/07/19 08:21:13 1.1.1.1 +++ decode.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * decode.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: header.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/header.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- header.c 2001/09/23 19:53:24 1.3 +++ header.c 2001/09/23 23:22:45 1.4 @@ -1,8 +1,10 @@ /* * header.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: idct.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- idct.c 2001/09/12 05:50:46 1.2 +++ idct.c 2001/09/23 23:22:45 1.3 @@ -1,12 +1,14 @@ /* * idct.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * Portions of this code are from the MPEG software simulation group * idct implementation. This code will be replaced with a new * implementation soon. * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: idct_altivec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct_altivec.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- idct_altivec.c 2001/09/18 06:00:16 1.5 +++ idct_altivec.c 2001/09/23 23:22:45 1.6 @@ -1,8 +1,10 @@ /* * idct_altivec.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: idct_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct_mlib.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- idct_mlib.c 2001/07/19 08:21:13 1.1.1.1 +++ idct_mlib.c 2001/09/23 23:22:45 1.2 @@ -3,6 +3,7 @@ * Copyright (C) 1999-2001 Håkan Hjort <d95...@dt...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: idct_mmx.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct_mmx.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- idct_mmx.c 2001/07/19 08:21:13 1.1.1.1 +++ idct_mmx.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * idct_mmx.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: motion_comp.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- motion_comp.c 2001/09/22 07:51:03 1.3 +++ motion_comp.c 2001/09/23 23:22:45 1.4 @@ -1,8 +1,10 @@ /* * motion_comp.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: motion_comp_altivec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp_altivec.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- motion_comp_altivec.c 2001/09/22 10:12:50 1.2 +++ motion_comp_altivec.c 2001/09/23 23:22:45 1.3 @@ -1,8 +1,10 @@ /* * motion_comp_altivec.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: motion_comp_mlib.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp_mlib.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- motion_comp_mlib.c 2001/07/21 07:52:47 1.2 +++ motion_comp_mlib.c 2001/09/23 23:22:45 1.3 @@ -3,6 +3,7 @@ * Copyright (C) 2000-2001 Håkan Hjort <d95...@dt...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: motion_comp_mmx.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp_mmx.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- motion_comp_mmx.c 2001/07/21 07:52:47 1.2 +++ motion_comp_mmx.c 2001/09/23 23:22:45 1.3 @@ -1,8 +1,10 @@ /* * motion_comp_mmx.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: mpeg2_internal.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/mpeg2_internal.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mpeg2_internal.h 2001/09/22 07:51:03 1.5 +++ mpeg2_internal.h 2001/09/23 23:22:45 1.6 @@ -1,8 +1,10 @@ /* * mpeg2_internal.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: slice.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/slice.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- slice.c 2001/09/03 10:46:51 1.2 +++ slice.c 2001/09/23 23:22:45 1.3 @@ -1,8 +1,10 @@ /* * slice.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: stats.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/stats.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- stats.c 2001/07/19 08:21:13 1.1.1.1 +++ stats.c 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * stats.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: vlc.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/vlc.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- vlc.h 2001/07/19 08:21:13 1.1.1.1 +++ vlc.h 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * vlc.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by |
From: Michel L. <wa...@us...> - 2001-09-23 23:22:48
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv12278/src Modified Files: cpu_accel.c extract_mpeg2.c mpeg2dec.c Log Message: I dont think aaron is interested into mpeg2dec anymore. Index: cpu_accel.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/cpu_accel.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- cpu_accel.c 2001/09/13 05:25:20 1.4 +++ cpu_accel.c 2001/09/23 23:22:45 1.5 @@ -1,8 +1,10 @@ /* * cpu_accel.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: extract_mpeg2.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/extract_mpeg2.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- extract_mpeg2.c 2001/09/04 08:12:35 1.5 +++ extract_mpeg2.c 2001/09/23 23:22:45 1.6 @@ -1,8 +1,10 @@ /* * extract_mpeg2.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mpeg2dec.c 2001/09/04 08:12:35 1.6 +++ mpeg2dec.c 2001/09/23 23:22:45 1.7 @@ -1,8 +1,10 @@ /* * mpeg2dec.c - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -327,7 +329,7 @@ uint32_t accel; fprintf (stderr, PACKAGE"-"VERSION - " (C) 2000-2001 Aaron Holtzman <aho...@es...>\n"); + " - by Michel Lespinasse <wa...@zo...> and Aaron Holtzman\n"); handle_args (argc, argv); |
From: Michel L. <wa...@us...> - 2001-09-23 23:22:48
|
Update of /cvsroot/libmpeg2/mpeg2dec/include In directory usw-pr-cvs1:/tmp/cvs-serv12278/include Modified Files: attributes.h mm_accel.h mmx.h mpeg2.h sse.h tendra.h video_out.h Log Message: I dont think aaron is interested into mpeg2dec anymore. Index: attributes.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/attributes.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- attributes.h 2001/07/19 08:21:13 1.1.1.1 +++ attributes.h 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * attributes.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: mm_accel.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/mm_accel.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- mm_accel.h 2001/09/12 05:50:46 1.3 +++ mm_accel.h 2001/09/23 23:22:45 1.4 @@ -1,8 +1,10 @@ /* * mm_accel.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: mmx.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/mmx.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- mmx.h 2001/07/19 08:21:13 1.1.1.1 +++ mmx.h 2001/09/23 23:22:45 1.2 @@ -1,8 +1,10 @@ /* * mmx.h - * Copyright (C) 1997-2001 H. Dietz and R. Fisher + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: mpeg2.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/mpeg2.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- mpeg2.h 2001/09/01 22:07:38 1.2 +++ mpeg2.h 2001/09/23 23:22:45 1.3 @@ -1,8 +1,10 @@ /* * mpeg2.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: sse.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/sse.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- sse.h 2001/07/19 08:21:13 1.1.1.1 +++ sse.h 2001/09/23 23:22:45 1.2 @@ -3,6 +3,7 @@ * Copyright (C) 1999-2001 R. Fisher * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Index: tendra.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/tendra.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- tendra.h 2001/09/05 04:01:50 1.3 +++ tendra.h 2001/09/23 23:22:45 1.4 @@ -1,15 +1,17 @@ /* * tendra.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * - * This file is part of a52dec, a free ATSC A-52 stream decoder. + * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * - * a52dec is free software; you can redistribute it and/or modify + * mpeg2dec 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. * - * a52dec is distributed in the hope that it will be useful, + * mpeg2dec 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. Index: video_out.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/video_out.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- video_out.h 2001/09/01 22:07:38 1.2 +++ video_out.h 2001/09/23 23:22:45 1.3 @@ -1,8 +1,10 @@ /* * video_out.h - * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> + * Copyright (C) 2000-2001 Michel Lespinasse <wa...@zo...> + * Copyright (C) 1999-2000 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by |
From: Michel L. <wa...@us...> - 2001-09-23 22:44:29
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv5844 Modified Files: configure.in Log Message: some newer versions of autoconf require this. Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- configure.in 2001/09/18 06:00:16 1.8 +++ configure.in 2001/09/23 22:44:26 1.9 @@ -6,6 +6,7 @@ AM_CONFIG_HEADER(include/config.h) AM_MAINTAINER_MODE AC_CANONICAL_HOST +if test x"$host_alias" = x""; then host_alias="$host"; fi dnl Checks for compiler AC_PROG_CC |
From: Michel L. <wa...@us...> - 2001-09-23 19:53:31
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv7201 Modified Files: header.c Log Message: doh ! Index: header.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/header.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- header.c 2001/08/14 19:10:03 1.2 +++ header.c 2001/09/23 19:53:24 1.3 @@ -1,5 +1,5 @@ /* - * slice.c + * header.c * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. |
From: Michel L. <wa...@us...> - 2001-09-22 10:12:53
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv10928/libmpeg2 Modified Files: motion_comp_altivec.c Log Message: change labels in altivec asm routines - they were _L*, now ._L* The new names are more consistent with usual conventions and they make the gprof output prettier. Index: motion_comp_altivec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp_altivec.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- motion_comp_altivec.c 2001/09/22 07:51:03 1.1 +++ motion_comp_altivec.c 2001/09/22 10:12:50 1.2 @@ -35,7 +35,7 @@ * gcc-2.95 -fvec -D__ALTIVEC__ -O9 -fomit-frame-pointer -mregnames -S * motion_comp_altivec.c * - * sed 's/.L/_L/g' motion_comp_altivec.s | + * sed 's/.L/._L/g' motion_comp_altivec.s | * awk '{args=""; len=split ($2, arg, ","); * for (i=1; i<=len; i++) { a=arg[i]; if (i<len) a=a","; * args = args sprintf ("%-6s", a) } @@ -57,7 +57,7 @@ " add %r0, %r5, %r5 \n" " vperm %v13, %v1, %v0, %v12 \n" " add %r4, %r4, %r5 \n" - "_L6: \n" + "._L6: \n" " li %r9, 15 \n" " lvx %v1, 0, %r4 \n" " lvx %v0, %r9, %r4 \n" @@ -70,7 +70,7 @@ " vperm %v13, %v1, %v0, %v12 \n" " add %r4, %r4, %r5 \n" " add %r3, %r3, %r0 \n" - " bdnz _L6 \n" + " bdnz ._L6 \n" " lvx %v0, %r9, %r4 \n" " lvx %v1, 0, %r4 \n" " stvx %v13, 0, %r3 \n" @@ -97,7 +97,7 @@ " lvx %v0, %r9, %r4 \n" " add %r4, %r4, %r5 \n" " vperm %v12, %v13, %v0, %v10 \n" - "_L11: \n" + "._L11: \n" " li %r9, 7 \n" " lvx %v0, %r9, %r4 \n" " lvx %v13, 0, %r4 \n" @@ -116,7 +116,7 @@ " stvewx %v1, %r9, %r3 \n" " add %r4, %r4, %r5 \n" " add %r3, %r3, %r5 \n" - " bdnz _L11 \n" + " bdnz ._L11 \n" " li %r9, 7 \n" " lvx %v0, %r9, %r4 \n" " lvx %v13, 0, %r4 \n" @@ -148,7 +148,7 @@ " add %r0, %r5, %r5 \n" " add %r4, %r4, %r5 \n" " vavgub %v0, %v0, %v1 \n" - "_L16: \n" + "._L16: \n" " li %r9, 16 \n" " lvx %v12, 0, %r4 \n" " lvx %v13, %r9, %r4 \n" @@ -165,7 +165,7 @@ " vperm %v0, %v12, %v13, %v11 \n" " add %r3, %r3, %r0 \n" " vavgub %v0, %v0, %v1 \n" - " bdnz _L16 \n" + " bdnz ._L16 \n" " lvx %v13, %r9, %r4 \n" " lvx %v12, 0, %r4 \n" " stvx %v0, 0, %r3 \n" @@ -199,7 +199,7 @@ " add %r4, %r4, %r5 \n" " vperm %v0, %v11, %v12, %v7 \n" " vavgub %v0, %v1, %v0 \n" - "_L21: \n" + "._L21: \n" " li %r9, 8 \n" " lvx %v12, %r9, %r4 \n" " lvx %v11, 0, %r4 \n" @@ -222,7 +222,7 @@ " add %r4, %r4, %r5 \n" " vavgub %v0, %v0, %v1 \n" " add %r3, %r3, %r5 \n" - " bdnz _L21 \n" + " bdnz ._L21 \n" " li %r9, 8 \n" " lvx %v12, %r9, %r4 \n" " lvx %v11, 0, %r4 \n" @@ -257,7 +257,7 @@ " add %r0, %r5, %r5 \n" " add %r4, %r4, %r5 \n" " vavgub %v0, %v12, %v11 \n" - "_L26: \n" + "._L26: \n" " li %r9, 15 \n" " lvx %v13, 0, %r4 \n" " lvx %v1, %r9, %r4 \n" @@ -272,7 +272,7 @@ " add %r4, %r4, %r5 \n" " add %r3, %r3, %r0 \n" " vavgub %v0, %v12, %v11 \n" - " bdnz _L26 \n" + " bdnz ._L26 \n" " lvx %v1, %r9, %r4 \n" " lvx %v13, 0, %r4 \n" " stvx %v0, 0, %r3 \n" @@ -305,7 +305,7 @@ " mtctr %r6 \n" " add %r4, %r4, %r5 \n" " vavgub %v0, %v13, %v11 \n" - "_L31: \n" + "._L31: \n" " li %r9, 7 \n" " lvx %v1, %r9, %r4 \n" " lvx %v12, 0, %r4 \n" @@ -326,7 +326,7 @@ " vavgub %v0, %v13, %v11 \n" " add %r4, %r4, %r5 \n" " add %r3, %r3, %r5 \n" - " bdnz _L31 \n" + " bdnz ._L31 \n" " li %r9, 7 \n" " lvx %v1, %r9, %r4 \n" " lvx %v12, 0, %r4 \n" @@ -373,7 +373,7 @@ " vavgub %v1, %v9, %v7 \n" " vand %v0, %v0, %v13 \n" " vsububm %v13, %v1, %v0 \n" - "_L36: \n" + "._L36: \n" " li %r9, 16 \n" " lvx %v1, 0, %r4 \n" " lvx %v0, %r9, %r4 \n" @@ -404,7 +404,7 @@ " vavgub %v0, %v9, %v7 \n" " add %r3, %r3, %r0 \n" " vsububm %v13, %v0, %v1 \n" - " bdnz _L36 \n" + " bdnz ._L36 \n" " lvx %v0, %r9, %r4 \n" " lvx %v1, 0, %r4 \n" " stvx %v13, 0, %r3 \n" @@ -459,7 +459,7 @@ " vavgub %v1, %v9, %v7 \n" " vand %v0, %v0, %v13 \n" " vsububm %v13, %v1, %v0 \n" - "_L41: \n" + "._L41: \n" " li %r9, 16 \n" " lvx %v0, %r9, %r4 \n" " lvx %v1, 0, %r4 \n" @@ -496,7 +496,7 @@ " stvewx %v13, %r9, %r3 \n" " add %r3, %r3, %r5 \n" " vsububm %v13, %v0, %v1 \n" - " bdnz _L41 \n" + " bdnz ._L41 \n" " li %r9, 16 \n" " lvx %v0, %r9, %r4 \n" " lvx %v1, 0, %r4 \n" @@ -535,7 +535,7 @@ " add %r9, %r5, %r5 \n" " vavgub %v12, %v13, %v0 \n" " add %r4, %r4, %r5 \n" - "_L46: \n" + "._L46: \n" " li %r11, 15 \n" " lvx %v1, 0, %r4 \n" " lvx %v0, %r11, %r4 \n" @@ -552,7 +552,7 @@ " add %r4, %r4, %r5 \n" " vavgub %v12, %v13, %v0 \n" " add %r3, %r3, %r9 \n" - " bdnz _L46 \n" + " bdnz ._L46 \n" " lvx %v0, %r11, %r4 \n" " lvx %v1, 0, %r4 \n" " lvx %v13, %r5, %r3 \n" @@ -583,7 +583,7 @@ " vpkuhum %v10, %v1, %v1 \n" " add %r4, %r4, %r5 \n" " vavgub %v12, %v11, %v0 \n" - "_L51: \n" + "._L51: \n" " li %r9, 7 \n" " lvx %v0, %r9, %r4 \n" " lvx %v13, 0, %r4 \n" @@ -606,7 +606,7 @@ " vavgub %v12, %v11, %v0 \n" " add %r4, %r4, %r5 \n" " add %r3, %r3, %r5 \n" - " bdnz _L51 \n" + " bdnz ._L51 \n" " li %r9, 7 \n" " lvx %v0, %r9, %r4 \n" " lvx %v13, 0, %r4 \n" @@ -642,7 +642,7 @@ " vavgub %v0, %v0, %v1 \n" " add %r4, %r4, %r5 \n" " vavgub %v10, %v9, %v0 \n" - "_L56: \n" + "._L56: \n" " li %r11, 16 \n" " lvx %v11, 0, %r4 \n" " lvx %v12, %r11, %r4 \n" @@ -663,7 +663,7 @@ " vavgub %v0, %v0, %v13 \n" " add %r3, %r3, %r9 \n" " vavgub %v10, %v9, %v0 \n" - " bdnz _L56 \n" + " bdnz ._L56 \n" " lvx %v12, %r11, %r4 \n" " lvx %v11, 0, %r4 \n" " lvx %v9, %r5, %r3 \n" @@ -701,7 +701,7 @@ " vavgub %v0, %v0, %v1 \n" " vaddubm %v13, %v8, %v13 \n" " vavgub %v10, %v9, %v0 \n" - "_L61: \n" + "._L61: \n" " li %r9, 8 \n" " lvx %v12, %r9, %r4 \n" " lvx %v11, 0, %r4 \n" @@ -728,7 +728,7 @@ " add %r4, %r4, %r5 \n" " add %r3, %r3, %r5 \n" " vavgub %v10, %v9, %v0 \n" - " bdnz _L61 \n" + " bdnz ._L61 \n" " li %r9, 8 \n" " lvx %v12, %r9, %r4 \n" " lvx %v11, 0, %r4 \n" @@ -768,7 +768,7 @@ " add %r9, %r5, %r5 \n" " add %r4, %r4, %r5 \n" " vavgub %v0, %v12, %v0 \n" - "_L66: \n" + "._L66: \n" " li %r11, 15 \n" " lvx %v13, 0, %r4 \n" " lvx %v1, %r11, %r4 \n" @@ -787,7 +787,7 @@ " vavgub %v0, %v11, %v10 \n" " add %r3, %r3, %r9 \n" " vavgub %v0, %v12, %v0 \n" - " bdnz _L66 \n" + " bdnz ._L66 \n" " lvx %v1, %r11, %r4 \n" " lvx %v13, 0, %r4 \n" " lvx %v12, %r5, %r3 \n" @@ -824,7 +824,7 @@ " add %r4, %r4, %r5 \n" " vavgub %v0, %v12, %v9 \n" " vavgub %v1, %v10, %v0 \n" - "_L71: \n" + "._L71: \n" " li %r9, 7 \n" " lvx %v13, %r9, %r4 \n" " lvx %v11, 0, %r4 \n" @@ -849,7 +849,7 @@ " add %r4, %r4, %r5 \n" " vavgub %v1, %v10, %v0 \n" " add %r3, %r3, %r5 \n" - " bdnz _L71 \n" + " bdnz ._L71 \n" " li %r9, 7 \n" " lvx %v13, %r9, %r4 \n" " lvx %v11, 0, %r4 \n" @@ -901,7 +901,7 @@ " vand %v1, %v1, %v13 \n" " vsububm %v0, %v0, %v1 \n" " vavgub %v12, %v6, %v0 \n" - "_L76: \n" + "._L76: \n" " li %r11, 16 \n" " lvx %v13, 0, %r4 \n" " lvx %v1, %r11, %r4 \n" @@ -936,7 +936,7 @@ " stvx %v12, %r5, %r3 \n" " vavgub %v12, %v6, %v0 \n" " add %r3, %r3, %r9 \n" - " bdnz _L76 \n" + " bdnz ._L76 \n" " lvx %v1, %r11, %r4 \n" " lvx %v13, 0, %r4 \n" " lvx %v6, %r5, %r3 \n" @@ -995,7 +995,7 @@ " vand %v1, %v1, %v13 \n" " vsububm %v0, %v0, %v1 \n" " vavgub %v13, %v4, %v0 \n" - "_L81: \n" + "._L81: \n" " li %r9, 16 \n" " lvx %v1, %r9, %r4 \n" " lvx %v9, 0, %r4 \n" @@ -1036,7 +1036,7 @@ " vsububm %v0, %v0, %v1 \n" " add %r3, %r3, %r5 \n" " vavgub %v13, %v4, %v0 \n" - " bdnz _L81 \n" + " bdnz ._L81 \n" " li %r9, 16 \n" " lvx %v1, %r9, %r4 \n" " lvx %v9, 0, %r4 \n" |
From: Michel L. <wa...@us...> - 2001-09-22 07:51:10
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv23737/libmpeg2 Modified Files: Makefile.am motion_comp.c mpeg2_internal.h Added Files: motion_comp_altivec.c Log Message: altivec motion compensation a g4/400 now gets about 100 fps :) (versus 38 using the c routines) --- NEW FILE: motion_comp_altivec.c --- /* * motion_comp_altivec.c * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. * * mpeg2dec 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. * * mpeg2dec 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-1307 USA [...1981 lines suppressed...] } while (--height); ref0 = vec_ld (0, ref); ref1 = vec_ld (16, ref); prev = vec_ld (stride, dest); vec_ste ((vector_u32_t)tmp, 0, (unsigned int *)dest); vec_ste ((vector_u32_t)tmp, 4, (unsigned int *)dest); dest += stride; A = vec_perm (ref0, ref1, perm0A); B = vec_perm (ref0, ref1, perm0B); avg0 = vec_avg (A, B); xor0 = vec_xor (A, B); tmp = vec_avg (prev, vec_sub (vec_avg (avg0, avg1), vec_and (vec_and (ones, vec_or (xor0, xor1)), vec_xor (avg0, avg1)))); vec_ste ((vector_u32_t)tmp, 0, (unsigned int *)dest); vec_ste ((vector_u32_t)tmp, 4, (unsigned int *)dest); } #endif /* __ALTIVEC__ */ Index: Makefile.am =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.am 2001/09/12 05:50:46 1.2 +++ Makefile.am 2001/09/22 07:51:03 1.3 @@ -3,6 +3,7 @@ lib_LTLIBRARIES = libmpeg2.la libmpeg2_la_SOURCES = decode.c header.c stats.c slice.c \ motion_comp.c motion_comp_mlib.c motion_comp_mmx.c \ + motion_comp_altivec.c \ idct.c idct_mlib.c idct_mmx.c idct_altivec.c # the source ordering seems to impact the speed. # On my setup the following ordering is about 2% faster. Index: motion_comp.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/motion_comp.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- motion_comp.c 2001/07/21 07:52:47 1.2 +++ motion_comp.c 2001/09/22 07:51:03 1.3 @@ -44,6 +44,12 @@ mc_functions = mc_functions_mmx; } else #endif +#ifdef ARCH_PPC + if (config.flags & MM_ACCEL_PPC_ALTIVEC) { + fprintf (stderr, "Using altivec for motion compensation\n"); + mc_functions = mc_functions_altivec; + } else +#endif #ifdef LIBMPEG2_MLIB if (config.flags & MM_ACCEL_MLIB) { fprintf (stderr, "Using mlib for motion compensation\n"); Index: mpeg2_internal.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/mpeg2_internal.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- mpeg2_internal.h 2001/09/13 05:25:20 1.4 +++ mpeg2_internal.h 2001/09/22 07:51:03 1.5 @@ -188,6 +188,7 @@ extern mc_functions_t mc_functions_mmx; extern mc_functions_t mc_functions_mmxext; extern mc_functions_t mc_functions_3dnow; +extern mc_functions_t mc_functions_altivec; extern mc_functions_t mc_functions_mlib; /* slice.c */ |