ATI VCR2

From MultimediaWiki
Jump to navigation Jump to search

General description

ATI VCR2 is essentially a subset of MPEG-2 video. ATI Video Capture Cards use this format. The Compression is done in the hardware. There is a driver for Win9x that is dedicated to play back VCR2 videos without ATI Hardware.

VCR2 Video frames

VCR2 uses only Intra-frames. Data for each frame consists of the following pieces: optional Sequence header, optional Sequence extension, optional GOP (group of pictures) header, Picture header, Picture header extension and the actual picture data.

To see which header comes as next, just check the bitstream for a start code. The following start codes are defined:

  1. SEQ_HEAD_START_CODE 0x000001B3
  2. SEQ_EXTENSION_START_CODE 0x000001B5
  3. GOP_START_CODE 0x000001B8
  4. PIC_START_CODE 0x00000100

Sequence Header

This header is optional. Its presence is indicated by the SEQ_HEAD_START_CODE. It has the following format:

  • Horizontal size (12 bits)

This is the width of the encoded picture.

  • Vertical size (12 bits)

This is the height of the encoded picture.

  • Pixel aspect ratio (4 bits)

This is always set = 1 (1:1) for the VCR2.

  • Frame rate (4 bits)

frame rate. This value is ignored in the decoder. Check the AVI container for actual frame rate.

  • Frame rate (18 bits)

bit rate of the bitstream in units of 400 bits/second, rounded upwards.

  • Marker bit (1 bit)

should be set = 1.

  • Video Buffering Verfier (VBV) buffer size (10 bits)

ignored.

  • Constrained parameters flag (1 bit)

ignored.

  • Load intra quantizer matrix flag (1 bit)

always = 0.

  • Load non-intra quantizer matrix flag (1 bit)

always = 0.

Sequence extension

This extension is optional. Its presence is indicated by the SEQ_EXT_START_CODE. It has the following format: