AVBlocks for .NET  1.13
Audio and Video Software Development Kit
Package PrimoSoftware.AVBlocks

Classes

class  AudioStreamInfo
 Describes an elementary audio stream. More...
 
class  Preset
 Defines output presets supported by AVBlocks. More...
 
class  PinConnection
 Defines pin connection disposition. More...
 
class  Param
 Defines parameters that can be passed to the transcoder and to the components that are used in the transcoding process. More...
 
class  MimeType
 Multipurpose Internet Mail Extensions (MIME) used in AVBlocks More...
 
class  Meta
 Metadata attribute names (tags) More...
 
class  ErrorInfo
 Describes an AVBlocks error. More...
 
class  Library
 Initializes AVBlocks and manages license information. More...
 
class  MediaBuffer
 A buffer for media data. 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  MediaSample
 Represents one or more samples of media data. More...
 
class  MediaSocket
 An input or output point of the Transcoder. More...
 
class  MetaAttribute
 MetaAttribute describes a textual 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  Metadata
 Metadata describes meta information that is part of an audio or video file. More...
 
class  ParameterList
 
class  StreamInfo
 Provides properties and operations that are common for all elementary streams. More...
 
class  Transcoder
 Provides functionality for audio and video encoding, decoding and transforming. More...
 
class  TranscoderProgressEventArgs
 Contains the parameters of the Transcoder.OnProgress event. More...
 
class  TranscoderStatusEventArgs
 Contains the parameters of the Transcoder.OnStatus event. More...
 
class  TranscoderContinueEventArgs
 Contains the parameters of the Transcoder.OnContinue event. More...
 
class  VideoStreamInfo
 Describes an elementary video stream. More...
 

Enumerations

enum  LicenseStatusFlags {
  Ready = 0,
  ValidationInProgress = 1,
  DemoBuild = 2
}
 Defines the AVBlocks license status. More...
 
enum  ErrorFacility {
  Success = 0,
  SystemWindows = 1,
  SystemMacOSStatus = 2,
  SystemMacMach = 3,
  SystemPosix = 4,
  AVBlocks = 5,
  Transcoder = 6,
  Codec = 9,
  Demuxer = 0x7FFF0000,
  Muxer,
  MediaInfo,
  Stream,
  Block
}
 Describes the AVBlocks facilities that could generate errors. More...
 
enum  AVBlocksError {
  UnlicensedFeature = 9,
  Failed = 0x7FFF0000,
  NullReference,
  InvalidParams,
  Alloc,
  NotImplemented,
  InvalidOperation,
  UnsupportedFormat,
  MissingDependency
}
 Defines API usage errors. More...
 
enum  TranscoderError {
  NoChain = 1,
  UndefinedSocketType = 2,
  UnsupportedInterlacedConversion = 3,
  NoCodec = 4,
  UnsupportedVideoConversion = 5,
  BufferFull = 6,
  InputNeeded = 7
}
 Defines Transcoder specific errors. More...
 
enum  MediaInfoError { NoInput = 1 }
 Deprecated. More...
 
enum  DemuxerError {
  Open = 1,
  Read = 2
}
 Deprecated. More...
 
enum  MuxerError {
  Open = 1,
  Write = 2,
  Stop = 3
}
 Deprecated. More...
 
enum  CodecError {
  Init = 1,
  Open = 1,
  NoConfigData = 2,
  NoOutput = 3,
  OutputBufferNotEnough = 4,
  Unsupported = 5,
  UnsupportedCodecProfile = 5,
  Failed = 6,
  NotInitialized = 7,
  Null = 8,
  EOS = 9,
  Alloc = 10,
  InvalidStream = 11,
  NotImplemented = 12,
  InvalidParams = 13,
  InvalidOperation = 14,
  MissingDependency = 15,
  StreamOpen = 16,
  StreamRead = 17,
  StreamWrite = 18,
  StreamSeek = 19
}
 Common errors for encoders, decoders, muxers, demuxers and other A/V components. More...
 
enum  StreamError {
  Open = 1,
  Read = 2,
  Write = 3,
  Seek = 4,
  EOS = 5
}
 Deprecated. More...
 
enum  StreamType {
  Unknown = 0,
  BEGIN_AUDIO = 0x1000,
  LPCM = 0x1001,
  ALawPCM = 0x1002,
  MuLawPCM = 0x1003,
  VideoDvdPCM = 0x1004,
  Ac3 = 0x1005,
  Dts = 0x1006,
  MpegAudio = 0x1007,
  Vorbis = 0x1008,
  Aac = 0x1009,
  AmrNarrowBand = 0x100A,
  AmrWideBand = 0x100B,
  G726ADPCM = 0x100C,
  Wma = 0x100D,
  Wma_Professional = 0x100E,
  Wma_Lossless = 0x100F,
  END_AUDIO = 0x1FFF,
  BEGIN_VIDEO = 0x2000,
  UncompressedVideo = 0x2001,
  Mpeg1Video = 0x2002,
  Mpeg2Video = 0x2003,
  Mpeg4Video = 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,
  MpegPS = 0x3004,
  MpegTS = 0x3005,
  MpegPES = 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
}
 Defines major audio and video stream types, and file formats (a.k.a. More...
 
enum  StreamSubType {
  Unknown = 0,
  AacAdts = 1,
  AacAdif = 2,
  AacMp4 = 3,
  Avc1 = 4,
  MpegTsBdav = 5,
  MpegAudioLayer1 = 6,
  MpegAudioLayer2 = 7,
  MpegAudioLayer3 = 8,
  G726PackedRFC3551 = 9,
  G726PackedAAL2 = 10,
  MPEG1_PS = 11,
  MPEG2_PS = 12
}
 Defines audio and video stream subtypes. More...
 
enum  ScanType {
  Unknown = 0,
  Progressive = 1,
  TopFieldFirst = 2,
  BottomFieldFirst = 3
}
 Defines video interlace/scan types. More...
 
enum  Use {
  Off = 0,
  On = 1,
  Auto = 2
}
 Specifies whether particular feature should be used. More...
 
enum  DeinterlacingMethod {
  NoDeinterlacing = 0,
  Duplicate = 1,
  Blend = 2,
  Median = 3,
  EdgeDetect = 4,
  MedianThreshold = 5,
  CAVT = 6
}
 Defines video deinterlacing methods. More...
 
enum  InterpolationMethod {
  Unknown = 0,
  NearestNeighbor = 1,
  Linear = 2,
  Cubic = 4,
  Super = 8,
  Lanczos = 16
}
 Defines methods for sample interpolation. More...
 
enum  MediaType {
  Unknown = 0,
  Audio = 1,
  Video = 2
}
 Defines media types. More...
 
enum  ColorFormat {
  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
}
 Defines constants for various color formats. More...
 
enum  PcmFlags {
  None = 0,
  Unsigned = 0x1,
  Float = 0x2,
  BigEndian = 0x4,
  NonInterleaved = 0x8
}
 Defines constants for various LPCM properties. More...
 
enum  AudioChannelFlags {
  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
}
 Defines the speaker location of one or more audio channels. More...
 
enum  BitrateMode {
  Unknown = 0,
  CBR = 1,
  VBR = 2,
  ABR = 3
}
 Defines the bitrate mode of the audio/video stream. More...
 
enum  MediaSampleFlags {
  None = 0x0,
  KeyFrame = 0x1,
  Bos = 0x2,
  Eos = 0x4
}
 Defines various media sample features. More...
 
enum  TranscoderStatus { Completed = 0 }
 Defines the status of a transcoder operation. More...
 
enum  H264Profile {
  None = 0,
  Baseline = 66,
  Main = 77,
  High = 100,
  High10 = 110,
  High422 = 122,
  High444 = 144
}
 Defines H.264/AVC profiles More...
 
enum  H264EntropyCodingMode {
  CAVLC = 0,
  CABAC = 1
}
 Defines H.264/AVC entropy coding modes More...
 
enum  H264DeblockingFilter {
  All = 0,
  Off = 1,
  InSlice = 2
}
 Defines H.264/AVC deblocking filter mode. More...
 
enum  H264DirectPredMode {
  Temporal = 0,
  Spatial = 1
}
 Defines H.264/AVC direct predition mode. More...
 
enum  H264MeSplitMode {
  Only16x16 = 0,
  DownTo8x8 = 1,
  DownTo4x4 = 2
}
 Defines the block sizes for which motion estimation should be done. More...
 
enum  H264MeMethod {
  Full = 0,
  ClassicLog = 1,
  Log = 2,
  EPZS = 3,
  FullOrthogonal = 4,
  LogOrthogonal = 5,
  TTS = 6,
  UMH = 8
}
 Defines the motion estimation methods used when encoding H.264/AVC More...
 
enum  H264PicCodingType {
  Frames = 0,
  Fields = 1
}
 Defines the picture coding type when encoding H.264/AVC More...
 
enum  H264RateControlMethod {
  ABR = 2,
  ConstantQuant = 3
}
 Defines methods for bitrate contorl when encoding H.264/AVC More...
 
enum  MetaPictureType {
  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
}
 Picture type defined as in ID3. More...
 

Enumeration Type Documentation

Defines the speaker location of one or more audio channels.

These channel constants are expressed as bit flags and can be combined together. A number of common speaker layouts are defined for convenience.

Enumerator
None 

= 0x0

No flag is set.

Left 

= 0x1

Left

Right 

= 0x2

Right

Center 

= 0x4

Center

LFE 

= 0x8

Low-frequency effect. Subwoofer.

BackLeft 

= 0x10

Back-left. Also known as Left Surround.

BackRight 

= 0x20

Back-right. Also known as Right Surround.

LeftCenter 

= 0x40

Front, left of center.

RightCenter 

= 0x80

Front, right of center.

BackCenter 

= 0x100

Back-center. Also known as Center Surround.

SideLeft 

= 0x200

Side-left. Also known as Left Surround Direct.

SideRight 

= 0x400

Side-right. Also known as Right Surround Direct.

TopCenter 

= 0x800

Top-center. Also known as Top Center Surround.

TopFrontLeft 

= 0x1000

Top-front-left. Also known as Vertical Height Left.

TopFrontCenter 

= 0x2000

Top-front-center. Also known as Vertical Height Center.

TopFrontRight 

= 0x4000

Top-front-right. Also known as Vertical Height Right.

TopBackLeft 

= 0x8000

Top-back-left

TopBackCenter 

= 0x10000

Top-back-center

TopBackRight 

= 0x20000

Top-back-right

LayoutMono 

Mono

LayoutStereo 

Stereo

Layout2p1 

Standard 3-channel layout (2.1)

LayoutSurround 

Standard 4-channel layout.

Surround.

LayoutQuad 

Alternative 4-channel layout.

Layout4p1 

Standard 5-channel layout (4.1)

Layout5p1 

Standard 6-channel layout (5.1)

Layout7p1Surround 

Standard 8-channel layout (7.1).

Surround.

Layout5p1Surround 

Alternative 6-channel layout (5.1).

Surround.

Layout7p1 

Alternative 8-channel layout (7.1)

Defines API usage errors.

These errors are raised when the AVBlocks API is used incorrectly.

Enumerator
UnlicensedFeature 

= 9

A required feature (codec/format) is not licensed and demo mode is not allowed.

See Also
Transcoder.AllowDemoMode
Failed 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.Failed

NullReference 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.Null

InvalidParams 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.InvalidParams

Alloc 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.Alloc

NotImplemented 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.NotImplemented

InvalidOperation 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.InvalidOperation

UnsupportedFormat 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.Unsupported

MissingDependency 

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.MissingDependency

Defines the bitrate mode of the audio/video stream.

Enumerator
Unknown 

= 0

The bitrate mode is not specified or unknown.

CBR 

= 1

Constant bitrate.

For uncompressed audio/video with constant bitrate the quality is also constant. For compressed audio/video with constant bitrate the quality may be constant or variable.

VBR 

= 2

Variable bitrate - quality oriented. Constant quality (more or less).

ABR 

= 3

Average bitrate.

Guarantees a predictable audio/video size similar to CBR. The bitrate changes to achieve the best quality within the available bitrate capacity.

enum CodecError

Common errors for encoders, decoders, muxers, demuxers and other A/V components.

Enumerator
Init 

= 1

Failed to initialize or open a codec.

Open 

Obsolete.

Replaced by CodecError.Init

NoConfigData 

= 2

Decoder config data is required, but missing.

NoOutput 

= 3

No output has been generated.

OutputBufferNotEnough 

= 4

The output buffer is not big enough for the generated output data.

Unsupported 

= 5

Unsupported format or operation.

UnsupportedCodecProfile 

Obsolete.

Replaced by CodecError.Unsupported

Failed 

= 6

The operation failed for unknown reason.

NotInitialized 

= 7

The operation cannot be completed because the component is not initialized.

Null 

= 8

One or more of the input parameters are null but are expected to be valid pointers/references.

EOS 

= 9

End of stream; no more data.

Alloc 

= 10

Failed to allocate memory.

InvalidStream 

= 11

Invalid bitstream.

NotImplemented 

= 12

The operation is not implemented yet.

InvalidParams 

= 13

At least one of the input parameters has an invalid value for the specified operation. Check ErrorInfo.Hint for details.

InvalidOperation 

= 14

The operation is not allowed. Check ErrorInfo.Hint for details.

MissingDependency 

= 15

A required library/dependency is not present. Check ErrorInfo.Hint for details.

StreamOpen 

= 16

Could not open a user stream (System.IO.Stream).

StreamRead 

= 17

Could not read from a user stream (System.IO.Stream).

StreamWrite 

= 18

Could not write to a user stream (System.IO.Stream).

StreamSeek 

= 19

Could not seek in a user stream (System.IO.Stream).

Defines constants for various color formats.

A color format is combination of color space, color depth, chroma sub-sampling, component layout and packing.

Enumerator
Unknown 

= 0

The color format is not specified or unknown.

YV12 

= 1

Planar Y, V, U (4:2:0) (note V,U order!)

NV12 

= 2

Planar Y, merged U->V (4:2:0)

YUY2 

= 3

Composite Y->U->Y->V (4:2:2)

UYVY 

= 4

Composite U->Y->V->Y (4:2:2)

YUV411 

= 5

Planar Y, U, V (4:1:1)

YUV420 

= 6

Planar Y, U, V (4:2:0)

YUV422 

= 7

Planar Y, U, V (4:2:2)

YUV444 

= 8

Planar Y, U, V (4:4:4)

Y411 

= 9

Composite Y, U, V (4:1:1)

Y41P 

= 10

Composite Y, U, V (4:1:1)

BGR32 

= 11

Composite B->G->R->A

BGR24 

= 12

Composite B->G->R

BGR565 

= 13

Composite B->G->R, 5 bit per B & R, 6 bit per G

BGR555 

= 14

Composite B->G->R->A, 5 bit per component, 1 bit per A

BGR444 

= 15

Composite B->G->R->A, 4 bit per component

GRAY 

= 16

Luminance component only.

YUV420A 

= 17

Planar Y, U, V, Alpha

YUV422A 

= 18

Planar Y, U, V, Alpha

YUV444A 

= 19

Planar Y, U, V, Alpha

YVU9 

= 20

The vertical subsampling interval is 4. The horizontal subsampling interval is also 4 This means that a single V and a single U sample are taken for each square block of 16 image pixels. Effectively this averages 9 bits per pixel (16 pixels => 16Y + 1V + 1U => 144bits => 9bits/pixel)

Defines video deinterlacing methods.

Enumerator
NoDeinterlacing 

= 0

No deinterlacing is performed. This can be used to prevent atomatic deinterlacing if it's not desired.

Duplicate 

= 1

Line doubling.

Blend 

= 2

Motion adaptive deinterlacing.

Median 

= 3

Calculates the median of consecutive fields

EdgeDetect 

= 4

Uses an edge detection filter.

MedianThreshold 

= 5

Calculates the median of consecutive fields using a threshold.

CAVT 

= 6

Content adaptive vertical temporal (CAVT) filtering.

Deprecated.

Not used anymore.

Enumerator
Open 

Deprecated.

Read 

Deprecated.

Describes the AVBlocks facilities that could generate errors.

Each facility represents either an external component or a component implemented by AVBlocks.

Often error codes will have the same value, but different meaning depending on the facility that generated the error.

Enumerator
Success 

= 0

Not a facility. This is a special value that indicates a successful operation.

SystemWindows 

= 1

Windows System Error

SystemMacOSStatus 

= 2

MacOS Status (Mac)

SystemMacMach 

= 3

Mach Error (Mac)

SystemPosix 

= 4

POSIX Error (Linux, Mac)

AVBlocks 

= 5

AVBlocks API error. The error code is a value from the AVBlocksError enum.

Transcoder 

= 6

Transcoder error. The error code is a value from the TranscoderError enum.

Codec 

= 9

Codec error. The error code is a value from the CodecError enum.

Demuxer 

Deprecated.

Not used anymore.

Muxer 

Deprecated.

Not used anymore.

MediaInfo 

Deprecated.

Not used anymore.

Stream 

Deprecated.

Not used anymore.

Block 

Deprecated.

Not used anymore.

Defines H.264/AVC deblocking filter mode.

The constants follow the H.264 spec for the element "disable_deblocking_filter_idc"

Enumerator
All 

= 0

Deblocking filter is applied on all luma and chroma block edges of the slice.

Off 

= 1

Deblocking filter is disabled for all block edges of the slice.

InSlice 

= 2

Deblocking filter is applied on all luma and chroma block edges of the slice with exception of the block edges that coincide with slice boundaries.

Defines H.264/AVC direct predition mode.

The constants follow the H.264 spec for the element "direct_spatial_mv_pred_flag"

Enumerator
Temporal 

= 0

Temporal direct mode prediction

Spatial 

= 1

Spatial direct mode prediction

Defines H.264/AVC entropy coding modes

The constants follow the H.264 spec for the element "entropy_coding_mode_flag"

Enumerator
CAVLC 

= 0

Context-Adaptive Variable-Length Coding (CAVLC)

CABAC 

= 1

Context-Adaptive Binary Arithmetic Coding (CABAC)

Defines the motion estimation methods used when encoding H.264/AVC

Enumerator
Full 

= 0

Full (slowest)

ClassicLog 

= 1

TDL (Two Dimensional Logarithmic Search)

Log 

= 2

Log

EPZS 

= 3

EPZS (Enhanced Predictive Zonal Search)

FullOrthogonal 

= 4

OSA (Full orthogonal)

LogOrthogonal 

= 5

Log orthogonal

UMH 

= 8

UMH (Uneven Multi-Hexagon Search)

Defines the block sizes for which motion estimation should be done.

Used when encoding H.264/AVC.

Enumerator
Only16x16 

= 0

Analyze only 16x16 blocks for motion estimation

DownTo8x8 

= 1

Analyze all blocks down to 8x8 (16x16, 16x8, 8x16, 8x8)

DownTo4x4 

= 2

Analyze all blocks down to 4x4 (16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4).

This partitioning mode is very slow.

Defines the picture coding type when encoding H.264/AVC

Enumerator
Frames 

= 0

Video pictures are coded as frames (progressive video)

Fields 

= 1

Video pictures are coded as fields (interlaced video)

Defines H.264/AVC profiles

The constants follow the H.264 spec for the element "profile_idc"

Enumerator
None 

= 0

None/Auto

Baseline 

= 66

Baseline profile

Main 

= 77

Main profile

High 

= 100

High profile

High10 

= 110

High 10

High422 

= 122

High 4:2:2

High444 

= 144

High 4:4:4

Defines methods for bitrate contorl when encoding H.264/AVC

Enumerator
ABR 

= 2

Average Bitrate.

Ensures that the output stream achieves a predictable long-term average bitrate.

ConstantQuant 

= 3

Constant Quantization.

Encodes the video to a constant quantizer. The encoder uses the specified target quantizer, not a target bitrate. The quantizer is a measure for the amount of data loss: a higher quantizer means that more data will be lost, which results in a better compression, but also delivers worse visual quality. This method could be used when a certain level of quality is required and the final bitrate is not a concern. The bitrate is unpredictable in this mode.

Defines methods for sample interpolation.

Enumerator
Unknown 

= 0

The interpolation method is unknown or not set.

NearestNeighbor 

= 1

Nearest neighbor interpolation

Linear 

= 2

Linear interpolation

Cubic 

= 4

Cubic convolution interpolation

Super 

= 8

Supersampling interpolation

Lanczos 

= 16

Interpolation by 3-lobed Lanczos-windowed sinc function.

Defines the AVBlocks license status.

When a license is set it may take some time until the license is resolved by the library.

See Also
Library.SetLicense, Library.LicenseStatus
Enumerator
Ready 

= 0

The licensed state is permanent. It can be changed only by calling Library.SetLicense.

The Resolved status does not imply that the library or any component is successfully licensed.

ValidationInProgress 

= 1

The license is being validated and the current licensed state in AVBlocks is temporary.

DemoBuild 

= 2

This is a Demo build of AVBlocks. The library cannot be licensed and always operates in Demo mode.

Deprecated.

Not used anymore.

Enumerator
NoInput 

Deprecated.

Defines various media sample features.

These features are expressed as bit flags and can be combined together.

Enumerator
None 

= 0x0

No feature is specified.

KeyFrame 

= 0x1

The media sample / frame can be decoded on its own. It does not depend on previous or subsequent samples / frames.

Bos 

= 0x2

Beginning of stream

Eos 

= 0x4

End of stream

enum MediaType

Defines media types.

Enumerator
Unknown 

= 0

The media type is unknown or not specified.

Audio 

= 1

Audio data.

Video 

= 2

Video data.

Picture type defined as in ID3.

Enumerator
Other 

= 0

Unknown or unspecified picture type

FileIcon 

= 1

32x32 pixels 'file icon' (PNG only); only one in a ID3 tag

OtherFileIcon 

= 2

only one in a ID3 tag

FrontCover 

= 3

Album/Disc front cover

BackCover 

= 4

Album/Disc back cover

LeafletPage 

= 5

Album/Disc leaflet page

Media 

= 6

Printed on the media (e.g. label side of a CD)

LeadArtist 

= 7

Lead artist / Lead performer / Soloist

Artist 

= 8

Artist / Performer

Conductor 

= 9

Conductor

Band 

= 10

Band / Orchestra

Composer 

= 11

Composer / Music writer

TextWriter 

= 12

Lyricist / Text writer

RecordingLocation 

= 13

Location where the music is recorded

DuringRecording 

= 14

The picture is made during recording

DuringPerformance 

= 15

The picture is made during performance

VideoCapture 

= 16

Movie/video screen capture

BrightColoredFish 

= 17

A brightly coloured fish :0

Illustration 

= 18

Illustration

ArtistLogotype 

= 19

Band / Artist logotype

PublisherLogotype 

= 20

Publisher / Studio logotype

enum MuxerError

Deprecated.

Not used anymore.

Enumerator
Open 

Deprecated.

Write 

Deprecated.

Stop 

Deprecated.

enum PcmFlags

Defines constants for various LPCM properties.

The constants are expressed as bit flags and can be combined together.

AudioStreamInfo.PcmFlags

Enumerator
None 

= 0

No flag is set.

Unsigned 

= 0x1

The audio sample should be interpreted as an unsigned integral value.

The sample resolution (8-bit, 16-bit, etc.) is a separate LPCM property and is not expressed with PcmFlags. This flag is irrelevant when the Float flag is set.

Float 

= 0x2

The audio sample should be interpreted as a floating point value.

The sample resolution (32-bit, 64-bit, etc.) is a separate LCPM property and is not expressed with PcmFlags.

BigEndian 

= 0x4

The sample value is stored in a big endian format. When this flag is not set the sample format is little endian.

NonInterleaved 

= 0x8

When this flag is set audio samples from different channels are not interleaved. All samples from channel 0 are first in memory. They are followed by all samples from channel 1 and so on for all channels.

When this flag is not set the samples are interleaved. The first samples from all channels are first in memory. They are followed by the second samples from all channels and so on until the last sample in time.

enum ScanType

Defines video interlace/scan types.

Enumerator
Unknown 

= 0

The interlace/scan type is not specified or not known.

Progressive 

= 1

Progressive (non-interlaced) video.

TopFieldFirst 

= 2

Interlaced video, where the dominant (first in time) field is the top field.

BottomFieldFirst 

= 3

Interlaced video, where the dominant (first in time) field is the bottom field.

Deprecated.

Replaced by PrimoSoftware.AVBlocks.CodecError.

Enumerator
Open 

Deprecated

Read 

Deprecated

Write 

Deprecated

Seek 

Deprecated

EOS 

Deprecated

Defines audio and video stream subtypes.

Enumerator
Unknown 

= 0

The stream subtype is not defined or is unknown.

AacAdts 

= 1

Audio Data Transport Stream: AAC data in frames, similar to mp3. Somewhat compliant. Defined in Part 7 of the MPEG-2 standard (known formally as ISO/IEC 13818-7).

AacAdif 

= 2

Audio Data Interchange Format: AAC data with a single header. Worst compliance. Defined in Part 7 of the MPEG-2 standard (known formally as ISO/IEC 13818-7).

AacMp4 

= 3

AAC data packed in MPEG-4 container (MP4). Best compliance.

Avc1 

= 4

H.264/AVC bitstream without start codes. This is how it is stored in a MPEG-4 container (MP4).

H.264 bitstreams that are transmitted over the air, or packed in MPEG-2 program or transport streams, or recorded on HD-DVD, are formatted as described in Annex B of ITU-T Rec. H.264. According to this specification, the bitstream consists of a sequence of network abstraction layer units (NALUs), each of which is prefixed with a start code equal to 0x000001 or 0x00000001.

MpegTsBdav 

= 5

MPEG2 transport stream with valid packet time stamps.

MpegAudioLayer1 

= 6

MPEG-1 Audio Layer I is commonly abbreviated to MP1. MPEG-1 Layer I is defined in ISO/IEC 11172-3.

MPEG-2 Layer I is defined in the MPEG-2 Part 3 standard (known formally as ISO/IEC 13818-3).

MpegAudioLayer2 

= 7

MPEG-1 Audio Layer II is commonly abbreviated to MP2. MP2 is a dominant standard for audio broadcasting. MPEG-1 Layer II is defined in ISO/IEC 11172-3.

MPEG-2 Layer II is defined in the MPEG-2 Part 3 standard (known formally as ISO/IEC 13818-3).

MpegAudioLayer3 

= 8

MPEG-1 Audio Layer III is commonly abbreviated to MP3. MPEG-1 Layer III is defined in ISO/IEC 11172-3.

MPEG-2 Layer III is defined in the MPEG-2 Part 3 standard (known formally as ISO/IEC 13818-3).

G726PackedRFC3551 

= 9

G.726 stream packed according to RFC 3551. This type of packetization is used in RTP.

G726PackedAAL2 

= 10

G.726 stream packed according to ITU-T I.366.2 (AAL type 2). This type of packetization is used in Wave files.

MPEG1_PS 

= 11

MPEG-1 program stream. ISO/IEC 11172-1..

MPEG2_PS 

= 12

MPEG-2 program stream. ISO/IEC 13818-1.

enum StreamType

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

containers).

