summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2002-12-21 11:09:59 +0000
committerwiz <wiz@pkgsrc.org>2002-12-21 11:09:59 +0000
commit71e6b786253a4ec53b9889e4aa2e014a63d0fb88 (patch)
tree6ed9c7da7264664a3cbd140c673cd4ae4e7b19ed /graphics
parent3dfa851837f4ed8fad4319cd83747d59296c59e1 (diff)
downloadpkgsrc-71e6b786253a4ec53b9889e4aa2e014a63d0fb88.tar.gz
Add PNG support, written by Thomas Klausner.
Sent back to maintainer, but development seems to be dormant right now. Bump version to 1.03nb2.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/fxtv/Makefile5
-rw-r--r--graphics/fxtv/distinfo13
-rw-r--r--graphics/fxtv/patches/patch-aa21
-rw-r--r--graphics/fxtv/patches/patch-ad20
-rw-r--r--graphics/fxtv/patches/patch-ae119
-rw-r--r--graphics/fxtv/patches/patch-ag52
-rw-r--r--graphics/fxtv/patches/patch-ah12
-rw-r--r--graphics/fxtv/patches/patch-ai31
-rw-r--r--graphics/fxtv/patches/patch-aj20
-rw-r--r--graphics/fxtv/patches/patch-ak12
-rw-r--r--graphics/fxtv/patches/patch-al20
11 files changed, 310 insertions, 15 deletions
diff --git a/graphics/fxtv/Makefile b/graphics/fxtv/Makefile
index d5d44fae860..5bfff5b0c0c 100644
--- a/graphics/fxtv/Makefile
+++ b/graphics/fxtv/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.18 2002/10/08 13:09:51 jlam Exp $
+# $NetBSD: Makefile,v 1.19 2002/12/21 11:09:59 wiz Exp $
DISTNAME= fxtv-1.03
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= graphics
MASTER_SITES= ${HOMEPAGE}
EXTRACT_SUFX= .tgz
@@ -39,6 +39,7 @@ post-patch:
${MV} -f $${file}.fixed $${file}; \
done
+.include "../../graphics/png/buildlink2.mk"
.include "../../graphics/tiff/buildlink2.mk"
.include "../../graphics/xpm/buildlink2.mk"
.include "../../mk/xaw.buildlink2.mk"
diff --git a/graphics/fxtv/distinfo b/graphics/fxtv/distinfo
index 829d8f421cb..cf70590e754 100644
--- a/graphics/fxtv/distinfo
+++ b/graphics/fxtv/distinfo
@@ -1,9 +1,16 @@
-$NetBSD: distinfo,v 1.5 2002/10/08 13:09:52 jlam Exp $
+$NetBSD: distinfo,v 1.6 2002/12/21 11:09:59 wiz Exp $
SHA1 (fxtv-1.03.tgz) = 2ed9f2bee879a931c7f963a4ad7d07ef9cd297f9
Size (fxtv-1.03.tgz) = 198669 bytes
-SHA1 (patch-aa) = 57e48632d026f208aef2708e1397014f83207427
+SHA1 (patch-aa) = cd994d512fe99e962cc9c505285da63d1421f81e
SHA1 (patch-ab) = a62c497255063a88b7d240e902a45c85f59f84b0
SHA1 (patch-ac) = 27a825287c17d1cc957fb89ba2f665c01f998c15
+SHA1 (patch-ad) = d1f72544dd7878d43d6975edcae5d3098f940faa
+SHA1 (patch-ae) = aa7689ff62388d4d50f89501f2c3084bc04409d8
SHA1 (patch-af) = 50ab2d960955a8e97b6b56265195ec325b206cf9
-SHA1 (patch-ag) = 126e1fab604038460fd79cc3487b1b1e30497742
+SHA1 (patch-ag) = 13655a94cd6200d12e25d406d7c1923f89000c80
+SHA1 (patch-ah) = 896d5164b176154b398f52d5c9887210da3d1e77
+SHA1 (patch-ai) = 85baa4b457dede91bf74ce0d8e4655fae9da2d96
+SHA1 (patch-aj) = 35ffa80ed5484c0d23a5f4fbe5657217c715e6e7
+SHA1 (patch-ak) = 4f32ae6c6eea2b8b1c26c6861e9bff1429976024
+SHA1 (patch-al) = d60ac498f40cd9ec833ca436708cb140856826f1
diff --git a/graphics/fxtv/patches/patch-aa b/graphics/fxtv/patches/patch-aa
index cf1cd0d99d9..9da5e0c7348 100644
--- a/graphics/fxtv/patches/patch-aa
+++ b/graphics/fxtv/patches/patch-aa
@@ -1,6 +1,6 @@
-$NetBSD: patch-aa,v 1.5 2002/10/08 13:09:52 jlam Exp $
+$NetBSD: patch-aa,v 1.6 2002/12/21 11:10:00 wiz Exp $
---- Makefile.orig Mon Feb 12 14:08:59 2001
+--- Makefile.orig Mon Feb 12 23:08:59 2001
+++ Makefile
@@ -4,13 +4,10 @@
@@ -34,11 +34,10 @@ $NetBSD: patch-aa,v 1.5 2002/10/08 13:09:52 jlam Exp $
# OpenBSD stuff
#
ifeq ($(OS),OpenBSD)
-@@ -71,6 +59,15 @@ override CFLAGS += -DHAVE_XFRE
- endif
+@@ -72,6 +60,15 @@ endif
override CFLAGS += $(C_WARN_FLAG) -DX11BASE=\"$(X11BASEINST)\"
-+
+
+#
+# NetBSD stuff
+#
@@ -47,6 +46,16 @@ $NetBSD: patch-aa,v 1.5 2002/10/08 13:09:52 jlam Exp $
+ override LIBDIRS += $(LOCALBASE)/lib
+ override LD_INC += $(LIBOSSAUDIO) -lz
+endif
-
++
ifeq ($(OS), linux)
override CFLAGS = $(CFLAGS) -DOLD_TUNER_IFACE
+ endif
+@@ -81,7 +78,7 @@ endif
+ #
+ override LDFLAGS = $(LD_INC)
+ override VIDEOLIB_LIB = $(VIDEOLIB_DIR)/libvideo.a
+-override LIBS = -ltiff -ljpeg -lXaw3d -lXmu -lXt -lXpm \
++override LIBS = -lpng -ltiff -ljpeg -lXaw3d -lXmu -lXt -lXpm \
+ -lSM -lICE -lXext -lX11 -lm
+ ifeq ($(HAVE_XFREE86),YES)
+ override LIBS += -lXxf86dga -lXxf86vm
diff --git a/graphics/fxtv/patches/patch-ad b/graphics/fxtv/patches/patch-ad
new file mode 100644
index 00000000000..a90ea476ec0
--- /dev/null
+++ b/graphics/fxtv/patches/patch-ad
@@ -0,0 +1,20 @@
+$NetBSD: patch-ad,v 1.6 2002/12/21 11:10:00 wiz Exp $
+
+--- app_rsrc.h.orig Sat Dec 21 11:57:15 2002
++++ app_rsrc.h
+@@ -789,6 +789,7 @@ static String fallback_resources[] = {
+ "*imageSaveDialog*suffixLabel.label: Append Img # Suffix",
+ "*imageSaveDialog*formatLabel.label: Format:",
+ "*imageSaveDialog*formatMenuBox*tiffCmd.label: TIFF",
++ "*imageSaveDialog*formatMenuBox*pngCmd.label: PNG",
+ "*imageSaveDialog*formatMenuBox*ppmCmd.label: PPM",
+ "*imageSaveDialog*okCmd.label: OK",
+
+@@ -902,6 +903,7 @@ static String fallback_resources[] = {
+ "*videoSaveDialog*imageEncLabel.label: IMAGE ENCODE",
+ "*videoSaveDialog*iFileFmtLabel.label: Format:",
+ "*videoSaveDialog*iFileFmtMenuBox*tiffCmd.label: TIFF",
++ "*videoSaveDialog*iFileFmtMenuBox*pngCmd.label: PNG",
+ "*videoSaveDialog*iFileFmtMenuBox*ppmCmd.label: PPM",
+ "*videoSaveDialog*iFileFmtMenuBox*yuvCmd.label: YUV",
+
diff --git a/graphics/fxtv/patches/patch-ae b/graphics/fxtv/patches/patch-ae
new file mode 100644
index 00000000000..c23ccce230d
--- /dev/null
+++ b/graphics/fxtv/patches/patch-ae
@@ -0,0 +1,119 @@
+$NetBSD: patch-ae,v 1.5 2002/12/21 11:10:01 wiz Exp $
+
+--- imgsav.c.orig Sun Sep 26 16:35:06 1999
++++ imgsav.c
+@@ -29,6 +29,7 @@
+
+ /* ******************** Include Files ************** */
+
++#include <png.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+@@ -254,6 +255,96 @@ void TVIMGSAVDoSaveTIFF( char filename[]
+ }
+
+
++void TVIMGSAVDoSavePNG( char filename[], TV_IMAGE *img )
++{
++ char errmsg[160];
++ png_structp png_ptr;
++ png_infop info_ptr;
++ FILE *out;
++ TV_INT32 linebytes,
++ y,
++ pass,
++ compon;
++ TV_UINT8 *buf;
++
++ buf = NULL;
++ if ( img->pix_geom.type != TV_PIXELTYPE_RGB ) {
++ fprintf( stderr, "Attempt to save non-RGB data as TIFF\n" );
++ exit(1);
++ }
++
++ /* Open output file */
++ if ( (out = fopen( filename, "wb" )) == NULL ) {
++ sprintf( errmsg, "Can't open output file '%s'", filename );
++ XUTILDialogPause( TVTOPLEVEL, "Error", errmsg, TV_DIALOG_TYPE_OK );
++ return;
++ }
++
++ /* Create PNG data structures and initialize */
++ png_ptr = png_create_write_struct
++ (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
++ if (!png_ptr) {
++ sprintf( errmsg, "Can't create PNG write structure" );
++ XUTILDialogPause( TVTOPLEVEL, "Error", errmsg, TV_DIALOG_TYPE_OK );
++ return;
++ }
++ info_ptr = png_create_info_struct(png_ptr);
++ if (!info_ptr) {
++ png_destroy_write_struct(&png_ptr, NULL);
++ sprintf( errmsg, "Can't create PNG info structure" );
++ XUTILDialogPause( TVTOPLEVEL, "Error", errmsg, TV_DIALOG_TYPE_OK );
++ return;
++ }
++
++ if (setjmp(png_jmpbuf(png_ptr))) {
++ fprintf( stderr, "PNG write error\n" );
++ XBell( TVDISPLAY, 100 );
++ png_destroy_write_struct( &png_ptr, &info_ptr );
++ free( buf );
++ fclose( out );
++ unlink( filename );
++ return;
++ }
++ png_init_io(png_ptr, out);
++ /* fast compression */
++ png_set_compression_level(png_ptr, Z_BEST_SPEED);
++
++ /* Setup image format info (chunks) */
++ png_set_IHDR(png_ptr, info_ptr, img->geom.w, img->geom.h,
++ TV_BITS_PER_COMP, PNG_COLOR_TYPE_RGB /* XXX: ? */,
++ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
++ PNG_FILTER_TYPE_DEFAULT);
++ /* and write it */
++ png_write_info(png_ptr, info_ptr);
++ /* flush image out every 50 rows */
++ png_set_flush(png_ptr, 50);
++
++ linebytes = img->geom.w * TV_BYTES_PER_PIX;
++
++ if ( (buf = malloc( linebytes )) == NULL )
++ TVUTILOutOfMemory();
++
++ /* Convert & write the image data */
++ for ( pass = 0; pass < 1; pass++ ) {
++ compon = DoRed | DoGreen | DoBlue;
++ for ( y = 0; y < img->geom.h; y++ ) {
++
++ /* Format scanline */
++ TVIMGSAVFmtScanline24bpp( img, y, compon, buf );
++
++ /* And write it in PNG */
++ png_write_row(png_ptr, buf);
++ }
++ }
++
++ /* All done. Close up shop and go home */
++ png_write_end(png_ptr, NULL);
++ png_destroy_write_struct(&png_ptr, &info_ptr);
++ fclose(out);
++ free( buf );
++}
++
++
+ void TVIMGSAVDoSavePPM( char filename[], TV_IMAGE *img )
+ {
+ static char *S_fp_buf = NULL;
+@@ -407,6 +498,9 @@ void TVIMGSAVDoSave( char filename[], TV
+ exit(1);
+ }
+ TVIMGSAVDoSaveTIFF( filename, img ); break;
++
++ case TV_STILL_FMT_PNG :
++ TVIMGSAVDoSavePNG ( filename, img ); break;
+
+ case TV_STILL_FMT_PPM :
+ TVIMGSAVDoSavePPM ( filename, img ); break;
diff --git a/graphics/fxtv/patches/patch-ag b/graphics/fxtv/patches/patch-ag
index 4e05e007ac9..8ae0fcf1b15 100644
--- a/graphics/fxtv/patches/patch-ag
+++ b/graphics/fxtv/patches/patch-ag
@@ -1,8 +1,28 @@
-$NetBSD: patch-ag,v 1.3 2002/05/14 00:43:35 wiz Exp $
+$NetBSD: patch-ag,v 1.4 2002/12/21 11:10:01 wiz Exp $
---- fxtv_cnvt.sh.orig Mon May 13 13:59:26 2002
-+++ fxtv_cnvt.sh Mon May 13 13:59:54 2002
-@@ -181,8 +181,8 @@
+--- fxtv_cnvt.sh.orig Mon Feb 12 22:18:40 2001
++++ fxtv_cnvt.sh
+@@ -32,7 +32,7 @@
+ #VIDEO_TARGET_FPS="30"
+ #VIDEO_STREAM="YES"
+ #
+-#IMAGE_TARGET_FMT="YUV" # TIFF|PPM|YUV
++#IMAGE_TARGET_FMT="YUV" # TIFF|PNG|PPM|YUV
+ #
+ #CLEANUP_TEMP_FILES="YES"
+
+@@ -73,6 +73,10 @@ MPEG_ENC_PARAM_STR_TIFF=\
+ 'BASE_FILE_FORMAT PPM
+ INPUT_CONVERT tifftopnm *'
+
++MPEG_ENC_PARAM_STR_PNG=\
++'BASE_FILE_FORMAT PPM
++INPUT_CONVERT pngtopnm *'
++
+ MPEG_ENC_PARAM_STR_PPM=\
+ 'BASE_FILE_FORMAT PPM
+ INPUT_CONVERT *'
+@@ -181,8 +185,8 @@ GenAudioPipe() {
# Do we need an intermediate file?
if [ $mpeg_enc = YES ]; then
@@ -13,3 +33,27 @@ $NetBSD: patch-ag,v 1.3 2002/05/14 00:43:35 wiz Exp $
else
out_soxfn="$GAout_fn"
out_soxfmt="$out_fmt"
+@@ -258,6 +262,7 @@ WriteMPEGEncodeParamFile() {
+ # Write the frame-format specific part
+ case $frame_fmt in
+ TIFF) str="$MPEG_ENC_PARAM_STR_TIFF";;
++ PNG) str="$MPEG_ENC_PARAM_STR_PNG";;
+ PPM) str="$MPEG_ENC_PARAM_STR_PPM" ;;
+ YUV) str="$MPEG_ENC_PARAM_STR_IYUV";;
+ esac
+@@ -277,6 +282,7 @@ WriteMPEGEncodeParamFile() {
+ base=`basename $out_fnbase`
+ case $frame_fmt in
+ TIFF) ext="tif";;
++ PNG) ext="png";;
+ PPM) ext="ppm";;
+ YUV) ext="yuv";;
+ esac
+@@ -321,6 +327,7 @@ CountFrameFiles() {
+
+ case $frame_fmt in
+ TIFF) ext="tif";;
++ PNG) ext="png";;
+ PPM) ext="ppm";;
+ YUV) ext="yuv";;
+ esac
diff --git a/graphics/fxtv/patches/patch-ah b/graphics/fxtv/patches/patch-ah
new file mode 100644
index 00000000000..a3a3e925834
--- /dev/null
+++ b/graphics/fxtv/patches/patch-ah
@@ -0,0 +1,12 @@
+$NetBSD: patch-ah,v 1.3 2002/12/21 11:10:02 wiz Exp $
+
+--- imgsav_dlg.c.orig Mon Sep 6 15:07:29 1999
++++ imgsav_dlg.c
+@@ -69,6 +69,7 @@ static Pixmap Select_pixmap = None,
+
+ static TV_IFILEFMT_ITEM_DEF Fmtitem_def[] = {
+ { TV_STILL_FMT_TIFF , "tiff", "tiffCmd" },
++ { TV_STILL_FMT_PNG , "png", "pngCmd" },
+ { TV_STILL_FMT_PPM , "ppm" , "ppmCmd" }
+ };
+
diff --git a/graphics/fxtv/patches/patch-ai b/graphics/fxtv/patches/patch-ai
new file mode 100644
index 00000000000..6ba1ebbb452
--- /dev/null
+++ b/graphics/fxtv/patches/patch-ai
@@ -0,0 +1,31 @@
+$NetBSD: patch-ai,v 1.1 2002/12/21 11:10:02 wiz Exp $
+
+--- batch_mode.c.orig Sat Oct 23 15:50:35 1999
++++ batch_mode.c
+@@ -154,6 +154,8 @@ static void DoStreamVideo( TV_BATCH_PARM
+
+ if ( STREQ( parm->frame_fmt, "TIFF" ) )
+ fmt = TV_STILL_FMT_TIFF;
++ else if ( STREQ( parm->frame_fmt, "PNG" ) )
++ fmt = TV_STILL_FMT_PNG;
+ else if ( STREQ( parm->frame_fmt, "PPM" ) )
+ fmt = TV_STILL_FMT_PPM;
+ else if ( STREQ( parm->frame_fmt, "YUV" ) )
+@@ -175,6 +177,7 @@ static void DoStreamVideo( TV_BATCH_PARM
+ if ( parm->video_target && !video2stdout )
+ switch ( fmt ) {
+ case TV_STILL_FMT_TIFF : frame_ext = "tif"; break;
++ case TV_STILL_FMT_PNG : frame_ext = "png"; break;
+ case TV_STILL_FMT_PPM : frame_ext = "ppm"; break;
+ case TV_STILL_FMT_YUV : frame_ext = "yuv"; break;
+ default: abort();
+@@ -209,7 +212,8 @@ static void DoStreamVideo( TV_BATCH_PARM
+ return;
+
+ /* Sanity check raw data with save type */
+- if ( ((( fmt == TV_STILL_FMT_TIFF ) || ( fmt == TV_STILL_FMT_PPM )) &&
++ if ( ((( fmt == TV_STILL_FMT_TIFF ) || ( fmt == TV_STILL_FMT_PNG )
++ || ( fmt == TV_STILL_FMT_PPM )) &&
+ ( img.pix_geom.type != TV_PIXELTYPE_RGB )) ||
+ (( fmt == TV_STILL_FMT_YUV ) &&
+ ( img.pix_geom.type != TV_PIXELTYPE_YUV )) ) {
diff --git a/graphics/fxtv/patches/patch-aj b/graphics/fxtv/patches/patch-aj
new file mode 100644
index 00000000000..90b6474d8ba
--- /dev/null
+++ b/graphics/fxtv/patches/patch-aj
@@ -0,0 +1,20 @@
+$NetBSD: patch-aj,v 1.1 2002/12/21 11:10:03 wiz Exp $
+
+--- Fxtv.orig Sat Dec 21 11:57:15 2002
++++ Fxtv
+@@ -320,6 +320,7 @@ Fxtv*iconName: FXTV
+ *imageSaveDialog*suffixLabel.label: Append Img # Suffix
+ *imageSaveDialog*formatLabel.label: Format:
+ *imageSaveDialog*formatMenuBox*tiffCmd.label: TIFF
++*imageSaveDialog*formatMenuBox*pngCmd.label: PNG
+ *imageSaveDialog*formatMenuBox*ppmCmd.label: PPM
+ *imageSaveDialog*okCmd.label: OK
+
+@@ -432,6 +433,7 @@ Fxtv*iconName: FXTV
+ *videoSaveDialog*imageEncLabel.label: IMAGE ENCODE
+ *videoSaveDialog*iFileFmtLabel.label: Format:
+ *videoSaveDialog*iFileFmtMenuBox*tiffCmd.label: TIFF
++*videoSaveDialog*iFileFmtMenuBox*pngCmd.label: PNG
+ *videoSaveDialog*iFileFmtMenuBox*ppmCmd.label: PPM
+ *videoSaveDialog*iFileFmtMenuBox*yuvCmd.label: YUV
+
diff --git a/graphics/fxtv/patches/patch-ak b/graphics/fxtv/patches/patch-ak
new file mode 100644
index 00000000000..92f40fa8bae
--- /dev/null
+++ b/graphics/fxtv/patches/patch-ak
@@ -0,0 +1,12 @@
+$NetBSD: patch-ak,v 1.1 2002/12/21 11:10:03 wiz Exp $
+
+--- glob.h.orig Mon Feb 12 20:24:44 2001
++++ glob.h
+@@ -54,6 +54,7 @@ typedef enum {
+
+ typedef enum {
+ TV_STILL_FMT_TIFF,
++ TV_STILL_FMT_PNG,
+ TV_STILL_FMT_PPM,
+ TV_STILL_FMT_YUV,
+ TV_NUM_STILL_FMTS
diff --git a/graphics/fxtv/patches/patch-al b/graphics/fxtv/patches/patch-al
new file mode 100644
index 00000000000..37bdc945763
--- /dev/null
+++ b/graphics/fxtv/patches/patch-al
@@ -0,0 +1,20 @@
+$NetBSD: patch-al,v 1.1 2002/12/21 11:10:04 wiz Exp $
+
+--- vidsav_dlg.c.orig Mon Feb 12 22:20:10 2001
++++ vidsav_dlg.c
+@@ -235,6 +235,7 @@ static TV_ICAPFMT_ITEM_DEF Icap_fmt_
+
+ static TV_IFILEFMT_ITEM_DEF Ifile_fmt_item_def[] = {
+ { TV_STILL_FMT_TIFF , "tiff", "tiffCmd" },
++ { TV_STILL_FMT_PNG , "png", "pngCmd" },
+ { TV_STILL_FMT_PPM , "ppm" , "ppmCmd" },
+ { TV_STILL_FMT_YUV , "yuv" , "yuvCmd" }
+ };
+@@ -872,6 +873,7 @@ static TV_BOOL WriteVidConvertShScript(
+
+ switch ( p->img_sav_fmt ) {
+ case TV_STILL_FMT_TIFF : str = "TIFF"; break;
++ case TV_STILL_FMT_PNG : str = "PNG"; break;
+ case TV_STILL_FMT_PPM : str = "PPM" ; break;
+ case TV_STILL_FMT_YUV : str = "YUV" ; break;
+ default : str = "" ; break;