AVBlocks for C++  2.1
Audio and Video Software Development Kit
PrimoAV.h File Reference

Classes

class  AudioStreamInfo
 AudioStreamInfo describes an elementary audio stream. More...
 
class  MediaBuffer
 A buffer for media data. More...
 
class  MediaSample
 MediaSample represents one or more samples of audio or video data. More...
 
class  MetaAttribute
 MetaAttribute describes a textual meta information that is part of an audio or video file. More...
 
class  MetaAttributeList
 MetaAttributeList represents the meta attributes inside a Metadata object. More...
 
class  Metadata
 Metadata describes meta information that is part of an audio or video file. More...
 
class  MetaPicture
 MetaPicture describes a meta image that is part of an audio or video file. More...
 
class  MetaPictureList
 MetaPictureList represents the meta pictures inside a Metadata object. More...
 
class  StreamInfo
 Provides properties and operations that are common for all elementary streams. More...
 
class  StreamInfoEnum
 StreamInfoEnum is a read-only collection of StreamInfo objects. More...
 
class  VideoStreamInfo
 VideoStreamInfo describes an elementary video stream. More...
 

Namespaces

 primo
 Top namespace for all libraries developed by Primo Software Corp.
 
 primo::codecs
 Common audio/video types and interfaces.
 
 primo::codecs::AlphaCompositingMode
 Defines the way a foreground image will be combined with background video.
 
 primo::codecs::AudioChannelFlags
 Defines the speaker location of one or more audio channels.
 
 primo::codecs::BitrateMode
 Defines the bitrate mode of the audio/video stream.
 
 primo::codecs::CodecError
 Common errors for encoders, decoders, muxers, demuxers and other A/V components.
 
 primo::codecs::ColorFormat
 Defines constants for various color formats.
 
 primo::codecs::DeinterlacingMethod
 Defines video deinterlacing methods.
 
 primo::codecs::H264DeblockingFilter
 Defines H.264/AVC deblocking filter mode.
 
 primo::codecs::H264DirectPredMode
 Defines H.264/AVC direct predition mode.
 
 primo::codecs::H264EntropyCodingMode
 Defines H.264/AVC entropy coding modes.
 
 primo::codecs::H264MeMethod
 Defines the motion estimation methods used when encoding H.264/AVC.
 
 primo::codecs::H264MeSplitMode
 Defines the block sizes for which motion estimation should be done.
 
 primo::codecs::H264PicCodingType
 Defines the picture coding type when encoding H.264/AVC.
 
 primo::codecs::H264Profile
 Defines H.264/AVC profiles.
 
 primo::codecs::H264RateControlMethod
 Defines methods for bitrate contorl when encoding H.264/AVC.
 
 primo::codecs::H265Level
 Defines H.265/HEVC levels.
 
 primo::codecs::H265Profile
 Defines H.265/HEVC profiles.
 
 primo::codecs::H265Tier
 Defines H.265/HEVC tiers.
 
 primo::codecs::InterpolationMethod
 Defines methods for sample interpolation.
 
 primo::codecs::MediaSampleFlags
 Defines various media sample features.
 
 primo::codecs::MediaType
 Defines media types.
 
 primo::codecs::Meta
 DataStreamInfo describes a generic data stream.
 
 primo::codecs::MetaPictureType
 Represents the meta picture (image) type.
 
 primo::codecs::MimeType
 Defines MIME types used by primo codecs components.
 
 primo::codecs::PcmFlags
 Defines constants for various LPCM properties.
 
 primo::codecs::PictureType
 Defines video picture types (I/P/B)
 
 primo::codecs::ScanType
 Defines video interlace/scan types.
 
 primo::codecs::StreamSubType
 Defines audio and video stream subtypes.
 
 primo::codecs::StreamType
 Defines major audio and video stream types, and file formats (a.k.a.
 
 primo::error
 Shared namespace for error definitions.
 
 primo::error::ErrorFacility
 Each facility represents the component that reports the error.
 

Enumerations

enum  Enum {
  Over = 1,
  In = 2,
  Out = 3,
  Atop = 4,
  Xor = 5,
  Plus = 6
}
 
enum  Enum {
  Success = 0,
  Init = 1,
  NoConfigData = 2,
  NoOutput = 3,
  OutputBufferNotEnough = 4,
  Unsupported = 5,
  Failed = 6,
  NotInitialized = 7,
  NullPointer = 8,
  EOS = 9,
  Alloc = 10,
  InvalidStream = 11,
  NotImplemented = 12,
  InvalidParams = 13,
  InvalidOperation = 14,
  MissingDependency = 15,
  StreamOpen = 16,
  StreamRead = 17,
  StreamWrite = 18,
  StreamSeek = 19,
  BufferFull = 20,
  MissingHardwareIntelQuickSync = 21,
  MissingHardwareAmdVce = 22,
  MissingHardwareNvidiaNVENC = 23
}
 
enum  Enum {
  None = 0,
  Unsigned = 0x1,
  Float = 0x2,
  BigEndian = 0x4,
  NonInterleaved = 0x8
}
 PcmFlags::Enum. More...
 
enum  Enum {
  None = 0x0,
  Left = 0x1,
  Right = 0x2,
  Center = 0x4,
  LFE = 0x8,
  BackLeft = 0x10,
  BackRight = 0x20,
  LeftCenter = 0x40,
  RightCenter = 0x80,
  BackCenter = 0x100,
  SideLeft = 0x200,
  SideRight = 0x400,
  TopCenter = 0x800,
  TopFrontLeft = 0x1000,
  TopFrontCenter = 0x2000,
  TopFrontRight = 0x4000,
  TopBackLeft = 0x8000,
  TopBackCenter = 0x10000,
  TopBackRight = 0x20000,
  LayoutMono = Center,
  LayoutStereo = Left | Right,
  Layout2p1 = Left | Right | LFE,
  LayoutSurround = Left | Right | Center | BackCenter,
  LayoutQuad = Left | Right | BackLeft | BackRight,
  Layout4p1 = Left | Right | LFE | BackLeft | BackRight,
  Layout5p1 = Left | Right | Center | LFE | BackLeft | BackRight,
  Layout7p1Surround = Left | Right | Center | LFE | BackLeft | BackRight | SideLeft | SideRight,
  Layout5p1Surround = Left | Right | Center | LFE | SideLeft | SideRight,
  Layout7p1 = Left | Right | Center | LFE | BackLeft | BackRight | LeftCenter | RightCenter
}
 AudioChannelFlags::Enum. More...
 
enum  Enum {
  Unknown = 0,
  CBR = 1,
  VBR = 2,
  ABR = 3
}
 BitrateMode::Enum. More...
 
enum  Enum {
  Unknown = 0,
  YV12 = 1,
  NV12 = 2,
  YUY2 = 3,
  UYVY = 4,
  YUV411 = 5,
  YUV420 = 6,
  YUV422 = 7,
  YUV444 = 8,
  Y411 = 9,
  Y41P = 10,
  BGR32 = 11,
  BGR24 = 12,
  BGR565 = 13,
  BGR555 = 14,
  BGR444 = 15,
  GRAY = 16,
  YUV420A = 17,
  YUV422A = 18,
  YUV444A = 19,
  YVU9 = 20,
  BGRA32 = 21
}
 ColorFormat::Enum. More...
 
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...
 
enum  Enum {
  Unknown = 0,
  None = 0xFFFF,
  AAC_ADTS = 1,
  AAC_ADIF = 2,
  AAC_MP4 = 3,
  AVCC = 4,
  AVC1 = AVCC,
  MPEG_TS_BDAV = 5,
  MPEG_Audio_Layer1 = 6,
  MPEG_Audio_Layer2 = 7,
  MPEG_Audio_Layer3 = 8,
  G726_PACKED_RFC3551 = 9,
  G726_PACKED_AAL2 = 10,
  MPEG1_System = 11,
  MPEG2_System = 12,
  AVC_Annex_B = 13
}
 StreamSubType::Enum. More...
 
enum  Enum {
  Unknown = 0,
  Progressive = 1,
  TopFieldFirst = 2,
  BottomFieldFirst = 3
}
 ScanType::Enum. More...
 
enum  Enum {
  NoDeinterlacing = 0,
  Duplicate = 1,
  Blend = 2,
  Median = 3,
  EdgeDetect = 4,
  MedianThreshold = 5,
  CAVT = 6
}
 DeinterlacingMethod::Enum. More...
 
enum  Enum {
  Unknown = 0,
  NearestNeighbor = 1,
  Linear = 2,
  Cubic = 4,
  Super = 8,
  Lanczos = 16
}
 InterpolationMethod::Enum. More...
 
enum  Enum {
  None = 0,
  Baseline = 66,
  Main = 77,
  High = 100,
  High10 = 110,
  High422 = 122,
  High444 = 144
}
 H264Profile::Enum. More...
 
enum  Enum {
  CAVLC = 0,
  CABAC = 1
}
 H264EntropyCodingMode::Enum. More...
 
enum  Enum {
  All = 0,
  Off = 1,
  InSlice = 2
}
 H264DeblockingFilter::Enum. More...
 
enum  Enum {
  Temporal = 0,
  Spatial = 1
}
 
enum  Enum {
  Only16x16 = 0,
  DownTo8x8 = 1,
  DownTo4x4 = 2
}
 
enum  Enum {
  Full = 0,
  ClassicLog = 1,
  Log = 2,
  EPZS = 3,
  FullOrthogonal = 4,
  LogOrthogonal = 5,
  UMH = 8
}
 H264MeMethod::Enum. More...
 
enum  Enum {
  Frames = 0,
  Fields = 1
}
 H264PicCodingType::Enum. More...
 
enum  Enum {
  ABR = 2,
  ConstantQuant = 3
}
 H264RateControlMethod. More...
 
enum  Enum {
  None = 0x0,
  KeyFrame = 0x1,
  Bos = 0x2,
  Eos = 0x4
}
 MediaSampleFlags::Enum. More...
 
enum  Enum {
  None = 0,
  I = 1,
  P = 2,
  B = 3,
  D = 4
}
 PictureType::Enum. More...
 
enum  Enum {
  None = 0,
  Main = 1,
  Main10 = 2
}
 H265Profile::Enum. More...
 
enum  Enum {
  None = 0,
  L1 = 30,
  L2 = 60,
  L21 = 63,
  L3 = 90,
  L31 = 93,
  L4 = 120,
  L41 = 123,
  L5 = 150,
  L51 = 153,
  L52 = 156,
  L6 = 180,
  L61 = 183,
  L62 = 186
}
 
enum  Enum {
  Main = 0,
  High = 1
}
 
enum  Enum {
  Unknown = 0,
  Audio = 1,
  Video = 2,
  Text = 3,
  Data = 4
}
 MediaType::Enum. More...
 
enum  Enum {
  Other = 0,
  FileIcon = 1,
  OtherFileIcon = 2,
  FrontCover = 3,
  BackCover = 4,
  LeafletPage = 5,
  Media = 6,
  LeadArtist = 7,
  Artist = 8,
  Conductor = 9,
  Band = 10,
  Composer = 11,
  TextWriter = 12,
  RecordingLocation = 13,
  DuringRecording = 14,
  DuringPerformance = 15,
  VideoCapture = 16,
  BrightColoredFish = 17,
  Illustration = 18,
  ArtistLogotype = 19,
  PublisherLogotype = 20
}
 The picture type is defined as in ID3. More...
 

Variables

static const char Album [] = "Album"
 Album.
 
static const char AlbumArtist [] = "AlbumArtist"
 Album artist.
 
static const char BeatsPerMinute [] = "BeatsPerMinute"
 Beats per minute.
 
const int32_t Codec = 9
 Common errors for encoders, decoders, muxers, demuxers and other A/V components. More...
 
static const char Comment [] = "Comment"
 Comment.
 
static const char Composer [] = "Composer"
 Composer.
 
static const char Conductor [] = "Conductor"
 Conductor.
 
static const char ContentGroup [] = "ContentGroup"
 Content group.
 
static const char Copyright [] = "Copyright"
 Copyright.
 
static const char Date [] = "Date"
 Date (YYYY-MM-DD)
 
static const char DiscNum [] = "DiscNum"
 Disc number is 1-based.
 
static const char EncodedBy [] = "EncodedBy"
 Encoding software.
 
static const char EncoderSettings [] = "EncoderSettings"
 Encoding software settings.
 
static const char FileType [] = "FileType"
 File type.
 
static const char Genre [] = "Genre"
 Genre.
 
static const char Gif [] = "image/gif"
 GIF MIME type.
 
static const char InternetRadioStation [] = "InternetRadioStation"
 Internet radio station name.
 
static const char InvolvedPeople [] = "InvolvedPeople"
 Involved people.
 
static const char Jpeg [] = "image/jpeg"
 JPEG MIME type.
 
static const char Language [] = "Language"
 Language.
 
static const char LeadArtist [] = "LeadArtist"
 Lead artist.
 
static const char Lyricist [] = "Lyricist"
 Lyricist / text writer.
 
static const char MediaType [] = "MediaType"
 Media type.
 
static const char OrigAlbum [] = "OrigAlbum"
 Original album.
 
static const char OrigArtist [] = "OrigArtist"
 Original artist.
 
static const char OrigFileName [] = "OrigFileName"
 Original file name.
 
static const char OrigLyricist [] = "OrigLyricist"
 Original lyricist / text writer.
 
static const char PlayCounter [] = "PlayCounter"
 Play counter.
 
static const char Png [] = "image/png"
 PNG MIME type.
 
static const char Popularimeter [] = "Popularimeter"
 Popularity meter / rating.
 
static const char Private [] = "Private"
 Private comment.
 
static const char Publisher [] = "Publisher"
 Publisher.
 
static const char RecordingDates [] = "RecordingDates"
 Recording dates.
 
static const char RemixArtist [] = "RemixArtist"
 Remix / cover artist.
 
static const char Subtitle [] = "Subtitle"
 Subtitle.
 
static const char Tiff [] = "image/tiff"
 TIFF MIME type.
 
static const char Time [] = "Time"
 Time.
 
static const char Title [] = "Title"
 Title.
 
static const char TrackNum [] = "TrackNum"
 Track number is 1-based.
 
static const char UnsyncedLyrics [] = "UnsyncedLyrics"
 Unsynced lyrics.
 
static const char UrlArtist [] = "UrlArtist"
 URL pointing at the artist's official web page. More...
 
static const char UrlAudioFile [] = "UrlAudioFile"
 URL pointing at a file specific web page.
 
static const char UrlAudioSource [] = "UrlAudioSource"
 URL pointing at the official web page for the source of the audio file, e.g. More...
 
static const char UrlCommercialInfo [] = "UrlCommercialInfo"
 URL pointing at a web page with information such as where the album can be bought.
 
static const char UrlCopyright [] = "UrlCopyright"
 URL pointing at a web page where the terms of use and ownership of the file is described.
 
static const char UrlPayment [] = "UrlPayment"
 URL pointing at a web page that will handle the process of paying for this file.
 
static const char UrlPublisher [] = "UrlPublisher"
 URL pointing at the official web page for the publisher.
 
static const char UrlRadioPage [] = "UrlRadioPage"
 URL pointing at the homepage of the Internet radio station.
 
static const char UrlUser [] = "UrlUser"
 User URL.
 
static const char UserText [] = "UserText"
 User text.
 
static const char Year [] = "Year"
 Year only (YYYY)