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

Classes

class  ErrorInfo
 Describes an AVBlocks error. More...
class  Parameter
 Parameter is the base class for named parameters passed to various classes in AVBlocks. More...
class  ByteArrayParameter
 The parameter represents a byte array (buffer). More...
class  MediaBufferParameter
 The parameter represents a MediaBuffer object. More...
class  StringParameter
 The parameter represents an untyped value which is stored in a char_t string. More...
class  IntParameter
 The parameter represents a 64-bit integer. More...
class  FloatParameter
 The parameter represents a 64-bit floating point number (double precision). More...
class  ParameterList
 A collection of Parameter objects. More...
class  MediaInfo
 Analyzes a file or a stream and provides information about its type and properties. More...
class  MediaPin
 MediaPin represents an elementary media stream. More...
class  MediaPinList
 MediaPinList represents the elementary pins within a MediaSocket object. More...
class  MediaSocket
 An input or output point of the Transcoder. More...
class  MediaSocketList
 MediaSocketList represents the inputs or outputs of a Transcoder. More...
class  TranscoderCallback
 The TranscoderCallback provides a way to receive notifications from the Transcoder and also to control its operation while it is running (Transcoder::run). More...
class  Transcoder
 Provides functionality for audio and video encoding, decoding and transforming. More...

Namespaces

namespace  primo
 

Top namespace for all libraries developed by Primo Software Corp.


namespace  primo::avblocks
 

AVBlocks Application Programming Interface.


namespace  primo::avblocks::ErrorFacility
 

Describes the AVBlocks facilities that could generate errors.


namespace  primo::avblocks::AVBlocksError
 

Defines API usage errors.


namespace  primo::avblocks::TranscoderError
 

Defines Transcoder specific errors.


namespace  primo::avblocks::MediaInfoError
 

Defines MediaInfo specific errors.


namespace  primo::avblocks::DemuxerError
 

Defines errors generated by a demuxer block during a de-multiplexing operation.


namespace  primo::avblocks::MuxerError
 

Defines errors generated by a muxer block during a multiplexing operation.


namespace  primo::avblocks::CodecError
 

Defines errors generated by a codec block.


namespace  primo::avblocks::StreamError
 

Defines errors related to operations on streams.


namespace  primo::avblocks::PinConnection
 

These constants are used as special values of MediaPin.ID.


namespace  primo::avblocks::Use
 

Specifies whether particular feature should be used.


namespace  primo::avblocks::Param
 

Defines parameters that can be passed to the transcoder and to the components that are used in the transcoding process.


namespace  primo::avblocks::Param::Video
 

Parameters specific to video filter processing.


namespace  primo::avblocks::Param::Video::FrameRateConverter
 

Parameters specific to video frame rate processing.


namespace  primo::avblocks::Param::Video::Deinterlacing
 

Parameters specific to video deinterlacing.


namespace  primo::avblocks::Param::Video::Resize
 

Parameters specific to video resizing.


namespace  primo::avblocks::Param::Video::Crop
 

Parameters specific to video cropping.


namespace  primo::avblocks::Param::Video::Pad
 

Parameters specific to video padding.


namespace  primo::avblocks::Param::Decoder
 

Parameters specific to decoders.


namespace  primo::avblocks::Param::Decoder::Video
 

Parameters specific to video decoders.


namespace  primo::avblocks::Param::Decoder::Video::H264
 

Parameters specific to H.264 decoders.


namespace  primo::avblocks::Param::Decoder::Video::H264::VUI
 

Parameters the are part of the Video Usability Information in the H.264 stream.


namespace  primo::avblocks::Param::Encoder
 

Parameters specific to encoders.


namespace  primo::avblocks::Param::Encoder::Audio
 

Parameters specific to audio encoders.


namespace  primo::avblocks::Param::Encoder::Audio::MPEG1
 

Parameters specific to MPEG1 audio encoders.


namespace  primo::avblocks::Param::Encoder::Audio::Vorbis
 

Parameters specific to Vorbis audio encoders.


namespace  primo::avblocks::Param::Encoder::Audio::WMA
 

Parameters specific to WMA audio encoders.


namespace  primo::avblocks::Param::Encoder::Video
 

Parameters specific to video encoders.


namespace  primo::avblocks::Param::Encoder::Video::MPEG2
 

Parameters specific to MPEG2 video encoders.


namespace  primo::avblocks::Param::Encoder::Video::H264
 

Parameters specific to H.264 encoders.


namespace  primo::avblocks::Param::Muxer
 

Parameters specific to muxers.


namespace  primo::avblocks::Param::Muxer::MP4
 

Parameters specific to MP4 muxers.


namespace  primo::avblocks::ParamType
 

The ParamType represents the type of the data stored in a Parameter.


namespace  primo::avblocks::Preset
 

Defines output presets supported by AVBlocks.


namespace  primo::avblocks::Preset::Audio
 

Describes output audio presets structured by codec and device type.


namespace  primo::avblocks::Preset::Audio::Generic
 

Generic audio presets (unrelated to specific devices)


namespace  primo::avblocks::Preset::Audio::Generic::M4A
 

M4A presets (AAC audio in MP4 container)


namespace  primo::avblocks::Preset::Audio::Generic::MP3
 

MP3 presets (MPEG-1 Layer 3)


namespace  primo::avblocks::Preset::Audio::Generic::WMA
 

Presets for Windows Media Audio.


namespace  primo::avblocks::Preset::Audio::Generic::WMA::Standard
 

Presets for the WMA standard codec.


namespace  primo::avblocks::Preset::Audio::Generic::WMA::Professional
 

Presets for the WMA Pro codec.


namespace  primo::avblocks::Preset::Audio::Generic::OggVorbis
 

Presets for Vorbis audio in Ogg container.


namespace  primo::avblocks::Preset::Audio::AudioCD
 

Presets for audio compatible with AudioCD (LPCM, 44100 Hz, stereo, 16-bit)


namespace  primo::avblocks::Preset::Audio::DVD
 

Presets for audio compatible with DVD-Video.


namespace  primo::avblocks::Preset::Video
 

Describes output video presets structured by codec and device type.


namespace  primo::avblocks::Preset::Video::Generic
 

Generic video presets (unrelated to specific devices)


namespace  primo::avblocks::Preset::Video::Generic::MP4
 

MP4 presets (audio and video streams in MP4 container)


namespace  primo::avblocks::Preset::Video::Generic::WebM
 

WebM presets.


namespace  primo::avblocks::Preset::Video::DVD
 

Presets for DVD-Video.


namespace  primo::avblocks::Preset::Video::VCD
 

Presets for Video CD.


namespace  primo::avblocks::Preset::Video::iPad
 

Presets for iPad devices.


namespace  primo::avblocks::Preset::Video::AppleTV
 

Presets for AppleTV devices.


namespace  primo::avblocks::Preset::Video::iPhone
 

Presets for iPhone devices.


namespace  primo::avblocks::Preset::Video::iPod
 

Preset for iPod devices.


namespace  primo::avblocks::Preset::Video::AppleLiveStreaming
 

Presets for Apple Live Streaming.


namespace  primo::avblocks::Preset::Video::AndroidPhone
 

Presets for Android phones.


namespace  primo::avblocks::Preset::Video::AndroidTablet
 

Presets for Android tablets.


namespace  primo::avblocks::TranscoderStatus
 

Defines the status of a transcoder operation.


namespace  primo::avblocks::Library
 

Initializes AVBlocks and manages license information.


Enumerations

enum  Enum {
  Success = 0,
  SystemWindows = 1,
  SystemMacOSStatus = 2,
  SystemMacMach = 3,
  SystemPosix = 4,
  AVBlocks = 5,
  Transcoder = 6,
  Demuxer = 7,
  Muxer = 8,
  Codec = 9,
  MediaInfo = 10,
  Stream = 11,
  Block = 12
}
 ErrorFacility::Enum. More...
enum  Enum {
  Failed = 1,
  NullPointer = 2,
  InvalidParams = 3,
  Alloc = 4,
  NotImplemented = 5,
  InvalidOperation = 6,
  UnsupportedFormat = 7,
  MissingDependency = 8,
  UnlicensedFeature = 9
}
 AVBlocksError::Enum. More...
enum  Enum {
  NoChain = 1,
  UndefinedSocketType = 2,
  UnsupportedInterlacedConversion = 3,
  NoCodec = 4,
  UnsupportedVideoConversion = 5,
  BufferFull = 6,
  InputNeeded = 7
}
 TranscoderError::Enum. More...
enum  Enum { NoInput = 1 }
 MediaInfoError::Enum. More...
enum  Enum {
  Open = 1,
  Read = 2
}
 DemuxerError::Enum. More...
enum  Enum {
  Open = 1,
  Write = 2,
  Stop = 3
}
 MuxerError::Enum. More...
enum  Enum {
  Open = 1,
  NoConfigData = 2,
  NoOutput = 3,
  OutputBufferNotEnough = 4,
  UnsupportedCodecProfile = 5
}
 Codec Error. More...
enum  Enum {
  Open = 1,
  Read = 2,
  Write = 3,
  Seek = 4,
  EOS = 5
}
 StreamError::Enum. More...
enum  Enum {
  Disabled = -1,
  Auto = 0
}
 PinConnection::Enum. More...
enum  Enum {
  Off = 0,
  On = 1,
  Auto = 2
}
 Use::Enum. More...
enum  Enum {
  Float = 1,
  ByteArray = 2,
  MediaBuffer = 3,
  VideoStreamInfo = 4,
  String = 5,
  Int = 6
}
 ParamType::Enum. More...
enum  Enum { Completed = 0 }
 TranscoderStatus::Enum. More...

Functions

AVBLOCKS_API bool_t AVBLOCKS_CALL avb_initialize ()
 Initializes the AVBlocks library.
AVBLOCKS_API void AVBLOCKS_CALL avb_shutdown ()
 Closes the AVBlocks library and frees the resources that are used (if any).
AVBLOCKS_API int32_t AVBLOCKS_CALL avb_get_major_version ()
 Gets library major version.
AVBLOCKS_API int32_t AVBLOCKS_CALL avb_get_minor_version ()
 Gets library minor version.
AVBLOCKS_API int32_t AVBLOCKS_CALL avb_get_patch_version ()
 Gets library patch version.
AVBLOCKS_API const char
*AVBLOCKS_CALL 
avb_get_description ()
 Gets library build description.
AVBLOCKS_API int32_t AVBLOCKS_CALL avb_set_license (const char *license)
 Sets a license string.
AVBLOCKS_API
primo::license::LicenseInfo
*AVBLOCKS_CALL 
avb_create_license_info ()
 Creates a new LicenseInfo instance.
AVBLOCKS_API
primo::avblocks::Transcoder
*AVBLOCKS_CALL 
avb_create_transcoder ()
 Creates a Transcoder.
AVBLOCKS_API
primo::codecs::AudioStreamInfo
*AVBLOCKS_CALL 
avb_create_audio_stream_info ()
 Creates an empty audio stream info.
AVBLOCKS_API
primo::codecs::VideoStreamInfo
*AVBLOCKS_CALL 
avb_create_video_stream_info ()
 Creates an empty video stream info.
AVBLOCKS_API
primo::codecs::MediaSample
*AVBLOCKS_CALL 
avb_create_media_sample ()
 Creates an empty media sample.
AVBLOCKS_API
primo::codecs::MediaBuffer
*AVBLOCKS_CALL 
avb_create_media_buffer (int32_t capacity)
 Creates a media buffer with the specified capacity.
AVBLOCKS_API
primo::avblocks::MediaPin
*AVBLOCKS_CALL 
avb_create_media_pin ()
 Creates a media pin.
AVBLOCKS_API
primo::avblocks::MediaSocket
*AVBLOCKS_CALL 
avb_create_media_socket ()
 Creates a media socket.
AVBLOCKS_API
primo::avblocks::MediaSocket
*AVBLOCKS_CALL 
avb_create_media_socket_from_media_info (primo::avblocks::MediaInfo *mediaInfo)
 Creates a media socket from a MediaInfo object.
AVBLOCKS_API
primo::avblocks::MediaSocket
*AVBLOCKS_CALL 
avb_create_media_socket_from_preset (const char *preset)
 Creates a media socket from an AVBlocks Preset.
AVBLOCKS_API
primo::avblocks::MediaInfo
*AVBLOCKS_CALL 
avb_create_media_info ()
 Creates a media information object.
AVBLOCKS_API
primo::avblocks::ByteArrayParameter
*AVBLOCKS_CALL 
avb_create_byte_array_parameter ()
 Creates a parameter that represents a byte array.
AVBLOCKS_API
primo::avblocks::MediaBufferParameter
*AVBLOCKS_CALL 
avb_create_media_buffer_parameter ()
 Creates a parameter that holds a MediaBuffer object.
AVBLOCKS_API
primo::avblocks::StringParameter
*AVBLOCKS_CALL 
avb_create_string_parameter ()
 Creates a parameter that holds a char_t* string.
AVBLOCKS_API
primo::avblocks::IntParameter
*AVBLOCKS_CALL 
avb_create_int_parameter ()
 Creates an integer parameter.
AVBLOCKS_API
primo::avblocks::FloatParameter
*AVBLOCKS_CALL 
avb_create_float_parameter ()
 Creates a float parameter.
AVBLOCKS_API
primo::avblocks::ParameterList
*AVBLOCKS_CALL 
avb_create_parameter_list ()
 Creates an empty collection of filter parameters.
AVBLOCKS_API
primo::codecs::Metadata
*AVBLOCKS_CALL 
avb_create_metadata ()
 Creates an empty Metadata object.
AVBLOCKS_API
primo::codecs::MetaAttribute
*AVBLOCKS_CALL 
avb_create_meta_attribute ()
 Creates an empty MetaAttribute object.
AVBLOCKS_API
primo::codecs::MetaPicture
*AVBLOCKS_CALL 
avb_create_meta_picture ()
 Creates an empty MetaPicture object.
bool_t initialize ()
 see avb_initialize
void shutdown ()
 see avb_shutdown
const char * description ()
 see avb_get_description
int32_t minorVersion ()
 see avb_get_minor_version
int32_t patchVersion ()
 see avb_get_patch_version
int32_t majorVersion ()
 see avb_get_major_version
int32_t setLicense (const char *license)
 see avb_set_license
primo::license::LicenseInfocreateLicenseInfo ()
 see avb_create_license_info
Transcoder * createTranscoder ()
 see avb_create_transcoder
primo::codecs::AudioStreamInfocreateAudioStreamInfo ()
 see avb_create_audio_stream_info
primo::codecs::VideoStreamInfocreateVideoStreamInfo ()
 see avb_create_video_stream_info
primo::codecs::MediaSamplecreateMediaSample ()
 see avb_create_media_sample
primo::codecs::MediaBuffercreateMediaBuffer (int32_t capacity)
 see avb_create_media_buffer
primo::avblocks::MediaPincreateMediaPin ()
 see avb_create_media_pin
primo::avblocks::MediaSocketcreateMediaSocket ()
 see avb_create_media_socket
primo::avblocks::MediaSocketcreateMediaSocket (const char *preset)
 see avb_create_media_socket_from_preset
primo::avblocks::MediaSocketcreateMediaSocket (MediaInfo *mediaInfo)
 see avb_create_media_socket_from_media_info
primo::avblocks::MediaInfocreateMediaInfo ()
 see avb_create_media_info
primo::avblocks::ByteArrayParametercreateByteArrayParameter ()
 see avb_create_byte_array_parameter
primo::avblocks::MediaBufferParametercreateMediaBufferParameter ()
 see avb_create_media_buffer_parameter
primo::avblocks::StringParametercreateStringParameter ()
 see avb_create_string_parameter
primo::avblocks::IntParametercreateIntParameter ()
 see avb_create_int_parameter
primo::avblocks::FloatParametercreateFloatParameter ()
 see avb_create_float_parameter
primo::avblocks::ParameterListcreateParameterList ()
 see avb_create_parameter_list
primo::codecs::MetadatacreateMetadata ()
 see avb_create_metadata
primo::codecs::MetaAttributecreateMetaAttribute ()
 see avb_create_meta_attribute
primo::codecs::MetaPicturecreateMetaPicture ()
 see avb_create_meta_picture

Variables

static const char Use [] = "VIDEO_FRAME_RATE_FILTER"
 Video: Specifies whether a video frame rate filter is inserted in the processing chain.
static const char Method [] = "DEINTERLACING_METHOD"
 Video: Specifies the deinterlacing method used by the deinterlacing filter.
static const char Threshold [] = "DEINTERLACING_THRESHOLD"
 Video: Specifies the deinterlacing threshold that is used by some deinterlacing methods.
static const char Use [] = "DEINTERLACING_FILTER"
static const char InterpolationMethod [] = "RESIZE_INTERPOLATION_METHOD"
 Video: Specifies the interpolation method that is used for resizing video frames.
static const char Left [] = "CROP_LEFT"
 Video: Specifies the area to be cropped inside the left edge of the input frame.
static const char Right [] = "CROP_RIGHT"
 Video: Specifies the area to be cropped inside the right edge of the input frame.
static const char Top [] = "CROP_TOP"
 Video: Specifies the area to be cropped inside the top edge of the input frame.
static const char Bottom [] = "CROP_BOTTOM"
 Video: Specifies the area to be cropped inside the bottom edge of the input frame.
static const char Left [] = "PAD_LEFT"
 Video: Specifies the area to be padded inside the left edge of the output frame.
static const char Right [] = "PAD_RIGHT"
 Video: Specifies the area to be padded inside the right edge of the output frame.
static const char Top [] = "PAD_TOP"
 Video: Specifies the area to be padded inside the top edge of the output frame.
static const char Bottom [] = "PAD_BOTTOM"
 Video: Specifies the area to be padded inside the bottom edge of the output frame.
static const char Color [] = "PAD_COLOR"
 Video: Specifies the padding color if any padding is set.
static const char Config [] = "DECODER_CONFIG"
 Decoder configuration data.
static const char MaxDecFrameBuffering [] = "DECODER_H264_MAX_DEC_FRAME_BUFFERING"
 H264 Video: Specifies the requested size of the Decoded Picture Buffer.
static const char ConcealDefects [] = "DECODER_VIDEO_CONCEAL_DEFECTS"
 Video: Specifies whether to conceal bitstream defects and errors.
static const char ForceV1 [] = "ENCODER_MPEGAUDIO_FORCE_V1"
 MPEG Audio: Forces MPEG audio to version 1.
static const char Quality [] = "ENCODER_VORBIS_QUALITY"
 Vorbis Audio: Specifies the quality of the compressed audio.
static const char Quality [] = "ENCODER_WMA_QUALITY"
 Windows Media Audio: Specifies the quality of the compressed audio.
static const char GOPSize [] = "ENCODER_MPEG2VIDEO_GOPSIZE"
 MPEG-2 Video: Size of the Group Of Pictures (GOP).
static const char Profile [] = "ENCODER_H264_PROFILE_IDC"
 H.264 Video: Encoding profile.
static const char EntropyCodingMode [] = "ENCODER_H264_ENTROPY_CODING_MODE"
 H.264 Video: Entropy coding mode.
static const char NumBFrames [] = "ENCODER_H264_NUM_B_FRAMES"
 H.264 Video: Number of B-frames between consequent I-frames or P-frames.
static const char TreatBFramesAsReference [] = "ENCODER_H264_TREAT_B_FRAMES_AS_REFERENCE"
 H.264 Video: Allows B-pictures to be used as reference pictures.
static const char NumRefFrames [] = "ENCODER_H264_NUM_REF_FRAMES"
 H.264 Video: Maximum number of reference pictures.
static const char NumSlices [] = "ENCODER_H264_NUM_SLICES"
 H.264 Video: Number of slices per frame/field.
static const char Level [] = "ENCODER_H264_LEVEL_IDC"
 H.264 Video: Computation level.
static const char DeblockingFilter [] = "ENCODER_H264_DEBLOCKING_FILTER_IDC"
 H.264 Video: De-blocking filter mode.
static const char DeblockingFilterAlpha [] = "ENCODER_H264_DEBLOCKING_FILTER_ALPHA"
 H.264 Video: De-blocking filter strength.
static const char DeblockingFilterBeta [] = "ENCODER_H264_DEBLOCKING_FILTER_BETA"
 H.264 Video: De-blocking filter threshold.
static const char Transform8x8 [] = "ENCODER_H264_TRANSFORM8X8"
 H.264 Video: Transform 8x8 mode.
static const char DirectPredMode [] = "ENCODER_H264_DIRECT_PRED_MODE"
 H.264 Video: Direct prediction mode.
static const char QualitySpeed [] = "ENCODER_H264_QUALITY_SPEED"
 H.264 Video: Quality/Speed trade off.
static const char MERangeSearchX [] = "ENCODER_H264_ME_RANGE_SEARCH_X"
 H.264 Video: Specifies how far motion estimation should be done in a horizontal direction.
static const char MERangeSearchY [] = "ENCODER_H264_ME_RANGE_SEARCH_Y"
 H.264 Video: Specifies how far motion estimation should be done in a vertical direction.
static const char MESplitMode [] = "ENCODER_H264_ME_SPLIT_MODE"
 H.264 Video: Specifies the block size for which motion estimation should be done.
static const char MEMethod [] = "ENCODER_H264_ME_METHOD"
 H.264 Video: Motion estimation method.
static const char PictureCodingType [] = "ENCODER_H264_PIC_CODING_TYPE"
 H.264 Video: Picture coding type.
static const char RateControlMethod [] = "ENCODER_H264_RATE_CONTROL_METHOD"
 H.264 Video: Rate control method.
static const char RateControlQuantI [] = "ENCODER_H264_RATE_CONTROL_QUANT_I"
 H.264 Video: Rate control quantizer for I slices.
static const char RateControlQuantP [] = "ENCODER_H264_RATE_CONTROL_QUANT_P"
 H.264 Video: Rate control quantizer for P slices.
static const char RateControlQuantB [] = "ENCODER_H264_RATE_CONTROL_QUANT_B"
 H.264 Video: Rate control quantizer for B slices.
static const char KeyFrameInterval [] = "ENCODER_H264_KEY_FRAME_INTERVAL"
 H.264 Video: Distance between two sequential I-pictures.