Enumerator
Unknown 

= 0

The stream type is not defined or is unknown.

BEGIN_AUDIO 

= 0x1000

This constant marks the start of audio elementary streams. It is not a valid stream type on its own.

LPCM 

= 0x1001

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

ALawPCM 

= 0x1002

A-law PCM.

MuLawPCM 

= 0x1003

Mu-law PCM.

VideoDvdPCM 

= 0x1004

LPCM with specific sample packing for Video-DVD.

Ac3 

= 0x1005

Dolby Digital Audio (a.k.a. AC-3). AC-3 is defined in ATSC A/52-A and A/52-B.

Dts 

= 0x1006

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

MpegAudio 

= 0x1007

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

Vorbis 

= 0x1008

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

Aac 

= 0x1009

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).

AmrNarrowBand 

= 0x100A

Adaptive Multi-Rate audio (Narrow Band).

AmrWideBand 

= 0x100B

Adaptive Multi-Rate audio (Wide Band).

G726ADPCM 

= 0x100C

G.726 ITU-T ADPCM.

Wma 

= 0x100D

Microsoft Windows Media Audio.

Wma_Professional 

= 0x100E

Microsoft Windows Media Audio Professional.

Wma_Lossless 

= 0x100F

Microsoft Windows Media Audio Lossless.

