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>
|