static const char KeyFrameIDRInterval [] = "ENCODER_H264_KEY_FRAME_IDR_INTERVAL"
 H.264 Video: Distance between two sequential IDR-pictures in terms of I pictures.
static const char AccessUnitDelimiters [] = "ENCODER_H264_ACCESS_UNIT_DELIMITERS"
 H.264 Video: Use access unit delimiters.
static const char FastStart [] = "MUXER_MP4_FAST_START"
 Run a second pass moving the moov atom before the mdat atom.
static const char FastStartUseTempFile [] = "MUXER_MP4_FAST_START_USE_TEMP_FILE"
 Specifies whether a temp file will to be used during the second pass.
static const char FastStartTempFileDirectory [] = "MUXER_MP4_FAST_START_TEMP_FILE_DIRECTORY"
 Specifies the temp file directory.
static const char DVD_PAL_4x3_MP2 [] = "dvd.pal.4x3.mp2"
 Video: MPEG-2, 25 fps, 720 x 576, aspect 4:3
Audio: MPEG-1 Layer 2, 48000 Hz, stereo.
static const char DVD_PAL_16x9_MP2 [] = "dvd.pal.16x9.mp2"
 Video: MPEG-2, 25 fps, 720 x 576, aspect 16:9
Audio: MPEG-1 Layer 2, 48000 Hz, stereo.
static const char DVD_NTSC_4x3_PCM [] = "dvd.ntsc.4x3.pcm"
 Video: MPEG-2, 29.97 fps, 720 x 480, aspect 4:3
Audio: PCM, 16-bit, 48000 Hz, stereo.
static const char DVD_NTSC_4x3_MP2 [] = "dvd.ntsc.4x3.mp2"
 Video: MPEG-2, 29.97 fps, 720 x 480, aspect 4:3
Audio: MPEG-1 Layer 2, 48000 Hz, stereo.
static const char DVD_NTSC_16x9_PCM [] = "dvd.ntsc.16x9.pcm"
 Video: MPEG-2, 29.97 fps, 720 x 480, aspect 16:9
Audio: PCM, 16-bit, 48000 Hz, stereo.
static const char DVD_NTSC_16x9_MP2 [] = "dvd.ntsc.16x9.mp2"
 Video: MPEG-2, 29.97 fps, 720 x 480, aspect 16:9
Audio: MPEG-1 Layer 2, 48000 Hz, stereo.
static const char AAC [] = "aac"
 AAC stream in ADTS format, stereo, 128 kbps.
static const char AppleTV_H264_480p [] = "appletv.h264.480p"
 Video: H.264, 24 fps, 640 x 480, 1500 kbps
Audio: AAC, 48000 Hz, stereo, 48 kbps
Container: MP4
Optimized for Apple TV, 1st generation.
static const char AppleTV_MPEG4_480p [] = "appletv.mpeg4.480p"
 Video: MPEG-4 Visual, 24 fps, 640 x 480, 2000 kbps
Audio: AAC, 48000 Hz, stereo, 48 kbps
Container: MP4
Optimized for Apple TV, 1st generation.
static const char AppleTV_H264_720p [] = "appletv.h264.720p"
 Video: H.264, 24 fps, 1280 x 720, 4000 kbps
Audio: AAC, 48000 Hz, stereo, 48 kbps
Container: MP4
Optimized for Apple TV, 2nd generation.
static const char WAV_AudioCD [] = "wav.audiocd"
 WAV with parameters as in Audio CD (PCM, 44100 Hz, 16-bit, stereo)
static const char MP4_H264_AAC [] = "mp4.h264.aac"
 Video: H.264
Audio: AAC
Container: MP4
Does not enforce specific audio and video properties.
static const char iPad_H264_576p [] = "ipad.mp4.h264.576p"
 Video: H.264, 30 fps, 768 x 576, 2500 kbps
Audio: AAC, 48000 Hz, stereo, 128 kbps
Container: MP4
SD quality, optimized for iPad.
static const char iPad_H264_720p [] = "ipad.mp4.h264.720p"
 Video: H.264, 30 fps, 1280 x 720, 4000 kbps
Audio: AAC, 48000 Hz, stereo, 128 kbps
Container: MP4
HD quality, optimized for iPad.
static const char iPad_MPEG4_480p [] = "ipad.mp4.mpeg4.480p"
 Video: MPEG-4 Visual, 30 fps, 640 x 480, 2500 kbps
Audio: AAC, 48000 Hz, 128 kbps, stereo
Container: MP4
Near SD quality, optimized for iPad.
static const char AppleLiveStreaming_H264_480p [] = "apple.ts.h264.480p"
 Video: H.264 Baseline Profile L3.1, 29.97 fps, 640 x 480, 1200 kbps
Audio: AAC, 48000 Hz, stereo, 96 kbps
Container: MPEG Transport Stream
Optimized for Apple Live Streaming.
static const char AppleLiveStreaming_H264_720p [] = "apple.ts.h264.720p"
 Video: H.264 Main Profile L3.1, 29.97 fps, 1280 x 720, 5000 kbps
Audio: AAC, 48000 Hz, stereo, 128 kbps
Container: MPEG Transport Stream
Optimized for Apple Live Streaming.
static const char iPhone_H264_480p [] = "iphone.mp4.h264.480p"
 Video: H.264, 25 fps, 640 x 480, 1000 kbps
Audio: AAC, 48000 Hz, stereo, 96 kbps
Container: MP4
Optimized for iPhone.
static const char iPhone_MPEG4_480p [] = "iphone.mp4.mpeg4.480p"
 Video: MPEG-4 Visual, 25 fps, 640 x 480, 2000 kbps
Audio: AAC, 48000 Hz, stereo, 96 kbps
Container: MP4
Optimized for iPhone.
static const char iPod_H264_240p [] = "ipod.mp4.h264.240p"
 Video: H.264 Baseline Profile, 25 fps, 320 x 240, 300 kbps
Audio: AAC, 48000 Hz, stereo, 64 kbps
Container: MP4
Optimized for iPod.
static const char iPod_MPEG4_240p [] = "ipod.mp4.mpeg4.240p"
 Video: MPEG-4 Visual, 25 fps, 320 x 240, 600 kbps
Audio: AAC, 48000 Hz, stereo, 64 kbps
Container: MP4
Optimized for iPod.
static const char M4A_128kbps [] = "mp4.aac.44100hz.128kbps"
 AAC audio stream in MP4 format, 44100 Hz, stereo, 128 kbps Normal (standard) quality.
static const char M4A_256kbps [] = "mp4.aac.44100hz.256kbps"
 AAC audio stream in MP4 format, 44100 Hz, stereo, 256 kbps High quality.
static const char MP2_DVD [] = "mp2.dvd"
 MPEG-1 Layer 2 audio, 48000Hz (suitable for DVD)
static const char MP3_128kbps [] = "mp3.44100hz.128kbps"
 MPEG-1 Layer 3 audio, 44100Hz, stereo, 128 kbps.
static const char MP3_256kbps [] = "mp3.44100hz.256kbps"
 MPEG-1 Layer 3 audio, 44100Hz, stereo, 256 kbps.
static const char VCD_PAL [] = "vcd.pal"
 Video: MPEG-1, 25fps, 352 x 288, 1100 kbps
Audio: MPEG-1 Layer 2, 44100Hz, stereo, 192 kbps
Container: MPEG Program Stream
VCD PAL.
static const char VCD_NTSC [] = "vcd.ntsc"
 Video: MPEG-1, 29.97 fps, 352 x 240, 1100 kbps
Audio: MPEG-1 Layer 2, 44100Hz, stereo, 192 kbps
Container: MPEG Program Stream
VCD NTSC.
static const char WebM_VP8_Vorbis [] = "webm.vp8.vorbis"
 Video: VP8
Audio: Vorbis
Container: WebM
Does not enforce specific audio and video properties.
static const char AndroidPhone_H264_360p [] = "android-phone.mp4.h264.360p"
 Video: H264 Baseline Profile, 30 fps, 480 x 360, 800 kbps
Audio: AAC, 48000 Hz, stereo, 128 kbps
Container: MP4.
static const char AndroidPhone_H264_720p [] = "android-phone.mp4.h264.720p"
 Video: H264 Baseline Profile, 30 fps, 1280 x 720, 2000 kbps
Audio: AAC, 48000 Hz, stereo, 128 kbps
Container: MP4.
static const char AndroidTablet_H264_720p [] = "android-tablet.mp4.h264.720p"
 Video: H264 Baseline Profile, 30 fps, 1280 x 720, 4000 kbps
Audio: AAC, 48000 Hz, stereo, 192 kbps
Container: MP4.
static const char AndroidTablet_WebM_VP8_720p [] = "android-tablet.webm.vp8.720p"
 Video: VP8, 30 fps, 1280 x 720, 4000 kbps
Audio: Vorbis, 48000 Hz, stereo, 192 kbps
Container: WebM.
static const char WMA_Standard_CBR_128kbps [] = "wma.cbr.128kbps"
 Audio: Windows Media Audio Standard, CBR, 44100 Hz, stereo, 128 kbps
Container: ASF

static const char WMA_Professional_Q75 [] = "wma.pro.q75"
 Audio: Windows Media Audio Professional, VBR, 44100 Hz, stereo, Quality 75 (0-100)
Container: ASF
Normal quality VBR with average bitrate close to 128 kbps.
static const char WMA_Professional_Q90 [] = "wma.pro.q90"
 Audio: Windows Media Audio Professional, VBR, 44100 Hz, stereo, Quality 90 (0-100)
Container: ASF
High quality VBR with average bitrate close to 192 kbps.
static const char WMA_Lossless [] = "wma.lossless"
 Audio: Windows Media Audio Lossless, 44100 Hz, stereo Container: ASF.
static const char OggVorbis_Q4 [] = "ogg.vorbis.q4"
 Audio: Vorbis, VBR, frequency not explicitly specified, quality 4 (from -1 to 10) Container: Ogg Normal quality VBR with average bitrate close to 128 kbps at 44100 Hz.
static const char OggVorbis_Q8 [] = "ogg.vorbis.q8"
 Audio: Vorbis, VBR, frequency not explicitly specified, quality 8 (from -1 to 10) Container: Ogg High quality VBR with average bitrate close to 256 kbps at 44100 Hz.
const char *const AAC = Preset::AAC
 see Preset::AAC
const char *const CBR_128kbps = M4A_128kbps
 see Preset::M4A_128kbps
const char *const CBR_256kbps = M4A_256kbps
 see Preset::M4A_256kbps
const char *const CBR_128kbps = MP3_128kbps
 see Preset::MP3_128kbps
const char *const CBR_256kbps = MP3_256kbps
 see Preset::MP3_256kbps
const char *const CBR_128kbps = WMA_Standard_CBR_128kbps
 see Preset::WMA_Standard_CBR_128kbps
const char *const VBR_Q75 = WMA_Professional_Q75
 see Preset::WMA_Professional_Q75
const char *const VBR_Q90 = WMA_Professional_Q90
 see Preset::WMA_Professional_Q90
const char *const Lossless = WMA_Lossless
 see Preset::WMA_Lossless
const char *const VBR_Q4 = OggVorbis_Q4
 see Preset::OggVorbis_Q4
const char *const VBR_Q8 = OggVorbis_Q8
 see Preset::OggVorbis_Q8
