Add avifile, an MPEG-4 (aka DivX) player

PR:		21347
Submitted by:	Holger Lamm <holger@eit.uni-kl.de>
This commit is contained in:
Ade Lovett 2000-09-19 16:18:15 +00:00
parent f67c6ae4c3
commit 10e47807a1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=32866
37 changed files with 1921 additions and 0 deletions

View file

@ -11,6 +11,7 @@
SUBDIR += aalib
SUBDIR += aero
SUBDIR += aview
SUBDIR += avifile
SUBDIR += backfract
SUBDIR += camediaplay
SUBDIR += camserv

38
graphics/avifile/Makefile Normal file
View file

@ -0,0 +1,38 @@
# New ports collection makefile for: avifile
# Date created: 16 September 2000
# Whom: Holger Lamm
#
# $FreeBSD$
#
PORTNAME= avifile
PORTVERSION= 0.47.1
CATEGORIES= graphics
MASTER_SITES= http://divx.euro.ru/
DISTFILES= avifile-${PORTVERSION}${EXTRACT_SUFX} binaries.zip
EXTRACT_ONLY= avifile-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= holger@eit.uni-kl.de
LIB_DEPENDS= qt2.4:${PORTSDIR}/x11-toolkits/qt22 \
SDL-1.1.2:${PORTSDIR}/devel/sdl-devel
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
ONLY_FOR_ARCHS= i386
USE_GMAKE= yes
USE_XLIB= yes
HAS_CONFIGURE= yes
SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
MOC?= ${X11BASE}/bin/moc2
CONFIGURE_ENV= SDL_CONFIG="${SDL_CONFIG}" \
MOC="${MOC}"
CONFIGURE_ARGS= --enable-mmx \
--with-qt-includes=${X11BASE}/include/qt2 \
--with-win32-path=${LOCALBASE}/lib/win32
pre-install:
unzip ${DISTDIR}/binaries.zip -d ${LOCALBASE}/lib/win32
strip ${WRKSRC}/bin/aviplay ${WRKSRC}/bin/benchmark
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
MD5 (avifile-0.47.1.tar.gz) = edbad85f6c72d61f3a66d99c61620f39
MD5 (binaries.zip) = 6df7c0a266ba6e8c022160605791644b

View file

@ -0,0 +1,42 @@
--- configure.orig Sat Sep 16 11:33:30 2000
+++ configure Sat Sep 16 11:43:00 2000
@@ -2302,7 +2302,7 @@
USE_QT=1
-USE_VIDCAP=1
+USE_VIDCAP=0
# Check whether --enable-qt or --disable-qt was given.
if test "${enable_qt+set}" = set; then
@@ -2631,7 +2631,7 @@
CXXFLAGS="$CXXFLAGS -I$qt_incdir"
LDFLAGS="-L$qt_libdir $X_LDFLAGS"
-LIBS="$LIBS -lqt -lXext -lX11 $LIBSOCKET"
+LIBS="$LIBS -lqt2 -lXext -lX11 $LIBSOCKET"
ac_ext=C
--- player/Makefile.in.orig Sat Sep 16 11:33:26 2000
+++ player/Makefile.in Sat Sep 16 11:43:46 2000
@@ -7,7 +7,7 @@
MOC=@MOC@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=-L../lib @QT_LDFLAGS@ -L/usr/X11R6/lib -L/usr/local/lib
CDOPT=@CD_OPT@
LDOPT=@LD_OPT@
--- samples/benchmark/Makefile.in.orig Sat Sep 16 11:33:29 2000
+++ samples/benchmark/Makefile.in Sat Sep 16 11:43:27 2000
@@ -5,7 +5,7 @@
CFLAGS=-I../../include -I/usr/X11R6/include @QT_INCLUDES@ @SDL_CFLAGS@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=@QT_LDFLAGS@ -L/usr/X11R6/lib -L../../lib
MOC=@MOC@

View file

@ -0,0 +1,82 @@
--- lib/avifile/AviWrite.cpp.orig Mon Sep 11 15:40:31 2000
+++ lib/avifile/AviWrite.cpp Wed Sep 13 20:52:55 2000
@@ -19,7 +19,11 @@
try
{
m_status=0;
+#ifdef O_LARGEFILE
m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, mask);
+#else
+ m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC, mask);
+#endif
if(m_fd==-1)
throw FATAL("Can't open file for writing");
@@ -203,7 +207,11 @@
}
long long AviWriteFile::FileSize()
{
+#ifdef __Linux__
return lseek64(m_fd, 0, SEEK_CUR);
+#else
+ return lseek(m_fd, 0, SEEK_CUR);
+#endif
}
AviWriteStream::AviWriteStream
--- lib/videocodec/Module.h.orig Sat Sep 9 14:24:49 2000
+++ lib/videocodec/Module.h Wed Sep 13 20:20:25 2000
@@ -4,6 +4,10 @@
#include <videoencoder.h>
#include <list>
#include <string>
+#ifdef __FreeBSD__
+#include <sys/time.h>
+#endif
+
using namespace std;
class VideoCodecControl;
--- player/renderer.cpp.orig Mon Sep 11 08:38:07 2000
+++ player/renderer.cpp Fri Sep 15 20:22:55 2000
@@ -11,6 +11,7 @@
#ifdef __FreeBSD__
#include <machine/param.h>
#include <sys/types.h>
+#include <unistd.h>
#endif
#include <sys/ipc.h>
#include <sys/shm.h>
--- lib/aviplay/aviutil.cpp.orig Sat Sep 16 13:49:08 2000
+++ lib/aviplay/aviutil.cpp Sat Sep 16 13:54:06 2000
@@ -28,16 +28,18 @@
}
CPU_Freq::CPU_Freq()
{
- FILE *f = fopen ("/proc/cpuinfo", "r");
char line[200];
char model[200]="unknown";
char flags[500]="";
char *s,*value;
+#ifdef __FreeBSD__
+ freq=old_freq();
+ cerr<<freq/1000.<<" MHz processor detected"<<endl;
+#else
+ FILE *f = fopen ("/proc/cpuinfo", "r");
+
freq=-1;
-// freq=old_freq();
-// cerr<<freq/1000.<<" MHz processor detected"<<endl;
-// return;
if (!f)
{
printf("Can't open /proc/cpuinfo for reading\n");
@@ -86,6 +88,7 @@
}
#endif
fclose(f);
+#endif
}
CPU_Freq freq;

View file

@ -0,0 +1,11 @@
--- xmps-avi-plugin/Makefile.in.orig Sat Sep 16 14:13:04 2000
+++ xmps-avi-plugin/Makefile.in Sat Sep 16 14:20:30 2000
@@ -1,6 +1,6 @@
-LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -lpthread @XMPS_LIBS@
+LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -pthread @XMPS_LIBS@
-INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@
+INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@ @SDL_CFLAGS@
all: avi_configure.o avi_codec.o
$(CC) -shared avi_configure.o avi_codec.o $(LIBS) -o libavi.so

View file

