freebsd-ports/multimedia/vic/files/patch-al
Bill Fenner 0b7a232ad3 Fix Luigi's recently committed submission:
- Actually include the x11 grabber in the compile
- Don't force the capture type to PAL; leave it at auto
- Remove debugging code and comments
- Eliminate the need for kernel patch for tuner code
- Don't patch one source file in more than one patch-XX files
1998-06-26 18:39:21 +00:00

422 lines
13 KiB
Plaintext

diff -ubwr ./grabber.cc /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/grabber.cc
--- grabber.cc Tue Feb 6 00:02:00 1996
+++ /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/grabber.cc Fri Apr 10 15:36:42 1998
@@ -69,6 +69,7 @@
hstart_(0), hstop_(0),
framebase_(0), frame_(0),
inw_(0), inh_(0), outw_(0), outh_(0),
+ threshold_(48),
target_(0), tx_(0)
{
bps(128);
@@ -122,6 +123,10 @@
}
return (TCL_OK);
}
+ if (strcmp(argv[1], "threshold") == 0) {
+ threshold_ = 8*atoi(argv[2]);
+ return (TCL_OK);
+ }
if (strcmp(argv[1], "fps") == 0) {
/*XXX assume value in range */
fps(atoi(argv[2]));
diff -ubwr ./grabber.h /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/grabber.h
--- grabber.h Tue Feb 6 00:02:00 1996
+++ /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/grabber.h Fri Apr 10 15:37:28 1998
@@ -87,6 +87,7 @@
int vstop_;
int hstart_;
int hstop_;
+ int threshold_ ; // when a block is changed ? (was constant 48)
u_int framesize_;
u_char* framebase_;
@@ -160,19 +161,19 @@
rb -= _rs << 3; \
\
int center = 0; \
- if (left >= 48 && x > 0) { \
+ if (left >= threshold_ && x > 0) { \
crv[-1] = CR_MOTION|CR_SEND; \
center = 1; \
} \
- if (right >= 48 && x < w - 1) { \
+ if (right >= threshold_ && x < w - 1) { \
crv[1] = CR_MOTION|CR_SEND; \
center = 1; \
} \
- if (bottom >= 48 && y < blkh_ - 1) { \
+ if (bottom >= threshold_ && y < blkh_ - 1) { \
crv[w] = CR_MOTION|CR_SEND; \
center = 1; \
} \
- if (top >= 48 && y > 0) { \
+ if (top >= threshold_ && y > 0) { \
crv[-w] = CR_MOTION|CR_SEND; \
center = 1; \
} \
diff -ubwr ./ui-ctrlmenu.tcl /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/ui-ctrlmenu.tcl
--- ui-ctrlmenu.tcl Thu Jun 27 01:27:48 1996
+++ /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/ui-ctrlmenu.tcl Fri Apr 10 16:39:04 1998
@@ -390,11 +394,15 @@
-relief raised -command transmit \
-anchor w -variable transmitButtonState -font $f \
-state disabled -highlightthickness 0
+ checkbutton $w.freeze -text "Freeze" \
+ -relief raised -command "grabber freeze \$freeze" \
+ -anchor w -variable freeze -font $f \
+ -highlightthickness 0
button $w.release -text "Release" \
-relief raised -command release_device \
-font $f -highlightthickness 0
- pack $w.send $w.release -fill both
+ pack $w.send $w.release $w.freeze -fill both
}
proc doNothing { args } {
@@ -434,8 +442,9 @@
frame $w.bps
scale $w.bps.scale -orient horizontal -font $f \
- -showvalue 0 -from 10 -to [option get . maxbw Vic] \
+ -showvalue 0 -from 1 -to [option get . maxbw Vic] \
-command "set_bps $w.bps.value" -width 12 \
+ -sliderlength 20 \
-relief groove
label $w.bps.value -font $f -width 8 -anchor w
@@ -443,6 +452,7 @@
scale $w.fps.scale -font $f -orient horizontal \
-showvalue 0 -from 1 -to 30 \
-command "set_fps $w.fps.value" -width 12 \
+ -sliderlength 20 \
-relief groove
label $w.fps.value -font $f -width 8 -anchor w
@@ -564,7 +574,7 @@
proc select_device device {
global transmitButton sizeButtons portButton formatButtons \
videoFormat defaultFormat lastDevice defaultPort inputPort \
- transmitButtonState
+ transmitButtonState typeButton
#
# Remember settings of various controls for previous device
@@ -607,6 +617,11 @@
} else {
$portButton configure -state disabled
}
+ if [device_supports $device type *] {
+ $typeButton configure -state normal
+ } else {
+ $typeButton configure -state disabled
+ }
insert_grabber_panel [$device nickname]
@@ -774,7 +789,8 @@
build.encoder_options $w.options
build.device $w.device
build.port $w.port
- pack $w.device $w.port $w.options -fill x
+ build.type $w.type
+ pack $w.device $w.port $w.type $w.options -fill x
}
proc build.encoder_options w {
@@ -1172,6 +1188,9 @@
global inputPort inputType portButton typeButton
if { [$portButton cget -state] == "normal" } {
$grabber port $inputPort
+ }
+ if { [$typeButton cget -state] == "normal" } {
+ $grabber type $inputType
}
setFillRate
update
diff -ubwr ./ui-grabber.tcl /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/ui-grabber.tcl
--- ui-grabber.tcl Fri Jun 21 04:39:35 1996
+++ /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/ui-grabber.tcl Fri Apr 10 13:54:42 1998
@@ -39,65 +39,93 @@
# called foo-1, foo-2, etc. and you'll only need build.foo
#
+proc build.meteor w {
+#
+# The meteor has the same controls as the slicvideo, so just call that
+# routine to build the controls.
+
+ build.slicvideo $w
+}
+
+proc build.bktr w {
+ build.slicvideo $w
+}
+
proc build.slicvideo w {
set f [smallfont]
+# set f "-*-helvetica-medium-r-normal--*-100-75-75-*-*-*-*"
label $w.title -text "Grabber"
frame $w.f -relief sunken -borderwidth 2
frame $w.f.h -relief flat
- label $w.f.h.label -font $f -anchor e -text "Hue"
-
- scale $w.f.h.scale -orient horizontal -width 12 -length 20 \
- -relief groove -showvalue 0 -from -128 -to 127 \
- -command "grabber set HUE"
- pack $w.f.h.label $w.f.h.scale -side left -fill x -expand 1
-
- frame $w.f.ll -relief flat
-
- label $w.f.ll.label -font $f -text "Luma" -anchor s
-
- label $w.f.ll.clabel -font $f -text "Contrast" -anchor s
-
- label $w.f.ll.blabel -font $f -text "Brightness" -anchor s
- pack $w.f.ll.clabel $w.f.ll.label $w.f.ll.blabel \
+ frame $w.f.h.c
+ label $w.f.h.c.l1 -font $f -anchor e -text "Chan:"
+ mk.entry $w.f.h.c do_chan "20"
+ $w.f.h.c.entry configure -relief sunken -width 5
+ bind $w.f.h.c.entry <Return> "grabber chan \[$w.f.h.c.entry get\]"
+ pack $w.f.h.c.l1 $w.f.h.c.entry -side top
+
+ global ths
+ scale $w.f.h.ths \
+-orient horizontal -width 12 -length 60 -relief groove -sliderlength 6 \
+ -showvalue 0 -from 1 -to 10 \
+ -command "grabber threshold" -label Thre
+ $w.f.h.ths set 6
+ # the actual scale is multiplied by 8
+ scale $w.f.h.scale \
+-orient horizontal -width 12 -length 100 -relief groove \
+ -showvalue 0 -from -128 -to 127 \
+ -command "grabber hue" -label Hue
+ pack $w.f.h.c \
+ $w.f.h.ths \
+ $w.f.h.scale \
-side left -fill x -expand 1
+# frame $w.f.ll -relief flat
+# label $w.f.ll.label -font $f -text "Luma" -anchor s
+# label $w.f.ll.clabel -font $f -text "Contrast" -anchor s
+# label $w.f.ll.blabel -font $f -text "Brightness" -anchor s
+# pack $w.f.ll.clabel $w.f.ll.label $w.f.ll.blabel \
+# -side left -fill x -expand 1
+
frame $w.f.l -relief flat
- scale $w.f.l.cscale -orient horizontal -width 12 -relief groove \
+ scale $w.f.l.cscale \
+-orient horizontal -width 12 -length 100 -relief groove \
-showvalue 0 -from 0 -to 127 \
- -command "grabber set LUMA_CONTRAST"
+ -label "Contrast" \
+ -command "grabber contrast"
- scale $w.f.l.bscale -orient horizontal -width 12 -relief groove \
+ scale $w.f.l.bscale \
+-orient horizontal -width 12 -length 100 -relief groove \
-showvalue 0 -from 0 -to 255 \
- -command "grabber set LUMA_BRIGHTNESS"
+ -command "grabber brightness" -label "Brightness"
pack $w.f.l.cscale $w.f.l.bscale -side left -fill x -expand 1
- frame $w.f.cl -relief flat
-
- label $w.f.cl.label -font $f -text "Chroma" -anchor n
-
- label $w.f.cl.glabel -font $f -text "Gain" -anchor n
-
- 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.cl -relief flat
+# label $w.f.cl.label -font $f -text "Chroma" -anchor n
+# label $w.f.cl.glabel -font $f -text "Gain" -anchor n
+# 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 -relief groove \
+ scale $w.f.c.gscale \
+-orient horizontal -width 12 -length 100 -relief groove \
-showvalue 0 -from 0 -to 255 \
- -command "grabber set CHROMA_GAIN"
+ -command "grabber uvgain" -label "Chr. Gain"
- scale $w.f.c.sscale -orient horizontal -width 12 -relief groove \
+ scale $w.f.c.sscale \
+-orient horizontal -width 12 -length 100 -relief groove \
-showvalue 0 -from 0 -to 127 \
- -command "grabber set CHROMA_SATURATION"
+ -command "grabber saturation" -label "Saturation"
pack $w.f.c.gscale $w.f.c.sscale -side left -fill x -expand 1
- pack $w.f.h $w.f.ll $w.f.l $w.f.c $w.f.cl \
- -fill x -expand 1 -padx 1m
+ # pack $w.f.h $w.f.ll $w.f.l $w.f.c $w.f.cl
+ pack $w.f.h $w.f.l $w.f.c -fill x -expand 1 -padx 1m
pack $w.title $w.f -fill x -expand 1
@@ -109,6 +137,10 @@
$w.f.c.sscale set 64
}
+#
+# STILL image-grabber (?)
+#
+
proc build.still w {
set f [smallfont]
@@ -131,6 +163,10 @@
$lastDevice file $s
}
+#
+# quickcam grabber
+#
+
proc build.qcam {w} {
global qcamwindow
@@ -190,3 +226,118 @@
set qcamwindow(setwbal) "$w.f.s.s.wbal.scale set"
set qcamwindow(setbpp) "set qcambpp"
}
+
+#
+# X11 Grabber controls
+#
+proc x11grabUpdatePos {x y w h} {
+
+ global x11grabcontrols
+ set w $x11grabcontrols
+
+ if {[string compare $x [$w.x11grab.row1.pos.x.e get]] != 0} {
+ $w.x11grab.row1.pos.x.e delete 0 end
+ $w.x11grab.row1.pos.x.e insert 0 $x
+ }
+ if {[string compare $y [$w.x11grab.row1.pos.y.e get]] != 0} {
+ $w.x11grab.row1.pos.y.e delete 0 end
+ $w.x11grab.row1.pos.y.e insert 0 $y
+ }
+ if {[string compare $w [$w.x11grab.row1.pos.w.e get]] != 0} {
+ $w.x11grab.row1.pos.w.e delete 0 end
+ $w.x11grab.row1.pos.w.e insert 0 $w
+ }
+ if {[string compare $h [$w.x11grab.row1.pos.h.e get]] != 0} {
+ $w.x11grab.row1.pos.h.e delete 0 end
+ $w.x11grab.row1.pos.h.e insert 0 $h
+ }
+}
+
+proc x11cmd.update.geo w {
+ grabber fixed [$w.row.x get] [$w.row.y get]
+}
+
+proc x11cmd.fixed {} {
+ global x11Source x11grabcontrols
+ set w $x11grabcontrols
+ $w.label configure -text "$x11Source"
+ if [winfo exists $w.row] {
+ destroy $w.row
+ }
+ frame $w.row
+ pack append $w.row \
+ [label $w.row.xl -text "X:" -width 2 -anchor e] {left filly} \
+ [entry $w.row.x -relief flat -width 4] {left filly} \
+ [label $w.row.yl -text "Y:" -width 2 -anchor e] {left filly} \
+ [entry $w.row.y -relief flat -width 4] {left filly}
+ bind $w.row.x <Return> "x11cmd.update.geo $w"
+ bind $w.row.y <Return> "x11cmd.update.geo $w"
+
+ pack $w.row -after $w.label
+}
+
+proc x11cmd.pointer {} {
+ global x11Source x11grabcontrols
+ set w $x11grabcontrols
+ $w.label configure -text "$x11Source"
+ if [winfo exists $w.row] {
+ destroy $w.row
+ }
+ frame $w.row
+ pack append $w.row \
+ [button $w.row.s -text "Follow pointer" ] { left filly }
+ pack $w.row -after $w.label
+}
+
+proc x11cmd.window {} {
+ global x11Source x11grabcontrols
+ puts "x11cmd -- x11Source $x11Source"
+ set w $x11grabcontrols
+ $w.label configure -text "$x11Source"
+ if [winfo exists $w.row] {
+ destroy $w.row
+ }
+ frame $w.row
+ pack append $w.row \
+ [button $w.row.s -text "Select window" ] { left filly }
+ pack $w.row -after $w.label
+}
+
+proc build.x11 w {
+ global x11grabcontrols x11Source
+ set f [smallfont]
+
+ label $w.title -text "X11 Grabber controls"
+ frame $w.x11grab -relief sunken -borderwidth 2
+ set x11grabcontrols $w.x11grab
+ set x11Source "Fixed"
+ set w1 $w.x11grab
+
+
+ # luigi
+ set m $w1.menu
+ set m1 $m.m1
+ menubutton $w1.menu -menu $m1 -text "Source:" \
+ -relief raised -width 7 -font $f
+ label $w1.label -width 6 -font $f
+ frame $w1.row
+ menu $m1
+ $m1 add radiobutton -label Fixed \
+ -state active \
+ -command "x11cmd.fixed" -font $f -variable x11Source
+# $m1 add radiobutton -label Pointer \
+# -command "x11cmd.pointer" -font $f -variable x11Source
+# $m1 add radiobutton -label Window \
+# -command "x11cmd.window" -font $f -variable x11Source
+
+ pack append $w1 \
+ $w1.menu {left} \
+ $w1.label {left} \
+ $w1.row {left}
+
+ pack $w $w.title $w1 -fill x -expand 1
+
+ x11cmd.fixed
+}
+
+### end of file ###
diff -ubwr ./ui-resource.tcl /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/ui-resource.tcl
--- ui-resource.tcl Wed Apr 3 02:33:56 1996
+++ /home/old_wd0f/ports/mbone/vic/work.luigi/vic-2.8-luigi/ui-resource.tcl Fri Apr 10 21:11:56 1998
@@ -140,7 +140,7 @@
option add Vic.useHardwareDecode false startupFile
option add Vic.infoHighlightColor LightYellow2 startupFile
option add Vic.useJPEGforH261 false startupFile
- option add Vic.stillGrabber false startupFile
+ option add Vic.stillGrabber true startupFile ; # XXX was false
option add Vic.siteDropTime "300" startupFile
#