END_AUDIO 

= 0x1FFF

This constant marks the end of audio elementary streams. It is not a valid stream type on its own.

BEGIN_VIDEO 

= 0x2000

This constant marks the start of video elementary streams. It is not a valid stream type on its own.

UncompressedVideo 

= 0x2001

Uncompressed video stream.

Mpeg1Video 

= 0x2002

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

Mpeg2Video 

= 0x2003

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).

Mpeg4Video 

= 0x2004

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

H261 

= 0x2005

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

H263 

= 0x2006

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

H264 

= 0x2007

H.264 Video (a.k.a. MPEG-4 AVC) is defined in Part 10 of the MPEG-4 standard (known formally as ISO/IEC 14496-10 and as ITU-T H.264).

Avc 

= 0x2007

Alias. Same as H.264 Video.

Wmv 

= 0x2008

Microsoft Windows Media Video.

Mjpeg 

= 0x2009

Motion JPEG (M-JPEG).

Vc1 

= 0x200A

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

Avs 

= 0x200B

Advanced Video Standard (Chinese national standard)

Vp8 

= 0x200C

VP8 is an open video codec released by Google, originally created by On2 Technologies. VP8 is part of the WebM format.

Theora 

= 0x200D

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

END_VIDEO 

= 0x2FFF

This constant marks the end of the elementary video streams. It is not a valid stream type on its own.

