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

Classes

class  MediaBuffer
 A buffer for media data. More...
 
class  MediaSample
 MediaSample represents one or more samples of audio or video data. 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  AudioStreamInfo
 AudioStreamInfo describes an elementary audio stream. More...
 
class  VideoStreamInfo
 VideoStreamInfo describes an elementary video stream. More...
 
class  Buffer
 Provides FIFO semantics and helper functions for MediaBuffer. 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  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...
 

Namespaces

 primo
 Top namespace for all libraries developed by Primo Software Corp.
 
 primo::error
 Shared namespace for error definitions.
 
 primo::error::ErrorFacility
 Common error facilities.
 
 primo::codecs
 Common audio/video types and interfaces.
 
 primo::codecs::CodecError
 Common errors for encoders, decoders, muxers, demuxers and other A/V components.
 
 primo::codecs::PcmFlags
 Defines constants for various LPCM properties.
 
 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::ColorFormat
 Defines constants for various color formats.
 
 primo::codecs::StreamType
 Defines major audio and video stream types, and file formats (a.k.a.
 
 primo::codecs::StreamSubType
 Defines audio and video stream subtypes.
 
 primo::codecs::ScanType
 Defines video interlace/scan types.
 
 primo::codecs::DeinterlacingMethod
 Defines video deinterlacing methods.
 
 primo::codecs::InterpolationMethod
 Defines methods for sample interpolation.
 
 primo::codecs::H264Profile
 Defines H.264/AVC profiles.
 
 primo::codecs::H264EntropyCodingMode
 Defines H.264/AVC entropy coding modes.
 
 primo::codecs::H264DeblockingFilter
 Defines H.264/AVC deblocking filter mode.
 
 primo::codecs::H264DirectPredMode
 Defines H.264/AVC direct predition mode.
 
 primo::codecs::H264MeSplitMode
 Defines the block sizes for which motion estimation should be done.
 
 primo::codecs::H264MeMethod
 Defines the motion estimation methods used when encoding H.264/AVC.
 
 primo::codecs::H264PicCodingType
 Defines the picture coding type when encoding H.264/AVC.
 
 primo::codecs::H264RateControlMethod
 Defines methods for bitrate contorl when encoding H.264/AVC.
 
 primo::codecs::MediaSampleFlags
 Defines various media sample features.
 
 primo::codecs::MediaType
 Defines media types.
 
 primo::codecs::Meta
 Metadata.
 
 primo::codecs::MetaPictureType
 Represents the meta picture (image) type.
 
 primo::codecs::MimeType
 Defines MIME types used by primo codecs components.
 

Enumerations

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
}
 
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
}
 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,
  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
}
 StreamType::Enum. More...
 
enum  Enum {
  Unknown = 0,
  AAC_ADTS = 1,
  AAC_ADIF = 2,
  AAC_MP4 = 3,
  AVC1 = 4,
  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_PS = 11,
  MPEG2_PS = 12
}
 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,
  TTS = 6,
  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 {
  Unknown = 0,
  Audio = 1,
  Video = 2
}
 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

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 InvolvedPeople [] = "InvolvedPeople"
 Involved people.
 
static const char PlayCounter [] = "PlayCounter"
 Play counter.
 
static const char Popularimeter [] = "Popularimeter"
 Popularity meter / rating.
 
static const char Album [] = "Album"
 Album.
 
static const char Composer [] = "Composer"
 Composer.
 
static const char Genre [] = "Genre"
 Genre.
 
static const char Copyright [] = "Copyright"
 Copyright.
 
static const char Date [] = "Date"
 Date (YYYY-MM-DD)
 
static const char EncodedBy [] = "EncodedBy"
 Encoding software.
 
static const char Lyricist [] = "Lyricist"
 Lyricist / text writer.
 
static const char FileType [] = "FileType"
 File type.
 
static const char Time [] = "Time"
 Time.
 
static const char ContentGroup [] = "ContentGroup"
 Content group.
 
static const char Title [] = "Title"
 Title.
 
static const char Subtitle [] = "Subtitle"
 Subtitle.
 
static const char Language [] = "Language"
 Language.
 
static const char MediaType [] = "MediaType"
 Media type.
 
static const char OrigAlbum [] = "OrigAlbum"
 Original album.
 
static const char OrigFileName [] = "OrigFileName"
 Original file name.
 
static const char OrigLyricist [] = "OrigLyricist"
 Original lyricist / text writer.
 
static const char OrigArtist [] = "OrigArtist"
 Original artist.
 
static const char LeadArtist [] = "LeadArtist"
 Lead artist.
 
static const char AlbumArtist [] = "AlbumArtist"
 Album artist.
 
static const char Conductor [] = "Conductor"
 Conductor.
 
static const char RemixArtist [] = "RemixArtist"
 Remix / cover artist.
 
static const char DiscNum [] = "DiscNum"
 Disc number is 1-based.
 
static const char Publisher [] = "Publisher"
 Publisher.
 
static const char TrackNum [] = "TrackNum"
 Track number is 1-based.
 
static const char RecordingDates [] = "RecordingDates"
 Recording dates.
 
static const char InternetRadioStation [] = "InternetRadioStation"
 Internet radio station name.
 
static const char EncoderSettings [] = "EncoderSettings"
 Encoding software settings.
 
static const char Year [] = "Year"
 Year only (YYYY)
 
static const char UserText [] = "UserText"
 User text.
 
static const char UnsyncedLyrics [] = "UnsyncedLyrics"
 Unsynced lyrics.
 
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 UrlAudioFile [] = "UrlAudioFile"
 URL pointing at a file specific web page.
 
static const char UrlArtist [] = "UrlArtist"
 URL pointing at the artist's official web page. More...
 
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 UrlRadioPage [] = "UrlRadioPage"
 URL pointing at the homepage of the Internet radio station.
 
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 UrlUser [] = "UrlUser"
 User URL.
 
static const char Private [] = "Private"
 Private comment.
 
static const char BeatsPerMinute [] = "BeatsPerMinute"
 Beats per minute.
 
static const char Gif [] = "image/gif"
 GIF MIME type.
 
static const char Jpeg [] = "image/jpeg"
 JPEG MIME type.
 
static const char Png [] = "image/png"
 PNG MIME type.
 
static const char Tiff [] = "image/tiff"
 TIFF MIME type.