The Lurker's Guide to Video

Welcome to the Lurker's Guide, a repository for the little-known, undocumented knowledge that you need in order to write any sort of video app on SGI machines. This Guide is not for the squeamish. Some of the material contained in here may be too graphic, or possibly even too useful, for the average educated computer science professional. We hear that some of this information might even survive the PSFP (Positive Spin Filtration Process) and make it

into official documentation.

This collection of documents does not represent SGI, and is not an official SGI publication. The entire contents of this document are the personal observations, and/or opinions, of the lurkers. All errors and opinions in it are ours alone. SGI makes no guarantees about anything in this document. Neither do the lurkers. You use it at your own risk.

Places to read the Lurker's Guide:

Video on SGI: Concepts, Definitions and Parameters

Tips for Writing SGI Video Applications

SGI Video Devices

  • Taxonomy of the ev1 and cosmo1 Boards
    • What are all those boards like Galileo Video, Indy Video, and Indigo2 Video, and how are they different?
    • What jacks do they have?
    • How does Cosmo Compress fit in?
  • Taxonomy of the ev3 and cosmo2 Boards
    • What is Impact Video?
    • What is Impact Compression?
    • What happened to ev2?
  • Notes on Video Input for O2 Systems (mvp)
    • MVP input jacks
    • Programming video to memory transfer
    • Dealing with the O2 Camera

Video and OpenGL on O2

  • DMbuffers for Video and OpenGL
    • What is a dmbuffer?
    • What are the relevant image formats?
    • How do you set up a pool of buffers?
    • How to you use them with video?
    • How do you use them with graphics?
  • Rendering graphics onto video
    • How the video path is set up.
    • How graphics is set up.
    • How to handle fields with stencils.
    • How to handle fields with glPixelZoom and glCopyPixels
    • Rendering in the YCrCb color space
    • Rendering directly onto video
    • Blending onto a video frame
  • Using Live Video as Texture
    • Setting up the video path
    • Creating the digital media pbuffer
    • Creating the buffer pool
    • Getting the video frame
    • Loading the video frame as texture

Time and Synchronization on SGI Machines