BEGIN_CONTAINER 

= 0x3000

This constant marks the start of file formats (a.k.a. containers). It is not a valid stream type on its own.

Avi 

= 0x3001

Audio Video Interleave (AVI) multimedia container format.

Mp4 

= 0x3002

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

Asf 

= 0x3003

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

MpegPS 

= 0x3004

MPEG Program Stream.

MpegTS 

= 0x3005

MPEG Transport Stream.

MpegPES 

0x3006

MPEG-1 Packetized Elementary Stream (PES).

Wave 

= 0x3007

Waveform Audio file format (WAV, WAVE).

Flv 

= 0x3008

Adobe Flash Video container format (FLV). This should not be confused with F4V which is a newer Flash Video container format based on ISO/IEC 14496-12 (MPEG-4 Part 12).

Ogg 

= 0x3009

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

WebM 

= 0x300A

Open standard container format released by Google and based on a profile of Matroska.

END_CONTAINER 

= 0x3FFF

This constant marks the end of audio/video containers. It is not a valid stream type on its own.

BEGIN_IMAGE 

= 0x4000

This constant marks the start of image types. It is not a valid stream type on its own.

Bmp 

= 0x4001

BMP image.

Png 

= 0x4002

PNG image.

Jpeg 

= 0x4003

JPEG image.

