Tuesday, June 23, 2020

Sun Microsystems - CELL-B encoding from 1992




https://github.com/johnsokol/holiday_greeting_1992

holiday_greeting_1992

Sun Micro Systems - Scott McNealy , First Global Internet Stream December 1992.
I need a old copy of Solaris 2.4 or 2.5 on a SparkStation or emulator to capture an Mpeg4 of this.
We tried QEMU and the video played, but no audio...
player will play TESTME or holliday greeting 1992 files out to local audio and standard Xwindow.
Still looking for the source code for these, but it's been lost in time. 
This should be a precursor to : Sun's CellB Video Encoding rfc2029
"CellB, derived from CellA, has been optimized for network-based video applications. It is computationally symmetric in both encode and decode. CellB utilizes a fixed colormap and vector quantization techniques in the YUV color space to achieve compression."

https://tools.ietf.org/html/rfc1890

5.1 CelB

The CELL-B encoding is a proprietary encoding proposed by Sun Microsystems. The byte stream format is described in work in progress [12]. The author can be contacted at Michael F. Speer Sun Microsystems Computer Corporation 2550 Garcia Ave MailStop UMPK14-305 Mountain View, CA 94043 United States electronic mail: michael.speer@eng.sun.com

  [12] M. F. Speer and D. Hoffman, "RTP payload format of CellB video
       encoding," Work in Progress, Internet Engineering Task Force,
       Aug.  1995.




https://tools.ietf.org/html/draft-ietf-avt-profile-04   March 24, 1995 It is not permissible to use distinct payload types to multiplex several media concurrently onto a single RTP session (e.g., to concurrently send PCMU audio and CelB video over the same RTP session). Some payload types may designate a combination of both audio and video, both within the same packet or differentiated by information within the payload. Currently, the MPEG Transport encapsulation is the only such payload type. 


     CelB: The CELL-B encoding is a proprietary encoding proposed by Sun
          Microsystems. The byte stream format is described in RFC TBD.


Source code was published in the drafts, but later removed, 
Upon further investigation there are 2 version of the code, but other then doing 
variable cleanup like u_char is now U_INT8 not much has changed. 

draft-ietf-avt-cellb-05.txt 
draft-ietf-avt-cellb-06.txt  
draft-ietf-avt-cellb-profile-01.txt  This is the only one that mentions NetVideo. 
draft-ietf-avt-cellb-profile-02.txt  
draft-ietf-avt-cellb-profile-03.txt    (all the rest are the same code) 


This code after resolving countless build issues is missing the tables making it almost unusable
as is, although there are Sun documents that explain the format. 

but finding working code is way faster then reconstruction a dead format from what looks
 like an incomplete set of specifications. 


I found the source code for the CellB codec in VIC,
 a Lawrence Berkeley National Labs , White board and video conferencing Application done in 1993/4


decoder-cellb.cc
encoder-cellb.cc
cellb_tables.c

I later also found a copy in the source code for NV will I will soon post a link for.

No comments: