AVBlocks for C++  2.1
Audio and Video Software Development Kit
primo::codecs::StreamType Namespace Reference

Defines major audio and video stream types, and file formats (a.k.a. More...

Enumerations

enum  Enum {
  Unknown = 0,
  BEGIN_AUDIO = 0x1000,
  LPCM = 0x1001,
  ALAW_PCM = 0x1002,
  MULAW_PCM = 0x1003,
  VIDEO_DVD_PCM = 0x1004,
  AC3 = 0x1005,
  DTS = 0x1006,
  MPEG_Audio = 0x1007,
  Vorbis = 0x1008,
  AAC = 0x1009,
  AMRNB = 0x100A,
  AMRWB = 0x100B,
  G726_ADPCM = 0x100C,
  WMA = 0x100D,
  WMA_Professional = 0x100E,
  WMA_Lossless = 0x100F,
  END_AUDIO = 0x1FFF,
  BEGIN_VIDEO = 0x2000,
  UncompressedVideo = 0x2001,
  MPEG1_Video = 0x2002,
  MPEG2_Video = 0x2003,
  MPEG4_Video = 0x2004,
  H261 = 0x2005,
  H263 = 0x2006,
  H264 = 0x2007,
  AVC = H264,
  WMV = 0x2008,
  MJPEG = 0x2009,
  VC1 = 0x200A,
  AVS = 0x200B,
  VP8 = 0x200C,
  Theora = 0x200D,
  H265 = 0x200E,
  HEVC = H265,
  END_VIDEO = 0x2FFF,
  BEGIN_CONTAINER = 0x3000,
  AVI = 0x3001,
  MP4 = 0x3002,
  ASF = 0x3003,
  MPEG_PS = 0x3004,
  MPEG_TS = 0x3005,
  MPEG_PES = 0x3006,
  WAVE = 0x3007,
  FLV = 0x3008,
  OGG = 0x3009,
  WebM = 0x300A,
  END_CONTAINER = 0x3FFF,
  BEGIN_IMAGE = 0x4000,
  BMP = 0x4001,
  PNG = 0x4002,
  JPEG = 0x4003,
  TIFF = 0x4004,
  GIF = 0x4005,
  END_IMAGE = 0x4FFF,
  BEGIN_DATA = 0x5000,
  Teletext = 0x5001,
  MPEG_PSI_PACKETS = 0x5002,
  MPEG_TS_PACKETS = 0x5003,
  END_DATA = 0x5FFF
}
 StreamType::Enum. More...
 

Detailed Description

Defines major audio and video stream types, and file formats (a.k.a.

containers).

Enumeration Type Documentation

enum Enum

StreamType::Enum.

Enumerator
Unknown 

The stream type is not defined or is unknown.

BEGIN_AUDIO 

This constant marks the start of audio elementary streams.

It is not a valid stream type on its own.

LPCM 

Audio encoded using pulse code modulation (PCM) with linear quantization.

ALAW_PCM 

A-law PCM.

MULAW_PCM 

Mu-law PCM.

VIDEO_DVD_PCM 

LPCM with specific sample packing for Video-DVD.

AC3 

Dolby Digital Audio (a.k.a.

AC-3). AC-3 is defined in ATSC A/52-A and A/52-B.

DTS 

DTS (Digital Theater Systems) Coherent Acoustics codec, transportable through S/PDIF and used on DVDs, CD-DAs, LDs, and in wave files.

MPEG_Audio 

MPEG-1 or MPEG-2 Audio, Layer I, II and III.

Vorbis 

Vorbis Audio Codec.

This is an open standard audio codec developed by the Xiph.Org Foundation.

AAC 

Advanced Audio Coding.

Initially it was defined in Part 7 of the MPEG-2 standard (known formally as ISO/IEC 13818-7) which is now obsolete.

Currently it is defined in Part 3 of the MPEG-4 standard (known formally as ISO/IEC 14496-3).

AMRNB 

Adaptive Multi-Rate audio (Narrow Band).

AMRWB 

Adaptive Multi-Rate audio (Wide Band).

G726_ADPCM 

G.726 ITU-T ADPCM.

WMA 

Microsoft Windows Media Audio.

WMA_Professional 

Microsoft Windows Media Audio Professional.

WMA_Lossless 

Microsoft Windows Media Audio Lossless.

END_AUDIO 

This constant marks the end of audio elementary streams.

It is not a valid stream type on its own.

BEGIN_VIDEO 

This constant marks the start of video elementary streams.

It is not a valid stream type on its own.

UncompressedVideo 

Uncompressed video stream.

MPEG1_Video 

MPEG-1 Video is defined in Part 2 of the MPEG-1 standard (known formally as ISO/IEC-11172-2).

MPEG2_Video 

MPEG-2 Video is defined in Part 2 of the MPEG-2 standard (known formally as ISO/IEC 13818-2 and as ITU-T H.262).

MPEG4_Video 

MPEG-4 Video is defined in Part 2 of the MPEG-4 standard (known formally as ISO/IEC 14496-2).

H261 

H.261 Video is defined in the ITU-T H.261 standard.

H263 

H.263 Video is defined in the ITU-T H.263 standard.

H264 

H.264 Video (also known as MPEG-4 AVC / Advanced Video Codec).

Defined in Part 10 of the MPEG-4 standard (known formally as ISO/IEC 14496-10 and as ITU-T H.264).

The actual bitstream format is determined by the stream sub-type:

StreamSubType::AVC_Annex_B

H.264 Bitstream WITH start codes

H.264 bitstreams are transmitted in this format over the air, or contained in MPEG-2 program or transport streams. The H.264 bitstream is formatted as described in Annex B of ITU-T Rec. H.264. According to this specification, the bitstream consists of a sequence of NALUs (Network Abstraction Layer Units). Each NALU is prefixed with a start code equal to 0x000001 or 0x00000001.

StreamSubType::AVC1

H.264 Bitstream WITHOUT start codes

H.264 bitstreams are stored in the MP4 container in this format. Instead of start codes, each NALU (Network Abstraction Layer Units) is prefixed by a length field, which gives the length of the NALU in bytes. The size of the length field can vary, but is typically 1, 2, or 4 bytes.

AVC 

Alias.

Same as StreamType::H264.

WMV 

Microsoft Windows Media Video.

MJPEG 

Motion JPEG (M-JPEG).

VC1 

VC-1 Video is defined in the SMPTE 421M-2006 standard.

AVS 

Advanced Video Standard (Chinese national standard)

VP8 

VP8 is an open video codec released by Google, originally created by On2 Technologies.

VP8 is part of the WebM format.

Theora 

Theora Video Codec.

This is an open standard video codec developed by the Xiph.Org Foundation.

H265 

H.265 Video (also known as MPEG-H HEVC / High Efficiency Video Codec )

Defined in Part 2 of the MPEG-H standard (known formally as ISO/IEC 23008-2 and as ITU-T H.265).

HEVC 

Alias.

Same as StreamType::H265.

END_VIDEO 

This constant marks the end of the elementary video streams.

It is not a valid stream type on its own.

BEGIN_CONTAINER 

This constant marks the start of audio/video containers.

It is not a valid stream type on its own.

AVI 

Audio Video Interleave (AVI) multimedia container format.

MP4 

MPEG-4 multimedia container format specified in Part 14 of the MPEG-4 standard (formally ISO/IEC 14496-14:2003).

ASF 

Advanced Systems Format (formerly Advanced Streaming Format, Active Streaming Format) (ASF).

MPEG_PS 

MPEG program stream.

MPEG_TS 

MPEG transport stream.

MPEG_PES 

MPEG Packetized Elementary Stream (PES).

WAVE 

Waveform Audio file format (WAV, WAVE).

FLV 

Adobe Flash Video container format (FLV).

Not to be confused with F4V which is a newer Flash Video container format based on ISO/IEC 14496-12 (MPEG-4 Part 12).

OGG 

Open standard container format developed by the Xiph.Org Foundation.

WebM 

Open standard container format based on a profile of Matroska.

END_CONTAINER 

This constant marks the end of audio/video containers.

It is not a valid stream type on its own.

BEGIN_IMAGE 

This constant marks the start of image types.

It is not an image type on its own.

BMP 

BMP image.

PNG 

PNG image.

JPEG 

JPEG image.

TIFF 

TIFF image.

GIF 

GIF image.

END_IMAGE 

This constant marks the end of image types.

It is not an image type on its own.

BEGIN_DATA 

This constant marks the start of various data types.

Teletext 

Teletext data.

MPEG_PSI_PACKETS 

MPEG Transport Stream Program Specific Information.

MPEG_TS_PACKETS 

MPEG transport stream packets.

This is not a complete transport stream but rather a subset of the original transport stream.

END_DATA 

This constant marks the end of various data types.