Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jun 1999 19:06:05 -0700
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        "Piers O'Hanlon" <P.OHanlon@cs.ucl.ac.uk>
Cc:        release@cs.ucl.ac.uk, vic@cs.ucl.ac.uk, mbone@ISI.EDU, multimedia@freebsd.org
Subject:   Re: New UCL vic release (vic2.8ucl4) 
Message-ID:  <199906280206.TAA29479@rah.star-gate.com>
In-Reply-To: Your message of "Wed, 23 Jun 1999 17:30:05 BST." <4549.930155405@cs.ucl.ac.uk> 

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Patches to enable UCL's version of vic on FreeBSD 4.0 -current. .  LBL's 
vic is easily  build from FreeBSD port/mbone/vic directory.

UCL's vic build instructions for FreeBSD.

mkdir mbone
cd mbone
tar -xzf  tcl-8.0.3ucl6.tar.gz

tar -xzf tk-8.0.3ucl6.tar.gz


tar -xzf vic-2.8ucl4.tar.gz

cd tcl-8.0
./configure --prefix=/usr/mbone
gmake
gmake install-binaries
gmake install-libraries


cd ../tk-8.0
./configure --prefix=/usr/mbone
gmake 
gmake install-binaries
gmake install-libraries

cd ../vic-8.0
./configure --prefix=/usr/mbone
gmake


UCL's vic is able to use the tuner component of the FreeBSD Bt848 driver which
means that in addition to broadcast from a camera we can also tune in to a TV
channel and broadcast it.






[-- Attachment #2 --]
diff -b -c -r vic/configure vic.new/configure
*** vic/configure	Fri Jun  4 04:39:32 1999
--- vic.new/configure	Sun Jun 27 18:50:52 1999
***************
*** 1684,1691 ****
  		echo "can't find tcl.h in $d/include"
  		exit 1
  	fi
! 	places="$d/lib/libtcl8.0.so \
! 		$d/lib/libtcl8.0.a \
  		$d/lib/libtcl.so \
  		$d/lib/libtcl.a"
  	V_LIB_TCL=FAIL
--- 1684,1691 ----
  		echo "can't find tcl.h in $d/include"
  		exit 1
  	fi
! 	places="$d/lib/libtcl80.so \
! 		$d/lib/libtcl80.a \
  		$d/lib/libtcl.so \
  		$d/lib/libtcl.a"
  	V_LIB_TCL=FAIL
***************
*** 1738,1744 ****
  			$PWD/../tcl-8.0 \
  			$PWD/../tcl \
  			/cs/research/mice/starship/common/$OPSYS/include/tcl8.0 \
! 			/usr/local/include/tcl8.0 \
  			/usr/src/local/tcl8.0 \
  			/import/tcl/include/tcl8.0 \
  			$prefix/include \
--- 1738,1744 ----
  			$PWD/../tcl-8.0 \
  			$PWD/../tcl \
  			/cs/research/mice/starship/common/$OPSYS/include/tcl8.0 \
! 			/usr/mbone/include/tcl8.0 \
  			/usr/src/local/tcl8.0 \
  			/import/tcl/include/tcl8.0 \
  			$prefix/include \
***************
*** 1758,1771 ****
  			exit 1
  		fi
  	fi
! 	echo $ac_n "checking for main in -ltcl8.0""... $ac_c" 1>&6
! echo "configure:1763: checking for main in -ltcl8.0" >&5
  ac_lib_var=`echo tcl8.0'_'main | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_save_LIBS="$LIBS"
! LIBS="-ltcl8.0  $LIBS"
  cat > conftest.$ac_ext <<EOF
  #line 1771 "configure"
  #include "confdefs.h"
--- 1758,1771 ----
  			exit 1
  		fi
  	fi
! 	echo $ac_n "checking for main in -ltcl80""... $ac_c" 1>&6
! echo "configure:1763: checking for main in -ltcl80" >&5
  ac_lib_var=`echo tcl8.0'_'main | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_save_LIBS="$LIBS"
! LIBS="-ltcl80  $LIBS"
  cat > conftest.$ac_ext <<EOF
  #line 1771 "configure"
  #include "confdefs.h"
***************
*** 1789,1795 ****
  fi
  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
    echo "$ac_t""yes" 1>&6
!   V_LIB_TCL="-ltcl8.0"
  else
    echo "$ac_t""no" 1>&6
  V_LIB_TCL="FAIL"
--- 1789,1795 ----
  fi
  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
    echo "$ac_t""yes" 1>&6
!   V_LIB_TCL="-ltcl80"
  else
    echo "$ac_t""no" 1>&6
  V_LIB_TCL="FAIL"
***************
*** 1812,1819 ****
  			/import/tcl/lib/tcl8.0 \
  			"
  		for dir in $places; do
! 			if test -r $dir/libtcl8.0.so -o -r $dir/libtcl8.0.a; then
! 				V_LIB_TCL="-L$dir -ltcl8.0"
  				break
  			fi
  			if test -r $dir/libtcl.so -o -r $dir/libtcl.a; then
--- 1812,1819 ----
  			/import/tcl/lib/tcl8.0 \
  			"
  		for dir in $places; do
! 			if test -r $dir/libtcl8.0.so -o -r $dir/libtcl80.a; then
! 				V_LIB_TCL="-L$dir -ltcl80"
  				break
  			fi
  			if test -r $dir/libtcl.so -o -r $dir/libtcl.a; then
***************
*** 1836,1842 ****
  		$PWD/../tcl-8.0/library \
                  $PWD/../tcl/library \
                  /cs/research/mice/starship/common/$OPSYS/lib/tcl8.0 \
! 		/usr/local/lib/tcl8.0 \
  		/usr/contrib/lib/tcl8.0 \
  		/usr/lib/tcl8.0 \
  		/usr/lib/tk/tcl8.0 \
--- 1836,1842 ----
  		$PWD/../tcl-8.0/library \
                  $PWD/../tcl/library \
                  /cs/research/mice/starship/common/$OPSYS/lib/tcl8.0 \
! 		/usr/mbone/lib/tcl8.0 \
  		/usr/contrib/lib/tcl8.0 \
  		/usr/lib/tcl8.0 \
  		/usr/lib/tk/tcl8.0 \
***************
*** 1884,1890 ****
  		exit 1
  	fi
  	places="$d/lib/libtk8.0.so \
! 		$d/lib/libtk8.0.a \
  		$d/lib/libtk.so \
  		$d/lib/libtk.a"
  	V_LIB_TK=FAIL
--- 1884,1890 ----
  		exit 1
  	fi
  	places="$d/lib/libtk8.0.so \
! 		$d/mbone/libtk80.a \
  		$d/lib/libtk.so \
  		$d/lib/libtk.a"
  	V_LIB_TK=FAIL
***************
*** 1938,1944 ****
  	                $PWD/../tk-8.0/generic \
         		        $PWD/../tk/generic \
         		        /cs/research/mice/starship/common/$OPSYS/include \
! 			/usr/local/include \
  			$prefix/include \
  			/usr/contrib/include \
  			/usr/include/tcl \
--- 1938,1944 ----
  	                $PWD/../tk-8.0/generic \
         		        $PWD/../tk/generic \
         		        /cs/research/mice/starship/common/$OPSYS/include \
! 			/usr/mbone/include \
  			$prefix/include \
  			/usr/contrib/include \
  			/usr/include/tcl \
***************
*** 1960,1973 ****
  			exit 1
  		fi
  	fi
! 	echo $ac_n "checking for main in -ltk8.0""... $ac_c" 1>&6
! echo "configure:1965: checking for main in -ltk8.0" >&5
  ac_lib_var=`echo tk8.0'_'main | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_save_LIBS="$LIBS"
! LIBS="-ltk8.0  $LIBS"
  cat > conftest.$ac_ext <<EOF
  #line 1973 "configure"
  #include "confdefs.h"
--- 1960,1973 ----
  			exit 1
  		fi
  	fi
! 	echo $ac_n "checking for main in -ltk80""... $ac_c" 1>&6
! echo "configure:1965: checking for main in -ltk80" >&5
  ac_lib_var=`echo tk8.0'_'main | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_save_LIBS="$LIBS"
! LIBS="-ltk80  $LIBS"
  cat > conftest.$ac_ext <<EOF
  #line 1973 "configure"
  #include "confdefs.h"
***************
*** 1991,1997 ****
  fi
  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
    echo "$ac_t""yes" 1>&6
!   V_LIB_TK="-ltk8.0"
  else
    echo "$ac_t""no" 1>&6
  V_LIB_TK="FAIL"
--- 1991,1997 ----
  fi
  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
    echo "$ac_t""yes" 1>&6
!   V_LIB_TK="-ltk80"
  else
    echo "$ac_t""no" 1>&6
  V_LIB_TK="FAIL"
***************
*** 2003,2009 ****
  			$PWD/../tk-8.0/unix \
                  	$PWD/../tk/unix \
                  	/cs/research/mice/starship/common/$OPSYS/lib \
! 			/usr/local/lib \
  			/usr/contrib/lib \
  			/usr/lib \
  			/usr/lib/tk \
--- 2003,2009 ----
  			$PWD/../tk-8.0/unix \
                  	$PWD/../tk/unix \
                  	/cs/research/mice/starship/common/$OPSYS/lib \
! 			/usr/mbone/lib \
  			/usr/contrib/lib \
  			/usr/lib \
  			/usr/lib/tk \
***************
*** 2013,2020 ****
  			$prefix/lib \
  			$x_libraries"
  		for dir in $places; do
! 			if test -r $dir/libtk8.0.so -o -r $dir/libtk8.0.a; then
! 				V_LIB_TK="-L$dir -ltk8.0"
  				break
  			fi
  			if test -r $dir/libtk.so -o -r $dir/libtk.a; then
--- 2013,2020 ----
  			$prefix/lib \
  			$x_libraries"
  		for dir in $places; do
! 			if test -r $dir/libtk80.so -o -r $dir/libtk80.a; then
! 				V_LIB_TK="-L$dir -ltk80"
  				break
  			fi
  			if test -r $dir/libtk.so -o -r $dir/libtk.a; then
***************
*** 2037,2043 ****
  		$PWD/../tk-8.0/library \
                 	$PWD/../tk/library \
                 	/cs/research/mice/starship/common/$OPSYS/lib/tk8.0 \
! 		/usr/local/lib/tk8.0 \
  		/usr/contrib/lib/tk8.0 \
  		/usr/lib/tk8.0 \
  		/usr/lib/tk/tk8.0 \
--- 2037,2043 ----
  		$PWD/../tk-8.0/library \
                 	$PWD/../tk/library \
                 	/cs/research/mice/starship/common/$OPSYS/lib/tk8.0 \
! 		/usr/mbone/lib/tk8.0 \
  		/usr/contrib/lib/tk8.0 \
  		/usr/lib/tk8.0 \
  		/usr/lib/tk/tk8.0 \
diff -b -c -r vic/grabber-meteor.cc vic.new/grabber-meteor.cc
*** vic/grabber-meteor.cc	Thu Jan 14 04:48:41 1999
--- vic.new/grabber-meteor.cc	Sun Jun 27 16:50:16 1999
***************
*** 73,85 ****
  class MeteorGrabber : public Grabber {
   public:
  	MeteorGrabber(const char* name);
  	virtual int command(int argc, const char*const* argv);
  	virtual void fps(int);
- 	virtual ~MeteorGrabber();
  	virtual void start();
  	virtual void stop();
-  protected:
  	virtual int grab();
  	void format();
  	virtual void setsize() = 0;
  	void suppress(const u_char* in, int istride);
--- 73,85 ----
  class MeteorGrabber : public Grabber {
      public:
  	MeteorGrabber(const char* name);
+ 	virtual ~MeteorGrabber();
  	virtual int command(int argc, const char*const* argv);
  	virtual void fps(int);
  	virtual void start();
  	virtual void stop();
  	virtual int grab();
+     protected:
  	void format();
  	virtual void setsize() = 0;
  	void suppress(const u_char* in, int istride);
***************
*** 93,102 ****
  	u_int baseheight_;	/* Width of frame to be captured */
  	u_int decimate_;	/* division of base sizes */
  	volatile u_int* pyuv_;	/* pointer to yuv data */
- 
- 	int count;
- 	long first;
- 	double values[1500];
  	int tuner_ ;		/* tuner device... */
  };
  
--- 93,98 ----
***************
*** 132,137 ****
--- 128,134 ----
      public:
  	MeteorScanner(const int n);
  };
+ 
  static MeteorScanner find_meteor_devices(4);
  
  MeteorScanner::MeteorScanner(const int n)
***************
*** 160,167 ****
  		}
  			}
  		}