const char *const WAV = WAV_AudioCD
 see Preset::WAV_AudioCD
const char *const MP2 = MP2_DVD
 see Preset::MP2_DVD (MPEG-1 Layer 2)
const char *const H264_AAC = MP4_H264_AAC
 see Preset::MP4_H264_AAC
const char *const VP8_Vorbis = WebM_VP8_Vorbis
 see Preset::WebM_VP8_Vorbis
const char *const PAL_4x3_MP2 = DVD_PAL_4x3_MP2
 see Preset::DVD_PAL_4x3_MP2
const char *const PAL_16x9_MP2 = DVD_PAL_16x9_MP2
 see Preset::DVD_PAL_16x9_MP2
const char *const NTSC_4x3_PCM = DVD_NTSC_4x3_PCM
 see Preset::DVD_NTSC_4x3_PCM
const char *const NTSC_4x3_MP2 = DVD_NTSC_4x3_MP2
 see Preset::DVD_NTSC_4x3_MP2
const char *const NTSC_16x9_PCM = DVD_NTSC_16x9_PCM
 see Preset::DVD_NTSC_16x9_PCM
const char *const NTSC_16x9_MP2 = DVD_NTSC_16x9_MP2
 see Preset::DVD_NTSC_16x9_MP2
const char *const PAL = VCD_PAL
 see Preset::VCD_PAL
const char *const NTSC = VCD_NTSC
 see Preset::VCD_NTSC
const char *const H264_576p = iPad_H264_576p
 see Preset::iPad_H264_576p
const char *const H264_720p = iPad_H264_720p
 see Preset::iPad_H264_720p
const char *const MPEG4_480p = iPad_MPEG4_480p
 see Preset::iPad_MPEG4_480p
const char *const H264_480p = AppleTV_H264_480p
 see Preset::AppleTV_H264_480p
const char *const H264_720p = AppleTV_H264_720p
 see Preset::AppleTV_H264_720p
const char *const MPEG4_480p = AppleTV_MPEG4_480p
 see Preset::AppleTV_MPEG4_480p
const char *const H264_480p = iPhone_H264_480p
 see Preset::iPhone_H264_480p
const char *const MPEG4_480p = iPhone_MPEG4_480p
 see Preset::iPhone_MPEG4_480p
const char *const H264_240p = iPod_H264_240p
 see Preset::iPod_H264_240p
const char *const MPEG4_240p = iPod_MPEG4_240p
 see Preset::iPod_MPEG4_240p
const char *const H264_480p = AppleLiveStreaming_H264_480p
 see Preset::AppleLiveStreaming_H264_480p
const char *const H264_720p = AppleLiveStreaming_H264_720p
 see Preset::AppleLiveStreaming_H264_720p
const char *const H264_360p = AndroidPhone_H264_360p
 see Preset::AndroidPhone_H264_360p
const char *const H264_720p = AndroidPhone_H264_720p
 see Preset::AndroidPhone_H264_720p
const char *const H264_720p = AndroidTablet_H264_720p
 see Preset::AndroidTablet_H264_720p
const char *const WebM_VP8_720p = AndroidTablet_WebM_VP8_720p
 see Preset::AndroidTablet_WebM_VP8_720p

Detailed Description


Function Documentation

Creates an empty audio stream info.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new AudioStreamInfo object.
See also:
Object Management
AudioStreamInfo

Referenced by primo::avblocks::Library::createAudioStreamInfo().

Creates a parameter that represents a byte array.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Parameter object.
See also:
Object Management
ParameterList

Referenced by primo::avblocks::Library::createByteArrayParameter().

Creates a float parameter.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Parameter object.
See also:
Object Management
ParameterList

Referenced by primo::avblocks::Library::createFloatParameter().

Creates an integer parameter.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Parameter object.
See also:
Object Management
ParameterList

Referenced by primo::avblocks::Library::createIntParameter().

AVBLOCKS_API primo::license::LicenseInfo* AVBLOCKS_CALL avb_create_license_info ( )

Creates a new LicenseInfo instance.

Version:
1.2.0
Returns:
A pointer to LicenseInfo object.
See also:
primo::license::LicenseInfo

Referenced by primo::avblocks::Library::createLicenseInfo().

AVBLOCKS_API primo::codecs::MediaBuffer* AVBLOCKS_CALL avb_create_media_buffer ( int32_t  capacity)

Creates a media buffer with the specified capacity.

The caller is responsible for releasing the object when it is not needed anymore.

Parameters:
capacityThe required capacity must be greater or equal to 0.
Returns:
A pointer to the new MediaBuffer object if capacity >= 0, otherwise NULL.
Remarks:
The returned object has a capacity that has been specified by the capacity parameter. It contains no data, i.e. dataSize() == 0.
See also:
Object Management
MediaBuffer

Referenced by primo::avblocks::Library::createMediaBuffer().

Creates a parameter that holds a MediaBuffer object.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Parameter object.
See also:
Object Management
ParameterList

Referenced by primo::avblocks::Library::createMediaBufferParameter().

AVBLOCKS_API primo::avblocks::MediaInfo* AVBLOCKS_CALL avb_create_media_info ( )

Creates a media information object.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new MediaInfo object.
See also:
Object Management
MediaInfo

Referenced by primo::avblocks::Library::createMediaInfo().

AVBLOCKS_API primo::avblocks::MediaPin* AVBLOCKS_CALL avb_create_media_pin ( )

Creates a media pin.

It is used in input and output sockets of the transcoder. The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new MediaPin object.
See also:
Object Management
MediaPin
MediaSocket
Transcoder

Referenced by primo::avblocks::Library::createMediaPin().

AVBLOCKS_API primo::codecs::MediaSample* AVBLOCKS_CALL avb_create_media_sample ( )

