Lurker's Guide - lurkertech.com
lurkertech.com Lurker's Guide

Welcome to the Lurker's Guide to Video, a repository for the little-known, undocumented knowledge that you need in order to write any sort of useful video software.

The Lurker's Guide began in the 1990s as a guide to video software on SGI (Silicon Graphics) machines. Although SGI is long gone, several of the articles continue to be popular and relevant as they explain videosyncrasies that still apply today; you can find those articles just below, followed by the original SGI Lurker's Guide.

Support This SiteHas this site helped, informed, or amused you? Please support my work and ongoing site improvements in one of these ways:
donate now   Donate Now
Use your credit card or PayPal to donate in support of the site.
get anything from amazon.com
Use this link to Amazon—you pay the same, I get 4%.
get my thai dictionary app
Learn Thai with my Talking Thai-English-Thai Dictionary app: iOS, Android, Windows.
get my thai phrasebook app
Experience Thailand richly with my Talking Thai-English-Thai Phrasebook app.
get my chinese phrasebook app
Visit China easily with my Talking Chinese-English-Chinese Phrasebook app.
get thailand fever
I co-authored this bilingual cultural guide to Thai-Western romantic relationships.
GuideHere's some popular Lurker's Guide material, updated for modern video standards:
programmer's guide to video systems
What every programmer must know about 480i, 576i, 1080i, and 720p.
all about video fields
What is interlaced video and why do I care? Field dominance? Kinky...
square and non-square pixels
I can't believe we still have to deal with non-square pixels!
timecode
Understand the different flavors of timecode used for video.
SGI GuideHere's the original Lurker's Guide to Video for SGI machines.

History

The Lurker's Guide began in the 1990s as a guide to video software on SGI (Silicon Graphics) machines. Specifically, we (the Lurkers) were lowly engineers eking out an existence deep in the bowels of the corporate machine, and we created the Guide as a sort of renegade movement so that we could leak crucial development info out to our third-party developers without it first being dumbed to meaninglessness by the Tech Pubs department, or censored by the corporate PSFP (Positive Spin Filtration Process).

The name is a reference to the lowly poor folk who squat in the dark lower decks of the spaceship on the sci-fi series Babylon 5.

The Lurker's Guide to Video on SGI Machines

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.

Video on SGI and in General: Concepts, Definitions and Parameters

Tips for Writing SGI Video Applications

SGI Video Devices

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

Case Study: Uncompressed Video Disk I/O

  • Uncompressed Video Disk I/O: Introduction and Scope
    • full-rate, full-size uncompressed video disk i/o defined
    • which SGI platforms and video devices we cover
  • Concepts and Terminology for Disks and Filesystems
    • disk, disk array, disk enclosure, disk vault
    • partition
    • XLV
      • volume element, multipartition volume element, striped volume element
      • stripe unit
      • plex, concatenated plex
      • logical subvolumes: log, data, and real-time
      • logical volume
    • filesystem
    • device file, raw device file
    • XFS
      • internal vs. external log
      • filesystem sections: log, data, and real-time
  • Hardware/System Setup for Uncompressed Video I/O
    • your options for disks and disk arrays on each platform
    • tips for configuring your filesystem and kernel for best performance
  • Basic Uncompressed Video I/O Code
    • simple videoport API on top of VL
    • how much memory buffering do you need?
  • Software Methods for Disk I/O
    • buffered I/O
    • direct I/O: satisfying its constraints, portability concerns
    • data cache concerns
    • residency concerns
    • disk seek, disk retry, disk recal concerns
    • disk command concerns
    • optimizing command size and spacing: readv/writev
    • how I/Os map to commands: XFS, XLV, dksc, host adapter
    • exploiting parallellism: asynchronous I/O
    • disk readahead
    • disk write buffering
    • disk command tag queueing
    • missed revolutions
  • Getting Raw Data in and out of the Movie Library
    • how to read and write video efficiently using the QuickTime file format
    • organization of a QuickTime file
    • basic information on SGI Movie Library calls to do this

Hints for Direct Sony-Style RS-422 Deck Control

Related Non-video Topics

Submit This SiteLike what you see?
Help spread the word on social media:
Support This SiteHas this site helped, informed, or amused you? Please support my work and ongoing site improvements in one of these ways:
donate now   Donate Now
Use your credit card or PayPal to donate in support of the site.
get anything from amazon.com
Use this link to Amazon—you pay the same, I get 4%.
get my thai dictionary app
Learn Thai with my Talking Thai-English-Thai Dictionary app: iOS, Android, Windows.
get my thai phrasebook app
Experience Thailand richly with my Talking Thai-English-Thai Phrasebook app.
get my chinese phrasebook app
Visit China easily with my Talking Chinese-English-Chinese Phrasebook app.
get thailand fever
I co-authored this bilingual cultural guide to Thai-Western romantic relationships.
CopyrightAll text and images copyright 1999-2023 Chris Pirazzi unless otherwise indicated.
lurkertech.com Lurker's Guide

Welcome to the Lurker's Guide to Video, a repository for the little-known, undocumented knowledge that you need in order to write any sort of useful video software.

The Lurker's Guide began in the 1990s as a guide to video software on SGI (Silicon Graphics) machines. Although SGI is long gone, several of the articles continue to be popular and relevant as they explain videosyncrasies that still apply today; you can find those articles just below, followed by the original SGI Lurker's Guide.

Support This Site

Has this site helped, informed, or amused you? Please support my work and ongoing site improvements in one of these ways:
donate now   Donate Now
Use your credit card or PayPal to donate in support of the site.
get anything from amazon.com
Use this link to Amazon—you pay the same, I get 4%.
get my thai dictionary app
Learn Thai with my Talking Thai-English-Thai Dictionary app: iOS, Android, Windows.
get my thai phrasebook app
Experience Thailand richly with my Talking Thai-English-Thai Phrasebook app.
get my chinese phrasebook app
Visit China easily with my Talking Chinese-English-Chinese Phrasebook app.
get thailand fever
I co-authored this bilingual cultural guide to Thai-Western romantic relationships.
Guide

Here's some popular Lurker's Guide material, updated for modern video standards:
programmer's guide to video systems
What every programmer must know about 480i, 576i, 1080i, and 720p.
all about video fields
What is interlaced video and why do I care? Field dominance? Kinky...
square and non-square pixels
I can't believe we still have to deal with non-square pixels!
timecode
Understand the different flavors of timecode used for video.
SGI Guide

Here's the original Lurker's Guide to Video for SGI machines.

History

The Lurker's Guide began in the 1990s as a guide to video software on SGI (Silicon Graphics) machines. Specifically, we (the Lurkers) were lowly engineers eking out an existence deep in the bowels of the corporate machine, and we created the Guide as a sort of renegade movement so that we could leak crucial development info out to our third-party developers without it first being dumbed to meaninglessness by the Tech Pubs department, or censored by the corporate PSFP (Positive Spin Filtration Process).

The name is a reference to the lowly poor folk who squat in the dark lower decks of the spaceship on the sci-fi series Babylon 5.

The Lurker's Guide to Video on SGI Machines

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.

Video on SGI and in General: Concepts, Definitions and Parameters

Tips for Writing SGI Video Applications

SGI Video Devices

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

Case Study: Uncompressed Video Disk I/O

  • Uncompressed Video Disk I/O: Introduction and Scope
    • full-rate, full-size uncompressed video disk i/o defined
    • which SGI platforms and video devices we cover
  • Concepts and Terminology for Disks and Filesystems
    • disk, disk array, disk enclosure, disk vault
    • partition
    • XLV
      • volume element, multipartition volume element, striped volume element
      • stripe unit
      • plex, concatenated plex
      • logical subvolumes: log, data, and real-time
      • logical volume
    • filesystem
    • device file, raw device file
    • XFS
      • internal vs. external log
      • filesystem sections: log, data, and real-time
  • Hardware/System Setup for Uncompressed Video I/O
    • your options for disks and disk arrays on each platform
    • tips for configuring your filesystem and kernel for best performance
  • Basic Uncompressed Video I/O Code
    • simple videoport API on top of VL
    • how much memory buffering do you need?
  • Software Methods for Disk I/O
    • buffered I/O
    • direct I/O: satisfying its constraints, portability concerns
    • data cache concerns
    • residency concerns
    • disk seek, disk retry, disk recal concerns
    • disk command concerns
    • optimizing command size and spacing: readv/writev
    • how I/Os map to commands: XFS, XLV, dksc, host adapter
    • exploiting parallellism: asynchronous I/O
    • disk readahead
    • disk write buffering
    • disk command tag queueing
    • missed revolutions
  • Getting Raw Data in and out of the Movie Library
    • how to read and write video efficiently using the QuickTime file format
    • organization of a QuickTime file
    • basic information on SGI Movie Library calls to do this

Hints for Direct Sony-Style RS-422 Deck Control

Related Non-video Topics

Submit This Site

Like what you see?
Help spread the word on social media:
Support This Site

Has this site helped, informed, or amused you? Please support my work and ongoing site improvements in one of these ways:
donate now   Donate Now
Use your credit card or PayPal to donate in support of the site.
get anything from amazon.com
Use this link to Amazon—you pay the same, I get 4%.
get my thai dictionary app
Learn Thai with my Talking Thai-English-Thai Dictionary app: iOS, Android, Windows.
get my thai phrasebook app
Experience Thailand richly with my Talking Thai-English-Thai Phrasebook app.
get my chinese phrasebook app
Visit China easily with my Talking Chinese-English-Chinese Phrasebook app.
get thailand fever
I co-authored this bilingual cultural guide to Thai-Western romantic relationships.
Copyright

All text and images copyright 1999-2023 Chris Pirazzi unless otherwise indicated.