|
AVBlocks for .NET
3.4
Audio and Video Software Development Kit
|
Classes | |
| class | AudioStreamInfo |
| Describes an elementary audio stream. More... | |
| class | Block |
| Provides functionality for audio and video encoding, decoding and transforming. More... | |
| class | DataStreamInfo |
| Describes a generic data stream. More... | |
| class | ErrorInfo |
| Describes an AVBlocks error. More... | |
| class | Hardware |
| Enumerates available hardware codecs. More... | |
| class | HwCodec |
| Describes a hardware encoder, decoder or filter. More... | |
| class | HwDevice |
| Describes a device that can be used for hardware accelerated encoding, decoding or processing. More... | |
| interface | IImmutable |
| 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 | MediaPinList |
| A collection of media pins. More... | |
| class | MediaSample |
| Represents one or more samples of media data. More... | |
| class | MediaSocket |
| An input or output point of the Transcoder. More... | |
| class | MediaSocketList |
| A collection of media sockets. More... | |
| class | Meta |
| Metadata attribute names (tags). More... | |
| class | MetaAttribute |
| MetaAttribute describes a textual meta information that is part of an audio or video file. More... | |
| class | MetaAttributeList |
| A collection of meta attributes. 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 |
| A collection of meta pictures. More... | |
| class | MimeType |
| Multipurpose Internet Mail Extensions (MIME) used in AVBlocks. More... | |
| class | ObjectCollection< T > |
| An ordered collection of items used in AVBlocks. 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 | ParameterList |
| A name-value collection used for passing parameters to different AVBlocks components. | |
| class | PinConnection |
| Defines pin connection disposition. More... | |
| class | Preset |
| Defines output presets supported by AVBlocks. More... | |
| 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 | TranscoderContinueEventArgs |
| Contains the parameters of the Transcoder.OnContinue event. More... | |
| class | TranscoderInputChangeEventArgs |
| Contains the parameters of the Transcoder.OnInputChange event. More... | |
| class | TranscoderProgressEventArgs |
| Contains the parameters of the Transcoder.OnProgress event. More... | |
| class | TranscoderStatusEventArgs |
| Contains the parameters of the Transcoder.OnStatus event. More... | |
| class | UnmanagedMediaBuffer |
| Unmanaged buffer for media data. More... | |
| class | VideoStreamInfo |
| Describes an elementary video stream. More... | |
Enumerations | |
| enum | AlphaCompositingMode { Over = 1 , In = 2 , Out = 3 , Atop = 4 , Xor = 5 , Plus = 6 } |
| Defines the way a foreground image will be combined with background video. 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 | AVBlocksError { UnlicensedFeature = 9 , LibraryNotInitialized = 10 } |
| Defines API usage errors. More... | |
| enum | BitrateMode { Unknown = 0 , CBR = 1 , VBR = 2 , ABR = 3 } |
| Defines the bitrate mode of the audio/video stream. More... | |
| enum | CodecError { Init = 1 , NoConfigData = 2 , NoOutput = 3 , OutputBufferNotEnough = 4 , Unsupported = 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 , BufferFull = 20 , MissingHardwareIntelQuickSync = 21 , MissingHardwareAmdVce = 22 , MissingHardwareNvidiaNVENC = 23 } |
| Common errors for encoders, decoders, muxers, demuxers and other A/V components. 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 , BGRA32 = 21 } |
| Defines constants for various color formats. More... | |
| enum | DeinterlacingMethod { NoDeinterlacing = 0 , Duplicate = 1 , Blend = 2 , Median = 3 , EdgeDetect = 4 , MedianThreshold = 5 , CAVT = 6 } |
| Defines video deinterlacing methods. More... | |
| enum | ErrorFacility { Success = 0 , SystemWindows = 1 , SystemMacOSStatus = 2 , SystemMacMach = 3 , SystemPosix = 4 , AVBlocks = 5 , Transcoder = 6 , Codec = 9 } |
| Describes the AVBlocks facilities that could generate errors. More... | |
| enum | FrameType { None = 0 , G711BadFrame = 1 , G711UntransmittedFrame = 2 , G711SIDFrame = 3 , G711VoiceFrame = 5 , G726VoiceFrame = 105 } |
| Defines frame types for audio codecs, particularly for G.711 encoding. 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 prediction mode. More... | |
| enum | H264EntropyCodingMode { CAVLC = 0 , CABAC = 1 } |
| Defines H.264/AVC entropy coding modes. More... | |
| enum | H264MeMethod { Full = 0 , ClassicLog = 1 , Log = 2 , EPZS = 3 , FullOrthogonal = 4 , LogOrthogonal = 5 , UMH = 8 } |
| Defines the motion estimation methods used when encoding H.264/AVC. More... | |
| enum | H264MeSplitMode { Only16x16 = 0 , DownTo8x8 = 1 , DownTo4x4 = 2 } |
| Defines the block sizes for which motion estimation should be done. More... | |
| enum | H264PicCodingType { Frames = 0 , Fields = 1 } |
| Defines the picture coding type when encoding H.264/AVC. More... | |
| enum | H264Profile { None = 0 , Baseline = 66 , Main = 77 , High = 100 , High10 = 110 , High422 = 122 , High444 = 144 } |
| Defines H.264/AVC profiles. More... | |
| enum | H264RateControlMethod { ABR = 2 , ConstantQuant = 3 } |
| Defines methods for bitrate contorl when encoding H.264/AVC. More... | |
| enum | H265Level { 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 } |
| H.265 / HEVC Levels. More... | |
| enum | H265Profile { None = 0 , Main = 1 , Main10 = 2 } |
| H.265 / HEVC Profiles. More... | |
| enum | H265Tier { Main = 0 , High = 1 } |
| H.265 / HEVC Tiers. More... | |
| enum | HardwareEncoder { Off = 0 , Auto = 1 , AMD = 2 , Intel = 3 , Nvidia = 4 } |
| Defines known hardware encoders. More... | |
| enum | HwApi { None = 0 , IntelMedia = 1 , Nvenc = 2 , AmdOpenVideo = 3 , AmdMedia = 4 , MediaFoundation = 5 } |
| API for using hardware engines. More... | |
| enum | HwCodecType { None = 0 , H264Encoder = 1 , H265Encoder = 2 } |
| Hardware Codec type. More... | |
| enum | HwEngine { None = 0 , QuickSyncVideo = 1 , Nvenc = 2 , VideoCodingEngine = 3 } |
| Hardware engine for encoding/decoding/processing. More... | |
| enum | HwVendor { None = 0 , Intel = 1 , Nvidia = 2 , Amd = 3 } |
| Hardware Vendor. More... | |
| enum | InterpolationMethod { Unknown = 0 , NearestNeighbor = 1 , Linear = 2 , Cubic = 4 , Super = 8 , Lanczos = 16 } |
| Defines methods for sample interpolation. More... | |
| enum | LicenseStatusFlags { Ready = 0 , ValidationInProgress = 1 , DemoBuild = 2 } |
| Defines the AVBlocks license status. More... | |
| enum | MediaSampleFlags { None = 0x0 , KeyFrame = 0x1 , Bos = 0x2 , Eos = 0x4 } |
| Defines various media sample features. More... | |
| enum | MediaType { Unknown = 0 , Audio = 1 , Video = 2 , Text = 3 , Data = 4 } |
| Defines media types. 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... | |
| enum | OpusApplication { Voip = 2048 , Audio = 2049 , RestrictedLowDelay = 2051 , RestrictedSilk = 2052 , RestrictedCelt = 2053 } |
| Defines Opus codec application modes. More... | |
| enum | PcmFlags { None = 0 , Unsigned = 0x1 , Float = 0x2 , BigEndian = 0x4 , NonInterleaved = 0x8 } |
| Defines constants for various LPCM properties. More... | |
| enum | PictureType { None = 0 , I = 1 , P = 2 , B = 3 , D = 4 } |
| Defines video picture types (I/P/B). More... | |
| enum | ScanType { Unknown = 0 , Progressive = 1 , TopFieldFirst = 2 , BottomFieldFirst = 3 } |
| Defines video interlace/scan types. More... | |
| enum | StereoMode { None = 0 , LR = 2 , MidSide = 3 , Joint = 4 } |
| Defines stereo mode in MPEG Audio and AAC. More... | |
| enum | StreamSubType { Unknown = 0 , None = 65535 , AacAdts = 1 , AacAdif = 2 , AacMp4 = 3 , AvcC = 4 , Avc1 = AvcC , MpegTsBdav = 5 , MpegAudioLayer1 = 6 , MpegAudioLayer2 = 7 , MpegAudioLayer3 = 8 , G726PackedRFC3551 = 9 , G726PackedAAL2 = 10 , Mpeg1System = 11 , Mpeg2System = 12 , AvcAnnexB = 13 , AacRaw = 14 , HevcAnnexB = 15 , HvcC = 16 , Hvc1 = HvcC } |
| Defines audio and video stream subtypes. 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 , Opus = 0x1010 , 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 , H265 = 0x200E , Hevc = H265 , Vp9 = 0x200F , Av1 = 0x2010 , Av2 = 0x2011 , 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 , Ivf = 0x300B , END_CONTAINER = 0x3FFF , BEGIN_IMAGE = 0x4000 , Bmp = 0x4001 , Png = 0x4002 , Jpeg = 0x4003 , Tiff = 0x4004 , Gif = 0x4005 , END_IMAGE = 0x4FFF , BEGIN_DATA = 0x5000 , Teletext = 0x5001 , MpegPsiPackets = 0x5002 , MpegTsPackets = 0x5003 , END_DATA = 0x5FFF } |
| Defines major audio and video stream types, and file formats (a.k.a. More... | |
| enum | TranscoderError { NoChain = 1 , UndefinedSocketType = 2 , UnsupportedInterlacedConversion = 3 , NoCodec = 4 , UnsupportedVideoConversion = 5 , InputFull = 6 , BufferFull = InputFull , InputNeeded = 7 } |
| Defines Transcoder specific errors. More... | |
| enum | TranscoderStatus { Completed = 0 } |
| Defines the status of a transcoder operation. More... | |
| enum | Use { Off = 0 , On = 1 , Auto = 2 } |
| Specifies whether particular feature should be used. More... | |
| enum AlphaCompositingMode |
Defines the way a foreground image will be combined with background video.
| enum AudioChannelFlags |
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.
| enum AVBlocksError |
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 enabled.
|
| LibraryNotInitialized | = 10 Library is not initialized.
|
| enum BitrateMode |
Defines the bitrate mode of the audio/video stream.
| enum CodecError |
Common errors for encoders, decoders, muxers, demuxers and other A/V components.
| Enumerator | |
|---|---|
| Init | = 1 Failed to initialize or open a codec. |
| 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. |
| 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). |
| BufferFull | = 20 One of the input/output buffers is full and cannot accept more data. |
| MissingHardwareIntelQuickSync | = 21 Intel QuickSync Video hardware not found. |
| MissingHardwareAmdVce | = 22 AMD VCE hardware not found. |
| MissingHardwareNvidiaNVENC | = 23 NVIDIA NVENC hardware not found. |
| enum ColorFormat |
Defines constants for various color formats.
A color format is combination of color space, color depth, chroma sub-sampling, component layout and packing.
| enum DeinterlacingMethod |
Defines video deinterlacing methods.
| enum ErrorFacility |
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. |
| enum FrameType |
Defines frame types for audio codecs, particularly for G.711 encoding.
These types indicate the nature of the encoded frame, such as voice activity, silence, or errors, and are used to optimize transmission and decoding. Values are based on ITU-T G.711 standards and related codecs like G.729 Annex B for VAD.
Added in version 3.2
| enum H264DeblockingFilter |
Defines H.264/AVC deblocking filter mode.
The constants follow the H.264 spec for the element "disable_deblocking_filter_idc"
| enum H264DirectPredMode |
| enum H264MeMethod |
Defines the motion estimation methods used when encoding H.264/AVC.
| enum H264MeSplitMode |
Defines the block sizes for which motion estimation should be done.
Used when encoding H.264/AVC.
| enum H264PicCodingType |
| enum H264Profile |
Defines methods for bitrate contorl when encoding H.264/AVC.
| enum H265Level |
| enum H265Profile |
| enum H265Tier |
| enum HardwareEncoder |
Defines known hardware encoders.
| Enumerator | |
|---|---|
| Off | = 0 Hardware encoders are disabled. |
| Auto | = 1 The encoder is selected automatically depending on the available hardware. The order of preference is: Intel QuickSync, Nvidia NVENC, AMD VCE. If none of the known encoders are available then a software encoder is used. |
| AMD | = 2 AMD Video Coding Engine (VCE) |
| Intel | = 3 Intel QuickSync Video |
| Nvidia | = 4 Nvidia NVENC |
| enum HwApi |
API for using hardware engines.
| Enumerator | |
|---|---|
| None | = 0 HwApi not specified |
| IntelMedia | = 1 Intel Media SDK |
| Nvenc | = 2 NVENC SDK |
| AmdOpenVideo | = 3 AMD OpenVideo |
| AmdMedia | = 4 AMF (AMD Media Framework) |
| MediaFoundation | = 5 Windows Media Foundation |
| enum HwCodecType |
| enum HwEngine |
| enum HwVendor |
| enum InterpolationMethod |
Defines methods for sample interpolation.
| enum LicenseStatusFlags |
Defines the AVBlocks license status.
When a license is set it may take some time until the license is resolved by the library.
| 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. |
| enum MediaSampleFlags |
Defines various media sample features.
These features are expressed as bit flags and can be combined together.
| enum MediaType |
| enum MetaPictureType |
Picture type defined as in ID3.
| enum OpusApplication |
Defines Opus codec application modes.
| enum PcmFlags |
Defines constants for various LPCM properties.
The constants are expressed as bit flags and can be combined together.
AudioStreamInfo.PcmFlags
| enum PictureType |
| enum ScanType |
Defines video interlace/scan types.
| enum StereoMode |
Defines stereo mode in MPEG Audio and AAC.
| enum StreamSubType |
Defines audio and video stream subtypes.
| enum StreamType |
Defines major audio and video stream types, and file formats (a.k.a.
containers).
| enum TranscoderError |
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. |
| InputFull | = 6 Cannot accept more input through Transcoder.Push. Call Transcoder.Pull to obtain output samples. |
| BufferFull | = 6 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. |
| enum TranscoderStatus |
Defines the status of a transcoder operation.
It is sent with the Transcoder.OnStatus event.
| Enumerator | |
|---|---|
| Completed | = 0 Transcoder.Run has completed successfully. |
| enum Use |