Creates an empty media sample.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new MediaSample object.
See also:
Object Management
MediaSample

Referenced by primo::avblocks::Library::createMediaSample().

AVBLOCKS_API primo::avblocks::MediaSocket* AVBLOCKS_CALL avb_create_media_socket ( )

Creates a media socket.

It is used as an input or output point of the transcoder. The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new MediaSocket object.
See also:
Object Management
MediaSocket
MediaPin
Transcoder

Referenced by primo::avblocks::Library::createMediaSocket().

Creates a media socket from a MediaInfo object.

Parameters:
mediaInfo[in] A pointer to a MediaInfo object with loaded audio/video information. This object is not needed once this method returns.
Returns:
A pointer to a new MediaSocket object which contains the information supplied by the mediaInfo parameter. The caller is responsible for releasing the returned media socket when it is not needed anymore.

This method is meant to help in setting correctly the inputs of the Transcoder. The intended usage is as follows:

  1. Use MediaInfo to load information for a file or user stream.
  2. Create a media socket from the MediaInfo object (Library::createMediaSocket(MediaInfo*)).
  3. Add the newly created socket to the inputs of the Transcoder (Transcoder::inputs(), MediaSocketList::add()).
  4. Release the media socket if it will not be used outside of the Transcoder.
See also:
MediaInfo
Object Management

Referenced by primo::avblocks::Library::createMediaSocket().

AVBLOCKS_API primo::avblocks::MediaSocket* AVBLOCKS_CALL avb_create_media_socket_from_preset ( const char *  preset)

Creates a media socket from an AVBlocks Preset.

Parameters:
preset[in] A pointer to a preset string. The known presets are listed in the primo::avblocks::Preset namespace.
Returns:
A pointer to the new MediaSocket object which is configured according to the specified preset.

Referenced by primo::avblocks::Library::createMediaSocket().

Creates an empty MetaAttribute object.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new MetaAttribute object.
See also:
Object Management
Metadata
Metadata::attributes

Referenced by primo::avblocks::Library::createMetaAttribute().

AVBLOCKS_API primo::codecs::MetaPicture* AVBLOCKS_CALL avb_create_meta_picture ( )

Creates an empty MetaPicture object.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new MetaPicture object.
See also:
Object Management
Metadata
Metadata::pictures

Referenced by primo::avblocks::Library::createMetaPicture().

AVBLOCKS_API primo::codecs::Metadata* AVBLOCKS_CALL avb_create_metadata ( )

Creates an empty Metadata object.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Metadata object.
See also:
Object Management
Metadata
MediaSocket::setMetadata
MediaSocket::metadata

Referenced by primo::avblocks::Library::createMetadata().

Creates an empty collection of filter parameters.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new ParameterList object.
See also:
Object Management
ParameterList

Referenced by primo::avblocks::Library::createParameterList().

Creates a parameter that holds a char_t* string.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Parameter object.
See also:
Object Management
ParameterList

Referenced by primo::avblocks::Library::createStringParameter().

AVBLOCKS_API primo::avblocks::Transcoder* AVBLOCKS_CALL avb_create_transcoder ( )

Creates a Transcoder.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new Transcoder object.
See also:
Object Management
Transcoder

Referenced by primo::avblocks::Library::createTranscoder().

Creates an empty video stream info.

The caller is responsible for releasing the object when it is not needed anymore.

Returns:
A pointer to the new VideoStreamInfo object.
See also:
Object Management
VideoStreamInfo

Referenced by primo::avblocks::Library::createVideoStreamInfo().

AVBLOCKS_API const char* AVBLOCKS_CALL avb_get_description ( )

Gets library build description.

Returns:
ANSI string.
Remarks:
Contains details about the build including full version, architecture (x86/x64), configuration (Release/Debug), license (OEM/Demo) and platform (OS).

Referenced by primo::avblocks::Library::description().

AVBLOCKS_API int32_t AVBLOCKS_CALL avb_get_major_version ( )

Gets library major version.

Returns:
major version

Referenced by primo::avblocks::Library::majorVersion().

AVBLOCKS_API int32_t AVBLOCKS_CALL avb_get_minor_version ( )

Gets library minor version.

Returns:
minor version

Referenced by primo::avblocks::Library::minorVersion().

AVBLOCKS_API int32_t AVBLOCKS_CALL avb_get_patch_version ( )

Gets library patch version.

Returns:
patch version
Remarks:
The patch version is used for bug fixes and small improvements that do not involve API changes

Referenced by primo::avblocks::Library::patchVersion().

AVBLOCKS_API bool_t AVBLOCKS_CALL avb_initialize ( )

Initializes the AVBlocks library.

Must be called once before the library is used, usually when the application starts.

Returns:
TRUE if the library is successfully initialized, otherwise FALSE.

Referenced by primo::avblocks::Library::initialize().

AVBLOCKS_API int32_t AVBLOCKS_CALL avb_set_license ( const char *  license)

Sets a license string.

The supplied license is appended to the library license state.

Parameters:
licenseA string with license information. If the license string is NULL the library license state is cleared.
Returns:
The status after the license is set. The returned value is a combination of flags from the LicenseStatusFlags enum.
Remarks:
A Demo build of the library cannot be licensed and always returns LicenseStatusFlags::DemoBuild.
See also:
primo::license::LicenseStatusFlags::Enum

Referenced by primo::avblocks::Library::setLicense().

AVBLOCKS_API void AVBLOCKS_CALL avb_shutdown ( )

Closes the AVBlocks library and frees the resources that are used (if any).

Should be called when the library will not be used anymore, e.g. when the application ends.

Referenced by primo::avblocks::Library::shutdown().

 All Classes Namespaces Files Functions Variables Enumerations Enumerator