! }
! 
  
  MeteorDevice::MeteorDevice(const char* nickname, const char *devname, int free):
  					InputDevice(nickname), name_(devname)
--- 157,163 ----
  		}
  			}
  		}
! 	}
  
  MeteorDevice::MeteorDevice(const char* nickname, const char *devname, int free):
  					InputDevice(nickname), name_(devname)
***************
*** 171,177 ****
  format {422 411} \
  type {pal ntsc secam auto} \
  size {large normal small cif} \
! port {RCA Port-1 Port-2 Port-3 S-Video RGB}";
  	else
  		attributes_ = "disabled";
  }
--- 167,173 ----
  format {422 411} \
  type {pal ntsc secam auto} \
  size {large normal small cif} \
! port {Port-1 RCA Port-2 Port-3 S-Video RGB}";
  	else
  		attributes_ = "disabled";
  }
***************
*** 192,201 ****
  	return (InputDevice::command(argc, argv));
  }
  
! MeteorGrabber::MeteorGrabber(const char* name, const char* format)
  {
- 	count = 0;
- 
  	int devnum;
  	if (sscanf(name, "/dev/bktr%d", &devnum) == 1) {
  		char *tunerdev  = new char[strlen(name) + 3];
--- 188,195 ----
  	return (InputDevice::command(argc, argv));
  }
  
! MeteorGrabber::MeteorGrabber(const char* name)
  {
  	int devnum;
  	if (sscanf(name, "/dev/bktr%d", &devnum) == 1) {
  		char *tunerdev  = new char[strlen(name) + 3];
***************
*** 208,214 ****
  		status_ = -1;
  		return;
  	}
! 	port_ = METEOR_INPUT_DEV0;
  	video_format_ = METEOR_FMT_AUTOMODE;
  	decimate_ = 2;
  	basewidth_ = PAL_WIDTH * 2;
--- 202,210 ----
  		status_ = -1;
  		return;
  	}
! 	port_ = METEOR_INPUT_DEV1;
! 	ioctl(dev_, METEORSINPUT, &port_);
! 	port_ = METEOR_INPUT_DEV1;
  	video_format_ = METEOR_FMT_AUTOMODE;
  	decimate_ = 2;
  	basewidth_ = PAL_WIDTH * 2;
***************
*** 238,244 ****
  	geom.frames = 1;
  	geom.oformat = METEOR_GEO_UNSIGNED | METEOR_GEO_YUV_PACKED;
  	/*
! 	 * If we can aet by with only reading even fields, then by all
  	 * means do so.
  	 */
  	unsigned short status;
--- 234,240 ----
  	geom.frames = 1;
  	geom.oformat = METEOR_GEO_UNSIGNED | METEOR_GEO_YUV_PACKED;
  	/*
! 	 * If we can get by with only reading even fields, then by all
  	 * means do so.
  	 */
  	unsigned short status;
***************
*** 415,420 ****
--- 411,417 ----
  			u_char val = atoi(argv[2]);
  			ioctl(dev_, METEORSCHCV, &val);
  			return (TCL_OK);
+ 		}
  	} else if (argc == 2) {
  		if (strcmp(argv[1], "format") == 0 ||
  			   strcmp(argv[1], "type") == 0) {
diff -b -c -r vic/grabber.cc vic.new/grabber.cc
*** vic/grabber.cc	Thu Jan 14 04:48:43 1999
--- vic.new/grabber.cc	Sun Jun 27 13:05:41 1999
***************
*** 496,501 ****
--- 496,508 ----
  		outh_ = 144;
  		break;
  
+ 	case 640:
+ 		/* full ntsc */
+ 		ispal = 0;
+ 		outw_ = 640;
+ 		outh_ = 480;
+ 		break;
+ 
  	default:
  		/* XXX this shouldn't happen */
  		fprintf(stderr, "vic: CIF grabber: bad geometry\n");
diff -b -c -r vic/qfDES_memory.c vic.new/qfDES_memory.c
*** vic/qfDES_memory.c	Thu Apr  8 04:07:26 1999
--- vic.new/qfDES_memory.c	Sun Jun 27 11:48:48 1999
***************
*** 13,19 ****
  #include "config.h"
  #include "qfDES.h"
  
! #ifndef DEFINED_ERRLIST
   extern int sys_nerr;
   extern char *sys_errlist[];
  #endif
--- 13,19 ----
  #include "config.h"
  #include "qfDES.h"
  
! #ifdef DEFINED_ERRLIST
   extern int sys_nerr;
   extern char *sys_errlist[];
  #endif
diff -b -c -r vic/tmn-x/io.c vic.new/tmn-x/io.c
*** vic/tmn-x/io.c	Tue Jun 22 04:19:30 1999
--- vic.new/tmn-x/io.c	Sun Jun 27 11:33:31 1999
***************
*** 53,59 ****
  #include        "sim.h"
  
  #ifdef VIC
! /*extern*/ 
  unsigned char *h263_frame;
  #endif
  
--- 53,59 ----
  #include        "sim.h"
  
  #ifdef VIC
! /*extern */
  unsigned char *h263_frame;
  #endif
  
diff -b -c -r vic/tmn-x/putbits.c vic.new/tmn-x/putbits.c
*** vic/tmn-x/putbits.c	Tue Jun 22 04:19:31 1999
--- vic.new/tmn-x/putbits.c	Sun Jun 27 11:33:32 1999
***************
*** 63,71 ****
  #include "sim.h"
  
  #ifdef VIC
! /*extern */
  int            h263_streamcount;
! /*extern */
  unsigned char *h263_bitstream;
  #else
  extern FILE *streamfile;        /* the only global var we need here */
--- 63,71 ----
  #include "sim.h"
  
  #ifdef VIC
! /*extern*/
  int            h263_streamcount;
! /*extern*/
  unsigned char *h263_bitstream;
  #else
  extern FILE *streamfile;        /* the only global var we need here */
diff -b -c -r vic/ui-grabber.tcl vic.new/ui-grabber.tcl
*** vic/ui-grabber.tcl	Wed Jun  9 04:29:24 1999
--- vic.new/ui-grabber.tcl	Sun Jun 27 12:58:21 1999
***************
*** 453,459 ****
  #	label $w.f.cl.slabel -font $f -text "Saturation" -anchor n
  #	pack  $w.f.cl.glabel $w.f.cl.label $w.f.cl.slabel \
  #			     -side left -fill x -expand 1
!        
  	scale $w.f.c.gscale \
  -orient horizontal -width 12 -length 100 -relief groove \
                               -showvalue 1 -from 0 -to 255 \
--- 453,459 ----
  #	label $w.f.cl.slabel -font $f -text "Saturation" -anchor n
  #	pack  $w.f.cl.glabel $w.f.cl.label $w.f.cl.slabel \
  #			     -side left -fill x -expand 1
! 	frame $w.f.c -relief flat       
  	scale $w.f.c.gscale \
  -orient horizontal -width 12 -length 100 -relief groove \
                               -showvalue 1 -from 0 -to 255 \

[-- Attachment #3 --]

 Amancio Hasty
 ahasty@mindspring.com

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906280206.TAA29479>