File: CHANGES.html

package info (click to toggle)
vic 2.8ucl4-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 5,864 kB
  • ctags: 9,033
  • sloc: ansic: 56,989; cpp: 44,560; tcl: 5,550; sh: 1,382; perl: 1,329; makefile: 357
file content (1417 lines) | stat: -rw-r--r-- 57,410 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
<!-- @(#) $Header: /cs/research/mice/starship/src/local/CVS_repository/vic/html/CHANGES.html,v 1.1.1.1 1998/02/18 18:03:53 ucacsva Exp $ (LBL)-->
<html>
<head><title>vic Change Log</title></head>
<body>
<h1>vic: Change History</h1>

<hr>
<h3>v2.8  <i>Mon Jul 22 13:13:10 PDT 1996</i></h3>

<ul>
<li>Fixed long standing bug where vic generated non-conformant
RTP/H.261 headers (the MBA and GOB fields were swapped).
We maintained this bug in v2.7 to avoid incompatibility
with v2.6, but <a href=#rtph261bug>added code</a>
to handle either case.

<li>Added <a href=mailto:brezak@apollo.hp.com>John Brezak's</a>
patch for a hookable TkPlatformInit to overcome the fact that
under Windows you cannot override internal DLL calls.

<li>Ifdef out XSync calls under WIN32.

</ul>

<hr>
<h3>v2.7  <i>Mon Jul 22 11:47:48 PDT 1996</i></h3>

<ul>
<li>Fixed several bugs in the MME grabber: (1) bandwidth limits were
ignored by the grabber, (2) mapping of JPEG Quality slider to internal
quality setting was wrong, and (3) the YUV grabber was grabbing frames
that were 1/4 (1/2 in each direction) the requested size.
Fixes from <a href=mailto:morris@zko.dec.com>Tom Morris</a>.

<li>Fixed bug with calculation of extended highest sequence number
in reception reports.  Reported by
<a href=mailto:fenner@parc.xerox.com>Bill Fenner</a>.

</ul>

<hr>
<h3>v2.7b4  <i>Wed Jun 26 17:59:49 PDT 1996</i></h3>

<ul>

<li>Fixed control menu so that user cannot select a compression format
if there are no available devices.  Otherwise, a tcl error results.
Bug reported by <a href=mailto:rush@alikazam.sprintcorp.com>David Rush</a>.

<li>Removed load_stat class and hooks since we want to re-architect
this.  We plan to put more general hooks into vic-3.0.

<li>Added support for the SCC "Smart Capture Card", a PCMCIA video capture card
sold by Japan IBM.  Contributed by
<a href=mailto:oka@kobe-u.ac.jp>Koji OKAMURA</a>.
Koji maintains an <a href=ftp://ftp.kobe-u.ac.jp/pub/mc/scc>
SCC Driver for Linux</a> and 
<a href=ftp://ftp.kobe-u.ac.jp/pub/mc/apps/vic>
Linux vic binary w/ SCC support</a>.

<li>Brought the DEC MME grabber up to date.
<a href=mailto:morris@zko.dec.com>Tom Morris</a> contributed
the (substantial) changes and bug fixes.

<li>Modified 
<a href=http://www.connectix.com/>
Connectix</a>
<a href=http://www.connectix.com/connectix/qcchoice.html>QuickCam</a>
grabber for more generic <i>driver versus library</i> detection by
<a href=mailto:jbash@cisco.com>John Bashinski</a>.
This version works with QuickCam driver on Solaris 2.x.
Also added QuickCam GUI controls, and removed old auto-contrast system.

<li>Fixed bug that caused core dump for unknown visuals
Reported by <a href=mailto:craig@lucent.com>Craig Votava</a>.

<li>Added grabber module for PCMCIA IBM Smart Capture Card.
Works under both Linux and FreeBSD.  Contributed by
<a href=mailto:oka@nanotsu.kobe-u.ac.jp>Koji OKAMURA</a>.

<li>Added ability to specify default video port on a per-device
basis.  For example, you can set the <i>Vic.defaultPort(vino)</i>
X resource to <i>Analog-Video-Input</i> to cause vic to default to the
analog composite input with SGI's vino device.

<li>Fixed bug in session max bandwidth computation.  The heuristic
that differentiated between audio and video needed to check <i>V(app)</i>
rather than the <i>sessioType</i> resource.
Originally reported by <a href=mailto:klemets@vxstream.com>
Anders Klements</a>.

<li>Fixed bug computing DLSR field of RTCP receiver reports.
Reported by <a href=mailto:klemets@vxstream.com>
Anders Klements</a>.

<li>Re-named methods that were named <i>sendmsg</i> since some
systems re-define this identifier.

<li>Added hook to meteor grabber to set frame rate
so we only transfer what we need, thanks to
<a href=mailto:james@allmalt.cs.uwm.edu>Jim Lowe</a>.

<li>Brought up to date with IRIX-6.2, thanks to
<a href=mailto:arc@sgi.com>Andrew Cherenson</a>.

<li>Ported to final release versions of tcl7.5/tk4.1.  You
now need these versions or later to build.

<li>Fixed compilations problems under AIX, reported by
<a href=mailto:srini@watson.ibm.com>Srinivasan Seshan </a>.

<li>Added Hi-Color (16-bit) renderer.

<li>Lots of changes for Win95 with tcl7.5/tk4.1.

</ul>

<hr>
<h3>v2.7b3  <i>May 16 07:07 PDT 1996</i></h3>

Windows binary release.

<hr>
<h3>v2.7b2  <i>Sun Apr 21 09:58:36 PDT 1996</i></h3>
<ul>

<li>Bring ultrix port up to date.

<li>Removed VIC.SD.TCL from distribution since sdr has obsoleted sd.

</ul>

<hr>
<h3>v2.7b1  <i>Tue Apr  9 23:11:48 PDT 1996</i></h3>
<ul>

<li>Added a manual page for h261_play.

<li>Ported to tcl7.5b3 and tk4.1b3.  You need this version or later
to build.  tcl7.5a* and tk4.1a* will not work.

<li>Replaced blt_table with new Tk grid geometry manager.
This eliminates all dependence on blt.

<li>Fixed bug that caused abort whenever a window was dismissed
that held a stream that was different from the original stream
upon creation.
Reported by <a href=mailto:casner@precept.com>Steve Casner</a>

<li>Fixed uninitialized-variable bug in session.cc.
Thanks to <a href=mailto:templin@pa.dec.com>Fred Templin</a>.

<li>Catch error when trying to mtrace a source when mtrace binary
is not present.  This bug reported by many.

<li>Added better logic to Meteor grabber for deciding when to
use even-only field capture mode.  Patch from
<a href=mailto:james@allmalt.cs.uwm.edu>Jim Lowe</a>.

<li>Timestamps in rtcp messages were still wrong: the media ts
of the last packet sent was simply combined with the current ntp time
rather than being corrected for the difference between the last
send and the current time.  Fixed.
Reported by <a href=mailto:casner@precept.com>Steve Casner</a>

<li>Weren't following the guidelines on sdes content of rtcp
msgs:  Are supposed to put in cname plus one other piece of
info.  Instead, were sending all info in every msg.  Changed
to follow guidelines and sequence through the available info,
one item per msg.
Reported by <a href=mailto:casner@precept.com>Steve Casner</a>

<li>Removed tk.tcl from list of source files since it should
always be built from local tk library (otherwise you can end
up with a version mismatch between -ltk and the support files
built into vat/vic.
Reported by <a href=mailto:Hans.Mayer@gmd.de>Hans Mayer</a>

</ul>

<hr>
<h3>v2.7a38  <i>Thu Mar 21 03:52:22 PST 1996</i></h3>
<ul>

<li>Fixed problems in VideoPix grabber when grabbing CIF format
(h.261) from a PAL camera.  Result would be garbage and would
also trash random memory.  Problem reported by
<a href=mailto:richter@ro2.informatik.uni-hamburg.de>Jan-Peter Richter</a>

<li>Fixed problem in Parallax grabber where tk update call could
cause re-entrance to grabber.  Change update to "update idletasks".
Fix from <a href=mailto:Tie.Liao@inria.fr>Tie Liao</a>.

<li>Removed old, obsolete key bindings that caused tcl background errors
when certain keys were typed into a video display window.  Bug
reported by <a href=mailto:david@msri.org>David Hoffman</a>.

<li>Fixed some problems with the Matrox Meteor grabber; in particular,
svideo input and secam format.  Also added support for the RGB
version of the Meteor.
Contributed by <a href=mailto:james@allmalt.cs.uwm.edu>Jim Lowe</a>.

<li>Fixed small bug in RTCP code where random offset was added
in twice (once in <i>media_ts</i> method and once by external
code).
Reported by <a href=mailto:olson@mcs.anl.gov>Bob Olson</a>.

<li>Added support for <a href=http://www.connectix.com/>
Connectix</a>
<a href=http://www.connectix.com/connectix/qcchoice.html>QuickCam</a>
video capture device for PC's.
Contributed by <a href=mailto:oka@is.aist-nara.ac.jp>Koji OKAMURA</a>.
Known to work with the <a href=ftp://ftp.nas.com/laird/>
linux qcam driver</a>
and Paul Traina's driver under 
<a href=http://www.freebsd.org/>FreeBSD</a> (which is
in FreeBSD-2.2 or later).
The configure script will compile the QuickCam
driver if /usr/local/lib/libqcam.a exists.

<li>Fixed bug in SLIC grabber that prevented grabber panel from
being instantiated.  Thanks to
<a href=mailto:Toerless.Eckert@Informatik.Uni-Erlangen.de>Toerless Eckert</a>.

<li>Full-size h.261 grabbing was broken if using NTSC camera with
vigrapix board.  Problem was that Phillips scalar chip can't scale
up so we'd have to grab a full frame & deinterlace to go from 240
line high NTSC to 288 line high CIF.  Since this would double amount
of I/O, instead we do same as other NTSC CIF grabbers & embed NTSC sized
image on gray CIF sized background.
Problem reported by <a href=mailto:pallas@apple.com>Joe Pallas</a>.

<li>cpmsg was causing a call to realloc on every packet rather
than only when the work buffer needed to be expanded.
Reported by <a href=mailto:olson@mcs.anl.gov>Bob Olson</a>.

<li>VIC.SD.TCL was missing from the binary distributions.
Reported by <a href=mailto:dsc@nwnet.net>David Comay</a>.

<li>Much hacking on configure scripts to deal with tk4.1/tk4.0
file name changes, need for dynamic loader with tcl7.5, blt-1.9
release, etc.

<li>Got ok from Sun to add grabber-rtvc.cc to source distribution.

</ul>

<hr>
<h3>v2.7a37  <i>Wed Feb 15 14:39:06 PST 1996</i></h3>
<ul>

<li>Incorporated fourth round of patches from 
<a href=mailto:brezak@apollo.hp.com>John Brezak</a>
for <b>Win95/NT</b> port.  Added README.WIN32 file containing
brief description and tcl/tk patches from John.

</ul>
<hr>
<h3>v2.7a36  <i>Wed Feb  7 14:39:06 PST 1996</i></h3>
<ul>

<li>Changed to use new mode in meteor driver (METEOR_GEO_YUV_422) and
allow even only fields to be captured under certain conditions.
Added FRAME_CNTS debugging option. 
Thanks to <a href=mailto:james@miller.cs.uwm.edu>Jim Lowe</a>.

<li>Incorporated third round of patches from 
<a href=mailto:brezak@apollo.hp.com>John Brezak</a>
for <b>Win95/NT</b> port.

</ul>
<hr>
<h3>v2.7a35  <i>Wed Feb  7 02:45:10 PST 1996</i></h3>
<ul>

<li>Add missing file (load_stat.h) to distribution.

</ul>

<hr>
<h3>v2.7a34  <i>Tue Feb  6 14:41:34 PST 1996</i></h3>
<ul>

<li>Incorporated second round of patches from 
<a href=mailto:brezak@apollo.hp.com>John Brezak</a>
for <b>Win95/NT</b> port.

</ul>

<hr>
<h3>v2.7a33  <i>Tue Feb  6 02:59:53 PST 1996</i></h3>
<ul>

<li>Bug fix from <a href=mailto:arichard@rp.csiro.au>Atony Richards</a>
to fix run-away source allocation problem when receiving packets through
the Fore ATM module.

<li>Addition of load_stat class and hooks to store decode and rendering
timing information.  This is to serve as an eventual
basis for load adaptation.
(<a href=mailto:kfall@ee.lbl.gov>Kevin Fall</a>)

<li>Integrated several bug fixes for 32-bit parallax capture
from <a href=mailto:Tie.Liao@inria.fr>Tie Liao's</a>.

<a name=rtph261bug>
<li>Implemented a transition strategy for the fact that v2.7 is currently
incompatible with the RTP/H.261 payload format specification
(the GOB and MB fields are swapped).  To maintain backward compat,
v2.7 will continue to generate the illegal format.  The decoder in
v2.7a33 and later can handle either format.  (The decoder assumes the
bug, then if its sees an out of range gob, reverts to the spec format.)
We will fix the bug in v2.8.  At this time, v2.7 decoders will
still work (but hiccough on each new stream).
</a>

<li>Integrated <a href=mailto:brezak@apollo.hp.com>John Brezak's</a>
port to <b>Win95/NT</b>!  We haven't tested this code so it might
be a few more versions before it stabilizes (or even compiles
out of the box).

<li>Fixed nagging bug in window drawing code that caused bottom of border
to be garbled on redraws triggered by expose events.

<li>Reverted to Motif-style menubutton bindings (undoes 2.7a17 change).
The previous binding introduced a race (bug reported by many...)
and was inconsistent with other Motif/tk apps.

<li>Added <a href=mailto:james@allmalt.cs.uwm.edu>Jim Lowe's</a>.
video spigot grabber.  Jim says: The spigot is an ISA video capture
card with the phillips 7191 chip on it.  It can do about 10 fps in
320x240 mode.

</ul>

<hr>
<h3>v2.7a32  <i>Mon Dec 11 21:40:08 PST 1995</i></h3>
<ul>
<li>CIF grabber for VigraPix board was broken - it would grab
two fields instead of one which resulted in a bizarre image.
Reported by <a href=mailto:Hans.Mayer@gmd.de>Hans Mayer</a>.

<li>Allow user to set initial window geometry with a Vic.geometry
X resource.

</ul>
<hr>
<h3>v2.7a31  <i>Mon Dec 4 11:35:29 PST 1995</i></h3>
<ul>
<li>Fixed bug that caused exit on unknown font.
Reported by <a href=mailto:Xander.Jansen@SURFnet.nl>Xander Jansen</a>.

<li>Fixed typo in encoder-h261.cc that prevented compilation on
32-bit little-endians.  Reported by
<a href=mailto:james@allmalt.cs.uwm.edu>Jim Lowe</a>.

</ul>
<hr>
<h3>v2.7a30  <i>Sun Dec 3 22:43:14 PST 1995</i></h3>
<ul>

<li>Removed a bunch of unused variables thanks to
<a href=mailto:arc@sgi.com>Andrew Cherenson</a>.
(We need to start using <i>gcc -Wall</i> again...)

<li>Added misordered packet stat (that was present in vat-3).  Change
suggested by <a href=mailto:elson@aeolus.jpl.nasa.gov>Lee Elson</a>.

<li>Patched memory leak in grabber-plx.cc thanks to
<a href=mailto:olson@mcs.anl.gov>Bob Olson</a>.

<li>Fixed bug where adaptive quantizer would sometimes get set to zero at
high qualities (Q less than 5).  Problem reported by
<a href=mailto:lucia@univ-lyon1.fr>Lucia Gradinariu</a>.

<li>H.261 decoder was discarding high bit of quantizer in fragmented
packets.  This would produce awful quality & horrible artifacts at Q
greater than 10.

</ul>
<hr>
<h3>v2.7a29  <i>Mon Nov 13 21:50:51 PST 1995</i></h3>
<ul>

<li>Fixed tcl run-time errors introduced by "still" capture device.
Reported by
<a href=mailto:meyer@network-services.uoregon.edu>David Meyer</a>
and
<a href=mailto:awjacks@dancer.ca.sandia.gov>Alden Jackson</a>.

<li>Fixed bugs in halftoner for mono displays.  Changes from
<a href=mailto:elan@cs.berkeley.edu>Elan Amir</a>.

<li>Fixed bug in JPEG decoder that caused core dump thanks
to <a href=mailto:elan@cs.berkeley.edu>Elan Amir</a>.

<li>More fixes from <a href=mailto:arc@sgi.com>Andrew Cherenson</a>
for compiling with SGI's C++ compiler.  Also fixed bug that
caused tcl run-time error when trying to "optimize colormap"
when grayscale rendering active.

</ul>

<hr>
<h3>v2.7a28  <i>Sun Nov 12 00:50:15 PST 1995</i></h3>

<ul>

<li>Fixed bug that prevented H.261 format button from being enabled
under XIL capture.  Problem reported by 
<a href=mailto:meyer@phloem.uoregon.edu>David Meyer</a>.

<li>Added support transmitting a static JPEG image from a file.
Contributed by <a href=mailto:olson@mcs.anl.gov>Bob Olson</a>.
You need to set <i>Vic.stillGrabber</i> to <i>true</i> in order
to get a <i>still</i> device in the Device menu-button.
When you select this device, a panel will be inserted in
the control menu to let you specify the file anme for
an RTP/JPEG type-0 frame.  This crude interface is
currently just for testing.

<li>Fixed compilation problems with SGI's C++ compiler.
Reported by <a href=mailto:arc@sgi.com>Andrew Cherenson</a>.

<li>Kevin Fall added support for ``fast Intra-H.261'' encoding using
JPEG hardware.  The idea is to use a JPEG board as a DCT engine
by Huffman decoding each JPEG MCU.  We then carry out conditional
replenishment in the DCT domain and hand the frame buffer of
DCTs to a modified H.261 encoder.  The trick is to convert 4:2:2
color decimated JPEG into 4:1:1.  This technology is described
in our 
<a href="http://www.cs.berkeley.edu/~elan/articles/pub/vgw.ps">
ACM Multimedia paper</a>.
(By default, this is currently disabled.  Enable it by setting
<i>Vic.useJPEGforH261</i> to true.)

<li>Fixed problem with object compatibility between distributed version
of grabber-rtvc.o and newer versions of gcc.  Workaround suggested
by <a href=mailto:Toerless.Eckert@Informatik.Uni-Erlangen.de>
Toerless Eckert</a>.

<li>Fixed bug with PAL/CIF input, reported by several testers.
16 pixels on either side of the image was incorrectly cropped.

<li>Added support for the Matrox Meteor Video adaptor, a PCI-based capture
board, thanks to <a href=mailto:james@allmalt.cs.uwm.edu>Jim Lowe</a>.
A driver is available (in source form) for FreeBSD.
See <a href=ftp://ftp.cs.uwm.edu/pub/FreeBSD/>
ftp://ftp.cs.uwm.edu/pub/FreeBSD/meteor*</a>.


<li>Fixed bogus error message when specifying "-n atm" with a vic binary
that doesn't have compiled-in ATM support.  Bug reported by
<a href=mailto:mark@taku.rc.hpy.f>Markus Backstrom</a>.

<li>Fixed bug that caused last_sr field in RTCP sender reports to be
miscomputed.  Reported by <a href=mailto:stewart@hibp7.ecse.rpi.edu>
Paul Stewart</a>.

<li>Fixed bug where SDES "note" attribute was not displayed
next to thumbnail as intended.  Reported by 
<a href=mailto:Craig.M.Votava@att.com>Craig Votava</a>.

<li>Fixed rate control stats (again) in transmission panel, which were
being updated incorrectly.

</ul>
<hr>
<h3>v2.7a27  <i>Tue Oct 17 02:49:29 PDT 1995</i></h3>

<ul>

<li>Forgot to re-configure solaris source directory, so the 
a26 solaris binary was bogus.  Re-released a26 as a27 for solaris.
(There is no change in the any source code between a26 and a27,
and thus no reason to update any of the other binaries.)
</ul>

<hr>
<h3>v2.7a26  <i>Mon Oct 16 23:23:09 PDT 1995</i></h3>

<ul>

<li>Fixed bug that caused bogus srcid generation on alpha (DEC's atoi
saturates it's result to 0x7fffffff so we use strtoul instead).

<li>Tried to make setting of q factor in cosmo grabber more robust.

<li>Fixed bug in external device menu button.  Instead of building selection
list when window is created, build it when menu-button is invoked so
user gets an up to date list.

<li>Fixed bug in jpeg decoder that caused core dumps when changing
the quality parameter.

<li>Added more validity checks to conference bus messages.

<li>Fixed bugs in compositor (which the title maker uses) introduced
by changes to CR scheme.

<li>Fixed rate control stats in transmission panel, which weren't
being updated.

<li>Added missing files to source distribution.

<li>Fixed bug that caused core dump in nv-compat mode.

<li>[internal]Factored out media-specific code from session.cc.  Ivs,
nv, and vat session handlers are all in separate modules now.  Created
separate video and audio session sub-classes since audio/video RTP
payload types are not disjoint.

<li>Changed multicast address of Conference Buses.  This avoids compatibility
problems with the old binary protocol, but has the disadvantage that
voice-switched windows need vat-4.0 or later.

</ul>

<hr>
<h3>v2.7a25  <i>Sat Oct 14 03:38:11 PDT 1995</i></h3>

<ul>

<li>Change algorithm that transforms a text string into an encryption
key.  We now use an md5 hash and the algorithm/key syntax suggested
by <a href=mailto:M.Handley@cs.ucl.ac.uk>Mark Handley</a>.
For example, DES1/secret-key implies the standard DES algorithm
with cipher-block chaining with key "secret-key" while
DES3/secret-key implies triple DES.  Added "DULL" encryption module
for test purposes and as an example for integrating modules.

<li>Fixed md5 header file (global.h) to set 32-bit typedef
appropriately for alpha; otherwise, it doesn't work correctly
(and encryption keys are synthesized incorrectly).

<li>[internal] Merged the Transmitter and SessionManager objects since
packet transmission depends on the session type.

<li>Fixed bug where parallax capture window was iconified while the grabber
was still able to send a frame.  Reported by
<a href=mailto:pallas@Apple.COM>Joe Pallas</a>.

<li>Merged patches from <a href=mailto:brezak@apollo.hp.com>John Brezak</a>
to compile again under HPUX.

<li>Added <a href=mailto:frederick@parc.xerox.com>
Ron Frederick's</a> DCT extension to the nv format, which gives
improved compression at higher run-time cost.  According to Ron,
this extension will be in the forthcoming RTPv2 version of nv.

<li>Added check for *rtpName and *rtpEmail resources at start-up.
If they don't exist, a dialog box queries the user and stores
the new values in ~/.RTPdefaults.  This seems like a more robust
(albeit annoying) approach compared to the heuristics of used
to find a fully qualified domain name.

<li>Changed thumbnail to relief to ridge and highlight border when mouse
enters window to indicate that a button-click will do something.
Suggested by <a href=mailto:elan@cs.berkeley.edu>Elan Amir</a>.

<li>Made many minor changes in order to share code between vic
and vat-4.

<li>Added a frame grabber for the SlicVideo SBus adaptor.
Contributed by
<a href=mailto:Toerless.Eckert@Informatik.Uni-Erlangen.de>
Toerless Eckert</a>.

<li>Added a new mechanism to present grabber specific controls in
the main menu.  If a grabber wants such controls, the corresponding
tcl procedure build.grabberName should exist (and build the UI).
grabberName is the device "nickname", e.g., build.slicvideo exists
to build the SlicVideo controls.  When the user switches devices,
the corresponding control panel is automatically removed and inserted
by tcl support code.  This extension suggested by
<a href=mailto:Toerless.Eckert@Informatik.Uni-Erlangen.de>
Toerless Eckert</a>, <a href=mailto:allas@Apple.COM>Joe Pallas</a>,
and others.

<li>[internal] Changed SessionManager::chkdup() to match sources who never
sent data so that sites that exit abnormally don't build up source table.

<li>Fixed some bugs in the conditional replenishment algorithm and changed
implementation to make it more intuitive.  Encoders no longer alter the
contents of the cr vector.  Also, extended the old model from two types
of blocks to three (motion, aged, and background), with three levels
of quality.

<li>Enhanced H.261 encoder to do adaptive quantization.  High motion areas
are sent at low-quality (for higher update rate), ``aged'' blocks are
sent at medium-quality, and background blocks are sent slowly at
very high quality.

</ul>

<hr>
<h3>v2.7a24  <i>Wed Oct  4 22:07:42 PDT 1995</i></h3>
<ul>

<li>Changed behavior of user interface when RTP message attribute
is present.  Instead of highlighting info button, replace the second
line of the thumbnail description with the message.  Revert
to CNAME info when message text goes away.
Suggested by <a href=mailto:Craig.M.Votava@att.com>Craig Votava</a>.

<li> Fixed cosmo grabber to search through hardware inventory list
and disable selector when no device is found.  Otherwise, CL calls
caused problems.  Reported by
<a href=mailto:Craig.M.Votava@att.com>Craig Votava</a>
and <a href=mailto:hoofar@sgi.com>Hoofar Razavi</a>.
Hoofar suggested the fix (which was to use SGI's getinvent() system call
and explicitly look for a cosmo board).

<li>Changed -lXext to appear before -lXvid on the link line because
parallax client library defines an XShmPutImage that doens't seem to work.

<li>[internal] Fixed CaptureWindow class to work in the absence of
  shared memory support.  Changed sense of xshm switch from NOSHM
  to USE_SHM because double negative was confusing.

<li>More fixes to configure search for X support thanks to
  Joe Pallas (Pallas@Apple.COM).

<li>Fixed race in window resize code.  Reported by Bob Olson (olson@mcs.anl.gov).

<li>Use Network::reset() hack under AIX.
</ul>

<hr>
<h3>v2.7a23  <i>Tue Oct  3 02:29:36 PDT 1995</i></h3>
<ul>

<li>Fixed bug that caused first value of a plotted statistic to be way too
  large so that the autoscaling left all the other data unreadable.

<li>[internal] Don't include <i>osfcn.h</i> anywhere.

<li>Added PAL selectors to window size menu.  Suggested by
  Toerless Eckert (Toerless.Eckert@Informatik.Uni-Erlangen.de).

<li>[internal] Factored out code shared among grabbers for capturing input
  video to an onscreen window.  In the new model, tcl creates the capture
  window and installs it in the grabber.  Revamped parallax and xv grabbers
  to use this approach.  Added supported to xv grabber for CIF and 411
  capture.

<li>Improved configure search scheme for locating X libraries and includes.
  Thanks to input from Toerless Eckert
	(Toerless.Eckert@Informatik.Uni-Erlangen.de).

<li>[internal] Added RGB_Converter class to be shared among grabbers that
  capture from the frame buffer in RGB format and convert to YUV.

<li>[internal] Removed grabber-tx.cc from distribution since it's been
  superseded by grabber-xv.cc.

<li>Finished implementing rtvc grabber support for listing multiple
  sunvideo devices in the device list as RTVC-0, RTVC-1, etc.

<li>Merged Bob Olson's patches for shared memory support under AIX.
  Fix additional problems with compilation under AIX 4.1.3 (as opposed
  to AIX 3).  Tweaked the xv grabber for AIX 4.1.3 and to compile
  without shared memory.
</ul>

<hr>
<h3>v2.7a22 <i>Sat Sep 30 12:16:21 PDT 1995</i></h3>
<ul>

<li>Fixed bug where failure to connect to jvdriver on decode-side resulted
  in a core dump.

<li>Added Vic.sdesList so you can specify which RTP SDES items you want
  to see in the info window.  Default is "cname tool email mesg".
  Also, display srcid in the info window.

<li>[internal] Added tcl hook so that decoder can assert that stream parameters
  have changed in a way that might affect the rendering modules.  For example,
  the RTP/JPEG type might change causing the output format to change from
  YUV-422 to YUV-411.  In this case, we might have disable hardware decoding
  (because the hardware doesn't support 411) or reallocate the software
  renderers because they depend on the decimation factor.

<li>[internal] Changed interface between vic and jpeg/h.261 decoders with
  respect to bookkeeping blocks that changed.  Now pass in a table
  that is filled in by the decoder, instead of using "render" call backs.

<li>Fixed bugs with -A.  "-A rtp" didn't work; added back "-A vic" for
  backward compatibility.  Reported by Toerless Eckert
  (Toerless.Eckert@Informatik.Uni-Erlangen).

<li>Added Use-Hardware button (in display panel) to control whether we
  use hardware decoding when possible.  Created Vic.useHardwareDecode
  resource to set initial disposition of Use-Hardware button.

<li>Removed Vic.sunvideoDevice X resource and instead look for all available
  devices at startup so they are selectable from user-interface.  (Default
  can be selected with Vic.defaultDevice, e.g., by setting it to RTVC-1.)

<li>Renamed "Decoder" panel "Display" and improved layout.
</ul>

<hr>
<h3>v2.7a21  <i>Thu Sep 28 00:28:53 PDT 1995</i></h3>
<ul>

<li>Added support for IBM's Ultimedia Video I/O Adaptor under AIX, thanks to
  Bob Olson (olson@mcs.anl.gov).

<li>[internal] Fixed adios() so vic gracefully exists when interrupted.

<li>Better handling of -with-* args to configure and a few
  more fixes for AIX from Bob Olson (olson@mcs.anl.gov).

<li>Fixed bugs introduced by last round of bug fixes to encryption
  key manipulations.  Reported by Craig Votava (Craig.M.Votava@att.com).

<li>[internal] Changed grabber/encoder API so that we can insert arbitrary
  processing modules between the capture device and the encoder.  We now
  pass around frames as typed objects to the consume() method of generic
  Module class.  Frames are self-describing so we no longer need the
  control API (e.g., setparams() and size()) between the grabber and
  encoder.  This architecture arose from discussions with Kevin Fall
  (kfall@ee.lbl.gov).

<li>[internal] Changed decoder/renderer API as above.
</ul>

<hr>
<h3>v2.7a20  <i>Tue Sep 26 22:44:09 PDT 1995</i></h3>
<ul>

<li>Fixed bugs with -K and -t (for ttl > 16) reported by Craig Votava
  (Craig.M.Votava@att.com).

<li>Changes to configure.  Can now specify paths to tcl,tk,blt source
  trees using -with-tcl=pathname etc.  Always use -g with gcc.

<li>Ported to AIX.  Patches contributed by Bob Olson (olson@mcs.anl.gov).
  Bob also supplied patches to bring linux support back in line.

<li>Fixed bug in net-ip.cc.  IPNetwork::open() was returning garbage.
  Fix from Bob Olson (olson@mcs.anl.gov).
</ul>

<hr>
<h3>v2.7a19  <i>Tue Sep 26 14:44:19 PDT 1995</i></h3>
<ul>
<li>Fixed bug that caused core dump in send_report() when device released.

<li>Fixed bug in parallax grabber introduced with changes from v2.7a14
  to v2.7a17.  Thanks to Jason Lee (Jason_Lee@lbl.gov).

<li>Added nv's halftoner to support monochrome displays.  Elan Amir
  (elan@cs.berkeley.edu) ported the nv code to vic.

<li>Clarified warning message printed when *rtpEmail resource not defined.

<li>Disabled bvc button until we get the bvc codec in better shape.

<li> Changed cosmo and IndigoVideo grabbers to probe the device at 
  startup and disable their selector in the user-interface if
  not available.  Bug fix from Hoofar Razavi (hoofar@sgi.com).

<li>Fixed bug with switching capture devices when a device was already
  opened.  Fix from Bob Olson (olson@mcs.anl.gov).
</ul>

<hr>
<h3>v2.7a17 <i>Sep 25 09:39 PST 1995</i></h3>
<ul>

<li>Added support for the Parallax jpeg adaptor (both JPEG and
  standard capture are supported).  Contributed independently
  by Joe Pallas (Pallas@Apple.COM) and Sai Rathnam (rathnam@cse.ogi.edu).

<li>Added a "Message" form to the control window so that user's can leave
  a descriptive message on the state of the transmission (for example,
  "out of office" or "meeting resumes at 2pm").  When the message is
  present in a stream, the corresponding "info" button is highlighted,
  which invokes the info window containing the text.  (These messages
  use RTPv2 TXT SDES items.)

<li>Added Vic.sunvideoDevice X resource to indicate an alternative device
  to use.  Set it to a small integer n to tell vic to use device
  /dev/rtvc{n} and /dev/rtvcctl{n}.  This change suggested by Hanan Herzog.

<li>Added support for sending decoded video to an external (analog) output
  port under SGI VL (for example, SGI's galileo board has a composite
  output jack).

<li>Changed the default format to H.261.

<li>Added encryption hooks.  You need to obtain a DES library elsewhere
  in order to build a vic with encryption support.

<li>Improved statistics displays with a legend and the ability to plot
  (via a stripchart) multiple statistics simulataneously.  A stripchart
  is created in a separate window by clicking on the name of the
  desired statistic.  Added an "info" window without the clutter of
  all the stats.

<li>Added a "Decoder panel" to the control menu with several controls for
  manipulating vic's decode-side functionality.  You can now interactively
  select the dithering algorithm on an 8-bit display to dynamically change
  the number of colors used by vic.  For example, if you want to run a
  color-intensive application but leave vic up, you can select the "Gray"
  dithering option, run your application and when done, revert vic back to
  color dithering.  You can also adjust the gamma factor.  If you set
  the gamma factor to 1.0 and select and "ordered dither", vic will use
  the standard 5x5x5 color cube.  Since other applications use this same
  cube (e.g., wb, gs, and nv), you are less likely to run out of colors
  because of colormap conflicts.  These controls are disabled when your
  running on an 24-bit or mono display.

  With these changes, you no longer specify the dithering algorithm
  using Vic.colorModel.  Instead, you specify a visual with Vic.visual
  (i.e., truecolor, pseudocolor, etc) or with -V or -Xvisual (e.g.,
  -Xvisual=truecolor).  For 8-bit pseudcolor visuals, the default
  dithering algorithm is specified with Vic.dither (or -c, or -Xdither),
  but can be overridden in the user-interface (as explained above).
  The visual cannot be changed after startup.

<li>Added a "Save-CPU" toggle-button under the viewing-window "Modes" pulldown
  menu, which reduces the update rate of the window.  This allows you to
  open a local looped back window for monitoring the outbound transmission
  without incurring the cost of rendering every frame in real-time.

<li>Changed "for" statement conventions to adhere to the proposed ANSI
  standard change which re-defines the lexical scope semantics of the
  initializer statement as described in 

	http://www.cygnus.com/~mrs/wp-draft/stmt.html#stmt.for

  In order to be compatible with both the old and new semantics, we have
  changed all instances of

	for (int i = ... ) ...
	use(i);
  to
	int i;
	for (i = ... ) ...
	use(i);

<li>Ported to tk-4.0.  You'll need BLT-1.8 to build vic from source.
  An unofficial BLT-1.8 is available from http://www.cs.uoregon.edu/jhobbs/.

<li>Merged changes from Michael Speer (speer@eng.sun.com) to compile
  with Sun's C++ compiler.

<li>Deleted -r option (for RTIP) and added more generic -n option to
  specify the communications protocol underneath RTP.  "ip" (for IP
  or IP Multicast), "rtip" (for Tenet RTIP), and "atm" (for the Fore
  SPANS ATM API) are supported.

<li>Added Vic.defaultDevice X resource to specify initial selection
  of device when multiple devices are present.

<li>[internal] Migrated voice-activated switcher code from C++ to tcl.

<li>Added code to randomize the RTP initial sequence number and media
  timestamps to foil plaintext attacks in case encryption is used
  (as specified in the RTP spec).  Choose a heuristic random seed
  using an MD5 hash as suggested in the spec.

<li>Eliminated support of unidirectional RTIP connections
  (i.e., connections are now always esatblished in both directions).

<li>Changed VL module to query available devices and list each
  device separately in the control panel.  Also, added code to
  query the available input ports and dynamically configure the
  port menu accordingly.

<li>Changed RTP presentation timestamps to the 90Khz format agreed upon
  at the July 1995 Stockholm IETF.

<li>[internal] Fixed bug where a garbage video stream (e.g., from an
  encryped session) could cause rendering code to fault.  Problem
  is that rendering code assumes (possibly scaled) output image
  width is an integral multiple of four (which is true for the
  range of supported scales and the geometries of standard video
  streams).  Since this is a pathological condition, the fix is
  to simply disable rendering of such streams thereby avoiding
  the software fault.  In theory, non-standard video sources
  (like X screen captures) could fall into this category and
  hence appear as a "gray window".  This problem reported by
  Ian Wakeman (I.Wakeman@cs.ucl.ac.uk).

<li>Added support for point-to-point ATM transport via Fore's API,
  thanks to Anastasio Andrea Scalisi (scalisi@mailer.cefriel.it).
  In the process of integrating this code, reworked network object
  support so that new network abstractions can be more easily added.
  Added -n flag to specify network type.  For example, "-n ip",
  "-n atm", and "-n rtip" are currently supported (ip is the default).

<li>Added hack to be able to utilize two DEC JPEG boards simultaneously.
  The environment variable JVIN_PORT specifies the jvdriver port number
  to connect to for the capture board.  The decode side uses the
  default port.  This change contributed by Lance Berc (berc@pa.dec.com).

<li>Deal gracefully with shared memory allocation failures.  Added code
  to print out an error message and revert to non-shared buffers.

<li>Fixed bug in voice-switched windows where a speaker without a video
  stream would cause the window to be switched to the first thumbnail.

<li>Added validity check for new packet stream.  Only accept a new
  source when we've seen two in-sequence packets; suggested by
  Ian Wakeman (I.Wakeman@cs.ucl.ac.uk).  This check prevents vic
  from allocating an unbounded number of demultiplexing data structures
  when confronted by a stream of garbage (e.g., such garbage results
  when listening to an encrypted session without the key).

<li>Changed reception reports loss semantics to conform to 3/21/95
  RTP draft (draft-ietf-avt-rtp-07.txt) (in particular, the
  extended highest seqno received field, the loss fraction, and
  the cumulative loss fields of the reception report were updated).

<li>Added check for duplicate packets in common receive path so that
  they are now reported in the stats window for all compression formats.

<li>Added support for SGI Cosmo JPEG board.  Because this board was designed
  for non-linear video editing, it has large latencies that preclude
  good interactive operation.

<li>[internal] Moved code to allocate framer buffers etc., which is shared
  among all the grabber subclasses, into the grabber base class.
  Changed the way grabbers specify their attributes; they simply
  return a nested tcl list.  Reorganized all tcl-style objects
  (i.e., widgets that implement tcl commands) so that they derive from
  a shared TclObject base class.  Support hardware assisted decoding
  via new Assistor class (instead of having separate Decoder objects).
  Assistors are analogous to Renderers; the latter support software decoding.
  Revert to model where there is only one Decoder object per incoming stream.  

<li>[internal] Reworked the way encoders and grabbers are allocated
  to make it easier to add support for the encode-side of a new format.
  Suggested by Joe Pallas (Pallas@Apple.COM)

<li>Fixed bug that caused crash using DEC j300 hardware JPEG decoder.
  Problem was that default Vic.jvColors was not defined.
  Reported by Stefan Savage (savage@cs.washington.edu).

<li>Changed video capture modules to embed NTSC sized images into CIF sized
  frames with a gray border instead of using ugly scaling.  PAL is still
  handled the same way (i.e., 16 pixels from each line are discarded).

<li>Changed default position on frame rate slider from two to eight.

<li>Added support for native size 4:1:1 YUV grabbers
  (i.e., not just CIF dimensions).

<li>Added support for the VigraPix frame grabber.  Thanks to
  Steve Haehnichen (steve@vigra.com) and Vigra for the
  donation of a board.

<li>[internal] Changed CR to operate on 16x16 instead of 8x8 blocks.

<li>Changed perceptually weighted H.261 quantization.  Previous scheme
  that folded the weighting in with the DCT quantization was deficient
  because in addition to increasing the dead zone, it threw away
  bits unecessarily (and the loss of these bits was not captured
  by the h.261 entropy coder).  Instead, we now increase the dead
  zone using perceptual weighting after we do quantization.

<li>Fixed bug in conditional replenishment algorithm.  CR decision was
  based solely on the first 8 pixels of every block, so motion of
  small items (like pointers) left artifacts behind.  Fix was to
  advanced CR scanline pointer (as intended in the algorithm).

<li>Updated H.261 framing to conform to July 1995 Internet Draft "RTP payload
  format for H.261 video streams" (draft-ietf-avt-h261-01.txt).  Maintained
  backward compatibility with ivs encoder by using the RTP version number
  to imply the old encapsulation format.  Once ivs switches to RTPv2,
  we can abandon the GOB reassembly code.

<li>Patched memory leak in nv encoder.  Thanks to Bernd Lamparter
  (lampart@ICSI.Berkeley.EDU) and Wieland Holfelder (whd@ICSI.Berkeley.EDU).

<li>Fixed bug where checkXshm was not detaching the test shared-segment
  in the X server.  The X server could see two XShmAttach's with
  the same shmid (one readonly the other read/write), and the prior
  one becomes invalid.  Bug fix from Srinivasan Seshan (ss@cs.berkeley.edu).

<li>Added check for session packets arriving on data port.  This should
  eliminate the gray windows with fmt-0x1 and fmt-0x0 as the media type.

<li>Fixed bug where source sequence number was reset to 0 when changing
  the compression format.  This would cause receivers to reset their
  packet counts, which in turn, caused inconsistent reception reports.
  Problem reported by Paul Stewart (stewart@hibp6.ecse.rpi.edu).

<li>Shared memory with the X server now works under BSD/OS 2.0.
  Unfortunately, the BSD/OS 2.0 X server is not compiled with the
  XShm extension.  You might ask Srinivasan Seshan (ss@cs.berkeley.edu)
  for a pre-compiled XFree86 server, if you don't feel like building one
  from scratch.

<li>Fixed session message timestamps to conform to NTP epoch instead of
  unix 1970 epoch.  Bug reported by Bernd Deffner (deffner@fokus.gmd.de).

<li>[internal] Fixed bug where rtpv2 source tcl-methods were derived from
  the RTP SSRC.  This caused numerous problems when sources would come
  and go (or when SSRC's collided, which is relatively common with the
  heuristic to generate them in rtpv1 compat mode).

<li>Changed semantics of -u.  File argument to -u is sourced after the
  built-in tcl script.  Previously, -u completely overrided built-in
  script.

<li>Added code to source $HOME/.vic.tcl if it exists.  This file is sourced
  after the built-in tcl script, but before the file argument to -i.
  Suggestion from Bill Fenner (fenner@parc.xerox.com).

<li>[internal] adaptive load rendering

<li>Fixed several bugs in RTCP packets.

<li>[internal] Made it easier to add new decoders.  A new format can be
  supported without having to change any existing code.  Design change
  suggested by Joe Pallas (Pallas@Apple.COM).

<li>[internal] Established convention that all YUV image buffers are contiguous
  so that chroma offsets can be computed where needed (and only a single
  pointer need be maintained).

<li>[internal] Reimplemented switcher architecture in tcl and created
  generic Conference Bus object.

<li>Changed semantics of -u option so that file argument is sourced in
  addition to (rather than in place of) the built in tcl code.

<li>Incorporated Garrett Wollman's (wollman@lcs.mit.edu) patches for FreeBSD.

<li>Fixed some problems with the VL grabber.  Added PAL CIF support
  and code to choose from set of allowable frame rates (frame rate
  problem reported by many - thanks).  Deleted vlSelectEvents call.
  Fixes from Andrew Cherenson (arc@sgi.com).

<li>Converted configuration scheme to use GNU autoconf.  If you encounter
  problems running ./configure, please see if you can fix things by
  modifying configure.in and running autoconf
	  (avaialable in ftp://prep.ai.mit.edu/pub/gnu/autoconf*).
  Then, send us your fixes so vic's configure script will work out of
  the box for you in the future.

<li>Changed binding on pull-down menu buttons so that you can click on
  button a second time to make the menu go away.  This change suggested
  by Pat Parseghian (pep@research.att.com).

<li>Fixed xil grabber to conform to Solaris-2.4 API.  Problem
  reported by David Meyer (meyer@network-services.uoregon.edu)
  and Michael Mealling (Michael.Mealling@oit.gatech.edu).

<li>Changed Vic.defaultRate to Vic.framerate to make less ambiguous,
  and fixed explanation in man page, which was bogus.  Reported
  by Pat Parseghian (pep@research.att.com).

<li>Fixed bug with default format (it was never used).  Reported by
  Pat Parseghian (pep@research.att.com).

<li>Fixed bug where color button would get out of sync with actual color
  disposition when changing encoding formats.  Reported by Pat Parseghian
  (pep@research.att.com).

<li>Bring IndigoVideo module up to date.  Changes from Andrew Cherenson
  (arc@sgi.com).

<li>Ported to Linux, thanks to patches from Vesa Ruokonen
  (Vesa.Ruokonen@lut.fi).

v2.6beta Mon Dec  5 00:26:42 PST 1994

<li>Changed VIC.SD.TCL script to use ivs (instead of vic in ivs compat mode)
  by default, since ivs' rate control scheme depends on feedback reports
  that vic does not generate.

<li>Made H.261 decoder more robust to packet loss and reordering.
  Problem reported by terje.vernly@usit.uio.no.
 
<li>Upgrade release status from ALPHA to BETA.

<li>Incorporated John Brezak's (brezak@apollo.hp.com) changes to
  support generic Xvideo devices.  He says:
 <ul>
	<li>	You need a fixed libXv.a (get the source from ftp.x.org and
	 	apply patch in grabber-xv.cc)

	<li>	Haven't implemented cif_grabber(). Maybe next week.

	<li> 	There are 2 config options - XV_PSEUDO8 and XV_USES_XSHM .
		XV_PSEUDO8 is for allowing an 8bit visual to be used to
		upply a capture window for a 24bit image. HP does this.
		XV_USES_XSHM is for an Xv extension that can use the SHM
		versions of image operations. Parallax currently doesn't
		support this on HP.
 </ul>

<li>Incorporated Greg Earle's (earle@isolar.Tujunga.CA.US) and
  Paul Kranenburg's (pk@cs.few.eur.nl) (independent) patches
  for NetBSD/sparc.  

<li>Fixed bug that caused core dump when deleting local thumbnail.
  Report by George Michaelson (G.Michaelson@cc.uq.oz.au).

<li>Fixed "can't unset name_line" bug.  Reported by
  Steve Casner (casner@isi.edu) and others.

<li>Fixed bug that caused video capture to hang when switching input
  ports with SunVideo.  Reported by speer@eng.sun.com (Michael Speer).

<li>Fixed VIC.SD.TCL to generated -I options correctly for voice-switched
  operation.  Bug report and fix from a61@nikhef.nl (Herman van Dompseler).

<li>Arranged for viewing windows to be remapped without user placement
  at the same location and size when dismissed (suggestion from
  George Michaelson).

<li>Fix bug that unecessarily caused decoder data structures to be
  created and destroyed when initializing a new stream (fix from
  Bernd Lamparter (lampart@ICSI.Berkeley.EDU)).

<li>Fix bug that caused error message when invoking release button
  at wrong time.  Reported by a61@nikhef.nl (Herman van Dompseler).

<li>Fix bug that caused error message when invoking lock button
  at wrong time.  Reported by Dan Molinelli (moline@gumby.sp.TRW.COM)
  and several others.
</ul>

<hr>
<h3>v2.5alpha <i>Wed Nov 30 01:41:55 PST 1994</i></h3>
<ul>
<li>sd.tcl script was wrong - vj used a "switch" construct in a "case"
  command which doesn't work.  also forgot to say "global vic" before
  using $vic.

<li>wasn't supplying correct timestamp in session messages in nv compat
  mode so nv-3.3 would occasionally 'lock up' ignoring either session
  or data packets.  (bug reported by George Michaelson)

<li>made first cut at support for 32-bit visuals (e.g., parallax card).
  (problem reported by Steve Casner)

<li>fix long-standing bug in h261 decoding: were not swapping front & back
  buffers if only leftmost mba of gob was rendered.  (problem reported
  by Graeme Wood)

<li>was never using shared memory to talk to x server because of stupid
  initialization error.  (bug & fix suggested by Greg Earle)

<li>don't drop core in strlen() if we're given a video format we don't
  know about.
</ul>

<hr>
<h3>v2.4alpha (no v2.3) <i>Tue Nov 29 04:53:15 PST 1994</i></h3>
<i>(First public release)</i>
<ul>
<li>Added -P command line argument to force use of private colormap.

<li>Added the -X command line argument.  "-X resource=value" will override an
  arbitrary vic resource on the command-line.  Removed -e and -p options.

<li>[internal] Reworked packet demultiplexing code so that it is independent
  of vic, eventually allowing it to be shared by other applications (i.e.,
  vat, wb, etc).  The motivation is to share as much code as possible
  with vb.

<li>Fixed usage message.

<li>Added support for -o, which dumps locally sourced video to an RTP
  clip file.

<li>Added Vic.filterGain resource for controlling time constant on
  bit-rate, frame-rate, and loss estimators.  Default is 0.25.

<li>Changed menu popup to have generic layout indepedent of capture device.
  Portions of the interface are enabled or disabled by querying the device
  to see what features are supported.

<li>Fixed H.261 encoder to do GOB-oriented rather than frame-oriented
  fragmentation.

<li>[internal] Added traffic smoothing so packets are evenly spaced
  across a frame time.  This adds latency but is necessary given
  the current constraints of Internet routers.

<li>[internal] Do second cut on rtp/jpeg reassembly code.  This version
  does a reasonable job with misordered packets etc.

<li>[internal] Reorganized grabber/encoder architecture so that conditional
  replenishment algorithm is carried out by the grabber.  This saves bus
  bandwidth because blocks that are to be suppressed need not be copied
  from the grabber specific format to the format expected by vic.  If the
  capture device uses programmed I/O, there is little advantage but no
  disadvantage.  You might think this would complicate the grabbers, but
  most of the work is carried out by a generic macro.

<li>[internal] Converted bstrings routines to posix equivalents.

<li>Changed the polarity of -H, which nows means use hardware decoding
  if available.  The default is not to use hardware assist (see the
  man page for an explanation).

<li>Added support for error-diffusion dithering, thanks to Elan Amir.
  Error diffusion dithering is now the default rendering technique
  on 8-bit color displays.  You can revert to the ordered dithering
  technique (similar to that used in nv) by specifiying the "od"
  color model with the Vic.colorModel resource or the -c command option.
  Error-diffusion runs somewhat slower than the ordered-dither but the
  quality is higher.

  Also added support for computing statistically optimized colormaps using
  Heckbert's median cut algorithm.  You can invoke the colormap optimization
  from the "Colors" panel in the control menu.  This causes vic to compute
  a color histogram across all unmuted video streams.  The histogram is then
  passed to a separate program (vic_colord) to carry out the median cut.
  We fork off a separate process because the computation is CPU intensive
  and will block the user-interface if not run as a separate thread.

<li>Changed 24-bit display code to use full 24-bit precision instead
  of a 16-bit lookup table (thanks to Van Jacobson).

<li>[internal] Reworked the way windows are sync'd to the frame buffer.

<li>Use private colormap when default colormap is too full.

<li>Compile with gcc-2.6.0 under DEC OSF.  DEC's C++ compiler is no
  longer supported.

<li>[internal] Changed ppmtolut and color-lut.cc to use convention that
  grays are explicit in the stored color map.

<li>Added support for simple INTRA-only H.261 encoding.

<li>[internal] Major changes to DCT code and software decoders for
  substantial speedups.  Employ Arai, Agui, and Nakajmia's 8pt 1D DCT,
  from Fig. 4-8 Pennebaker & Mitchell (i.e., the pink JPEG book).
  By computing scaled DCTs on each of the column and row passes
  and folding the descaling step with quantization step, only five
  multiplies per 8-pt DCT are required, resulting in a 90-multiply
  8x8 DCT.  Thanks to Martin Vetterli for explaining how to do this.

<li>Fixed bug that caused core dump if there is no USER enviroment variable
  defined (and  Vic.sessionName is not defined).  Some shells don't define
  USER (i.e., ksh under solaris).

<li>[internal] Reworked speedups in software jpeg decoder.  Instead of
  caching mappings between huffman strings and decoded blocks (which
  required an infeasibly huge hash table for good quality video), we
  reduce load by skipping over any block that is sufficiently similar
  to the same block that's currently displayed.  The similarity
  comparison can be carried out cheaply in the quantized, DCT domain.

<li>Change thumbnail frame rate to report decoding frame rate when
  not disabled and receiving frame rate when disabled.  The decoding
  rate can be lower than the receiving rate if the local cpu can't
  keep up with the source, or if there are no active windows (besides
  the thumbnail) which means we don't have to decode every frame.

<li>Modified thumbnail/info window so that sites are always sorted
  in lexicographic order (by rtp NAME attribute).

<li>Modified thumbnail/info window to tile according to the number of
  columns specified in the "Tile..." pulldown in the Menu window.  
  The default value is 1, and can be overridden with the the Vic.tile
  resource.  You can also type a number into the thumbnail window
  as a shortcut.

<li>If 75dpi fonts aren't available, change all fonts to wildcard the
  pitch.

<li>Sourcing video from clip files is no longer supported.  This functionality
  is now provided by rtp_play.

<li>Added source rate statistics to transmission panel in menu window.
  This way you can monitor how fast you're sending even if the loopback
  decoding can't keep up.

<li>Added Vic.defaultFormat resource to set the default video transmission
  format.  If not specified the default is determined by your capture
  hardware (for example, jpeg is default if you have jpeg hardware ).

<li>Ported to Solaris 2.3.  Added XIL support for raw capture and JPEG, H.261
  and CellB hardware capture (the sunvideo card currently doesn't implement
  H.261).

<li>[internal] Generalized jpeg decoder to deal with arbitrary decoder
  parameters (and subclass special cases to optimize).  In particular,
  we can now deal with 4:1:1 jpeg, which the SunVideo produces.

<li>Add code to distinguish between j300 and jvideo and for the latter
  to disable non-JPEG formats and 1:1 decimation.

<li>Added code to receive path to always deal with RTP version 1 packets
  properly.

<li>[internal] Created SoftwareDecoder, PlaneDecoder, and SoftwareRenderer
  sub-classes so that a bunch of common code could be shared among the
  decoders.

<li>[internal] Broke out block suppression code into separate sub-class
  so it can be shared among the nv, nvm, and cellb encoders.

<li>Small change to architecture to cope with dynamic geometry and video
  format changes.

<li>Ported to DEC OSF/1 v2.0.

<li>Added CellB support (based on the code in nv and the RTP/CellB
  Internet Draft).  Sped up the encoder by a factor of two by
  using straight-line code instead of conditionals in the Y/Y VQ
  computation.  Changed the U/V VQ to use straight subsampling
  instead of LPF/subsampling since the chroma planes usually have
  little high frequency energy (and visual comparisons show
  negligible gain).  Sped up decoder by replacing conditionals
  with straight-line code.  But the biggest improvement was to run
  the conditional replenishment algorithm in the pixel domain instead
  of the cell domain.  There is little hope of doing good temporal
  compression on quantized values, because the quantization noise
  is approximately a random process with variance proportional to
  the quantizer step size, and this additive noise will completely
  defeat the conditional replenishment algorithm.  Running the
  differencing in the pixel domain will give much more effective
  temporal compression, which reduces network bandwidth and saves
  CPU cycles.

<li>Fixed bug that caused nv & ivs senders to never be deleted from
  the main window.

<li>Changed model so that video capture device is opened first time
  transmission is invoked, as opposed to at start-up.  Still need
  to implement device sharing as vat does with non-shareable audio
  hardware.

<li>Fragment JPEG streams instead of letting IP do the fragmentation.
  RTP/JPEG protocol still in limbo.

<li>Changed semantics for clicking on thumbnail.  If the site is already
  being displayed (in locked mode), the corresponding window is deleted.
  Otherwise, it is created as before.  This gives toggle-like behavior
  as in nv.

<li>Always use vanilla rtp headers instead of vic-specific packet format.

<li>Improvements to ordered dithering code.  Incorporated Ron Frederick's
  model from nv v3.3alpha, i.e., to fold the dither matrix into the
  color-to-pixel lookup table.  Van sped up this code by incorporating
  his hacks from the 24-bit color code.

<li>Improvements to user interface.  Looks more like vat now.

<li>Added -c to specify the color rendition technique.
  
<li>Added support for 24 bit displays (thanks to Van Jacobson).

<li>Added support for pip/tx grabber on decstations.

<li>[internal] Reworked grabber/encoder architecture.  Added Device class.
  Arranged for most action to be initiated via tcl "device" command.

<li>[internal] Reworked jv grabber so that SharedVideoImage class allocates
  the shared memory.  This means won't match the mme grabber model 
  (i.e., the mme server will do the memory allocation), but that's
  okay since the right way to handle this is derive an MmeVideoImage
  from a SharedVideoImage.

<li>[internal] Changed all tcl grabber hooks to use the "grabber" command.
  Subclasses can catch invocations via the virtual method
  Grabber::command(argc, argv).
  
<li>Changed -f to -u to be compatible with vat (since vat already used
  -f for audio format).  Changed previous -u flag to -U.  Changed
  "-e encoding" to "-f format" to be consistent with vat.

v2.2alpha Tue Nov 23 15:20:59 PST 1993

<li>Added support for decoding H.261 video.  (The encoder isn't implemented yet.)

<li>Added the -A flag.  '-A nv' for nv compatibiliry; '-A ivs' for ivs 
  compatilibility.  Took away '-n'.

<li>Fixed bug introduced in 2.1a that caused core dump on window resize.

v2.1alpha Tue Nov 9 14:52:59 PST 1993

<li>Fixed bug that caused sparc-10 core dumps during xunet conference.

<li>Default JPEG decoder to color output instead of gray scale.

<li>Allow control window to be vertically resized.

<li>Fixed conference title bug.  Default addr/port version wasn't displayed.

<li>Fixed bug that caused 12 bytes of garbage at front of nv packets.

<li>Fixes to compile with gcc under DEC/OSF.

<li>Update to tcl7.1/tk3.4.

<li>First cut at man page; needs much more work.

<li>Eliminate chud at bottom of J-Video windows that are 232 pixels
  high instead of 240.
</ul>

<hr>
<h3>v2.0alpha <i>Tue Oct 19 17:48:26 PDT 1993</i></h3>
<ul>
<li>Initial alpha binary release to xunet sites.
</ul>

<hr>
<a href=vic.html>[Return to main vic page]</a>
</body>
</html>