@ -0,0 +1,235 @@
--- lib/loader/ext.c.orig Sat Sep 16 17:02:10 2000
+++ lib/loader/ext.c Sat Sep 16 17:02:14 2000
@@ -7,7 +7,7 @@
********************************************************/
#include <config.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <unistd.h>
#include <sys/mman.h>
#include <errno.h>
--- lib/loader/win32.c.orig Sat Sep 16 17:03:28 2000
+++ lib/loader/win32.c Sat Sep 16 17:03:30 2000
@@ -13,7 +13,7 @@
#include "win32.h"
#include <stdio.h>
#include <pthread.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
--- lib/loader/driver.c.orig Sat Sep 16 17:04:30 2000
+++ lib/loader/driver.c Sat Sep 16 17:04:32 2000
@@ -1,6 +1,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <wine/driver.h>
#include <wine/pe_image.h>
#include <wine/winreg.h>
--- lib/loader/resource.c.orig Sat Sep 16 17:07:41 2000
+++ lib/loader/resource.c Sat Sep 16 17:08:00 2000
@@ -253,6 +253,56 @@
return RES_SizeofResource( hModule, hRsrc );
}
+/**********************************************************************
+ * LoadStringW (USER32.376)
+ */
+INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
+ LPWSTR buffer, INT buflen )
+{
+ HGLOBAL hmem;
+ HRSRC hrsrc;
+ WCHAR *p;
+ int string_num;
+ int i;
+
+ if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
+ resource_id = (UINT)(-((INT)resource_id));
+ TRACE("instance = %04x, id = %04x, buffer = %08x, "
+ "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
+
+ /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
+ * 20 - 31. */
+ hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
+ RT_STRINGW );
+ if (!hrsrc) return 0;
+ hmem = LoadResource( instance, hrsrc );
+ if (!hmem) return 0;
+
+ p = LockResource(hmem);
+ string_num = resource_id & 0x000f;
+ for (i = 0; i < string_num; i++)
+ p += *p + 1;
+
+ TRACE("strlen = %d\n", (int)*p );
+
+ if (buffer == NULL) return *p;
+ i = min(buflen - 1, *p);
+ if (i > 0) {
+ memcpy(buffer, p + 1, i * sizeof (WCHAR));
+ buffer[i] = (WCHAR) 0;
+ } else {
+ if (buflen > 1) {
+ buffer[0] = (WCHAR) 0;
+ return 0;
+ }
+#if 0
+ WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
+#endif
+ }
+
+ TRACE("String loaded !\n");
+ return i;
+}
/**********************************************************************
@@ -303,57 +353,6 @@
HeapFree( GetProcessHeap(), 0, wbuf );
return retval;
-}
-
-/**********************************************************************
- * LoadStringW (USER32.376)
- */
-INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
- LPWSTR buffer, INT buflen )
-{
- HGLOBAL hmem;
- HRSRC hrsrc;
- WCHAR *p;
- int string_num;
- int i;
-
- if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
- resource_id = (UINT)(-((INT)resource_id));
- TRACE("instance = %04x, id = %04x, buffer = %08x, "
- "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
-
- /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
- * 20 - 31. */
- hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
- RT_STRINGW );
- if (!hrsrc) return 0;
- hmem = LoadResource( instance, hrsrc );
- if (!hmem) return 0;
-
- p = LockResource(hmem);
- string_num = resource_id & 0x000f;
- for (i = 0; i < string_num; i++)
- p += *p + 1;
-
- TRACE("strlen = %d\n", (int)*p );
-
- if (buffer == NULL) return *p;
- i = min(buflen - 1, *p);
- if (i > 0) {
- memcpy(buffer, p + 1, i * sizeof (WCHAR));
- buffer[i] = (WCHAR) 0;
- } else {
- if (buflen > 1) {
- buffer[0] = (WCHAR) 0;
- return 0;
- }
-#if 0
- WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
-#endif
- }
-
- TRACE("String loaded !\n");
- return i;
}
/* Messages...used by FormatMessage32* (KERNEL32.something)
--- lib/videocodec/VideoDecoder.cpp.orig Sat Sep 16 17:11:41 2000
+++ lib/videocodec/VideoDecoder.cpp Sat Sep 16 17:16:25 2000
@@ -20,7 +20,6 @@
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/types.h>
-#include <malloc.h>
#include <stdio.h>
#include <unistd.h>
#include <strstream>
--- lib/avifile/Cache.h.orig Sat Sep 16 17:22:11 2000
+++ lib/avifile/Cache.h Sat Sep 16 17:22:14 2000
@@ -2,7 +2,7 @@
#include <default.h>
#define _LARGEFILE64_SOURCE
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/FastReadStream.cpp.orig Sat Sep 16 17:23:45 2000
+++ lib/avifile/FastReadStream.cpp Sat Sep 16 17:23:47 2000
@@ -8,7 +8,7 @@
#include <features.h>
#endif
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#ifdef __FreeBSD__
#define lseek64 lseek
--- lib/avifile/AviRead.h.orig Sat Sep 16 17:25:10 2000
+++ lib/avifile/AviRead.h Sat Sep 16 17:25:13 2000
@@ -10,7 +10,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/AviWrite.h.orig Sat Sep 16 17:26:35 2000
+++ lib/avifile/AviWrite.h Sat Sep 16 17:26:37 2000
@@ -11,7 +11,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- samples/benchmark/main.cpp.orig Sat Sep 16 17:28:22 2000
+++ samples/benchmark/main.cpp Sat Sep 16 17:28:24 2000
@@ -9,7 +9,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
#include <signal.h>
#include <iostream.h>
#include <unistd.h>
--- samples/benchmark/renderer.cpp.orig Sat Sep 16 17:29:28 2000
+++ samples/benchmark/renderer.cpp Sat Sep 16 17:29:29 2000
@@ -14,7 +14,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"
--- player/renderer.cpp.orig Sat Sep 16 22:31:56 2000
+++ player/renderer.cpp Sat Sep 16 22:32:02 2000
@@ -16,7 +16,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"

View file

@ -0,0 +1 @@
An MPEG-4 (DivX) video player

View file

@ -0,0 +1,3 @@
An MPEG-4 (aka DivX) player built around the Windows binaries,
but does not need Wine.
There is also a xmps plugin you can build (manually).

View file

@ -0,0 +1,66 @@
include/avifile/audiodecoder.h
include/avifile/audioencoder.h
include/avifile/avifile.h
include/avifile/avifmt.h
include/avifile/aviplay.h
include/avifile/aviutil.h
include/avifile/config.h
include/avifile/default.h
include/avifile/except.h
include/avifile/loader.h
include/avifile/registry.h
include/avifile/videodecoder.h
include/avifile/videoencoder.h
include/avifile/wine/basetsd.h
include/avifile/wine/config.h
include/avifile/wine/debugtools.h
include/avifile/wine/driver.h
include/avifile/wine/elfdll.h
include/avifile/wine/heap.h
include/avifile/wine/ldt.h
include/avifile/wine/mmreg.h
include/avifile/wine/module.h
include/avifile/wine/msacm.h
include/avifile/wine/msacmdrv.h
include/avifile/wine/ntdef.h
include/avifile/wine/pe_image.h
include/avifile/wine/poppack.h
include/avifile/wine/pshpack1.h
include/avifile/wine/pshpack2.h
include/avifile/wine/pshpack4.h
include/avifile/wine/pshpack8.h
include/avifile/wine/vfw.h
include/avifile/wine/winbase.h
include/avifile/wine/windef.h
include/avifile/wine/windows.h
include/avifile/wine/winerror.h
include/avifile/wine/winestring.h
include/avifile/wine/winnt.h
include/avifile/wine/winreg.h
include/avifile/wine/winuser.h
@dirrm include/avifile/wine
@dirrm include/avifile
bin/aviplay
bin/benchmark
share/avifile/open.ppm
share/avifile/pause.ppm
share/avifile/play.ppm
share/avifile/stop.ppm
share/avifile/test.png
@dirrm share/avifile
lib/win32/ativcr2.dll
lib/win32/divxa32.acm
lib/win32/divxc32.dll
lib/win32/divxc32f.dll
lib/win32/i263_32.drv
lib/win32/iccvid.dll
lib/win32/ir32_32.dll
lib/win32/ir41_32.dll
lib/win32/ir41_qc.dll
lib/win32/ir50_32.dll
lib/win32/ir50_qc.dll
lib/win32/mpg4c32.dll
@dirrm lib/win32
lib/libaviplay.so
@exec /sbin/ldconfig -m %D/lib
@unexec /sbin/ldconfig -R

View file

@ -0,0 +1,38 @@
# New ports collection makefile for: avifile
# Date created: 16 September 2000
# Whom: Holger Lamm
#
# $FreeBSD$
#
PORTNAME= avifile
PORTVERSION= 0.47.1
CATEGORIES= graphics
MASTER_SITES= http://divx.euro.ru/
DISTFILES= avifile-${PORTVERSION}${EXTRACT_SUFX} binaries.zip
EXTRACT_ONLY= avifile-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= holger@eit.uni-kl.de
LIB_DEPENDS= qt2.4:${PORTSDIR}/x11-toolkits/qt22 \
SDL-1.1.2:${PORTSDIR}/devel/sdl-devel
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
ONLY_FOR_ARCHS= i386
USE_GMAKE= yes
USE_XLIB= yes
HAS_CONFIGURE= yes
SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
MOC?= ${X11BASE}/bin/moc2
CONFIGURE_ENV= SDL_CONFIG="${SDL_CONFIG}" \
MOC="${MOC}"
CONFIGURE_ARGS= --enable-mmx \
--with-qt-includes=${X11BASE}/include/qt2 \
--with-win32-path=${LOCALBASE}/lib/win32
pre-install:
unzip ${DISTDIR}/binaries.zip -d ${LOCALBASE}/lib/win32
strip ${WRKSRC}/bin/aviplay ${WRKSRC}/bin/benchmark
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
MD5 (avifile-0.47.1.tar.gz) = edbad85f6c72d61f3a66d99c61620f39
MD5 (binaries.zip) = 6df7c0a266ba6e8c022160605791644b

View file

@ -0,0 +1,42 @@
--- configure.orig Sat Sep 16 11:33:30 2000
+++ configure Sat Sep 16 11:43:00 2000
@@ -2302,7 +2302,7 @@
USE_QT=1
-USE_VIDCAP=1
+USE_VIDCAP=0
# Check whether --enable-qt or --disable-qt was given.
if test "${enable_qt+set}" = set; then
@@ -2631,7 +2631,7 @@
CXXFLAGS="$CXXFLAGS -I$qt_incdir"
LDFLAGS="-L$qt_libdir $X_LDFLAGS"
-LIBS="$LIBS -lqt -lXext -lX11 $LIBSOCKET"
+LIBS="$LIBS -lqt2 -lXext -lX11 $LIBSOCKET"
ac_ext=C
--- player/Makefile.in.orig Sat Sep 16 11:33:26 2000
+++ player/Makefile.in Sat Sep 16 11:43:46 2000
@@ -7,7 +7,7 @@
MOC=@MOC@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=-L../lib @QT_LDFLAGS@ -L/usr/X11R6/lib -L/usr/local/lib
CDOPT=@CD_OPT@
LDOPT=@LD_OPT@
--- samples/benchmark/Makefile.in.orig Sat Sep 16 11:33:29 2000
+++ samples/benchmark/Makefile.in Sat Sep 16 11:43:27 2000
@@ -5,7 +5,7 @@
CFLAGS=-I../../include -I/usr/X11R6/include @QT_INCLUDES@ @SDL_CFLAGS@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=@QT_LDFLAGS@ -L/usr/X11R6/lib -L../../lib
MOC=@MOC@

View file

@ -0,0 +1,82 @@
--- lib/avifile/AviWrite.cpp.orig Mon Sep 11 15:40:31 2000
+++ lib/avifile/AviWrite.cpp Wed Sep 13 20:52:55 2000
@@ -19,7 +19,11 @@
try
{
m_status=0;
+#ifdef O_LARGEFILE
m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, mask);
+#else
+ m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC, mask);
+#endif
if(m_fd==-1)
throw FATAL("Can't open file for writing");
@@ -203,7 +207,11 @@
}
long long AviWriteFile::FileSize()
{
+#ifdef __Linux__
return lseek64(m_fd, 0, SEEK_CUR);
+#else
+ return lseek(m_fd, 0, SEEK_CUR);
+#endif
}
AviWriteStream::AviWriteStream
--- lib/videocodec/Module.h.orig Sat Sep 9 14:24:49 2000
+++ lib/videocodec/Module.h Wed Sep 13 20:20:25 2000
@@ -4,6 +4,10 @@
#include <videoencoder.h>
#include <list>
#include <string>
+#ifdef __FreeBSD__
+#include <sys/time.h>
+#endif
+
using namespace std;
class VideoCodecControl;
--- player/renderer.cpp.orig Mon Sep 11 08:38:07 2000
+++ player/renderer.cpp Fri Sep 15 20:22:55 2000
@@ -11,6 +11,7 @@
#ifdef __FreeBSD__
#include <machine/param.h>
#include <sys/types.h>
+#include <unistd.h>
#endif
#include <sys/ipc.h>
#include <sys/shm.h>
--- lib/aviplay/aviutil.cpp.orig Sat Sep 16 13:49:08 2000
+++ lib/aviplay/aviutil.cpp Sat Sep 16 13:54:06 2000
@@ -28,16 +28,18 @@
}
CPU_Freq::CPU_Freq()
{
- FILE *f = fopen ("/proc/cpuinfo", "r");
char line[200];
char model[200]="unknown";
char flags[500]="";
char *s,*value;
+#ifdef __FreeBSD__
+ freq=old_freq();
+ cerr<<freq/1000.<<" MHz processor detected"<<endl;
+#else
+ FILE *f = fopen ("/proc/cpuinfo", "r");
+
freq=-1;
-// freq=old_freq();
-// cerr<<freq/1000.<<" MHz processor detected"<<endl;
-// return;
if (!f)
{
printf("Can't open /proc/cpuinfo for reading\n");
@@ -86,6 +88,7 @@
}
#endif
fclose(f);
+#endif
}
CPU_Freq freq;

View file

@ -0,0 +1,11 @@
--- xmps-avi-plugin/Makefile.in.orig Sat Sep 16 14:13:04 2000
+++ xmps-avi-plugin/Makefile.in Sat Sep 16 14:20:30 2000
@@ -1,6 +1,6 @@
-LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -lpthread @XMPS_LIBS@
+LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -pthread @XMPS_LIBS@
-INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@
+INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@ @SDL_CFLAGS@
all: avi_configure.o avi_codec.o
$(CC) -shared avi_configure.o avi_codec.o $(LIBS) -o libavi.so

View file

@ -0,0 +1,235 @@
--- lib/loader/ext.c.orig Sat Sep 16 17:02:10 2000
+++ lib/loader/ext.c Sat Sep 16 17:02:14 2000
@@ -7,7 +7,7 @@
********************************************************/
#include <config.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <unistd.h>
#include <sys/mman.h>
#include <errno.h>
--- lib/loader/win32.c.orig Sat Sep 16 17:03:28 2000
+++ lib/loader/win32.c Sat Sep 16 17:03:30 2000
@@ -13,7 +13,7 @@
#include "win32.h"
#include <stdio.h>
#include <pthread.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
--- lib/loader/driver.c.orig Sat Sep 16 17:04:30 2000
+++ lib/loader/driver.c Sat Sep 16 17:04:32 2000
@@ -1,6 +1,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <wine/driver.h>
#include <wine/pe_image.h>
#include <wine/winreg.h>
--- lib/loader/resource.c.orig Sat Sep 16 17:07:41 2000
+++ lib/loader/resource.c Sat Sep 16 17:08:00 2000
@@ -253,6 +253,56 @@
return RES_SizeofResource( hModule, hRsrc );
}
+/**********************************************************************
+ * LoadStringW (USER32.376)
+ */
+INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
+ LPWSTR buffer, INT buflen )
+{
+ HGLOBAL hmem;
+ HRSRC hrsrc;
+ WCHAR *p;
+ int string_num;
+ int i;
+
+ if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
+ resource_id = (UINT)(-((INT)resource_id));
+ TRACE("instance = %04x, id = %04x, buffer = %08x, "
+ "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
+
+ /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
+ * 20 - 31. */
+ hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
+ RT_STRINGW );
+ if (!hrsrc) return 0;
+ hmem = LoadResource( instance, hrsrc );
+ if (!hmem) return 0;
+
+ p = LockResource(hmem);
+ string_num = resource_id & 0x000f;
+ for (i = 0; i < string_num; i++)
+ p += *p + 1;
+
+ TRACE("strlen = %d\n", (int)*p );
+
+ if (buffer == NULL) return *p;
+ i = min(buflen - 1, *p);
+ if (i > 0) {
+ memcpy(buffer, p + 1, i * sizeof (WCHAR));
+ buffer[i] = (WCHAR) 0;
+ } else {
+ if (buflen > 1) {
+ buffer[0] = (WCHAR) 0;
+ return 0;
+ }
+#if 0
+ WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
+#endif
+ }
+
+ TRACE("String loaded !\n");
+ return i;
+}
/**********************************************************************
@@ -303,57 +353,6 @@
HeapFree( GetProcessHeap(), 0, wbuf );
return retval;
-}
-
-/**********************************************************************
- * LoadStringW (USER32.376)
- */
-INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
- LPWSTR buffer, INT buflen )
-{
- HGLOBAL hmem;
- HRSRC hrsrc;
- WCHAR *p;
- int string_num;
- int i;
-
- if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
- resource_id = (UINT)(-((INT)resource_id));
- TRACE("instance = %04x, id = %04x, buffer = %08x, "
- "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
-
- /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
- * 20 - 31. */
- hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
- RT_STRINGW );
- if (!hrsrc) return 0;
- hmem = LoadResource( instance, hrsrc );
- if (!hmem) return 0;
-
- p = LockResource(hmem);
- string_num = resource_id & 0x000f;
- for (i = 0; i < string_num; i++)
- p += *p + 1;
-
- TRACE("strlen = %d\n", (int)*p );
-
- if (buffer == NULL) return *p;
- i = min(buflen - 1, *p);
- if (i > 0) {
- memcpy(buffer, p + 1, i * sizeof (WCHAR));
- buffer[i] = (WCHAR) 0;
- } else {
- if (buflen > 1) {
- buffer[0] = (WCHAR) 0;
- return 0;
- }
-#if 0
- WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
-#endif
- }
-
- TRACE("String loaded !\n");
- return i;
}
/* Messages...used by FormatMessage32* (KERNEL32.something)
--- lib/videocodec/VideoDecoder.cpp.orig Sat Sep 16 17:11:41 2000
+++ lib/videocodec/VideoDecoder.cpp Sat Sep 16 17:16:25 2000
@@ -20,7 +20,6 @@
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/types.h>
-#include <malloc.h>
#include <stdio.h>
#include <unistd.h>
#include <strstream>
--- lib/avifile/Cache.h.orig Sat Sep 16 17:22:11 2000
+++ lib/avifile/Cache.h Sat Sep 16 17:22:14 2000
@@ -2,7 +2,7 @@
#include <default.h>
#define _LARGEFILE64_SOURCE
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/FastReadStream.cpp.orig Sat Sep 16 17:23:45 2000
+++ lib/avifile/FastReadStream.cpp Sat Sep 16 17:23:47 2000
@@ -8,7 +8,7 @@
#include <features.h>
#endif
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#ifdef __FreeBSD__
#define lseek64 lseek
--- lib/avifile/AviRead.h.orig Sat Sep 16 17:25:10 2000
+++ lib/avifile/AviRead.h Sat Sep 16 17:25:13 2000
@@ -10,7 +10,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/AviWrite.h.orig Sat Sep 16 17:26:35 2000
+++ lib/avifile/AviWrite.h Sat Sep 16 17:26:37 2000
@@ -11,7 +11,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- samples/benchmark/main.cpp.orig Sat Sep 16 17:28:22 2000
+++ samples/benchmark/main.cpp Sat Sep 16 17:28:24 2000
@@ -9,7 +9,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
#include <signal.h>
#include <iostream.h>
#include <unistd.h>
--- samples/benchmark/renderer.cpp.orig Sat Sep 16 17:29:28 2000
+++ samples/benchmark/renderer.cpp Sat Sep 16 17:29:29 2000
@@ -14,7 +14,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"
--- player/renderer.cpp.orig Sat Sep 16 22:31:56 2000
+++ player/renderer.cpp Sat Sep 16 22:32:02 2000
@@ -16,7 +16,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"

View file

@ -0,0 +1 @@
An MPEG-4 (DivX) video player

View file

@ -0,0 +1,3 @@
An MPEG-4 (aka DivX) player built around the Windows binaries,
but does not need Wine.
There is also a xmps plugin you can build (manually).

View file

@ -0,0 +1,66 @@
include/avifile/audiodecoder.h
include/avifile/audioencoder.h
include/avifile/avifile.h
include/avifile/avifmt.h
include/avifile/aviplay.h
include/avifile/aviutil.h
include/avifile/config.h
include/avifile/default.h
include/avifile/except.h
include/avifile/loader.h
include/avifile/registry.h
include/avifile/videodecoder.h
include/avifile/videoencoder.h
include/avifile/wine/basetsd.h
include/avifile/wine/config.h
include/avifile/wine/debugtools.h
include/avifile/wine/driver.h
include/avifile/wine/elfdll.h
include/avifile/wine/heap.h
include/avifile/wine/ldt.h
include/avifile/wine/mmreg.h
include/avifile/wine/module.h
include/avifile/wine/msacm.h
include/avifile/wine/msacmdrv.h
include/avifile/wine/ntdef.h
include/avifile/wine/pe_image.h
include/avifile/wine/poppack.h
include/avifile/wine/pshpack1.h
include/avifile/wine/pshpack2.h
include/avifile/wine/pshpack4.h
include/avifile/wine/pshpack8.h
include/avifile/wine/vfw.h
include/avifile/wine/winbase.h
include/avifile/wine/windef.h
include/avifile/wine/windows.h
include/avifile/wine/winerror.h
include/avifile/wine/winestring.h
include/avifile/wine/winnt.h
include/avifile/wine/winreg.h
include/avifile/wine/winuser.h
@dirrm include/avifile/wine
@dirrm include/avifile
bin/aviplay
bin/benchmark
share/avifile/open.ppm
share/avifile/pause.ppm
share/avifile/play.ppm
share/avifile/stop.ppm
share/avifile/test.png
@dirrm share/avifile
lib/win32/ativcr2.dll
lib/win32/divxa32.acm
lib/win32/divxc32.dll
lib/win32/divxc32f.dll
lib/win32/i263_32.drv
lib/win32/iccvid.dll
lib/win32/ir32_32.dll
lib/win32/ir41_32.dll
lib/win32/ir41_qc.dll
lib/win32/ir50_32.dll
lib/win32/ir50_qc.dll
lib/win32/mpg4c32.dll
@dirrm lib/win32
lib/libaviplay.so
@exec /sbin/ldconfig -m %D/lib
@unexec /sbin/ldconfig -R

View file

@ -0,0 +1,38 @@
# New ports collection makefile for: avifile
# Date created: 16 September 2000
# Whom: Holger Lamm
#
# $FreeBSD$
#
PORTNAME= avifile
PORTVERSION= 0.47.1
CATEGORIES= graphics
MASTER_SITES= http://divx.euro.ru/
DISTFILES= avifile-${PORTVERSION}${EXTRACT_SUFX} binaries.zip
EXTRACT_ONLY= avifile-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= holger@eit.uni-kl.de
LIB_DEPENDS= qt2.4:${PORTSDIR}/x11-toolkits/qt22 \
SDL-1.1.2:${PORTSDIR}/devel/sdl-devel
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
ONLY_FOR_ARCHS= i386
USE_GMAKE= yes
USE_XLIB= yes
HAS_CONFIGURE= yes
SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
MOC?= ${X11BASE}/bin/moc2
CONFIGURE_ENV= SDL_CONFIG="${SDL_CONFIG}" \
MOC="${MOC}"
CONFIGURE_ARGS= --enable-mmx \
--with-qt-includes=${X11BASE}/include/qt2 \
--with-win32-path=${LOCALBASE}/lib/win32
pre-install:
unzip ${DISTDIR}/binaries.zip -d ${LOCALBASE}/lib/win32
strip ${WRKSRC}/bin/aviplay ${WRKSRC}/bin/benchmark
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
MD5 (avifile-0.47.1.tar.gz) = edbad85f6c72d61f3a66d99c61620f39
MD5 (binaries.zip) = 6df7c0a266ba6e8c022160605791644b

View file

@ -0,0 +1,42 @@
--- configure.orig Sat Sep 16 11:33:30 2000
+++ configure Sat Sep 16 11:43:00 2000
@@ -2302,7 +2302,7 @@
USE_QT=1
-USE_VIDCAP=1
+USE_VIDCAP=0
# Check whether --enable-qt or --disable-qt was given.
if test "${enable_qt+set}" = set; then
@@ -2631,7 +2631,7 @@
CXXFLAGS="$CXXFLAGS -I$qt_incdir"
LDFLAGS="-L$qt_libdir $X_LDFLAGS"
-LIBS="$LIBS -lqt -lXext -lX11 $LIBSOCKET"
+LIBS="$LIBS -lqt2 -lXext -lX11 $LIBSOCKET"
ac_ext=C
--- player/Makefile.in.orig Sat Sep 16 11:33:26 2000
+++ player/Makefile.in Sat Sep 16 11:43:46 2000
@@ -7,7 +7,7 @@
MOC=@MOC@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=-L../lib @QT_LDFLAGS@ -L/usr/X11R6/lib -L/usr/local/lib
CDOPT=@CD_OPT@
LDOPT=@LD_OPT@
--- samples/benchmark/Makefile.in.orig Sat Sep 16 11:33:29 2000
+++ samples/benchmark/Makefile.in Sat Sep 16 11:43:27 2000
@@ -5,7 +5,7 @@
CFLAGS=-I../../include -I/usr/X11R6/include @QT_INCLUDES@ @SDL_CFLAGS@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=@QT_LDFLAGS@ -L/usr/X11R6/lib -L../../lib
MOC=@MOC@

View file

@ -0,0 +1,82 @@
--- lib/avifile/AviWrite.cpp.orig Mon Sep 11 15:40:31 2000
+++ lib/avifile/AviWrite.cpp Wed Sep 13 20:52:55 2000
@@ -19,7 +19,11 @@
try
{
m_status=0;
+#ifdef O_LARGEFILE
m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, mask);
+#else
+ m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC, mask);
+#endif
if(m_fd==-1)
throw FATAL("Can't open file for writing");
@@ -203,7 +207,11 @@
}
long long AviWriteFile::FileSize()
{
+#ifdef __Linux__
return lseek64(m_fd, 0, SEEK_CUR);
+#else
+ return lseek(m_fd, 0, SEEK_CUR);
+#endif
}
AviWriteStream::AviWriteStream
--- lib/videocodec/Module.h.orig Sat Sep 9 14:24:49 2000
+++ lib/videocodec/Module.h Wed Sep 13 20:20:25 2000
@@ -4,6 +4,10 @@
#include <videoencoder.h>
#include <list>
#include <string>
+#ifdef __FreeBSD__
+#include <sys/time.h>
+#endif
+
using namespace std;
class VideoCodecControl;
--- player/renderer.cpp.orig Mon Sep 11 08:38:07 2000
+++ player/renderer.cpp Fri Sep 15 20:22:55 2000
@@ -11,6 +11,7 @@
#ifdef __FreeBSD__
#include <machine/param.h>
#include <sys/types.h>
+#include <unistd.h>
#endif
#include <sys/ipc.h>
#include <sys/shm.h>
--- lib/aviplay/aviutil.cpp.orig Sat Sep 16 13:49:08 2000
+++ lib/aviplay/aviutil.cpp Sat Sep 16 13:54:06 2000
@@ -28,16 +28,18 @@
}
CPU_Freq::CPU_Freq()
{
- FILE *f = fopen ("/proc/cpuinfo", "r");
char line[200];
char model[200]="unknown";
char flags[500]="";
char *s,*value;
+#ifdef __FreeBSD__
+ freq=old_freq();
+ cerr<<freq/1000.<<" MHz processor detected"<<endl;
+#else
+ FILE *f = fopen ("/proc/cpuinfo", "r");
+
freq=-1;
-// freq=old_freq();
-// cerr<<freq/1000.<<" MHz processor detected"<<endl;
-// return;
if (!f)
{
printf("Can't open /proc/cpuinfo for reading\n");
@@ -86,6 +88,7 @@
}
#endif
fclose(f);
+#endif
}
CPU_Freq freq;

View file

@ -0,0 +1,11 @@
--- xmps-avi-plugin/Makefile.in.orig Sat Sep 16 14:13:04 2000
+++ xmps-avi-plugin/Makefile.in Sat Sep 16 14:20:30 2000
@@ -1,6 +1,6 @@
-LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -lpthread @XMPS_LIBS@
+LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -pthread @XMPS_LIBS@
-INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@
+INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@ @SDL_CFLAGS@
all: avi_configure.o avi_codec.o
$(CC) -shared avi_configure.o avi_codec.o $(LIBS) -o libavi.so

View file

@ -0,0 +1,235 @@
--- lib/loader/ext.c.orig Sat Sep 16 17:02:10 2000
+++ lib/loader/ext.c Sat Sep 16 17:02:14 2000
@@ -7,7 +7,7 @@
********************************************************/
#include <config.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <unistd.h>
#include <sys/mman.h>
#include <errno.h>
--- lib/loader/win32.c.orig Sat Sep 16 17:03:28 2000
+++ lib/loader/win32.c Sat Sep 16 17:03:30 2000
@@ -13,7 +13,7 @@
#include "win32.h"
#include <stdio.h>
#include <pthread.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
--- lib/loader/driver.c.orig Sat Sep 16 17:04:30 2000
+++ lib/loader/driver.c Sat Sep 16 17:04:32 2000
@@ -1,6 +1,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <wine/driver.h>
#include <wine/pe_image.h>
#include <wine/winreg.h>
--- lib/loader/resource.c.orig Sat Sep 16 17:07:41 2000
+++ lib/loader/resource.c Sat Sep 16 17:08:00 2000
@@ -253,6 +253,56 @@
return RES_SizeofResource( hModule, hRsrc );
}
+/**********************************************************************
+ * LoadStringW (USER32.376)
+ */
+INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
+ LPWSTR buffer, INT buflen )
+{
+ HGLOBAL hmem;
+ HRSRC hrsrc;
+ WCHAR *p;
+ int string_num;
+ int i;
+
+ if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
+ resource_id = (UINT)(-((INT)resource_id));
+ TRACE("instance = %04x, id = %04x, buffer = %08x, "
+ "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
+
+ /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
+ * 20 - 31. */
+ hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
+ RT_STRINGW );
+ if (!hrsrc) return 0;
+ hmem = LoadResource( instance, hrsrc );
+ if (!hmem) return 0;
+
+ p = LockResource(hmem);
+ string_num = resource_id & 0x000f;
+ for (i = 0; i < string_num; i++)
+ p += *p + 1;
+
+ TRACE("strlen = %d\n", (int)*p );
+
+ if (buffer == NULL) return *p;
+ i = min(buflen - 1, *p);
+ if (i > 0) {
+ memcpy(buffer, p + 1, i * sizeof (WCHAR));
+ buffer[i] = (WCHAR) 0;
+ } else {
+ if (buflen > 1) {
+ buffer[0] = (WCHAR) 0;
+ return 0;
+ }
+#if 0
+ WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
+#endif
+ }
+
+ TRACE("String loaded !\n");
+ return i;
+}
/**********************************************************************
@@ -303,57 +353,6 @@
HeapFree( GetProcessHeap(), 0, wbuf );
return retval;
-}
-
-/**********************************************************************
- * LoadStringW (USER32.376)
- */
-INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
- LPWSTR buffer, INT buflen )
-{
- HGLOBAL hmem;
- HRSRC hrsrc;
- WCHAR *p;
- int string_num;
- int i;
-
- if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
- resource_id = (UINT)(-((INT)resource_id));
- TRACE("instance = %04x, id = %04x, buffer = %08x, "
- "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
-
- /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
- * 20 - 31. */
- hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
- RT_STRINGW );
- if (!hrsrc) return 0;
- hmem = LoadResource( instance, hrsrc );
- if (!hmem) return 0;
-
- p = LockResource(hmem);
- string_num = resource_id & 0x000f;
- for (i = 0; i < string_num; i++)
- p += *p + 1;
-
- TRACE("strlen = %d\n", (int)*p );
-
- if (buffer == NULL) return *p;
- i = min(buflen - 1, *p);
- if (i > 0) {
- memcpy(buffer, p + 1, i * sizeof (WCHAR));
- buffer[i] = (WCHAR) 0;
- } else {
- if (buflen > 1) {
- buffer[0] = (WCHAR) 0;
- return 0;
- }
-#if 0
- WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
-#endif
- }
-
- TRACE("String loaded !\n");
- return i;
}
/* Messages...used by FormatMessage32* (KERNEL32.something)
--- lib/videocodec/VideoDecoder.cpp.orig Sat Sep 16 17:11:41 2000
+++ lib/videocodec/VideoDecoder.cpp Sat Sep 16 17:16:25 2000
@@ -20,7 +20,6 @@
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/types.h>
-#include <malloc.h>
#include <stdio.h>
#include <unistd.h>
#include <strstream>
--- lib/avifile/Cache.h.orig Sat Sep 16 17:22:11 2000
+++ lib/avifile/Cache.h Sat Sep 16 17:22:14 2000
@@ -2,7 +2,7 @@
#include <default.h>
#define _LARGEFILE64_SOURCE
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/FastReadStream.cpp.orig Sat Sep 16 17:23:45 2000
+++ lib/avifile/FastReadStream.cpp Sat Sep 16 17:23:47 2000
@@ -8,7 +8,7 @@
#include <features.h>
#endif
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#ifdef __FreeBSD__
#define lseek64 lseek
--- lib/avifile/AviRead.h.orig Sat Sep 16 17:25:10 2000
+++ lib/avifile/AviRead.h Sat Sep 16 17:25:13 2000
@@ -10,7 +10,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/AviWrite.h.orig Sat Sep 16 17:26:35 2000
+++ lib/avifile/AviWrite.h Sat Sep 16 17:26:37 2000
@@ -11,7 +11,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- samples/benchmark/main.cpp.orig Sat Sep 16 17:28:22 2000
+++ samples/benchmark/main.cpp Sat Sep 16 17:28:24 2000
@@ -9,7 +9,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
#include <signal.h>
#include <iostream.h>
#include <unistd.h>
--- samples/benchmark/renderer.cpp.orig Sat Sep 16 17:29:28 2000
+++ samples/benchmark/renderer.cpp Sat Sep 16 17:29:29 2000
@@ -14,7 +14,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"
--- player/renderer.cpp.orig Sat Sep 16 22:31:56 2000
+++ player/renderer.cpp Sat Sep 16 22:32:02 2000
@@ -16,7 +16,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"

View file

@ -0,0 +1 @@
An MPEG-4 (DivX) video player

View file

@ -0,0 +1,3 @@
An MPEG-4 (aka DivX) player built around the Windows binaries,
but does not need Wine.
There is also a xmps plugin you can build (manually).

View file

@ -0,0 +1,66 @@
include/avifile/audiodecoder.h
include/avifile/audioencoder.h
include/avifile/avifile.h
include/avifile/avifmt.h
include/avifile/aviplay.h
include/avifile/aviutil.h
include/avifile/config.h
include/avifile/default.h
include/avifile/except.h
include/avifile/loader.h
include/avifile/registry.h
include/avifile/videodecoder.h
include/avifile/videoencoder.h
include/avifile/wine/basetsd.h
include/avifile/wine/config.h
include/avifile/wine/debugtools.h
include/avifile/wine/driver.h
include/avifile/wine/elfdll.h
include/avifile/wine/heap.h
include/avifile/wine/ldt.h
include/avifile/wine/mmreg.h
include/avifile/wine/module.h
include/avifile/wine/msacm.h
include/avifile/wine/msacmdrv.h
include/avifile/wine/ntdef.h
include/avifile/wine/pe_image.h
include/avifile/wine/poppack.h
include/avifile/wine/pshpack1.h
include/avifile/wine/pshpack2.h
include/avifile/wine/pshpack4.h
include/avifile/wine/pshpack8.h
include/avifile/wine/vfw.h
include/avifile/wine/winbase.h
include/avifile/wine/windef.h
include/avifile/wine/windows.h
include/avifile/wine/winerror.h
include/avifile/wine/winestring.h
include/avifile/wine/winnt.h
include/avifile/wine/winreg.h
include/avifile/wine/winuser.h
@dirrm include/avifile/wine
@dirrm include/avifile
bin/aviplay
bin/benchmark
share/avifile/open.ppm
share/avifile/pause.ppm
share/avifile/play.ppm
share/avifile/stop.ppm
share/avifile/test.png
@dirrm share/avifile
lib/win32/ativcr2.dll
lib/win32/divxa32.acm
lib/win32/divxc32.dll
lib/win32/divxc32f.dll
lib/win32/i263_32.drv
lib/win32/iccvid.dll
lib/win32/ir32_32.dll
lib/win32/ir41_32.dll
lib/win32/ir41_qc.dll
lib/win32/ir50_32.dll
lib/win32/ir50_qc.dll
lib/win32/mpg4c32.dll
@dirrm lib/win32
lib/libaviplay.so
@exec /sbin/ldconfig -m %D/lib
@unexec /sbin/ldconfig -R

View file

@ -0,0 +1,38 @@
# New ports collection makefile for: avifile
# Date created: 16 September 2000
# Whom: Holger Lamm
#
# $FreeBSD$
#
PORTNAME= avifile
PORTVERSION= 0.47.1
CATEGORIES= graphics
MASTER_SITES= http://divx.euro.ru/
DISTFILES= avifile-${PORTVERSION}${EXTRACT_SUFX} binaries.zip
EXTRACT_ONLY= avifile-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= holger@eit.uni-kl.de
LIB_DEPENDS= qt2.4:${PORTSDIR}/x11-toolkits/qt22 \
SDL-1.1.2:${PORTSDIR}/devel/sdl-devel
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
ONLY_FOR_ARCHS= i386
USE_GMAKE= yes
USE_XLIB= yes
HAS_CONFIGURE= yes
SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
MOC?= ${X11BASE}/bin/moc2
CONFIGURE_ENV= SDL_CONFIG="${SDL_CONFIG}" \
MOC="${MOC}"
CONFIGURE_ARGS= --enable-mmx \
--with-qt-includes=${X11BASE}/include/qt2 \
--with-win32-path=${LOCALBASE}/lib/win32
pre-install:
unzip ${DISTDIR}/binaries.zip -d ${LOCALBASE}/lib/win32
strip ${WRKSRC}/bin/aviplay ${WRKSRC}/bin/benchmark
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
MD5 (avifile-0.47.1.tar.gz) = edbad85f6c72d61f3a66d99c61620f39
MD5 (binaries.zip) = 6df7c0a266ba6e8c022160605791644b

View file

@ -0,0 +1,42 @@
--- configure.orig Sat Sep 16 11:33:30 2000
+++ configure Sat Sep 16 11:43:00 2000
@@ -2302,7 +2302,7 @@
USE_QT=1
-USE_VIDCAP=1
+USE_VIDCAP=0
# Check whether --enable-qt or --disable-qt was given.
if test "${enable_qt+set}" = set; then
@@ -2631,7 +2631,7 @@
CXXFLAGS="$CXXFLAGS -I$qt_incdir"
LDFLAGS="-L$qt_libdir $X_LDFLAGS"
-LIBS="$LIBS -lqt -lXext -lX11 $LIBSOCKET"
+LIBS="$LIBS -lqt2 -lXext -lX11 $LIBSOCKET"
ac_ext=C
--- player/Makefile.in.orig Sat Sep 16 11:33:26 2000
+++ player/Makefile.in Sat Sep 16 11:43:46 2000
@@ -7,7 +7,7 @@
MOC=@MOC@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=-L../lib @QT_LDFLAGS@ -L/usr/X11R6/lib -L/usr/local/lib
CDOPT=@CD_OPT@
LDOPT=@LD_OPT@
--- samples/benchmark/Makefile.in.orig Sat Sep 16 11:33:29 2000
+++ samples/benchmark/Makefile.in Sat Sep 16 11:43:27 2000
@@ -5,7 +5,7 @@
CFLAGS=-I../../include -I/usr/X11R6/include @QT_INCLUDES@ @SDL_CFLAGS@
-LIBS=@LIBS@ -lX11 -lXext -lqt -laviplay @DGA_LDADD@ @SDL_LIBS@
+LIBS=@LIBS@ -lX11 -lXext -lqt2 -laviplay @DGA_LDADD@ @SDL_LIBS@
LIB_DIRS=@QT_LDFLAGS@ -L/usr/X11R6/lib -L../../lib
MOC=@MOC@

View file

@ -0,0 +1,82 @@
--- lib/avifile/AviWrite.cpp.orig Mon Sep 11 15:40:31 2000
+++ lib/avifile/AviWrite.cpp Wed Sep 13 20:52:55 2000
@@ -19,7 +19,11 @@
try
{
m_status=0;
+#ifdef O_LARGEFILE
m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, mask);
+#else
+ m_fd=open(name, O_WRONLY | O_CREAT | O_TRUNC, mask);
+#endif
if(m_fd==-1)
throw FATAL("Can't open file for writing");
@@ -203,7 +207,11 @@
}
long long AviWriteFile::FileSize()
{
+#ifdef __Linux__
return lseek64(m_fd, 0, SEEK_CUR);
+#else
+ return lseek(m_fd, 0, SEEK_CUR);
+#endif
}
AviWriteStream::AviWriteStream
--- lib/videocodec/Module.h.orig Sat Sep 9 14:24:49 2000
+++ lib/videocodec/Module.h Wed Sep 13 20:20:25 2000
@@ -4,6 +4,10 @@
#include <videoencoder.h>
#include <list>
#include <string>
+#ifdef __FreeBSD__
+#include <sys/time.h>
+#endif
+
using namespace std;
class VideoCodecControl;
--- player/renderer.cpp.orig Mon Sep 11 08:38:07 2000
+++ player/renderer.cpp Fri Sep 15 20:22:55 2000
@@ -11,6 +11,7 @@
#ifdef __FreeBSD__
#include <machine/param.h>
#include <sys/types.h>
+#include <unistd.h>
#endif
#include <sys/ipc.h>
#include <sys/shm.h>
--- lib/aviplay/aviutil.cpp.orig Sat Sep 16 13:49:08 2000
+++ lib/aviplay/aviutil.cpp Sat Sep 16 13:54:06 2000
@@ -28,16 +28,18 @@
}
CPU_Freq::CPU_Freq()
{
- FILE *f = fopen ("/proc/cpuinfo", "r");
char line[200];
char model[200]="unknown";
char flags[500]="";
char *s,*value;
+#ifdef __FreeBSD__
+ freq=old_freq();
+ cerr<<freq/1000.<<" MHz processor detected"<<endl;
+#else
+ FILE *f = fopen ("/proc/cpuinfo", "r");
+
freq=-1;
-// freq=old_freq();
-// cerr<<freq/1000.<<" MHz processor detected"<<endl;
-// return;
if (!f)
{
printf("Can't open /proc/cpuinfo for reading\n");
@@ -86,6 +88,7 @@
}
#endif
fclose(f);
+#endif
}
CPU_Freq freq;

View file

@ -0,0 +1,11 @@
--- xmps-avi-plugin/Makefile.in.orig Sat Sep 16 14:13:04 2000
+++ xmps-avi-plugin/Makefile.in Sat Sep 16 14:20:30 2000
@@ -1,6 +1,6 @@
-LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -lpthread @XMPS_LIBS@
+LIBS = -lstdc++ -L../lib -L@libdir@ -laviplay -pthread @XMPS_LIBS@
-INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@
+INCLUDES = -I. -I../include -I@includedir@/avifile @XMPS_CFLAGS@ @SDL_CFLAGS@
all: avi_configure.o avi_codec.o
$(CC) -shared avi_configure.o avi_codec.o $(LIBS) -o libavi.so

View file

@ -0,0 +1,235 @@
--- lib/loader/ext.c.orig Sat Sep 16 17:02:10 2000
+++ lib/loader/ext.c Sat Sep 16 17:02:14 2000
@@ -7,7 +7,7 @@
********************************************************/
#include <config.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <unistd.h>
#include <sys/mman.h>
#include <errno.h>
--- lib/loader/win32.c.orig Sat Sep 16 17:03:28 2000
+++ lib/loader/win32.c Sat Sep 16 17:03:30 2000
@@ -13,7 +13,7 @@
#include "win32.h"
#include <stdio.h>
#include <pthread.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
--- lib/loader/driver.c.orig Sat Sep 16 17:04:30 2000
+++ lib/loader/driver.c Sat Sep 16 17:04:32 2000
@@ -1,6 +1,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <wine/driver.h>
#include <wine/pe_image.h>
#include <wine/winreg.h>
--- lib/loader/resource.c.orig Sat Sep 16 17:07:41 2000
+++ lib/loader/resource.c Sat Sep 16 17:08:00 2000
@@ -253,6 +253,56 @@
return RES_SizeofResource( hModule, hRsrc );
}
+/**********************************************************************
+ * LoadStringW (USER32.376)
+ */
+INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
+ LPWSTR buffer, INT buflen )
+{
+ HGLOBAL hmem;
+ HRSRC hrsrc;
+ WCHAR *p;
+ int string_num;
+ int i;
+
+ if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
+ resource_id = (UINT)(-((INT)resource_id));
+ TRACE("instance = %04x, id = %04x, buffer = %08x, "
+ "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
+
+ /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
+ * 20 - 31. */
+ hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
+ RT_STRINGW );
+ if (!hrsrc) return 0;
+ hmem = LoadResource( instance, hrsrc );
+ if (!hmem) return 0;
+
+ p = LockResource(hmem);
+ string_num = resource_id & 0x000f;
+ for (i = 0; i < string_num; i++)
+ p += *p + 1;
+
+ TRACE("strlen = %d\n", (int)*p );
+
+ if (buffer == NULL) return *p;
+ i = min(buflen - 1, *p);
+ if (i > 0) {
+ memcpy(buffer, p + 1, i * sizeof (WCHAR));
+ buffer[i] = (WCHAR) 0;
+ } else {
+ if (buflen > 1) {
+ buffer[0] = (WCHAR) 0;
+ return 0;
+ }
+#if 0
+ WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
+#endif
+ }
+
+ TRACE("String loaded !\n");
+ return i;
+}
/**********************************************************************
@@ -303,57 +353,6 @@
HeapFree( GetProcessHeap(), 0, wbuf );
return retval;
-}
-
-/**********************************************************************
- * LoadStringW (USER32.376)
- */
-INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id,
- LPWSTR buffer, INT buflen )
-{
- HGLOBAL hmem;
- HRSRC hrsrc;
- WCHAR *p;
- int string_num;
- int i;
-
- if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */
- resource_id = (UINT)(-((INT)resource_id));
- TRACE("instance = %04x, id = %04x, buffer = %08x, "
- "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
-
- /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out
- * 20 - 31. */
- hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
- RT_STRINGW );
- if (!hrsrc) return 0;
- hmem = LoadResource( instance, hrsrc );
- if (!hmem) return 0;
-
- p = LockResource(hmem);
- string_num = resource_id & 0x000f;
- for (i = 0; i < string_num; i++)
- p += *p + 1;
-
- TRACE("strlen = %d\n", (int)*p );
-
- if (buffer == NULL) return *p;
- i = min(buflen - 1, *p);
- if (i > 0) {
- memcpy(buffer, p + 1, i * sizeof (WCHAR));
- buffer[i] = (WCHAR) 0;
- } else {
- if (buflen > 1) {
- buffer[0] = (WCHAR) 0;
- return 0;
- }
-#if 0
- WARN("Dont know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1);
-#endif
- }
-
- TRACE("String loaded !\n");
- return i;
}
/* Messages...used by FormatMessage32* (KERNEL32.something)
--- lib/videocodec/VideoDecoder.cpp.orig Sat Sep 16 17:11:41 2000
+++ lib/videocodec/VideoDecoder.cpp Sat Sep 16 17:16:25 2000
@@ -20,7 +20,6 @@
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/types.h>
-#include <malloc.h>
#include <stdio.h>
#include <unistd.h>
#include <strstream>
--- lib/avifile/Cache.h.orig Sat Sep 16 17:22:11 2000
+++ lib/avifile/Cache.h Sat Sep 16 17:22:14 2000
@@ -2,7 +2,7 @@
#include <default.h>
#define _LARGEFILE64_SOURCE
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/FastReadStream.cpp.orig Sat Sep 16 17:23:45 2000
+++ lib/avifile/FastReadStream.cpp Sat Sep 16 17:23:47 2000
@@ -8,7 +8,7 @@
#include <features.h>
#endif
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#ifdef __FreeBSD__
#define lseek64 lseek
--- lib/avifile/AviRead.h.orig Sat Sep 16 17:25:10 2000
+++ lib/avifile/AviRead.h Sat Sep 16 17:25:13 2000
@@ -10,7 +10,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- lib/avifile/AviWrite.h.orig Sat Sep 16 17:26:35 2000
+++ lib/avifile/AviWrite.h Sat Sep 16 17:26:37 2000
@@ -11,7 +11,7 @@
#include <avifmt.h>
#include <default.h>
#include <unistd.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <pthread.h>
--- samples/benchmark/main.cpp.orig Sat Sep 16 17:28:22 2000
+++ samples/benchmark/main.cpp Sat Sep 16 17:28:24 2000
@@ -9,7 +9,6 @@
#include <config.h>
#include <stdio.h>
-#include <malloc.h>
#include <signal.h>
#include <iostream.h>
#include <unistd.h>
--- samples/benchmark/renderer.cpp.orig Sat Sep 16 17:29:28 2000
+++ samples/benchmark/renderer.cpp Sat Sep 16 17:29:29 2000
@@ -14,7 +14,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"
--- player/renderer.cpp.orig Sat Sep 16 22:31:56 2000
+++ player/renderer.cpp Sat Sep 16 22:32:02 2000
@@ -16,7 +16,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <pthread.h>
#include "renderer.h"
#include "RegAccess.h"

View file

@ -0,0 +1 @@
An MPEG-4 (DivX) video player

View file

@ -0,0 +1,3 @@
An MPEG-4 (aka DivX) player built around the Windows binaries,
but does not need Wine.
There is also a xmps plugin you can build (manually).

View file

@ -0,0 +1,66 @@
include/avifile/audiodecoder.h
include/avifile/audioencoder.h
include/avifile/avifile.h
include/avifile/avifmt.h
include/avifile/aviplay.h
include/avifile/aviutil.h
include/avifile/config.h
include/avifile/default.h
include/avifile/except.h
include/avifile/loader.h
include/avifile/registry.h
include/avifile/videodecoder.h
include/avifile/videoencoder.h
include/avifile/wine/basetsd.h
include/avifile/wine/config.h
include/avifile/wine/debugtools.h
include/avifile/wine/driver.h
include/avifile/wine/elfdll.h
include/avifile/wine/heap.h
include/avifile/wine/ldt.h
include/avifile/wine/mmreg.h
include/avifile/wine/module.h
include/avifile/wine/msacm.h
include/avifile/wine/msacmdrv.h
include/avifile/wine/ntdef.h
include/avifile/wine/pe_image.h
include/avifile/wine/poppack.h
include/avifile/wine/pshpack1.h
include/avifile/wine/pshpack2.h
include/avifile/wine/pshpack4.h
include/avifile/wine/pshpack8.h
include/avifile/wine/vfw.h
include/avifile/wine/winbase.h
include/avifile/wine/windef.h
include/avifile/wine/windows.h
include/avifile/wine/winerror.h
include/avifile/wine/winestring.h
include/avifile/wine/winnt.h
include/avifile/wine/winreg.h
include/avifile/wine/winuser.h
@dirrm include/avifile/wine
@dirrm include/avifile
bin/aviplay
bin/benchmark
share/avifile/open.ppm
share/avifile/pause.ppm
share/avifile/play.ppm
share/avifile/stop.ppm
share/avifile/test.png
@dirrm share/avifile
lib/win32/ativcr2.dll
lib/win32/divxa32.acm
lib/win32/divxc32.dll
lib/win32/divxc32f.dll
lib/win32/i263_32.drv
lib/win32/iccvid.dll
lib/win32/ir32_32.dll
lib/win32/ir41_32.dll
lib/win32/ir41_qc.dll
lib/win32/ir50_32.dll
lib/win32/ir50_qc.dll
lib/win32/mpg4c32.dll
@dirrm lib/win32
lib/libaviplay.so
@exec /sbin/ldconfig -m %D/lib
@unexec /sbin/ldconfig -R