summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorhubertf <hubertf>2001-05-14 23:06:03 +0000
committerhubertf <hubertf>2001-05-14 23:06:03 +0000
commit41c550bdd00caefc12d90010774d43099896a50f (patch)
tree72a4f79f61db3b079e268f556308b9112b814cc8 /graphics
parent8d16bcc083c695213ed265320cc49681302406e0 (diff)
downloadpkgsrc-41c550bdd00caefc12d90010774d43099896a50f.tar.gz
Add mpeg_encode-1.5b: The Parallel Berkeley MPEG Encoder
The primary focus of MPEG encoding algorithms is 1) To create fast and efficient motion vector search techniques and 2) To find "good" encoding parameters that provide a balance of encoding speed, compression and quality. The Berkeley encoder accelerates the process by parallelizing in the temporal direction. The overall organization of the encoder is shown in Figure 2. The Master server is the overall coordinator. It allocates groups of frames to the Slave servers for encoding. The sharing of the files is achieved best, if the directories containing the video files are NFS mounted and accessible uniformly to all processors (alternatively they can be sent out though sockets by the Master). The various activities are managed by inter process communication through sockets.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/mpeg_encode/Makefile35
-rw-r--r--graphics/mpeg_encode/distinfo7
-rw-r--r--graphics/mpeg_encode/patches/patch-aa17
-rw-r--r--graphics/mpeg_encode/patches/patch-ab13
-rw-r--r--graphics/mpeg_encode/patches/patch-ac25
-rw-r--r--graphics/mpeg_encode/pkg/DESCR14
-rw-r--r--graphics/mpeg_encode/pkg/PLIST167
7 files changed, 278 insertions, 0 deletions
diff --git a/graphics/mpeg_encode/Makefile b/graphics/mpeg_encode/Makefile
new file mode 100644
index 00000000000..6c4fba3b92f
--- /dev/null
+++ b/graphics/mpeg_encode/Makefile
@@ -0,0 +1,35 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/05/14 23:06:03 hubertf Exp $
+#
+
+DISTNAME= mpeg_encode-1.5b-src
+PKGNAME= ${DISTNAME:S/-src//}
+CATEGORIES= graphics net
+MASTER_SITES= ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/
+
+MAINTAINER= hubertf@netbsd.org
+HOMEPAGE= http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_encode.html
+COMMENT= The Parallel Berkeley MPEG Encoder
+
+DEPENDS+= jpeg-6*:../../graphics/jpeg
+
+WRKSRC= ${WRKDIR}/mpeg_encode
+
+post-build:
+ ${MAKE} do-build WRKSRC=${WRKSRC}/convert
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/mpeg_encode ${LOCALBASE}/bin
+.for i in eyuvtojpeg jmovie2jpeg mpeg_demux
+ ${INSTALL_PROGRAM} ${WRKSRC}/convert/${i} ${LOCALBASE}/bin
+.endfor
+ ${INSTALL_DATA_DIR} ${LOCALBASE}/share/doc/mpeg_encode
+.for i in EXTENSIONS INPUT.FORMAT mpeg_encode.1 parallel.param param-summary \
+ template.param users-guide.fm users-guide.mif users-guide.ps
+ ${INSTALL_DATA} ${WRKSRC}/docs/${i} ${LOCALBASE}/share/doc/mpeg_encode
+.endfor
+ ${INSTALL_DATA_DIR} ${LOCALBASE}/share/examples/mpeg_encode
+ cd ${WRKSRC}/examples ; for i in * ; do \
+ ${INSTALL_DATA} $$i ${LOCALBASE}/share/examples/mpeg_encode; \
+ done
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/graphics/mpeg_encode/distinfo b/graphics/mpeg_encode/distinfo
new file mode 100644
index 00000000000..63c13b01b7e
--- /dev/null
+++ b/graphics/mpeg_encode/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/05/14 23:06:03 hubertf Exp $
+
+SHA1 (mpeg_encode-1.5b-src.tar.gz) = 853cd175f73b8064ce28deb256e4b81159a684ed
+Size (mpeg_encode-1.5b-src.tar.gz) = 2028724 bytes
+SHA1 (patch-aa) = 1d233d6c578217d05f31f8a0264f9101b307f5ae
+SHA1 (patch-ab) = f2cdf02d49b726b4fb7fb210074e7ba53b9b380b
+SHA1 (patch-ac) = 8f89257bd93584cd028b659bb8c3379d713339da
diff --git a/graphics/mpeg_encode/patches/patch-aa b/graphics/mpeg_encode/patches/patch-aa
new file mode 100644
index 00000000000..5227b1878a5
--- /dev/null
+++ b/graphics/mpeg_encode/patches/patch-aa
@@ -0,0 +1,17 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/05/14 23:06:03 hubertf Exp $
+
+--- Makefile.orig Thu Aug 17 00:16:56 1995
++++ Makefile
+@@ -36,9 +36,9 @@
+ ##############
+ # JPEG STUFF #
+ ##############
+-JPEG_LIB = jpeg/libjpeg.a
+-JPEG_DIR = -Ijpeg
+-JPEG_LIB_DIR = -Ljpeg
++JPEG_LIB = -ljpeg
++JPEG_DIR = -I${LOCALBASE}/include
++JPEG_LIB_DIR = -L${LOCALBASE}/lib -Wl,-R${LOCALBASE}/lib
+ MP_JPEG_OBJS = jpeg.o
+ MP_JPEG_SRCS = jpeg.c
+
diff --git a/graphics/mpeg_encode/patches/patch-ab b/graphics/mpeg_encode/patches/patch-ab
new file mode 100644
index 00000000000..d06921f9b40
--- /dev/null
+++ b/graphics/mpeg_encode/patches/patch-ab
@@ -0,0 +1,13 @@
+$NetBSD: patch-ab,v 1.1.1.1 2001/05/14 23:06:03 hubertf Exp $
+
+--- jpeg.c.orig Sat Aug 5 01:35:07 1995
++++ jpeg.c
+@@ -77,7 +77,7 @@
+
+ /* make it happier.... */
+ #undef DCTSIZE2
+-#include "jpeg/jpeglib.h"
++#include "jpeglib.h" /* Use system header! */
+
+
+ #define HEADER_SIZE 607 /*JFIF header size used on output images*/
diff --git a/graphics/mpeg_encode/patches/patch-ac b/graphics/mpeg_encode/patches/patch-ac
new file mode 100644
index 00000000000..92eee593f00
--- /dev/null
+++ b/graphics/mpeg_encode/patches/patch-ac
@@ -0,0 +1,25 @@
+$NetBSD: patch-ac,v 1.1.1.1 2001/05/14 23:06:03 hubertf Exp $
+
+--- libpnmrw.c.orig Thu Aug 17 00:24:26 1995
++++ libpnmrw.c
+@@ -28,6 +28,9 @@
+ #endif
+
+ #include <stdio.h>
++#ifdef __NetBSD__
++# include <errno.h>
++#endif
+ #include "libpnmrw.h"
+
+ /* if don't have string.h, try strings.h */
+@@ -126,8 +129,10 @@
+ pm_perror( reason )
+ char* reason;
+ {
++#ifndef __NetBSD__
+ extern char* sys_errlist[];
+ extern int errno;
++#endif
+ char* e;
+
+ e = sys_errlist[errno];
diff --git a/graphics/mpeg_encode/pkg/DESCR b/graphics/mpeg_encode/pkg/DESCR
new file mode 100644
index 00000000000..f1d129b6c31
--- /dev/null
+++ b/graphics/mpeg_encode/pkg/DESCR
@@ -0,0 +1,14 @@
+The primary focus of MPEG encoding algorithms is 1) To create fast
+and efficient motion vector search techniques and 2) To find "good"
+encoding parameters that provide a balance of encoding speed,
+compression and quality.
+
+The Berkeley encoder accelerates the process by parallelizing in
+the temporal direction. The overall organization of the encoder is
+shown in Figure 2. The Master server is the overall coordinator.
+It allocates groups of frames to the Slave servers for encoding.
+The sharing of the files is achieved best, if the directories
+containing the video files are NFS mounted and accessible uniformly
+to all processors (alternatively they can be sent out though sockets
+by the Master). The various activities are managed by inter process
+communication through sockets.
diff --git a/graphics/mpeg_encode/pkg/PLIST b/graphics/mpeg_encode/pkg/PLIST
new file mode 100644
index 00000000000..4698ae40c3c
--- /dev/null
+++ b/graphics/mpeg_encode/pkg/PLIST
@@ -0,0 +1,167 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/05/14 23:06:03 hubertf Exp $
+bin/eyuvtojpeg
+bin/jmovie2jpeg
+bin/mpeg_demux
+bin/mpeg_encode
+share/doc/mpeg_encode/EXTENSIONS
+share/doc/mpeg_encode/INPUT.FORMAT
+share/doc/mpeg_encode/mpeg_encode.1
+share/doc/mpeg_encode/parallel.param
+share/doc/mpeg_encode/param-summary
+share/doc/mpeg_encode/template.param
+share/doc/mpeg_encode/users-guide.fm
+share/doc/mpeg_encode/users-guide.mif
+share/doc/mpeg_encode/users-guide.ps
+share/examples/mpeg_encode/basicspeed.param
+share/examples/mpeg_encode/decoded.test
+share/examples/mpeg_encode/decoded2.test
+share/examples/mpeg_encode/decorig.param
+share/examples/mpeg_encode/default.param
+share/examples/mpeg_encode/fastspeed.param
+share/examples/mpeg_encode/foobar.param
+share/examples/mpeg_encode/frame.test
+share/examples/mpeg_encode/gop.combine
+share/examples/mpeg_encode/gop.test
+share/examples/mpeg_encode/gop1.param
+share/examples/mpeg_encode/hello.param
+share/examples/mpeg_encode/i.test
+share/examples/mpeg_encode/ispeed.jpeg.param
+share/examples/mpeg_encode/ispeed.param
+share/examples/mpeg_encode/jpeg.test
+share/examples/mpeg_encode/jpeg19.param
+share/examples/mpeg_encode/jpegout19.param
+share/examples/mpeg_encode/localdisk.param
+share/examples/mpeg_encode/localremote.test
+share/examples/mpeg_encode/luxo.param
+share/examples/mpeg_encode/luxo18.param
+share/examples/mpeg_encode/luxo19.5.param
+share/examples/mpeg_encode/luxo19.param
+share/examples/mpeg_encode/luxo2.param
+share/examples/mpeg_encode/luxo48.param
+share/examples/mpeg_encode/luxo49.param
+share/examples/mpeg_encode/luxo50.param
+share/examples/mpeg_encode/luxo52.5.param
+share/examples/mpeg_encode/luxo52.param
+share/examples/mpeg_encode/luxo53.param
+share/examples/mpeg_encode/luxobug.param
+share/examples/mpeg_encode/luxoskip.param
+share/examples/mpeg_encode/med.param
+share/examples/mpeg_encode/med18.param
+share/examples/mpeg_encode/medspeed.param
+share/examples/mpeg_encode/nametest.param
+share/examples/mpeg_encode/nosearch.param
+share/examples/mpeg_encode/par3.param
+share/examples/mpeg_encode/par4.param
+share/examples/mpeg_encode/par5.param
+share/examples/mpeg_encode/parallel.2
+share/examples/mpeg_encode/parallel.param
+share/examples/mpeg_encode/parallel.test
+share/examples/mpeg_encode/param.template
+share/examples/mpeg_encode/payam.param
+share/examples/mpeg_encode/payam18.param
+share/examples/mpeg_encode/pnm.param
+share/examples/mpeg_encode/ppm.param
+share/examples/mpeg_encode/prof.b.param
+share/examples/mpeg_encode/prof.bhalf.param
+share/examples/mpeg_encode/prof.param
+share/examples/mpeg_encode/prof.ss.param
+share/examples/mpeg_encode/prof2.param
+share/examples/mpeg_encode/prof3.param
+share/examples/mpeg_encode/prof4.param
+share/examples/mpeg_encode/remote.test
+share/examples/mpeg_encode/search1.param
+share/examples/mpeg_encode/search10.param
+share/examples/mpeg_encode/search11.param
+share/examples/mpeg_encode/search12.param
+share/examples/mpeg_encode/search13.param
+share/examples/mpeg_encode/search14.param
+share/examples/mpeg_encode/search15.param
+share/examples/mpeg_encode/search16.param
+share/examples/mpeg_encode/search17.param
+share/examples/mpeg_encode/search18.param
+share/examples/mpeg_encode/search19.5.param
+share/examples/mpeg_encode/search19.param
+share/examples/mpeg_encode/search2.param
+share/examples/mpeg_encode/search20.param
+share/examples/mpeg_encode/search21.param
+share/examples/mpeg_encode/search22.param
+share/examples/mpeg_encode/search23.param
+share/examples/mpeg_encode/search24.param
+share/examples/mpeg_encode/search25.param
+share/examples/mpeg_encode/search26.param
+share/examples/mpeg_encode/search27.param
+share/examples/mpeg_encode/search28.param
+share/examples/mpeg_encode/search29.param
+share/examples/mpeg_encode/search3.param
+share/examples/mpeg_encode/search30.param
+share/examples/mpeg_encode/search31.param
+share/examples/mpeg_encode/search32.param
+share/examples/mpeg_encode/search33.param
+share/examples/mpeg_encode/search34.param
+share/examples/mpeg_encode/search35.param
+share/examples/mpeg_encode/search36.param
+share/examples/mpeg_encode/search37.param
+share/examples/mpeg_encode/search38.param
+share/examples/mpeg_encode/search39.param
+share/examples/mpeg_encode/search4.param
+share/examples/mpeg_encode/search40.param
+share/examples/mpeg_encode/search41.param
+share/examples/mpeg_encode/search42.param
+share/examples/mpeg_encode/search43.param
+share/examples/mpeg_encode/search44.param
+share/examples/mpeg_encode/search45.param
+share/examples/mpeg_encode/search46.param
+share/examples/mpeg_encode/search47.param
+share/examples/mpeg_encode/search48.param
+share/examples/mpeg_encode/search49.param
+share/examples/mpeg_encode/search5.param
+share/examples/mpeg_encode/search50.param
+share/examples/mpeg_encode/search51.param
+share/examples/mpeg_encode/search52.5.param
+share/examples/mpeg_encode/search52.param
+share/examples/mpeg_encode/search53.param
+share/examples/mpeg_encode/search6.param
+share/examples/mpeg_encode/search7.param
+share/examples/mpeg_encode/search8.param
+share/examples/mpeg_encode/search9.param
+share/examples/mpeg_encode/seq.param
+share/examples/mpeg_encode/sequoia.param
+share/examples/mpeg_encode/sequoia19.param
+share/examples/mpeg_encode/sequoia2.param
+share/examples/mpeg_encode/slice.param
+share/examples/mpeg_encode/slimed.param
+share/examples/mpeg_encode/slowspeed.param
+share/examples/mpeg_encode/stanford.param
+share/examples/mpeg_encode/subtest.param
+share/examples/mpeg_encode/temp.param
+share/examples/mpeg_encode/template.param
+share/examples/mpeg_encode/tennis.param
+share/examples/mpeg_encode/tennis18.param
+share/examples/mpeg_encode/tennis19.5.param
+share/examples/mpeg_encode/tennis19.param
+share/examples/mpeg_encode/tennis48.param
+share/examples/mpeg_encode/tennis49.param
+share/examples/mpeg_encode/tennis50.param
+share/examples/mpeg_encode/tennis52.5.param
+share/examples/mpeg_encode/tennis52.param
+share/examples/mpeg_encode/tennis53.param
+share/examples/mpeg_encode/tennisbug.param
+share/examples/mpeg_encode/testp.param
+share/examples/mpeg_encode/walk.param
+share/examples/mpeg_encode/walk1.param
+share/examples/mpeg_encode/walk18.param
+share/examples/mpeg_encode/walk19.5.param
+share/examples/mpeg_encode/walk19.param
+share/examples/mpeg_encode/walk2.param
+share/examples/mpeg_encode/walk3.param
+share/examples/mpeg_encode/walk4.param
+share/examples/mpeg_encode/walk48.param
+share/examples/mpeg_encode/walk49.param
+share/examples/mpeg_encode/walk5.param
+share/examples/mpeg_encode/walk50.param
+share/examples/mpeg_encode/walk52.5.param
+share/examples/mpeg_encode/walk52.param
+share/examples/mpeg_encode/walk53.param
+share/examples/mpeg_encode/walk93.param
+@dirrm share/examples/mpeg_encode
+@dirrm share/doc/mpeg_encode