Tiff 

= 0x4004

TIFF image.

Gif 

= 0x4005

GIF image.

END_IMAGE 

= 0x4FFF

This constant marks the end of image types. It is not a valid stream type on its own.

Defines Transcoder specific errors.

The Transcoder may also return errors like AVBlocksError, CodecError and others.

Enumerator
NoChain 

= 1

The transcoder could not build a processing chain based on its inputs and outputs. Either the transcoder inputs and outputs are not configured properly or they are not compatible with each other.

This error is returned by Transcoder.Open

UndefinedSocketType 

= 2

The stream type of a MediaSocket is not defined. When a media socket describes a file, the stream type is deduced from the file extension. When a media socket describes a stream the stream type must be set explicitly. See StreamType.

This error is returned by Transcoder.Open

UnsupportedInterlacedConversion 

= 3

It is not possible to convert from progressive to interlaced video.

Also it is not possible to switch interlace type from top-first to bottom-first or vice versa.

This error is returned by Transcoder.Open

NoCodec 

= 4

A required encoder or decoder is not available.

UnsupportedVideoConversion 

= 5

It is not possible to convert from one uncompressed video format to another. See ColorFormat.

BufferFull 

= 6

One of the input/output buffers is full and cannot accept more data. Cannot accept more input through Transcoder.Push. Call Transcoder.Pull to obtain output samples.

InputNeeded 

= 7

Cannot return output through Transcoder.Pull. Call Transcoder.Push to provide input samples.

Defines the status of a transcoder operation.

It is sent with the Transcoder.OnStatus event.

See Also
Transcoder.OnStatus, TranscoderStatusEventArgs
Enumerator
Completed 

= 0

Transcoder.Run has completed successfully.

enum Use

Specifies whether particular feature should be used.

Enumerator
Off 

= 0

The feature is OFF.

On 

= 1

The feature is ON.

Auto 

= 2

The feature usage is automatic.