mirror of
https://github.com/Dadechin/Unity-WebSocket.git
synced 2025-07-04 20:34:34 +00:00
4108 lines
224 KiB
XML
4108 lines
224 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>Concentus</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="M:Concentus.Celt.CeltCommon.compute_mdcts(Concentus.Celt.Structs.CeltMode,System.Int32,System.Int32[][],System.Int32[][],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
Apply window and compute the MDCT for all sub-frames and
|
|
all channels in a frame
|
|
</member>
|
|
<member name="M:Concentus.Celt.Kernels.xcorr_kernel(System.Int16[],System.Int32,System.Int16[],System.Int32,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32)">
|
|
<summary>
|
|
OPT: This is the kernel you really want to optimize. It gets used a lot by the prefilter and by the PLC.
|
|
</summary>
|
|
<param name="x"></param>
|
|
<param name="y"></param>
|
|
<param name="sum0"></param>
|
|
<param name="len"></param>
|
|
</member>
|
|
<member name="M:Concentus.Celt.QuantizeBands.amp2Log2(Concentus.Celt.Structs.CeltMode,System.Int32,System.Int32,System.Int32[][],System.Int32[][],System.Int32)">
|
|
<summary>
|
|
non-pointer case
|
|
</summary>
|
|
<param name="m"></param>
|
|
<param name="effEnd"></param>
|
|
<param name="end"></param>
|
|
<param name="bandE"></param>
|
|
<param name="bandLogE"></param>
|
|
<param name="C"></param>
|
|
</member>
|
|
<member name="M:Concentus.Celt.QuantizeBands.amp2Log2(Concentus.Celt.Structs.CeltMode,System.Int32,System.Int32,System.Int32[],System.Span{System.Int32},System.Int32,System.Int32)">
|
|
<summary>
|
|
only needed in one place
|
|
</summary>
|
|
<param name="m"></param>
|
|
<param name="effEnd"></param>
|
|
<param name="end"></param>
|
|
<param name="bandE"></param>
|
|
<param name="bandLogE"></param>
|
|
<param name="C"></param>
|
|
</member>
|
|
<member name="T:Concentus.Celt.Structs.CeltDecoder">
|
|
<summary>
|
|
Decoder state
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Celt.Structs.CeltDecoder.decode_mem">
|
|
<summary>
|
|
Scratch space used by the decoder. It is actually a variable-sized
|
|
field that resulted in a variable-sized struct. There are 6 distinct regions inside.
|
|
I have laid them out into separate variables here,
|
|
but these were the original definitions:
|
|
val32 decode_mem[], Size = channels*(DECODE_BUFFER_SIZE+mode.overlap)
|
|
val16 lpc[], Size = channels*LPC_ORDER
|
|
val16 oldEBands[], Size = 2*mode.nbEBands
|
|
val16 oldLogE[], Size = 2*mode.nbEBands
|
|
val16 oldLogE2[], Size = 2*mode.nbEBands
|
|
val16 backgroundLogE[], Size = 2*mode.nbEBands
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Celt.Structs.CeltEncoder.in_mem">
|
|
<summary>
|
|
The original C++ defined in_mem as a single float[1] which was the "caboose"
|
|
to the overall encoder struct, containing 5 separate variable-sized buffer
|
|
spaces of heterogeneous datatypes. I have laid them out into separate variables here,
|
|
but these were the original definitions:
|
|
val32 in_mem[], Size = channels*mode.overlap
|
|
val32 prefilter_mem[], Size = channels*COMBFILTER_MAXPERIOD
|
|
val16 oldBandE[], Size = channels*mode.nbEBands
|
|
val16 oldLogE[], Size = channels*mode.nbEBands
|
|
val16 oldLogE2[], Size = channels*mode.nbEBands
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Celt.Structs.CeltMode.eBands">
|
|
<summary>
|
|
Definition for each "pseudo-critical band"
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Celt.Structs.CeltMode.nbAllocVectors">
|
|
<summary>
|
|
Number of lines in allocVectors
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Celt.Structs.CeltMode.allocVectors">
|
|
<summary>
|
|
Number of bits in each band for several rates
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Celt.VQ.normalise_residual(System.Int32[],System.Span{System.Int32},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
Takes the pitch vector and the decoded residual vector, computes the gain
|
|
that will give ||p+g*y||=1 and mixes the residual with the pitch.
|
|
</member>
|
|
<member name="M:Concentus.Celt.VQ.alg_unquant(System.Span{System.Int32},System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Concentus.Common.EntropyCoder,System.ReadOnlySpan{System.Byte},System.Int32)">
|
|
Decode pulse vector and combine the result with the pitch vector to produce
|
|
the final normalised signal in the current band.
|
|
</member>
|
|
<member name="T:Concentus.Common.CPlusPlus.BoxedValue`1">
|
|
<summary>
|
|
For performance reasons, do not use this generic class if possible
|
|
</summary>
|
|
<typeparam name="T"></typeparam>
|
|
</member>
|
|
<member name="T:Concentus.Common.CPlusPlus.Pointer`1">
|
|
<summary>
|
|
This simulates a C++ style pointer as far as can be implemented in C#. It represents a handle
|
|
to an array of objects, along with a base offset that represents the address.
|
|
When you are programming in debug mode, this class also enforces memory boundaries,
|
|
tracks uninitialized values, and also records all statistics of accesses to its base array.
|
|
</summary>
|
|
<typeparam name="T"></typeparam>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.Iterate(`0@)">
|
|
<summary>
|
|
Returns the value currently under the pointer, and returns a new pointer with +1 offset.
|
|
This method is not very efficient because it creates new pointers; this is because we must preserve
|
|
the pass-by-value nature of C++ pointers when they are used as arguments to functions
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.MemCopyTo(Concentus.Common.CPlusPlus.Pointer{`0},System.Int32)">
|
|
<summary>
|
|
Copies the contents of this pointer, starting at its current address, into the space of another pointer.
|
|
!!! IMPORTANT !!! REMEMBER THAT C++ memcpy is (DEST, SOURCE, LENGTH) !!!!
|
|
IN C# IT IS (SOURCE, DEST, LENGTH). DON'T GET SCOOPED LIKE I DID
|
|
</summary>
|
|
<param name="destination"></param>
|
|
<param name="length"></param>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.MemCopyTo(`0[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Copies the contents of this pointer, starting at its current address, into an array.
|
|
!!! IMPORTANT !!! REMEMBER THAT C++ memcpy is (DEST, SOURCE, LENGTH) !!!!
|
|
</summary>
|
|
<param name="destination"></param>
|
|
<param name="length"></param>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.MemCopyFrom(`0[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Loads N values from a source array into this pointer's space
|
|
</summary>
|
|
<param name="length"></param>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.MemSet(`0,System.Int32)">
|
|
<summary>
|
|
Assigns a certain value to a range of spaces in this array
|
|
</summary>
|
|
<param name="value">The value to set</param>
|
|
<param name="length">The number of values to write</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.MemSet(`0,System.UInt32)">
|
|
<summary>
|
|
Assigns a certain value to a range of spaces in this array
|
|
</summary>
|
|
<param name="value">The value to set</param>
|
|
<param name="length">The number of values to write</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer`1.MemMove(System.Int32,System.Int32)">
|
|
<summary>
|
|
Moves regions of memory within the bounds of this pointer's array.
|
|
Extra checks are done to ensure that the data is not corrupted if the copy
|
|
regions overlap
|
|
</summary>
|
|
<param name="move_dist">The offset to send this pointer's data to</param>
|
|
<param name="length">The number of values to copy</param>
|
|
</member>
|
|
<member name="T:Concentus.Common.CPlusPlus.Pointer">
|
|
<summary>
|
|
This is a helper class which contains static methods that involve pointers
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer.Malloc``1(System.Int32)">
|
|
<summary>
|
|
Allocates a new array and returns a pointer to it
|
|
</summary>
|
|
<typeparam name="E"></typeparam>
|
|
<param name="capacity"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.CPlusPlus.Pointer.GetPointer``1(``0[],System.Int32)">
|
|
<summary>
|
|
Creates a pointer to an existing array
|
|
</summary>
|
|
<typeparam name="E"></typeparam>
|
|
<param name="memory"></param>
|
|
<param name="offset"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="F:Concentus.Common.EntropyCoder.EC_UINT_BITS">
|
|
*The number of bits to use for the range-coded part of uint integers.*/
|
|
</member>
|
|
<member name="F:Concentus.Common.EntropyCoder.BITRES">
|
|
*The resolution of fractional-precision bit usage measurements, i.e.,
|
|
</member>
|
|
<member name="M:Concentus.Common.EntropyCoder.dec_normalize(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Normalizes the contents of val and rng so that rng lies entirely in the high-order symbol.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.EntropyCoder.dec_bit_logp(System.ReadOnlySpan{System.Byte},System.UInt32)">
|
|
<summary>
|
|
The probability of having a "one" is 1/(1<<_logp).
|
|
</summary>
|
|
<param name="_logp"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.EntropyCoder.enc_carry_out(System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Outputs a symbol, with a carry bit.
|
|
If there is a potential to propagate a carry over several symbols, they are
|
|
buffered until it can be determined whether or not an actual carry will
|
|
occur.
|
|
If the counter for the buffered symbols overflows, then the stream becomes
|
|
undecodable.
|
|
This gives a theoretical limit of a few billion symbols in a single packet on
|
|
32-bit systems.
|
|
The alternative is to truncate the range in order to force a carry, but
|
|
requires similar carry tracking in the decoder, needlessly slowing it down.
|
|
</summary>
|
|
<param name="_c"></param>
|
|
</member>
|
|
<member name="M:Concentus.Common.EntropyCoder.tell">
|
|
<summary>
|
|
Returns the number of bits "used" by the encoded or decoded symbols so far.
|
|
This same number can be computed in either the encoder or the decoder, and is
|
|
suitable for making coding decisions.
|
|
This will always be slightly larger than the exact value (e.g., all
|
|
rounding error is in the positive direction).
|
|
</summary>
|
|
<returns>The number of bits.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.EntropyCoder.tell_frac">
|
|
<summary>
|
|
This is a faster version of ec_tell_frac() that takes advantage
|
|
of the low(1/8 bit) resolution to use just a linear function
|
|
followed by a lookup to determine the exact transition thresholds.
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_ilog2(System.Int32)">
|
|
Integer log in base2. Undefined for zero and negative numbers
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_zlog2(System.Int32)">
|
|
Integer log in base2. Defined for zero, but not for negative numbers
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.FRAC_MUL16(System.Int32,System.Int32)">
|
|
<summary>
|
|
Multiplies two 16-bit fractional values. Bit-exactness of this macro is important
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.isqrt32(System.UInt32)">
|
|
<summary>
|
|
Compute floor(sqrt(_val)) with exact arithmetic.
|
|
This has been tested on all possible 32-bit inputs.
|
|
</summary>
|
|
<param name="_val"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_sqrt(System.Int32)">
|
|
Sqrt approximation (QX input, QX/2 output)
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_rcp(System.Int32)">
|
|
Reciprocal approximation (Q15 input, Q16 output)
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_rsqrt_norm(System.Int32)">
|
|
Reciprocal sqrt approximation in the range [0.25,1) (Q16 in, Q14 out)
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_log2(System.Int32)">
|
|
Base-2 logarithm approximation (log2(x)). (Q14 input, Q10 output)
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.celt_exp2(System.Int32)">
|
|
Base-2 exponential approximation (2^x). (Q10 input, Q16 output)
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ROR32(System.Int32,System.Int32)">
|
|
<summary>
|
|
Rotate a32 right by 'rot' bits. Negative rot values result in rotating
|
|
left. Output is 32bit int.
|
|
</summary>
|
|
<param name="a32"></param>
|
|
<param name="rot"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ROR32(System.UInt32,System.Int32)">
|
|
<summary>
|
|
Rotate a32 right by 'rot' bits. Negative rot values result in rotating
|
|
left. Output is 32bit uint.
|
|
</summary>
|
|
<param name="a32"></param>
|
|
<param name="rot"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMULTT(System.Int32,System.Int32)">
|
|
<summary>
|
|
((a32 >> 16) * (b32 >> 16))
|
|
</summary>
|
|
<param name="a32"></param>
|
|
<param name="b32"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ADD32_ovflw(System.Int32,System.Int32)">
|
|
<summary>
|
|
Adds two signed 32-bit values in a way that can overflow, while not relying on undefined behaviour
|
|
(just standard two's complement implementation-specific behaviour)
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SUB32_ovflw(System.Int32,System.Int32)">
|
|
<summary>
|
|
Subtracts two signed 32-bit values in a way that can overflow, while not relying on undefined behaviour
|
|
(just standard two's complement implementation-specific behaviour)
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_MLA_ovflw(System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Multiply-accumulate macros that allow overflow in the addition (ie, no asserts in debug mode)
|
|
</summary>
|
|
<param name="a32"></param>
|
|
<param name="b32"></param>
|
|
<param name="c32"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMULWB(System.Int32,System.Int32)">
|
|
<summary>
|
|
(a32 * (int)((short)(b32))) >> 16 output have to be 32bit int
|
|
</summary>
|
|
<param name="a32"></param>
|
|
<param name="b32"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ADD_SAT16(System.Int16,System.Int16)">
|
|
<summary>
|
|
//////////////////
|
|
</summary>
|
|
<param name="a16"></param>
|
|
<param name="b16"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ADD_POS_SAT8(System.SByte,System.SByte)">
|
|
<summary>
|
|
Add with saturation for positive input values
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ADD_POS_SAT16(System.Int16,System.Int16)">
|
|
<summary>
|
|
Add with saturation for positive input values
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ADD_POS_SAT32(System.Int32,System.Int32)">
|
|
<summary>
|
|
Add with saturation for positive input values
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_ADD_POS_SAT64(System.Int64,System.Int64)">
|
|
<summary>
|
|
Add with saturation for positive input values
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_LSHIFT_SAT32(System.Int32,System.Int32)">
|
|
<summary>
|
|
saturates before shifting
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="shift"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.SILK_CONST(System.Single,System.Int32)">
|
|
<summary>
|
|
Macro to convert floating-point constants to fixed-point by applying a scalar factor
|
|
Because of limitations of the C# JIT, this macro is actually evaluated at runtime and therefore should not be used if you want to maximize performance
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_RAND(System.Int32)">
|
|
<summary>
|
|
PSEUDO-RANDOM GENERATOR
|
|
Make sure to store the result as the seed for the next call (also in between
|
|
frames), otherwise result won't be random at all. When only using some of the
|
|
bits, take the most significant bits by right-shifting.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMMUL(System.Int32,System.Int32)">
|
|
<summary>
|
|
silk_SMMUL: Signed top word multiply.
|
|
</summary>
|
|
<param name="a32"></param>
|
|
<param name="b32"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_DIV32_varQ(System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Divide two int32 values and return result as int32 in a given Q-domain
|
|
</summary>
|
|
<param name="a32">I numerator (Q0)</param>
|
|
<param name="b32">I denominator (Q0)</param>
|
|
<param name="Qres">I Q-domain of result (>= 0)</param>
|
|
<returns>O returns a good approximation of "(a32 << Qres) / b32"</returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_INVERSE32_varQ(System.Int32,System.Int32)">
|
|
<summary>
|
|
Invert int32 value and return result as int32 in a given Q-domain
|
|
</summary>
|
|
<param name="b32">I denominator (Q0)</param>
|
|
<param name="Qres">I Q-domain of result (> 0)</param>
|
|
<returns>a good approximation of "(1 << Qres) / b32"</returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMLAWB(System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
a32 + (b32 * (int)((short)(c32))) >> 16 output have to be 32bit int
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMULWT(System.Int32,System.Int32)">
|
|
* (a32 * (b32 >> 16)) >> 16 */
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMULBT(System.Int32,System.Int32)">
|
|
* (int)((short)(a32)) * (b32 >> 16) */
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMLABT(System.Int32,System.Int32,System.Int32)">
|
|
* a32 + (int)((short)(b32)) * (c32 >> 16) */
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMLAL(System.Int64,System.Int32,System.Int32)">
|
|
* a64 + (b32 * c32) */
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMULWW(System.Int32,System.Int32)">
|
|
<summary>
|
|
(a32 * b32) >> 16
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SMLAWW(System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
a32 + ((b32 * c32) >> 16)
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_CLZ_FRAC(System.Int32,System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Get number of leading zeros and fractional part (the bits right after the leading one)
|
|
</summary>
|
|
<param name="input">input</param>
|
|
<param name="lz">number of leading zeros</param>
|
|
<param name="frac_Q7">the 7 bits right after the leading one</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_SQRT_APPROX(System.Int32)">
|
|
<summary>
|
|
Approximation of square root.
|
|
Accuracy: +/- 10% for output values > 15
|
|
+/- 2.5% for output values > 120
|
|
</summary>
|
|
<param name="x"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_lin2log(System.Int32)">
|
|
<summary>
|
|
Approximation of 128 * log2() (very close inverse of silk_log2lin())
|
|
Convert input to a log scale
|
|
</summary>
|
|
<param name="inLin">(I) input in linear scale</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_log2lin(System.Int32)">
|
|
<summary>
|
|
Approximation of 2^() (very close inverse of silk_lin2log())
|
|
Convert input to a linear scale
|
|
</summary>
|
|
<param name="inLog_Q7">input on log scale</param>
|
|
<returns>Linearized value</returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_interpolate(System.Int16[],System.Int16[],System.Int16[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Interpolate two vectors
|
|
</summary>
|
|
<param name="xi">(O) interpolated vector [MAX_LPC_ORDER]</param>
|
|
<param name="x0">(I) first vector [MAX_LPC_ORDER]</param>
|
|
<param name="x1">(I) second vector [MAX_LPC_ORDER]</param>
|
|
<param name="ifact_Q2">(I) interp. factor, weight on 2nd vector</param>
|
|
<param name="d">(I) number of parameters</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.silk_inner_prod_aligned_scale(System.Int16[],System.Int16[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Inner product with bit-shift
|
|
</summary>
|
|
<param name="inVec1">I input vector 1</param>
|
|
<param name="inVec2">I input vector 2</param>
|
|
<param name="scale">I number of bits to shift</param>
|
|
<param name="len">I vector lengths</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.EC_MINI(System.UInt32,System.UInt32)">
|
|
<summary>
|
|
returns the value that has fewer higher-order bits, ignoring sign bit (? I think?)
|
|
</summary>
|
|
<param name="a"></param>
|
|
<param name="b"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.EC_CLZ(System.UInt32)">
|
|
<summary>
|
|
Counts leading zeroes
|
|
</summary>
|
|
<param name="x"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.Inlines.EC_ILOG(System.UInt32)">
|
|
<summary>
|
|
returns inverse base-2 log of a value
|
|
</summary>
|
|
<param name="x"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:Concentus.Common.SpeexResampler">
|
|
<summary>
|
|
Arbitrary-rate audio resampler originally implemented for the Speex codec.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Common.SpeexResampler.resampler_basic_func">
|
|
<summary>
|
|
typedef int (* resampler_basic_func)(SpeexResamplerState*, int , Pointer<short>, int *, Pointer<short>, Pointer<int>);
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Create a new resampler with integer input and output rates (in hertz).
|
|
</summary>
|
|
<param name="nb_channels">The number of channels to be processed</param>
|
|
<param name="in_rate">Input sampling rate, in hertz</param>
|
|
<param name="out_rate">Output sampling rate, in hertz</param>
|
|
<param name="quality">Resampling quality, from 0 to 10</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Create a new resampler with fractional input/output rates. The sampling
|
|
rate ratio is an arbitrary rational number with both the numerator and
|
|
denominator being 32-bit integers.
|
|
</summary>
|
|
<param name="nb_channels">The number of channels to be processed</param>
|
|
<param name="ratio_num">Numerator of sampling rate ratio</param>
|
|
<param name="ratio_den">Denominator of sampling rate ratio</param>
|
|
<param name="in_rate">Input sample rate rounded to the nearest integer (in hz)</param>
|
|
<param name="out_rate">Output sample rate rounded to the nearest integer (in hz)</param>
|
|
<param name="quality">Resampling quality, from 0 to 10</param>
|
|
<returns>A newly created resampler</returns>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.Process(System.Int32,System.Span{System.Single},System.Int32@,System.Span{System.Single},System.Int32@)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.Process(System.Int32,System.Span{System.Int16},System.Int32@,System.Span{System.Int16},System.Int32@)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.ProcessInterleaved(System.Span{System.Single},System.Int32@,System.Span{System.Single},System.Int32@)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.ProcessInterleaved(System.Span{System.Int16},System.Int32@,System.Span{System.Int16},System.Int32@)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.SkipZeroes">
|
|
<summary>
|
|
Make sure that the first samples to go out of the resamplers don't have
|
|
leading zeros. This is only useful before starting to use a newly created
|
|
resampler. It is recommended to use that when resampling an audio file, as
|
|
it will generate a file with the same length.For real-time processing,
|
|
it is probably easier not to use this call (so that the output duration
|
|
is the same for the first frame).
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.ResetMem">
|
|
<summary>
|
|
Clears the resampler buffers so a new (unrelated) stream can be processed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.Dispose">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.SetRates(System.Int32,System.Int32)">
|
|
<summary>
|
|
Sets the input and output rates
|
|
</summary>
|
|
<param name="in_rate">Input sampling rate, in hertz</param>
|
|
<param name="out_rate">Output sampling rate, in hertz</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.GetRates(System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Get the current input/output sampling rates (integer value).
|
|
</summary>
|
|
<param name="in_rate">(Output) Sampling rate of input</param>
|
|
<param name="out_rate">(Output) Sampling rate of output</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.SetRateFraction(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Sets the input/output sampling rates and resampling ration (fractional values in Hz supported)
|
|
</summary>
|
|
<param name="ratio_num">Numerator of the sampling rate ratio</param>
|
|
<param name="ratio_den">Denominator of the sampling rate ratio</param>
|
|
<param name="in_rate">Input sampling rate rounded to the nearest integer (in Hz)</param>
|
|
<param name="out_rate">Output sampling rate rounded to the nearest integer (in Hz)</param>
|
|
</member>
|
|
<member name="M:Concentus.Common.SpeexResampler.GetRateFraction(System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Gets the current resampling ratio. This will be reduced to the least common denominator
|
|
</summary>
|
|
<param name="ratio_num">(Output) numerator of the sampling rate ratio</param>
|
|
<param name="ratio_den">(Output) denominator of the sampling rate ratio</param>
|
|
</member>
|
|
<member name="P:Concentus.Common.SpeexResampler.Quality">
|
|
<summary>
|
|
Gets or sets the resampling quality between 0 and 10, where 0 has poor
|
|
quality and 10 has very high quality.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Common.SpeexResampler.InputStride">
|
|
<summary>
|
|
Gets or sets the input stride
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Common.SpeexResampler.OutputStride">
|
|
<summary>
|
|
Gets or sets the output stride
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Common.SpeexResampler.InputLatency">
|
|
<summary>
|
|
Get the latency introduced by the resampler measured in input samples.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Common.SpeexResampler.OutputLatencySamples">
|
|
<summary>
|
|
Gets the latency introduced by the resampler measured in output samples.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Common.SpeexResampler.OutputLatency">
|
|
<summary>
|
|
Gets the latency introduced by the resampler.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.IOpusDecoder">
|
|
<summary>
|
|
The Opus decoder structure.
|
|
|
|
Opus is a stateful codec with overlapping blocks and as a result Opus
|
|
packets are not coded independently of each other. Packets must be
|
|
passed into the decoder serially and in the correct order for a correct
|
|
decode. Lost packets can be replaced with loss concealment by calling
|
|
the decoder with a null reference and zero length for the missing packet.
|
|
|
|
A single codec state may only be accessed from a single thread at
|
|
a time and any required locking must be performed by the caller. Separate
|
|
streams must be decoded with separate decoder states and can be decoded
|
|
in parallel.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusDecoder.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Single},System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes an Opus packet, putting the decoded audio into a floating-point buffer.
|
|
</summary>
|
|
<param name="in_data">The input payload. This may be empty if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels).
|
|
You can use the OpusPacketInfo helpers to get a hint of the frame size before you decode the packet if you need
|
|
exact sizing. Otherwise, the minimum safe buffer size is 5760 samples</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
If this is less than the maximum packet duration (120ms; 5760 for 48khz), this function will
|
|
not be capable of decoding some packets. In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusDecoder.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Int16},System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes an Opus packet, putting the decoded audio into an int16 buffer.
|
|
</summary>
|
|
<param name="in_data">The input payload. This may be empty if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels).
|
|
You can use the OpusPacketInfo helpers to get a hint of the frame size before you decode the packet if you need
|
|
exact sizing. Otherwise, the minimum safe buffer size is 5760 samples</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
If this is less than the maximum packet duration (120ms; 5760 for 48khz), this function will
|
|
not be capable of decoding some packets. In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusDecoder.ResetState">
|
|
<summary>
|
|
Resets all buffers and prepares this decoder to process a fresh (unrelated) stream
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusDecoder.GetVersionString">
|
|
<summary>
|
|
Gets the version string of the library backing this implementation.
|
|
</summary>
|
|
<returns>An arbitrary version string.</returns>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.Bandwidth">
|
|
<summary>
|
|
Gets the encoded bandwidth of the last packet decoded. This may be lower than the actual decoding sample rate,
|
|
and is only an indicator of the encoded audio's quality
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.FinalRange">
|
|
<summary>
|
|
Returns the final range of the entropy coder. If you need this then I also assume you know what it's for.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.Gain">
|
|
<summary>
|
|
Gets or sets the gain (Q8) to use in decoding
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.LastPacketDuration">
|
|
<summary>
|
|
Gets the duration of the last packet, in PCM samples per channel
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.NumChannels">
|
|
<summary>
|
|
Gets the number of channels that this decoder decodes to. Always constant for the lifetime of the decoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.Pitch">
|
|
<summary>
|
|
Gets the last estimated pitch value of the decoded audio
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusDecoder.SampleRate">
|
|
<summary>
|
|
Gets the sample rate that this decoder decodes to. Always constant for the lifetime of the decoder
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.IOpusEncoder">
|
|
<summary>
|
|
Represents an Opus encoder for a 1- or 2-channel audio stream.
|
|
May be backed either by managed code or a native adapter layer,
|
|
depending on your platform and performance requirements.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusEncoder.Encode(System.ReadOnlySpan{System.Int16},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Encodes an Opus frame.
|
|
</summary>
|
|
<param name="in_pcm">Input signal (Interleaved if stereo). Length should be at least frame_size * channels</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.
|
|
For example, at 48Khz the permitted values are 120, 240, 480, 960, 1920, and 2880. Passing in a duration of less than 10ms
|
|
(480 samples at 48Khz) will prevent the encoder from using FEC, DTX, or hybrid modes.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusEncoder.Encode(System.ReadOnlySpan{System.Single},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Encodes an Opus frame using floating point input.
|
|
</summary>
|
|
<param name="in_pcm">Input signal in float format (Interleaved if stereo). Length should be at least frame_size * channels.
|
|
Value should be normalized to the +/- 1.0 range. Samples with a range beyond +/-1.0 will be clipped.</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.
|
|
For example, at 48Khz the permitted values are 120, 240, 480, 960, 1920, and 2880. Passing in a duration of less than 10ms
|
|
(480 samples at 48Khz) will prevent the encoder from using FEC, DTX, or hybrid modes.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusEncoder.ResetState">
|
|
<summary>
|
|
Resets the state of this encoder, usually to prepare it for processing
|
|
a new audio stream without reallocating.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusEncoder.GetVersionString">
|
|
<summary>
|
|
Gets the version string of the library backing this implementation.
|
|
</summary>
|
|
<returns>An arbitrary version string.</returns>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.Application">
|
|
<summary>
|
|
Gets or sets the application (or signal type) of the input signal. This hints
|
|
to the encoder what type of details we want to preserve in the encoding.
|
|
This cannot be changed after the encoder has started
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.Bitrate">
|
|
<summary>
|
|
Gets or sets the bitrate for encoder, in bits per second. Valid bitrates are between 6K (6144) and 510K (522240)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.ForceChannels">
|
|
<summary>
|
|
Gets or sets the maximum number of channels to be encoded. This can be used to force a downmix from stereo to mono if stereo
|
|
separation is not important
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.MaxBandwidth">
|
|
<summary>
|
|
Gets or sets the maximum bandwidth to be used by the encoder. This can be used if
|
|
high-frequency audio is not important to your application (e.g. telephony)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.Bandwidth">
|
|
<summary>
|
|
Gets or sets the "preferred" encoded bandwidth. This does not affect the sample rate of the input audio,
|
|
only the encoding cutoffs
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.UseDTX">
|
|
<summary>
|
|
Gets or sets a flag to enable Discontinuous Transmission mode. This mode is only available in the SILK encoder
|
|
(Bitrate < 40Kbit/s and/or ForceMode == SILK). When enabled, the encoder detects silence and background noise
|
|
and reduces the number of output packets, with up to 600ms in between separate packet transmissions.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.Complexity">
|
|
<summary>
|
|
Gets or sets the encoder complexity, between 0 and 10
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.UseInbandFEC">
|
|
<summary>
|
|
Gets or sets a flag to enable Forward Error Correction. This mode is only available in the SILK encoder
|
|
(Bitrate < 40Kbit/s and/or ForceMode == SILK). When enabled, lost packets can be partially recovered
|
|
by decoding data stored in the following packet.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.PacketLossPercent">
|
|
<summary>
|
|
Gets or sets the expected amount of packet loss in the transmission medium, from 0 to 100.
|
|
Only applies if UseInbandFEC is also enabled, and the encoder is in SILK mode.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.UseVBR">
|
|
<summary>
|
|
Gets or sets a flag to enable Variable Bitrate encoding. This is recommended as it generally improves audio quality
|
|
with little impact on average bitrate
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.UseConstrainedVBR">
|
|
<summary>
|
|
Gets or sets a flag to enable constrained VBR. This only applies when the encoder is in CELT mode (i.e. high bitrates)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.SignalType">
|
|
<summary>
|
|
Gets or sets a hint to the encoder for what type of audio is being processed, voice or music.
|
|
This is not set by the encoder itself i.e. it's not the result of any actual signal analysis.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.Lookahead">
|
|
<summary>
|
|
Gets the number of samples of audio that are being stored in a buffer and are therefore contributing to latency.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.SampleRate">
|
|
<summary>
|
|
Gets the encoder's input sample rate. This is fixed for the lifetime of the encoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.NumChannels">
|
|
<summary>
|
|
Gets the number of channels that this encoder expects in its input. Always constant for the lifetime of the decoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.FinalRange">
|
|
<summary>
|
|
Returns the final range of the entropy coder. If you need this then I also assume you know what it's for.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.LSBDepth">
|
|
<summary>
|
|
Gets or sets the bit resolution of the input audio signal. Though the encoder always uses 16-bit internally, this can help
|
|
it make better decisions about bandwidth and cutoff values
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.ExpertFrameDuration">
|
|
<summary>
|
|
Gets or sets a fixed length for each encoded frame. Typically, the encoder just chooses a frame duration based on the input length
|
|
and the current internal mode. This can be used to enforce an exact length if it is required by your application (e.g. monotonous transmission)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.ForceMode">
|
|
<summary>
|
|
Sets a user-forced mode for the encoder. There are three modes, SILK, HYBRID, and CELT. Silk can only encode below 40Kbit/s and is best suited
|
|
for speech. Silk also has modes such as FEC which may be desirable. Celt sounds better at higher bandwidth and is comparable to AAC. It also performs somewhat faster.
|
|
Hybrid is used to create a smooth transition between the two modes. Note that this value may not always be honored due to other factors such
|
|
as frame size and bitrate.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusEncoder.PredictionDisabled">
|
|
<summary>
|
|
Gets or sets a flag to disable prediction, which does... something with the SILK codec
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.IOpusMultiStreamDecoder">
|
|
<summary>
|
|
The Opus multistream decoder structure.
|
|
|
|
Multistream decoding is an aggregate of several internal decoders and extra logic to parse multiple frames from
|
|
single packets and map them to the correct channels. The behavior of a multistream decoder is functionally the
|
|
same as a single decoder in most other respects.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamDecoder.DecodeMultistream(System.ReadOnlySpan{System.Byte},System.Span{System.Single},System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes a multichannel Opus packet, putting the decoded audio into a floating-point buffer.
|
|
</summary>
|
|
<param name="data">The input payload. This may be empty if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels) for a given single frame size (maximum 120ms).</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
It should contain at least enough space to contain (# of samples) * (# of channels) for a given single frame size (maximum 120ms).
|
|
In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamDecoder.DecodeMultistream(System.ReadOnlySpan{System.Byte},System.Span{System.Int16},System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes a multichannel Opus packet, putting the decoded audio into an int16 buffer.
|
|
</summary>
|
|
<param name="data">The input payload. This may be empty if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels) for a given single frame size (maximum 120ms).</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
It should contain at least enough space to contain (# of samples) * (# of channels) for a given single frame size (maximum 120ms).
|
|
In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamDecoder.ResetState">
|
|
<summary>
|
|
Resets all buffers and prepares this decoder to process a fresh (unrelated) stream
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamDecoder.GetVersionString">
|
|
<summary>
|
|
Gets the version string of the library backing this implementation.
|
|
</summary>
|
|
<returns>An arbitrary version string.</returns>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamDecoder.Bandwidth">
|
|
<summary>
|
|
Gets the encoded bandwidth of the last packet decoded. This may be lower than the actual decoding sample rate,
|
|
and is only an indicator of the encoded audio's quality
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamDecoder.FinalRange">
|
|
<summary>
|
|
Returns the final range of the entropy coder. If you need this then I also assume you know what it's for.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamDecoder.Gain">
|
|
<summary>
|
|
Gets or sets the gain (Q8) to use in decoding
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamDecoder.LastPacketDuration">
|
|
<summary>
|
|
Gets the duration of the last packet, in PCM samples per channel
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamDecoder.SampleRate">
|
|
<summary>
|
|
Gets the sample rate that this decoder decodes to. Always constant for the lifetime of the decoder
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamDecoder.NumChannels">
|
|
<summary>
|
|
Gets the number of channels of the input data. Always constant for the lifetime of the decoder
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.IOpusMultiStreamEncoder">
|
|
<summary>
|
|
The Opus multistream encoder structure.
|
|
|
|
Multistream encoding is an aggregate of several internal encoders and extra logic to pack multiple frames into
|
|
single packets and map them to the correct channels. The behavior of a multistream encoder is functionally the
|
|
same as a single encoder in most other respects.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamEncoder.EncodeMultistream(System.ReadOnlySpan{System.Single},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Encodes a multistream Opus frame.
|
|
</summary>
|
|
<param name="in_pcm">Input signal, interleaved to the total number of surround channels, according to Vorbis channel layouts.
|
|
Length should be at least (# of samples) * (# of channels) for a given single frame size (maximum 120ms).</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamEncoder.EncodeMultistream(System.ReadOnlySpan{System.Int16},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Encodes a multistream Opus frame.
|
|
</summary>
|
|
<param name="in_pcm">Input signal, interleaved to the total number of surround channels, according to Vorbis channel layouts.
|
|
Length should be at least (# of samples) * (# of channels) for a given single frame size (maximum 120ms).</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamEncoder.ResetState">
|
|
<summary>
|
|
Resets the state of this encoder, usually to prepare it for processing
|
|
a new audio stream without reallocating.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IOpusMultiStreamEncoder.GetVersionString">
|
|
<summary>
|
|
Gets the version string of the library backing this implementation.
|
|
</summary>
|
|
<returns>An arbitrary version string.</returns>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.Application">
|
|
<summary>
|
|
Gets or sets the application (or signal type) of the input signal. This hints
|
|
to the encoder what type of details we want to preserve in the encoding.
|
|
This cannot be changed after the encoder has started
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.Bandwidth">
|
|
<summary>
|
|
Gets or sets the "preferred" encoded bandwidth. This does not affect the sample rate of the input audio,
|
|
only the encoding cutoffs
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.Bitrate">
|
|
<summary>
|
|
Gets or sets the bitrate for encoder, in bits per second. Valid bitrates are between 6K (6144) and 510K (522240)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.Complexity">
|
|
<summary>
|
|
Gets or sets the encoder complexity, between 0 and 10
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.NumChannels">
|
|
<summary>
|
|
Gets the number of channels that this encoder expects in its input. Always constant for the lifetime of the decoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.ExpertFrameDuration">
|
|
<summary>
|
|
Gets or sets a fixed length for each encoded frame. Typically, the encoder just chooses a frame duration based on the input length
|
|
and the current internal mode. This can be used to enforce an exact length if it is required by your application (e.g. monotonous transmission)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.FinalRange">
|
|
<summary>
|
|
Returns the final range of the entropy coder. If you need this then I also assume you know what it's for.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.ForceMode">
|
|
<summary>
|
|
Gets or sets a user-forced mode for the encoder. There are three modes, SILK, HYBRID, and CELT. Silk can only encode below 40Kbit/s and is best suited
|
|
for speech. Silk also has modes such as FEC which may be desirable. Celt sounds better at higher bandwidth and is comparable to AAC. It also performs somewhat faster.
|
|
Hybrid is used to create a smooth transition between the two modes. Note that this value may not always be honored due to other factors such
|
|
as frame size and bitrate.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.Lookahead">
|
|
<summary>
|
|
Gets the number of samples of audio that are being stored in a buffer and are therefore contributing to latency.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.LSBDepth">
|
|
<summary>
|
|
Gets or sets the bit resolution of the input audio signal. Though the encoder always uses 16-bit internally, this can help
|
|
it make better decisions about bandwidth and cutoff values
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.MaxBandwidth">
|
|
<summary>
|
|
Gets or sets the maximum bandwidth to be used by the encoder. This can be used if
|
|
high-frequency audio is not important to your application (e.g. telephony)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.PacketLossPercent">
|
|
<summary>
|
|
Gets or sets the expected amount of packet loss in the transmission medium, from 0 to 100.
|
|
Only applies if UseInbandFEC is also enabled, and the encoder is in SILK mode.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.PredictionDisabled">
|
|
<summary>
|
|
Gets or sets a flag to disable prediction, which does... something with the SILK codec
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.SampleRate">
|
|
<summary>
|
|
Gets the encoder's input sample rate. This is fixed for the lifetime of the encoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.SignalType">
|
|
<summary>
|
|
Gets or sets a hint to the encoder for what type of audio is being processed, voice or music.
|
|
This is not set by the encoder itself i.e. it's not the result of any actual signal analysis.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.UseConstrainedVBR">
|
|
<summary>
|
|
Gets or sets a flag to enable constrained VBR. This only applies when the encoder is in CELT mode (i.e. high bitrates)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.UseDTX">
|
|
<summary>
|
|
Gets or sets a flag to enable Discontinuous Transmission mode. This mode is only available in the SILK encoder
|
|
(Bitrate < 40Kbit/s and/or ForceMode == SILK). When enabled, the encoder detects silence and background noise
|
|
and reduces the number of output packets, with up to 600ms in between separate packet transmissions.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.UseInbandFEC">
|
|
<summary>
|
|
Gets or sets a flag to enable Forward Error Correction. This mode is only available in the SILK encoder
|
|
(Bitrate < 40Kbit/s and/or ForceMode == SILK). When enabled, lost packets can be partially recovered
|
|
by decoding data stored in the following packet.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IOpusMultiStreamEncoder.UseVBR">
|
|
<summary>
|
|
Gets or sets a flag to enable Variable Bitrate encoding. This is recommended as it generally improves audio quality
|
|
with little impact on average bitrate
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.IResampler">
|
|
<summary>
|
|
Represents an audio resampler which can process single-channel or interleaved-channel inputs
|
|
in either int16 or float32 formats.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IResampler.InputLatency">
|
|
<summary>
|
|
Get the latency introduced by the resampler measured in input samples.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IResampler.InputStride">
|
|
<summary>
|
|
Gets or sets the input stride.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IResampler.OutputLatencySamples">
|
|
<summary>
|
|
Gets the latency introduced by the resampler measured in output samples.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IResampler.OutputLatency">
|
|
<summary>
|
|
Gets the latency introduced by the resampler.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IResampler.OutputStride">
|
|
<summary>
|
|
Gets or sets the output stride.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.IResampler.Quality">
|
|
<summary>
|
|
Gets or sets the resampling quality between 0 and 10, where 0 has poor
|
|
quality and 10 has very high quality.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.GetRateFraction(System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Gets the current resampling ratio. This will be reduced to the least common denominator
|
|
</summary>
|
|
<param name="ratio_num">(Output) numerator of the sampling rate ratio</param>
|
|
<param name="ratio_den">(Output) denominator of the sampling rate ratio</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.GetRates(System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Get the current input/output sampling rates (integer value).
|
|
</summary>
|
|
<param name="in_rate">(Output) Sampling rate of input</param>
|
|
<param name="out_rate">(Output) Sampling rate of output</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.ResetMem">
|
|
<summary>
|
|
Clears the resampler buffers so a new (unrelated) stream can be processed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.SkipZeroes">
|
|
<summary>
|
|
Make sure that the first samples to go out of the resamplers don't have
|
|
leading zeros. This is only useful before starting to use a newly created
|
|
resampler. It is recommended to use that when resampling an audio file, as
|
|
it will generate a file with the same length.For real-time processing,
|
|
it is probably easier not to use this call (so that the output duration
|
|
is the same for the first frame).
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.Process(System.Int32,System.Span{System.Single},System.Int32@,System.Span{System.Single},System.Int32@)">
|
|
<summary>
|
|
Resample a float32 sample array. The input and output buffers must *not* overlap
|
|
</summary>
|
|
<param name="channel_index">The index of the channel to process (for multichannel input, 0 otherwise)</param>
|
|
<param name="input">Input buffer</param>
|
|
<param name="in_len">Number of input samples in the input buffer. After this function returns, this value
|
|
will be set to the number of input samples actually processed</param>
|
|
<param name="output">Output buffer</param>
|
|
<param name="out_len">Size of the output buffer. After this function returns, this value will be set to the number
|
|
of output samples actually produced</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.Process(System.Int32,System.Span{System.Int16},System.Int32@,System.Span{System.Int16},System.Int32@)">
|
|
<summary>
|
|
Resample an int16 sample array. The input and output buffers must *not* overlap
|
|
</summary>
|
|
<param name="channel_index">The index of the channel to process (for multichannel input, 0 otherwise)</param>
|
|
<param name="input">Input buffer</param>
|
|
<param name="in_len">Number of input samples in the input buffer. After this function returns, this value
|
|
will be set to the number of input samples actually processed</param>
|
|
<param name="output">Output buffer</param>
|
|
<param name="out_len">Size of the output buffer. After this function returns, this value will be set to the number
|
|
of output samples actually produced</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.ProcessInterleaved(System.Span{System.Single},System.Int32@,System.Span{System.Single},System.Int32@)">
|
|
<summary>
|
|
Resamples an interleaved float32 array. The stride is automatically determined by the number of channels of the resampler.
|
|
</summary>
|
|
<param name="input">Input buffer</param>
|
|
<param name="in_len">The number of samples *PER-CHANNEL* in the input buffer. After this function returns, this
|
|
value will be set to the number of input samples actually processed</param>
|
|
<param name="output">Output buffer</param>
|
|
<param name="out_len">The size of the output buffer in samples-per-channel. After this function returns, this value
|
|
will be set to the number of samples per channel actually produced</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.ProcessInterleaved(System.Span{System.Int16},System.Int32@,System.Span{System.Int16},System.Int32@)">
|
|
<summary>
|
|
Resamples an interleaved int16 array. The stride is automatically determined by the number of channels of the resampler.
|
|
</summary>
|
|
<param name="input">Input buffer</param>
|
|
<param name="in_len">The number of samples *PER-CHANNEL* in the input buffer. After this function returns, this
|
|
value will be set to the number of input samples actually processed</param>
|
|
<param name="output">Output buffer</param>
|
|
<param name="out_len">The size of the output buffer in samples-per-channel. After this function returns, this value
|
|
will be set to the number of samples per channel actually produced</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.SetRateFraction(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Sets the input/output sampling rates and resampling ration (fractional values in Hz supported)
|
|
</summary>
|
|
<param name="ratio_num">Numerator of the sampling rate ratio</param>
|
|
<param name="ratio_den">Denominator of the sampling rate ratio</param>
|
|
<param name="in_rate">Input sampling rate rounded to the nearest integer (in Hz)</param>
|
|
<param name="out_rate">Output sampling rate rounded to the nearest integer (in Hz)</param>
|
|
</member>
|
|
<member name="M:Concentus.IResampler.SetRates(System.Int32,System.Int32)">
|
|
<summary>
|
|
Sets the input and output rates
|
|
</summary>
|
|
<param name="in_rate">Input sampling rate, in hertz</param>
|
|
<param name="out_rate">Output sampling rate, in hertz</param>
|
|
</member>
|
|
<member name="T:Concentus.Native.NativeLibraryStatus">
|
|
<summary>
|
|
Represents the status of loading a native library.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.NativeLibraryStatus.Unknown">
|
|
<summary>
|
|
The library may or may not be available.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.NativeLibraryStatus.Available">
|
|
<summary>
|
|
The library is available and ready to invoke.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.NativeLibraryStatus.Unavailable">
|
|
<summary>
|
|
The library is not available on this system.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusDecoder.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Single},System.Int32,System.Boolean)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusDecoder.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Int16},System.Int32,System.Boolean)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusDecoder.ResetState">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusDecoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.SampleRate">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.NumChannels">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.Bandwidth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.FinalRange">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.Gain">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.LastPacketDuration">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusDecoder.Pitch">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusEncoder.Encode(System.ReadOnlySpan{System.Int16},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusEncoder.Encode(System.ReadOnlySpan{System.Single},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusEncoder.ResetState">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusEncoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.SampleRate">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.NumChannels">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.Complexity">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.UseDTX">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.Bitrate">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.ForceMode">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.UseVBR">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.Application">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.ForceChannels">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.MaxBandwidth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.Bandwidth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.UseInbandFEC">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.PacketLossPercent">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.UseConstrainedVBR">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.SignalType">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.Lookahead">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.FinalRange">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.LSBDepth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.ExpertFrameDuration">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusEncoder.PredictionDisabled">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamDecoder.DecodeMultistream(System.ReadOnlySpan{System.Byte},System.Span{System.Single},System.Int32,System.Boolean)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamDecoder.DecodeMultistream(System.ReadOnlySpan{System.Byte},System.Span{System.Int16},System.Int32,System.Boolean)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamDecoder.ResetState">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamDecoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamDecoder.SampleRate">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamDecoder.NumChannels">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamDecoder.Bandwidth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamDecoder.FinalRange">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamDecoder.Gain">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamDecoder.LastPacketDuration">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamEncoder.EncodeMultistream(System.ReadOnlySpan{System.Single},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamEncoder.EncodeMultistream(System.ReadOnlySpan{System.Int16},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamEncoder.ResetState">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativeOpusMultistreamEncoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.SampleRate">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.NumChannels">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.Complexity">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.UseDTX">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.Bitrate">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.ForceMode">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.UseVBR">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.Application">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.Bandwidth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.ExpertFrameDuration">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.FinalRange">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.Lookahead">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.LSBDepth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.MaxBandwidth">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.PacketLossPercent">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.PredictionDisabled">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.SignalType">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.UseConstrainedVBR">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="P:Concentus.Native.NativeOpusMultistreamEncoder.UseInbandFEC">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="T:Concentus.Native.NativePlatformUtils">
|
|
<summary>
|
|
Global helpers for handling platform and OS-specific tasks regarding native P/Invoke libraries
|
|
(mostly to make sure that the right one for the current platform actually gets invoked).
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.GetCurrentPlatform(System.IO.TextWriter)">
|
|
<summary>
|
|
Gets information about the current runtime OS and processor, in parity with .Net's Runtime Identifier (RID) system.
|
|
</summary>
|
|
<returns>The current OS and architecture.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.PrepareNativeLibrary(System.String,System.IO.TextWriter)">
|
|
<summary>
|
|
Given a native developer-provided library name, such as "mynativelib",
|
|
search the current runtime directory + /runtimes/{runtime ID}/native for files like "mynativelib.dll" / "mynativelib.so",
|
|
matching the given library name and current runtime OS and architecture, and then prepare that library file
|
|
in such a way that future P/Invoke calls to that library should succeed and should invoke the correct
|
|
architecture-specific code.
|
|
</summary>
|
|
<param name="libraryName">The library name to prepare (without platform-specific extensions such as ".dll")</param>
|
|
<param name="logger">A logger to log the result of the operation</param>
|
|
<returns>Whether the runtime believes the given library is now available for loading or not.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.GetRuntimeIdString(Concentus.Native.PlatformArchitecture)">
|
|
<summary>
|
|
Gets the runtime ID string for a given architecture, e.g. "arm64"
|
|
</summary>
|
|
<param name="architecture"></param>
|
|
<returns></returns>
|
|
<exception cref="T:System.PlatformNotSupportedException"></exception>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.GetRuntimeIdString(Concentus.Native.PlatformOperatingSystem)">
|
|
<summary>
|
|
Gets the runtime ID string for a given operating system, e.g. "osx"
|
|
</summary>
|
|
<param name="os"></param>
|
|
<returns></returns>
|
|
<exception cref="T:System.PlatformNotSupportedException"></exception>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.GetInheritedRuntimeIds(System.String)">
|
|
<summary>
|
|
Given a runtime ID, such as "android-arm64", get the list of all inherited runtime IDs in descending order of specificity,
|
|
not including the requested ID.
|
|
</summary>
|
|
<param name="runtimeId"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.ParseRuntimeId(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Parses the output from NetCore's RuntimeInformation.RuntimeIdentifier into an <see cref="T:Concentus.Native.OSAndArchitecture"/> struct.
|
|
</summary>
|
|
<param name="runtimeId">The runtime identifier.</param>
|
|
<returns>A parsed identifier struct.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.TryParseOperatingSystemString(System.String)">
|
|
<summary>
|
|
Attempts to parse a runtime OS identifier string (e.g. "win10", "osx") into a structured
|
|
operating system enum. Returns <see cref="F:Concentus.Native.PlatformOperatingSystem.Unknown"/> if parsing failed.
|
|
</summary>
|
|
<param name="os">The OS identifier string (should be lowercase but not strictly necessary)</param>
|
|
<returns>A parsed OS enumeration</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.TryParseOperatingSystemString(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Attempts to parse a runtime OS identifier string (e.g. "win10", "osx") into a structured
|
|
operating system enum. Returns <see cref="F:Concentus.Native.PlatformOperatingSystem.Unknown"/> if parsing failed.
|
|
</summary>
|
|
<param name="os">The OS identifier string (should be lowercase but not strictly necessary)</param>
|
|
<returns>A parsed OS enumeration</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.TryParseArchitectureString(System.String)">
|
|
<summary>
|
|
Attempts to parse a runtime platform architecture string (e.g. "x64", "arm") into a structured
|
|
architecture enum. Returns <see cref="F:Concentus.Native.PlatformArchitecture.Unknown"/> if parsing failed.
|
|
</summary>
|
|
<param name="arch">The architecture identifier string (should be lowercase but not strictly necessary)</param>
|
|
<returns>A parsed architecture enumeration</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.TryParseArchitectureString(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Attempts to parse a runtime platform architecture string (e.g. "x64", "arm") into a structured
|
|
architecture enum. Returns <see cref="F:Concentus.Native.PlatformArchitecture.Unknown"/> if parsing failed.
|
|
</summary>
|
|
<param name="arch">The architecture identifier string (should be lowercase but not strictly necessary)</param>
|
|
<returns>A parsed architecture enumeration</returns>
|
|
</member>
|
|
<member name="M:Concentus.Native.NativePlatformUtils.ProbeLibrary(System.String,Concentus.Native.OSAndArchitecture,System.IO.TextWriter)">
|
|
<summary>
|
|
Attempts to load the given library using kernel hooks for the current runtime operating system.
|
|
</summary>
|
|
<param name="libName">The name of the library to open, e.g. "libc"</param>
|
|
<param name="platformInfo">The currently running platform</param>
|
|
<param name="logger">A logger</param>
|
|
<returns>The availability of the given library after the probe attempt (it may load a locally provided or system-installed version of the requested library).</returns>
|
|
</member>
|
|
<member name="T:Concentus.Native.OSAndArchitecture">
|
|
<summary>
|
|
Represents a tuple combination of operating system + processor architecture.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Native.OSAndArchitecture.OS">
|
|
<summary>
|
|
An operating system specifier, e.g. Linux
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Native.OSAndArchitecture.Architecture">
|
|
<summary>
|
|
A processor architecture specifier, e.g. i386
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Native.OSAndArchitecture.#ctor(Concentus.Native.PlatformOperatingSystem,Concentus.Native.PlatformArchitecture)">
|
|
<summary>
|
|
Constructs a new <see cref="T:Concentus.Native.OSAndArchitecture"/>.
|
|
</summary>
|
|
<param name="OS">An operating system specifier.</param>
|
|
<param name="architecture">A proceses architecture specifier.</param>
|
|
</member>
|
|
<member name="T:Concentus.Native.PlatformArchitecture">
|
|
<summary>
|
|
An enumerated value for the current platform's processor architecture.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Unknown">
|
|
<summary>
|
|
Error case.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Any">
|
|
<summary>
|
|
"any" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.I386">
|
|
<summary>
|
|
"x86" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.X64">
|
|
<summary>
|
|
"x64" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.ArmV7">
|
|
<summary>
|
|
"arm" platform identifier (Implies hard float support)
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Arm64">
|
|
<summary>
|
|
"arm64" platform identifier, also called AArch64
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Armel">
|
|
<summary>
|
|
"armel" platform identifier (ARM v5 or older)
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.ArmV6">
|
|
<summary>
|
|
"armv6" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Mips64">
|
|
<summary>
|
|
"mips64" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.PowerPC64">
|
|
<summary>
|
|
"ppc64le" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.RiscFive">
|
|
<summary>
|
|
"riscv64" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.S390x">
|
|
<summary>
|
|
"s390x" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Loongarch64">
|
|
<summary>
|
|
"loongarch64" platform identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformArchitecture.Itanium64">
|
|
<summary>
|
|
Nobody supports this
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Native.PlatformOperatingSystem">
|
|
<summary>
|
|
An enumerated value for the current platform's operating system.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Unknown">
|
|
<summary>
|
|
Error case.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Any">
|
|
<summary>
|
|
"any" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Windows">
|
|
<summary>
|
|
"win" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Linux">
|
|
<summary>
|
|
"linux" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.MacOS">
|
|
<summary>
|
|
"osx" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.iOS">
|
|
<summary>
|
|
"ios" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.iOS_Simulator">
|
|
<summary>
|
|
"iossimulator" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Android">
|
|
<summary>
|
|
"android" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.FreeBSD">
|
|
<summary>
|
|
"freebsd" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Illumos">
|
|
<summary>
|
|
"illumos" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Linux_Bionic">
|
|
<summary>
|
|
"linux-bionic" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Linux_Musl">
|
|
<summary>
|
|
"linux-musl" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.MacCatalyst">
|
|
<summary>
|
|
"maccatalyst" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Solaris">
|
|
<summary>
|
|
"solaris" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.TvOS">
|
|
<summary>
|
|
"tvos" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.TvOS_Simulator">
|
|
<summary>
|
|
"tvossimulator" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Unix">
|
|
<summary>
|
|
"unix" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Browser">
|
|
<summary>
|
|
"browser" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Native.PlatformOperatingSystem.Wasi">
|
|
<summary>
|
|
"wasi" OS identifier
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.OpusCodecFactory">
|
|
<summary>
|
|
Central factory class for creating Opus encoder / decoder structs.
|
|
Using these methods allows the runtime to decide the most appropriate
|
|
implementation for your platform based on what is available (generally,
|
|
this means using a P/Invoke native adapter if native libopus is present)
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.OpusCodecFactory.CreateEncoder(System.Int32,System.Int32,Concentus.Enums.OpusApplication,System.IO.TextWriter)">
|
|
<summary>
|
|
Creates an IOpusEncoder appropriate for the current platform.
|
|
This could potentially involve a native code layer.
|
|
</summary>
|
|
<param name="sampleRate">The input sample rate. Must be a valid Opus samplerate (8K, 12K, 16K, 24K, 48K)</param>
|
|
<param name="numChannels">The number of channels of input (1 or 2)</param>
|
|
<param name="application">The hint for the type of audio or application this encoder will be used for.</param>
|
|
<param name="messageLogger">An optional logger for debugging messages about native library bindings.</param>
|
|
<returns>A newly created opus encoder.</returns>
|
|
</member>
|
|
<member name="M:Concentus.OpusCodecFactory.CreateDecoder(System.Int32,System.Int32,System.IO.TextWriter)">
|
|
<summary>
|
|
Creates an IOpusEncoder appropriate for the current platform.
|
|
This could potentially involve a native code layer.
|
|
</summary>
|
|
<param name="sampleRate">The output sample rate to decode to.
|
|
Doesn't have to be the same sample rate the audio was encoded at.
|
|
Must be a valid Opus samplerate (8K, 12K, 16K, 24K, 48K)</param>
|
|
<param name="numChannels">The number of channels to decode to (1 or 2).
|
|
Doesn't have to be the same channel count the audio was encoded at.</param>
|
|
<param name="messageLogger">An optional logger for debugging messages about native library bindings.</param>
|
|
<returns>A newly created opus decoder.</returns>
|
|
</member>
|
|
<member name="M:Concentus.OpusCodecFactory.CreateMultiStreamEncoder(System.Int32,System.Int32,System.Int32,System.Int32@,System.Int32@,System.Byte[],Concentus.Enums.OpusApplication,System.IO.TextWriter)">
|
|
<summary>
|
|
Creates a multichannel Opus encoder using the "new API". This constructor allows you to use predefined Vorbis channel mappings, or specify your own.
|
|
</summary>
|
|
<param name="sampleRate">The samples rate of the input</param>
|
|
<param name="numChannels">The total number of channels to encode (1 - 255)</param>
|
|
<param name="mappingFamily">The mapping family to use. 0 = mono/stereo, 1 = use Vorbis mappings, 255 = use raw channel mapping</param>
|
|
<param name="streams">The number of streams to encode</param>
|
|
<param name="coupledStreams">The number of coupled streams</param>
|
|
<param name="mapping">A channel mapping describing which streams go to which channels: see <seealso href="https://opus-codec.org/docs/opus_api-1.5/group__opus__multistream.html"/></param>
|
|
<param name="application">The application to use for the encoders</param>
|
|
<param name="messageLogger">An optional logger for debugging messages about native library bindings.</param>
|
|
<returns>A newly created opus multistream encoder.</returns>
|
|
</member>
|
|
<member name="M:Concentus.OpusCodecFactory.CreateMultiStreamDecoder(System.Int32,System.Int32,System.Int32,System.Int32,System.Byte[],System.IO.TextWriter)">
|
|
<summary>
|
|
Creates a new multichannel decoder
|
|
</summary>
|
|
<param name="sampleRate">The sample rate to decode to.</param>
|
|
<param name="numChannels">The total number of channels being decoded.</param>
|
|
<param name="streams">The number of streams being decoded.</param>
|
|
<param name="coupledStreams">The number of coupled streams being decoded.</param>
|
|
<param name="mapping">A channel mapping describing which streams go to which channels: see <seealso href="https://opus-codec.org/docs/opus_api-1.5/group__opus__multistream.html"/></param>
|
|
<param name="messageLogger">An optional logger for debugging messages about native library bindings.</param>
|
|
<returns>A newly created opus multistream decoder.</returns>
|
|
</member>
|
|
<member name="P:Concentus.OpusCodecFactory.AttemptToUseNativeLibrary">
|
|
<summary>
|
|
Gets or sets a global flag that determines whether the codec factory should attempt to
|
|
use a native opus.dll or libopus implementation. True by default, but you can override
|
|
the value to false if the library probe causes problems or something.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Analysis.tonality_analysis``1(Concentus.Structs.TonalityAnalysisState,Concentus.Celt.Structs.CeltMode,System.ReadOnlySpan{``0},System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Concentus.Downmix.downmix_func{``0})">
|
|
<summary>
|
|
|
|
</summary>
|
|
<typeparam name="T">The type of signal being handled (either short or float) - changes based on which API is used</typeparam>
|
|
<param name="tonal"></param>
|
|
<param name="celt_mode"></param>
|
|
<param name="x"></param>
|
|
<param name="len"></param>
|
|
<param name="offset"></param>
|
|
<param name="c1"></param>
|
|
<param name="c2"></param>
|
|
<param name="C"></param>
|
|
<param name="lsb_depth"></param>
|
|
<param name="downmix"></param>
|
|
</member>
|
|
<member name="M:Concentus.CodecHelpers.GetVersionString">
|
|
<summary>
|
|
Returns the version number of this library
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:Concentus.Downmix.downmix_func`1">
|
|
<summary>
|
|
|
|
</summary>
|
|
<typeparam name="T">The type of signal being handled (either short or float)</typeparam>
|
|
<param name="_x"></param>
|
|
<param name="sub"></param>
|
|
<param name="subframe"></param>
|
|
<param name="offset"></param>
|
|
<param name="c1"></param>
|
|
<param name="c2"></param>
|
|
<param name="C"></param>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusApplication.OPUS_APPLICATION_VOIP">
|
|
<summary>
|
|
Best for most VoIP/videoconference applications where listening quality and intelligibility matter most
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusApplication.OPUS_APPLICATION_AUDIO">
|
|
<summary>
|
|
Best for broadcast/high-fidelity application where the decoded audio should be as close as possible to the input
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusApplication.OPUS_APPLICATION_RESTRICTED_LOWDELAY">
|
|
<summary>
|
|
Only use when lowest-achievable latency is what matters most. Voice-optimized modes cannot be used.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Enums.OpusControl">
|
|
<summary>
|
|
These are the actual Encoder CTL ID numbers.
|
|
They should not be used directly by applications.
|
|
In general, SETs should be even and GETs should be odd.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusControl.OPUS_RESET_STATE">
|
|
<summary>
|
|
Resets the codec state to be equivalent to a freshly initialized state.
|
|
This should be called when switching streams in order to prevent
|
|
the back to back decoding from giving different results from
|
|
one at a time decoding.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Enums.OpusError">
|
|
<summary>
|
|
Note that since most API-level errors are detected and thrown as
|
|
OpusExceptions, direct use of this class is not usually needed
|
|
unless you need to interop with existing C-style error handlers.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_OK">
|
|
<summary>
|
|
No error
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_BAD_ARG">
|
|
<summary>
|
|
-1: One or more invalid/out of range arguments
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_BUFFER_TOO_SMALL">
|
|
<summary>
|
|
-2: Not enough bytes allocated in the buffer
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_INTERNAL_ERROR">
|
|
<summary>
|
|
-3: An public error was detected
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_INVALID_PACKET">
|
|
<summary>
|
|
-4: The compressed data passed is corrupted
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_UNIMPLEMENTED">
|
|
<summary>
|
|
-5: Invalid/unsupported request number
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_INVALID_STATE">
|
|
<summary>
|
|
-6: An encoder or decoder structure is invalid or already freed
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.OPUS_ALLOC_FAIL">
|
|
<summary>
|
|
-7: Memory allocation has failed (This is typically not possible in the C# implementation).
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusError.CONCENTUS_UNKNOWN_ERROR">
|
|
<summary>
|
|
-8: Used in rare cases where Concentus throws an error that is not covered by the
|
|
original Opus spec.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_ARG">
|
|
<summary>
|
|
Select frame size from the argument (default)
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_2_5_MS">
|
|
<summary>
|
|
Use 2.5 ms frames
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_5_MS">
|
|
<summary>
|
|
Use 5 ms frames
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_10_MS">
|
|
<summary>
|
|
Use 10 ms frames
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_20_MS">
|
|
<summary>
|
|
Use 20 ms frames
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_40_MS">
|
|
<summary>
|
|
Use 40 ms frames
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_60_MS">
|
|
<summary>
|
|
Use 60 ms frames
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusFramesize.OPUS_FRAMESIZE_VARIABLE">
|
|
<summary>
|
|
Do not use - not fully implemented. Optimize the frame size dynamically.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusSignal.OPUS_SIGNAL_VOICE">
|
|
<summary>
|
|
Signal being encoded is voice
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Enums.OpusSignal.OPUS_SIGNAL_MUSIC">
|
|
<summary>
|
|
Signal being encoded is music
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.MultiLayerPerceptron">
|
|
<summary>
|
|
multi-layer perceptron processor
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.OpusConstants.OPUS_AUTO">
|
|
<summary>
|
|
Auto/default setting
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.OpusConstants.OPUS_BITRATE_MAX">
|
|
<summary>
|
|
Maximum bitrate
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.OpusException">
|
|
<summary>
|
|
An exception type which wraps a raw Opus error code.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.OpusException.OpusErrorCode">
|
|
<summary>
|
|
Gets the raw Opus error code as defined in the C spec. These codes can
|
|
be found in the <see cref="T:Concentus.Enums.OpusError"/> enumeration.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.OpusException.#ctor">
|
|
<summary>
|
|
Creates a new empty <see cref="T:Concentus.OpusException"/>.
|
|
This constructor is discouraged as it does not set the raw error code.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.OpusException.#ctor(System.String)">
|
|
<summary>
|
|
Creates a new <see cref="T:Concentus.OpusException"/> with a custom error message.
|
|
This constructor is discouraged as it does not set the raw error code.
|
|
so it reports
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.OpusException.#ctor(System.Int32)">
|
|
<summary>
|
|
Creates a new <see cref="T:Concentus.OpusException"/> with a custom error message.
|
|
This constructor is discouraged as it does not set the raw error code.
|
|
so it reports
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.OpusException.#ctor(System.String,System.Int32)">
|
|
<summary>
|
|
Creates a new <see cref="T:Concentus.OpusException"/> with a custom error message and matching Opus error code.
|
|
</summary>
|
|
<param name="message">The entire error message string.</param>
|
|
<param name="opusError">The raw error code that can be passed to other C-style error handlers
|
|
if necessary (it is not used to format the error string).</param>
|
|
</member>
|
|
<member name="T:Concentus.Structs.MLP">
|
|
<summary>
|
|
state object for multi-layer perceptron
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Structs.OpusDecoder">
|
|
<summary>
|
|
The Opus decoder structure.
|
|
|
|
Opus is a stateful codec with overlapping blocks and as a result Opus
|
|
packets are not coded independently of each other. Packets must be
|
|
passed into the decoder serially and in the correct order for a correct
|
|
decode. Lost packets can be replaced with loss concealment by calling
|
|
the decoder with a null reference and zero length for the missing packet.
|
|
|
|
A single codec state may only be accessed from a single thread at
|
|
a time and any required locking must be performed by the caller. Separate
|
|
streams must be decoded with separate decoder states and can be decoded
|
|
in parallel.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Structs.OpusDecoder.DecControl">
|
|
Sampling rate (at the API level)
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.PartialReset">
|
|
<summary>
|
|
OPUS_DECODER_RESET_START
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.#ctor(System.Int32,System.Int32)">
|
|
<summary>
|
|
Allocates and initializes a decoder state.
|
|
Internally Opus stores data at 48000 Hz, so that should be the default
|
|
value for Fs. However, the decoder can efficiently decode to buffers
|
|
at 8, 12, 16, and 24 kHz so if for some reason the caller cannot use
|
|
data at the full sample rate, or knows the compressed data doesn't
|
|
use the full frequency range, it can request decoding at a reduced
|
|
rate. Likewise, the decoder is capable of filling in either mono or
|
|
interleaved stereo pcm buffers, at the caller's request.
|
|
</summary>
|
|
<param name="Fs">Sample rate to decode at (Hz). This must be one of 8000, 12000, 16000, 24000, or 48000.</param>
|
|
<param name="channels">Number of channels (1 or 2) to decode</param>
|
|
<returns>The created encoder</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.opus_decoder_init(System.Int32,System.Int32)">
|
|
Initializes a previously allocated decoder state.
|
|
The state must be at least the size returned by opus_decoder_get_size().
|
|
This is intended for applications which use their own allocator instead of malloc. @see opus_decoder_create,opus_decoder_get_size
|
|
To reset a previously initialized state, use the #OPUS_RESET_STATE CTL.
|
|
@param [in] st <tt>OpusDecoder*</tt>: Decoder state.
|
|
@param [in] Fs <tt>opus_int32</tt>: Sampling rate to decode to (Hz).
|
|
This must be one of 8000, 12000, 16000,
|
|
24000, or 48000.
|
|
@param [in] channels <tt>int</tt>: Number of channels (1 or 2) to decode
|
|
@retval #OPUS_OK Success or @ref opus_errorcodes
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Int16[],System.Int32,System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes an Opus packet.
|
|
</summary>
|
|
<param name="in_data">The input payload. This may be NULL if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="in_data_offset">The offset to use when reading the input payload. Usually 0</param>
|
|
<param name="len">The number of bytes in the payload</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels).
|
|
You can use the OpusPacketInfo helpers to get a hint of the frame size before you decode the packet if you need
|
|
exact sizing. Otherwise, the minimum safe buffer size is 5760 samples</param>
|
|
<param name="out_pcm_offset">The offset to use when writing to the output buffer</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
If this is less than the maximum packet duration (120ms; 5760 for 48khz), this function will
|
|
not be capable of decoding some packets. In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Int16},System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes an Opus packet.
|
|
</summary>
|
|
<param name="in_data">The input payload. This may be empty if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels).
|
|
You can use the OpusPacketInfo helpers to get a hint of the frame size before you decode the packet if you need
|
|
exact sizing. Otherwise, the minimum safe buffer size is 5760 samples</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
If this is less than the maximum packet duration (120ms; 5760 for 48khz), this function will
|
|
not be capable of decoding some packets. In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes an Opus packet, putting the output data into a floating-point buffer.
|
|
</summary>
|
|
<param name="in_data">The input payload. This may be NULL if that previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="in_data_offset">The offset to use when reading the input payload. Usually 0</param>
|
|
<param name="len">The number of bytes in the payload</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels).
|
|
You can use the OpusPacketInfo helpers to get a hint of the frame size before you decode the packet if you need
|
|
exact sizing. Otherwise, the minimum safe buffer size is 5760 samples</param>
|
|
<param name="out_pcm_offset">The offset to use when writing to the output buffer</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
If this is less than the maximum packet duration (120ms; 5760 for 48khz), this function will
|
|
not be capable of decoding some packets. In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet. In that case,
|
|
the length of frame_size must be EXACTLY the length of the audio that was lost, or else the decoder will be in an inconsistent state.</param>
|
|
<returns>The number of decoded samples (per channel)</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Single},System.Int32,System.Boolean)">
|
|
<summary>
|
|
Decodes an Opus packet.
|
|
</summary>
|
|
<param name="in_data">The input payload. This may be empty if the previous packet was lost in transit (when PLC is enabled)</param>
|
|
<param name="out_pcm">A buffer to put the output PCM. The output size is (# of samples) * (# of channels).
|
|
You can use the OpusPacketInfo helpers to get a hint of the frame size before you decode the packet if you need
|
|
exact sizing. Otherwise, the minimum safe buffer size is 5760 samples</param>
|
|
<param name="frame_size">The number of samples (per channel) of available space in the output PCM buf.
|
|
If this is less than the maximum packet duration (120ms; 5760 for 48khz), this function will
|
|
not be capable of decoding some packets. In the case of PLC (data == NULL) or FEC (decode_fec == true),
|
|
then frame_size needs to be exactly the duration of the audio that is missing, otherwise the decoder will
|
|
not be in an optimal state to decode the next incoming packet. For the PLC and FEC cases, frame_size *must*
|
|
be a multiple of 10 ms.</param>
|
|
<param name="decode_fec">Indicates that we want to recreate the PREVIOUS (lost) packet using FEC data from THIS packet. Using this packet
|
|
recovery scheme, you will actually decode this packet twice, first with decode_fec TRUE and then again with FALSE. If FEC data is not
|
|
available in this packet, the decoder will simply generate a best-effort recreation of the lost packet.</param>
|
|
<returns>The number of decoded samples</returns>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.Bandwidth">
|
|
<summary>
|
|
Gets the encoded bandwidth of the last packet decoded. This may be lower than the actual decoding sample rate,
|
|
and is only an indicator of the encoded audio's quality
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.FinalRange">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.SampleRate">
|
|
<summary>
|
|
Gets the sample rate that this decoder decodes to. Always constant for the lifetime of the decoder
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.NumChannels">
|
|
<summary>
|
|
Gets the number of channels that this decoder decodes to. Always constant for the lifetime of the decoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.Pitch">
|
|
<summary>
|
|
Gets the last estimated pitch value of the decoded audio
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.Gain">
|
|
<summary>
|
|
Gets or sets the gain (Q8) to use in decoding
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusDecoder.LastPacketDuration">
|
|
<summary>
|
|
Gets the duration of the last packet, in PCM samples per channel
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.ResetState">
|
|
<summary>
|
|
Resets all buffers and prepares this decoder to process a fresh (unrelated) stream
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusDecoder.Dispose">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="T:Concentus.Structs.OpusEncoder">
|
|
<summary>
|
|
The Opus encoder structure
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.PartialReset">
|
|
<summary>
|
|
OPUS_ENCODER_RESET_START
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.ResetState">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.#ctor(System.Int32,System.Int32,Concentus.Enums.OpusApplication)">
|
|
<summary>
|
|
Allocates and initializes an encoder state.
|
|
Note that regardless of the sampling rate and number channels selected, the Opus encoder
|
|
can switch to a lower audio bandwidth or number of channels if the bitrate
|
|
selected is too low. This also means that it is safe to always use 48 kHz stereo input
|
|
and let the encoder optimize the encoding. The decoder will not be constrained later on
|
|
by the mode that you select here for the encoder.
|
|
</summary>
|
|
<param name="Fs">Sampling rate of input signal (Hz). This must be one of 8000, 12000, 16000, 24000, or 48000.</param>
|
|
<param name="channels">Number of channels (1 or 2) in input signal</param>
|
|
<param name="application">There are three coding modes:
|
|
<para>
|
|
OPUS_APPLICATION_VOIP gives best quality at a given bitrate for voice
|
|
signals. It enhances the input signal by high-pass filtering and
|
|
emphasizing formants and harmonics. Optionally it includes in-band
|
|
forward error correction to protect against packet loss. Use this
|
|
mode for typical VoIP applications.Because of the enhancement,
|
|
even at high bitrates the output may sound different from the input.
|
|
</para>
|
|
<para>
|
|
OPUS_APPLICATION_AUDIO gives best quality at a given bitrate for most
|
|
non-voice signals like music. Use this mode for music and mixed
|
|
(music/voice) content, broadcast, and applications requiring less
|
|
than 15 ms of coding delay.
|
|
</para>
|
|
<para>
|
|
OPUS_APPLICATION_RESTRICTED_LOWDELAY configures low-delay mode that
|
|
disables the speech-optimized mode in exchange for slightly reduced delay.
|
|
This mode can only be set on an newly initialized or freshly reset encoder
|
|
because it changes the codec delay.
|
|
</para></param>
|
|
<returns>The created encoder</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.opus_encode_native``1(System.ReadOnlySpan{System.Int16},System.Int32,System.Int32,System.Span{System.Byte},System.Int32,System.Int32,System.Int32,System.ReadOnlySpan{``0},System.Int32,System.Int32,System.Int32,System.Int32,Concentus.Downmix.downmix_func{``0},System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<typeparam name="T">The storage type of analysis_pcm, either short or float</typeparam>
|
|
<param name="pcm"></param>
|
|
<param name="frame_size"></param>
|
|
<param name="data"></param>
|
|
<param name="out_data_bytes"></param>
|
|
<param name="lsb_depth"></param>
|
|
<param name="analysis_pcm"></param>
|
|
<param name="analysis_size"></param>
|
|
<param name="c1"></param>
|
|
<param name="c2"></param>
|
|
<param name="analysis_channels"></param>
|
|
<param name="downmix"></param>
|
|
<param name="float_api"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.Encode(System.Int16[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Encodes an Opus frame.
|
|
</summary>
|
|
<param name="in_pcm">Input signal (Interleaved if stereo). Length should be at least frame_size * channels</param>
|
|
<param name="pcm_offset">Offset to use when reading the in_pcm buffer</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.
|
|
For example, at 48Khz the permitted values are 120, 240, 480, 960, 1920, and 2880. Passing in a duration of less than 10ms
|
|
(480 samples at 48Khz) will prevent the encoder from using FEC, DTX, or hybrid modes.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="out_data_offset">The offset to use when writing to the output data buffer</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.Encode(System.ReadOnlySpan{System.Int16},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Encodes an Opus frame.
|
|
</summary>
|
|
<param name="in_pcm">Input signal (Interleaved if stereo). Length should be at least frame_size * channels</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.
|
|
For example, at 48Khz the permitted values are 120, 240, 480, 960, 1920, and 2880. Passing in a duration of less than 10ms
|
|
(480 samples at 48Khz) will prevent the encoder from using FEC, DTX, or hybrid modes.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.Encode(System.Single[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Encodes an Opus frame using floating point input.
|
|
</summary>
|
|
<param name="in_pcm">Input signal in float format (Interleaved if stereo). Length should be at least frame_size * channels.
|
|
Value should be normalized to the +/- 1.0 range. Samples with a range beyond +/-1.0 will be clipped.</param>
|
|
<param name="in_pcm_offset">Offset to use when reading from in_pcm buffer</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.
|
|
For example, at 48Khz the permitted values are 120, 240, 480, 960, 1920, and 2880. Passing in a duration of less than 10ms
|
|
(480 samples at 48Khz) will prevent the encoder from using FEC, DTX, or hybrid modes.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="out_data_offset">Offset to use when writing into output data buffer</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.Encode(System.ReadOnlySpan{System.Single},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<summary>
|
|
Encodes an Opus frame using floating point input.
|
|
</summary>
|
|
<param name="in_pcm">Input signal in float format (Interleaved if stereo). Length should be at least frame_size * channels.
|
|
Value should be normalized to the +/- 1.0 range. Samples with a range beyond +/-1.0 will be clipped.</param>
|
|
<param name="frame_size">The number of samples per channel in the inpus signal.
|
|
The frame size must be a valid Opus framesize for the given sample rate.
|
|
For example, at 48Khz the permitted values are 120, 240, 480, 960, 1920, and 2880. Passing in a duration of less than 10ms
|
|
(480 samples at 48Khz) will prevent the encoder from using FEC, DTX, or hybrid modes.</param>
|
|
<param name="out_data">Destination buffer for the output payload. This must contain at least max_data_bytes</param>
|
|
<param name="max_data_bytes">The maximum amount of space allocated for the output payload. This may be used to impose
|
|
an upper limit on the instant bitrate, but should not be used as the only bitrate control (use the Bitrate parameter for that)</param>
|
|
<returns>The length of the encoded packet, in bytes. This value will always be less than or equal to 1275, the maximum Opus packet size.</returns>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.Application">
|
|
<summary>
|
|
Gets or sets the application (or signal type) of the input signal. This hints
|
|
to the encoder what type of details we want to preserve in the encoding.
|
|
This cannot be changed after the encoder has started
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.Bitrate">
|
|
<summary>
|
|
Gets or sets the bitrate for encoder, in bits per second. Valid bitrates are between 6K (6144) and 510K (522240)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.ForceChannels">
|
|
<summary>
|
|
Gets or sets the maximum number of channels to be encoded. This can be used to force a downmix from stereo to mono if stereo
|
|
separation is not important
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.MaxBandwidth">
|
|
<summary>
|
|
Gets or sets the maximum bandwidth to be used by the encoder. This can be used if
|
|
high-frequency audio is not important to your application (e.g. telephony)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.Bandwidth">
|
|
<summary>
|
|
Gets or sets the "preferred" encoded bandwidth. This does not affect the sample rate of the input audio,
|
|
only the encoding cutoffs
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.UseDTX">
|
|
<summary>
|
|
Gets or sets a flag to enable Discontinuous Transmission mode. This mode is only available in the SILK encoder
|
|
(Bitrate < 40Kbit/s and/or ForceMode == SILK). When enabled, the encoder detects silence and background noise
|
|
and reduces the number of output packets, with up to 600ms in between separate packet transmissions.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.Complexity">
|
|
<summary>
|
|
Gets or sets the encoder complexity, between 0 and 10
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.UseInbandFEC">
|
|
<summary>
|
|
Gets or sets a flag to enable Forward Error Correction. This mode is only available in the SILK encoder
|
|
(Bitrate < 40Kbit/s and/or ForceMode == SILK). When enabled, lost packets can be partially recovered
|
|
by decoding data stored in the following packet.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.PacketLossPercent">
|
|
<summary>
|
|
Gets or sets the expected amount of packet loss in the transmission medium, from 0 to 100.
|
|
Only applies if UseInbandFEC is also enabled, and the encoder is in SILK mode.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.UseVBR">
|
|
<summary>
|
|
Gets or sets a flag to enable Variable Bitrate encoding. This is recommended as it generally improves audio quality
|
|
with little impact on average bitrate
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.UseConstrainedVBR">
|
|
<summary>
|
|
Gets or sets a flag to enable constrained VBR. This only applies when the encoder is in CELT mode (i.e. high bitrates)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.SignalType">
|
|
<summary>
|
|
Gets or sets a hint to the encoder for what type of audio is being processed, voice or music
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.Lookahead">
|
|
<summary>
|
|
Gets the number of samples of audio that are being stored in a buffer and are therefore contributing to latency.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.SampleRate">
|
|
<summary>
|
|
Gets the encoder's input sample rate. This is fixed for the lifetime of the encoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.NumChannels">
|
|
<summary>
|
|
Gets the number of channels that this encoder expects in its input. Always constant for the lifetime of the decoder.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.FinalRange">
|
|
<summary>
|
|
Returns the final range of the entropy coder
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.LSBDepth">
|
|
<summary>
|
|
Gets or sets the bit resolution of the input audio signal. Though the encoder always uses 16-bit internally, this can help
|
|
it make better decisions about bandwidth and cutoff values
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.ExpertFrameDuration">
|
|
<summary>
|
|
Gets or sets a fixed length for each encoded frame. Typically, the encoder just chooses a frame duration based on the input length
|
|
and the current public mode. This can be used to enforce an exact length if it is required by your application (e.g. monotonous transmission)
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.ForceMode">
|
|
<summary>
|
|
Gets or sets a user-forced mode for the encoder. There are three modes, SILK, HYBRID, and CELT. Silk can only encode below 40Kbit/s and is best suited
|
|
for speech. Silk also has modes such as FEC which may be desirable. Celt sounds better at higher bandwidth and is comparable to AAC. It also performs somewhat faster.
|
|
Hybrid is used to create a smooth transition between the two modes. Note that this value may not always be honored due to other factors such
|
|
as frame size and bitrate.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.IsLFE">
|
|
<summary>
|
|
Gets or sets a value indicating that this stream is a low-frequency channel. This is used when encoding 5.1 surround audio.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.PredictionDisabled">
|
|
<summary>
|
|
Gets or sets a flag to disable prediction, which does... something with the SILK codec
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.EnableAnalysis">
|
|
<summary>
|
|
Gets or sets a value indicating whether neural net analysis functions should be enabled, increasing encode quality
|
|
at the expense of speed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.ConstantQuality">
|
|
<summary>
|
|
EXPERIMENTAL!!! Gets or sets the constant quality encoding parameter. This is a new feature intended to approximate
|
|
"Constant Quality VBR" that other codecs such as MP3Lame provide, to let you encode mixed speech and music
|
|
(such as a podcast) in the same Opus stream without changing encoder params.
|
|
The quality is range from 0 (lowest) to 10 (highest). A setting of "null" means to use the regular Opus bitrate modes.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusEncoder.MusicProbability">
|
|
<summary>
|
|
EXPERIMENTAL. Returns the probability that the current signal is music, according to the built-in analysis.
|
|
Only meaningful if EnableAnalysis is true and quality is above 7 or so
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusEncoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="T:Concentus.Structs.OpusMSDecoder">
|
|
<summary>
|
|
A managed implementation of the Opus multistream decoder.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Byte[])">
|
|
<summary>
|
|
Creates a new multichannel decoder
|
|
</summary>
|
|
<param name="Fs"></param>
|
|
<param name="channels"></param>
|
|
<param name="streams"></param>
|
|
<param name="coupled_streams"></param>
|
|
<param name="mapping">A channel mapping describing which streams go to which channels: see <seealso href="https://opus-codec.org/docs/opus_api-1.5/group__opus__multistream.html"/></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.DecodeMultistream(System.Byte[],System.Int32,System.Int32,System.Int16[],System.Int32,System.Int32,System.Boolean)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.DecodeMultistream(System.ReadOnlySpan{System.Byte},System.Span{System.Int16},System.Int32,System.Boolean)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.DecodeMultistream(System.Byte[],System.Int32,System.Int32,System.Single[],System.Int32,System.Int32,System.Boolean)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.DecodeMultistream(System.ReadOnlySpan{System.Byte},System.Span{System.Single},System.Int32,System.Boolean)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSDecoder.Bandwidth">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSDecoder.SampleRate">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSDecoder.NumChannels">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSDecoder.Gain">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSDecoder.LastPacketDuration">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSDecoder.FinalRange">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.ResetState">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.GetMultistreamDecoderState(System.Int32)">
|
|
<summary>
|
|
Gets the internal decoder state of one of the multichannel stream's decoders, indicated by stream ID.
|
|
</summary>
|
|
<param name="streamId">The stream ID to fetch.</param>
|
|
<returns>The decoder for that stream ID.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSDecoder.Dispose">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="T:Concentus.Structs.OpusMSEncoder">
|
|
<summary>
|
|
A managed implementation of the Opus multistream encoder.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.ResetState">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.Create(System.Int32,System.Int32,System.Int32,System.Int32,System.Byte[],Concentus.Enums.OpusApplication)">
|
|
<summary>
|
|
Creates a new multichannel Opus encoder using the "old API".
|
|
</summary>
|
|
<param name="Fs">The sample rate of the input signal</param>
|
|
<param name="channels">The number of channels to encode (1 - 255)</param>
|
|
<param name="streams">The number of streams to encode</param>
|
|
<param name="coupled_streams">The number of coupled streams</param>
|
|
<param name="mapping">A raw mapping between input and output channels</param>
|
|
<param name="application">The application to use for the encoder</param>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.CreateSurround(System.Int32,System.Int32,System.Int32,System.Int32@,System.Int32@,System.Byte[],Concentus.Enums.OpusApplication)">
|
|
<summary>
|
|
Creates a multichannel Opus encoder using the "new API". This constructor allows you to use predefined Vorbis channel mappings, or specify your own.
|
|
</summary>
|
|
<param name="Fs">The samples rate of the input</param>
|
|
<param name="channels">The total number of channels to encode (1 - 255)</param>
|
|
<param name="mapping_family">The mapping family to use. 0 = mono/stereo, 1 = use Vorbis mappings, 255 = use raw channel mapping</param>
|
|
<param name="streams">The number of streams to encode</param>
|
|
<param name="coupled_streams">The number of coupled streams</param>
|
|
<param name="mapping">A raw mapping of input/output channels</param>
|
|
<param name="application">The application to use for the encoders</param>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.EncodeMultistream(System.Int16[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.EncodeMultistream(System.ReadOnlySpan{System.Int16},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.EncodeMultistream(System.Single[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.EncodeMultistream(System.ReadOnlySpan{System.Single},System.Int32,System.Span{System.Byte},System.Int32)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.Bitrate">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.Application">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.ForceChannels">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.NumChannels">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.MaxBandwidth">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.Bandwidth">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.UseDTX">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.Complexity">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.ForceMode">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.UseInbandFEC">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.PacketLossPercent">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.UseVBR">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.UseConstrainedVBR">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.SignalType">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.Lookahead">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.SampleRate">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.FinalRange">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.LSBDepth">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.PredictionDisabled">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusMSEncoder.ExpertFrameDuration">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.GetMultistreamEncoderState(System.Int32)">
|
|
<summary>
|
|
Gets the internal encoder state of one of the multichannel stream's enoders, indicated by stream ID.
|
|
</summary>
|
|
<param name="streamId">The stream ID to fetch.</param>
|
|
<returns>The encoder for that stream ID.</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusMSEncoder.GetVersionString">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="T:Concentus.Structs.OpusPacketInfo">
|
|
<summary>
|
|
Contains the parsed information from a single Opus packet, such as the bandwidth,
|
|
number of samples, encoder mode, channel count, etc.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusPacketInfo.TOCByte">
|
|
<summary>
|
|
The Table of Contents byte for this packet. Contains info about modes, frame length, etc.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusPacketInfo.Frames">
|
|
<summary>
|
|
The list of subframes in this packet
|
|
</summary>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusPacketInfo.PayloadOffset">
|
|
<summary>
|
|
The index of the start of the payload within the packet
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.ParseOpusPacket(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Parse an opus packet into a packetinfo object containing one or more frames.
|
|
Opus decode will perform this operation internally so most applications do
|
|
not need to use this function.
|
|
</summary>
|
|
<param name="packet">The packet data to be parsed</param>
|
|
<param name="packet_offset">The index of the beginning of the packet in the data array (usually 0)</param>
|
|
<param name="len">The packet's length</param>
|
|
<returns>A parsed packet info struct</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.ParseOpusPacket(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Parse an opus packet into a packetinfo object containing one or more frames.
|
|
Opus_decode will perform this operation internally so most applications do
|
|
not need to use this function.
|
|
</summary>
|
|
<param name="packet">The packet data to be parsed</param>
|
|
<returns>A parsed packet info struct</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.NumSamplesPerFrame(System.Int32)">
|
|
<summary>
|
|
Gets the number of samples per frame from an Opus packet.
|
|
</summary>
|
|
<param name="Fs">Sampling rate in Hz. This must be a multiple of 400, or inaccurate results will be returned.</param>
|
|
<returns>Number of samples per frame</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetNumSamplesPerFrame(System.ReadOnlySpan{System.Byte},System.Int32)">
|
|
<summary>
|
|
Gets the number of samples per frame from an Opus packet.
|
|
</summary>
|
|
<param name="packet">Opus packet. This must contain at least one byte of data</param>
|
|
<param name="Fs">Sampling rate in Hz. This must be a multiple of 400, or inaccurate results will be returned.</param>
|
|
<returns>Number of samples per frame</returns>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusPacketInfo.Bandwidth">
|
|
<summary>
|
|
Gets the encoded bandwidth of an Opus packet. Note that you are not forced to decode at this bandwidth
|
|
</summary>
|
|
<returns>An OpusBandwidth value</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetBandwidth(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Gets the encoded bandwidth of an Opus packet. Note that you are not forced to decode at this bandwidth
|
|
</summary>
|
|
<param name="packet">An Opus packet (must be at least 1 byte)</param>.
|
|
<returns>An OpusBandwidth value</returns>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusPacketInfo.NumEncodedChannels">
|
|
<summary>
|
|
Gets the number of encoded channels of an Opus packet. Note that you are not forced to decode with this channel count.
|
|
</summary>
|
|
<returns>The number of channels</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetNumEncodedChannels(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Gets the number of encoded channels of an Opus packet. Note that you are not forced to decode with this channel count.
|
|
</summary>
|
|
<param name="packet">An opus packet (must be at least 1 byte)</param>
|
|
<returns>The number of channels</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetNumFrames(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Gets the number of frames in an Opus packet.
|
|
</summary>
|
|
<param name="packet">An Opus packet</param>
|
|
<returns>The number of frames in the packet</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetNumSamples(System.ReadOnlySpan{System.Byte},System.Int32)">
|
|
<summary>
|
|
Gets the number of samples of an Opus packet.
|
|
</summary>
|
|
<param name="packet">An Opus packet</param>
|
|
<param name="Fs">The decoder's sampling rate in Hz. This must be a multiple of 400</param>
|
|
<returns>The size of the PCM samples that this packet will be decoded to at the specified sample rate</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetNumSamples(Concentus.Structs.OpusDecoder,System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Gets the number of samples of an Opus packet.
|
|
</summary>
|
|
<param name="dec">Your current decoder state</param>
|
|
<param name="packet">An Opus packet</param>
|
|
<param name="packet_offset">The start offset in the array for reading the packet from</param>
|
|
<param name="len">The packet's length</param>
|
|
<returns>The size of the PCM samples that this packet will be decoded to by the specified decoder</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetNumSamples(Concentus.Structs.OpusDecoder,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Gets the number of samples of an Opus packet.
|
|
</summary>
|
|
<param name="dec">Your current decoder state</param>
|
|
<param name="packet">An Opus packet</param>
|
|
<returns>The size of the PCM samples that this packet will be decoded to by the specified decoder</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusPacketInfo.GetEncoderMode(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Gets the mode that was used to encode this packet.
|
|
Normally there is nothing you can really do with this, other than debugging.
|
|
</summary>
|
|
<param name="packet">An Opus packet</param>
|
|
<returns>The OpusMode used by the encoder</returns>
|
|
</member>
|
|
<member name="P:Concentus.Structs.OpusPacketInfo.EncoderMode">
|
|
<summary>
|
|
Gets the mode that was used to encode this packet.
|
|
Normally there is nothing you can really do with this, other than debugging.
|
|
</summary>
|
|
<returns>The OpusMode used by the encoder</returns>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.Reset">
|
|
(Re)initializes a previously allocated repacketizer state.
|
|
The state must be at least the size returned by opus_repacketizer_get_size().
|
|
This can be used for applications which use their own allocator instead of
|
|
malloc().
|
|
It must also be called to reset the queue of packets waiting to be
|
|
repacketized, which is necessary if the maximum packet duration of 120 ms
|
|
is reached or if you wish to submit packets with a different Opus
|
|
configuration (coding mode, audio bandwidth, frame size, or channel count).
|
|
Failure to do so will prevent a new packet from being added with
|
|
opus_repacketizer_cat().
|
|
@see opus_repacketizer_create
|
|
@see opus_repacketizer_get_size
|
|
@see opus_repacketizer_cat
|
|
@param rp <tt>OpusRepacketizer*</tt>: The repacketizer state to
|
|
(re)initialize.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.#ctor">
|
|
<summary>
|
|
Creates a new repacketizer
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.AddPacket(System.Span{System.Byte},System.Int32,System.Int32)">
|
|
opus_repacketizer_cat. Add a packet to the current repacketizer state.
|
|
This packet must match the configuration of any packets already submitted
|
|
for repacketization since the last call to opus_repacketizer_init().
|
|
This means that it must have the same coding mode, audio bandwidth, frame
|
|
size, and channel count.
|
|
This can be checked in advance by examining the top 6 bits of the first
|
|
byte of the packet, and ensuring they match the top 6 bits of the first
|
|
byte of any previously submitted packet.
|
|
The total duration of audio in the repacketizer state also must not exceed
|
|
120 ms, the maximum duration of a single packet, after adding this packet.
|
|
|
|
The contents of the current repacketizer state can be extracted into new
|
|
packets using opus_repacketizer_out() or opus_repacketizer_out_range().
|
|
|
|
In order to add a packet with a different configuration or to add more
|
|
audio beyond 120 ms, you must clear the repacketizer state by calling
|
|
opus_repacketizer_init().
|
|
If a packet is too large to add to the current repacketizer state, no part
|
|
of it is added, even if it contains multiple frames, some of which might
|
|
fit.
|
|
If you wish to be able to add parts of such packets, you should first use
|
|
another repacketizer to split the packet into pieces and add them
|
|
individually.
|
|
@see opus_repacketizer_out_range
|
|
@see opus_repacketizer_out
|
|
@see opus_repacketizer_init
|
|
@param rp <tt>OpusRepacketizer*</tt>: The repacketizer state to which to
|
|
add the packet.
|
|
@param[in] data <tt>const unsigned char*</tt>: The packet data.
|
|
The application must ensure
|
|
this pointer remains valid
|
|
until the next call to
|
|
opus_repacketizer_init() or
|
|
opus_repacketizer_destroy().
|
|
@param len <tt>opus_int32</tt>: The number of bytes in the packet data.
|
|
@returns An error code indicating whether or not the operation succeeded.
|
|
@retval #OPUS_OK The packet's contents have been added to the repacketizer
|
|
state.
|
|
@retval #OPUS_INVALID_PACKET The packet did not have a valid TOC sequence,
|
|
the packet's TOC sequence was not compatible
|
|
with previously submitted packets (because
|
|
the coding mode, audio bandwidth, frame size,
|
|
or channel count did not match), or adding
|
|
this packet would increase the total amount of
|
|
audio stored in the repacketizer state to more
|
|
than 120 ms.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.GetNumFrames">
|
|
Return the total number of frames contained in packet data submitted to
|
|
the repacketizer state so far via opus_repacketizer_cat() since the last
|
|
call to opus_repacketizer_init() or opus_repacketizer_create().
|
|
This defines the valid range of packets that can be extracted with
|
|
opus_repacketizer_out_range() or opus_repacketizer_out().
|
|
@param rp <tt>OpusRepacketizer*</tt>: The repacketizer state containing the
|
|
frames.
|
|
@returns The total number of frames contained in the packet data submitted
|
|
to the repacketizer state.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.CreatePacket(System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
|
|
Construct a new packet from data previously submitted to the repacketizer
|
|
state via opus_repacketizer_cat().
|
|
@param rp <tt>OpusRepacketizer*</tt>: The repacketizer state from which to
|
|
construct the new packet.
|
|
@param begin <tt>int</tt>: The index of the first frame in the current
|
|
repacketizer state to include in the output.
|
|
@param end <tt>int</tt>: One past the index of the last frame in the
|
|
current repacketizer state to include in the
|
|
output.
|
|
@param[out] data <tt>const unsigned char*</tt>: The buffer in which to
|
|
store the output packet.
|
|
@param maxlen <tt>opus_int32</tt>: The maximum number of bytes to store in
|
|
the output buffer. In order to guarantee
|
|
success, this should be at least
|
|
<code>1276</code> for a single frame,
|
|
or for multiple frames,
|
|
<code>1277*(end-begin)</code>.
|
|
However, <code>1*(end-begin)</code> plus
|
|
the size of all packet data submitted to
|
|
the repacketizer since the last call to
|
|
opus_repacketizer_init() or
|
|
opus_repacketizer_create() is also
|
|
sufficient, and possibly much smaller.
|
|
@returns The total size of the output packet on success, or an error code
|
|
on failure.
|
|
@retval #OPUS_BAD_ARG <code>[begin,end)</code> was an invalid range of
|
|
frames (begin < 0, begin >= end, or end >
|
|
opus_repacketizer_get_nb_frames()).
|
|
@retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the
|
|
complete output packet.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.CreatePacket(System.Byte[],System.Int32,System.Int32)">
|
|
Construct a new packet from data previously submitted to the repacketizer
|
|
state via opus_repacketizer_cat().
|
|
This is a convenience routine that returns all the data submitted so far
|
|
in a single packet.
|
|
It is equivalent to calling
|
|
@code
|
|
opus_repacketizer_out_range(rp, 0, opus_repacketizer_get_nb_frames(rp),
|
|
data, maxlen)
|
|
@endcode
|
|
@param rp <tt>OpusRepacketizer*</tt>: The repacketizer state from which to
|
|
construct the new packet.
|
|
@param[out] data <tt>const unsigned char*</tt>: The buffer in which to
|
|
store the output packet.
|
|
@param maxlen <tt>opus_int32</tt>: The maximum number of bytes to store in
|
|
the output buffer. In order to guarantee
|
|
success, this should be at least
|
|
<code>1277*opus_repacketizer_get_nb_frames(rp)</code>.
|
|
However,
|
|
<code>1*opus_repacketizer_get_nb_frames(rp)</code>
|
|
plus the size of all packet data
|
|
submitted to the repacketizer since the
|
|
last call to opus_repacketizer_init() or
|
|
opus_repacketizer_create() is also
|
|
sufficient, and possibly much smaller.
|
|
@returns The total size of the output packet on success, or an error code
|
|
on failure.
|
|
@retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the
|
|
complete output packet.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.PadPacket(System.Span{System.Byte},System.Int32,System.Int32,System.Int32)">
|
|
Pads a given Opus packet to a larger size (possibly changing the TOC sequence).
|
|
@param[in,out] data <tt>const unsigned char*</tt>: The buffer containing the
|
|
packet to pad.
|
|
@param len <tt>opus_int32</tt>: The size of the packet.
|
|
This must be at least 1.
|
|
@param new_len <tt>opus_int32</tt>: The desired size of the packet after padding.
|
|
This must be at least as large as len.
|
|
@returns an error code
|
|
@retval #OPUS_OK \a on success.
|
|
@retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len.
|
|
@retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.UnpadPacket(System.Byte[],System.Int32,System.Int32)">
|
|
Remove all padding from a given Opus packet and rewrite the TOC sequence to
|
|
minimize space usage.
|
|
@param[in,out] data <tt>const unsigned char*</tt>: The buffer containing the
|
|
packet to strip.
|
|
@param len <tt>opus_int32</tt>: The size of the packet.
|
|
This must be at least 1.
|
|
@returns The new size of the output packet on success, or an error code
|
|
on failure.
|
|
@retval #OPUS_BAD_ARG \a len was less than 1.
|
|
@retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.PadMultistreamPacket(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
Pads a given Opus multi-stream packet to a larger size (possibly changing the TOC sequence).
|
|
@param[in,out] data <tt>const unsigned char*</tt>: The buffer containing the
|
|
packet to pad.
|
|
@param len <tt>opus_int32</tt>: The size of the packet.
|
|
This must be at least 1.
|
|
@param new_len <tt>opus_int32</tt>: The desired size of the packet after padding.
|
|
This must be at least 1.
|
|
@param nb_streams <tt>opus_int32</tt>: The number of streams (not channels) in the packet.
|
|
This must be at least as large as len.
|
|
@returns an error code
|
|
@retval #OPUS_OK \a on success.
|
|
@retval #OPUS_BAD_ARG \a len was less than 1.
|
|
@retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet.
|
|
</member>
|
|
<member name="M:Concentus.Structs.OpusRepacketizer.UnpadMultistreamPacket(System.Byte[],System.Int32,System.Int32,System.Int32)">
|
|
Remove all padding from a given Opus multi-stream packet and rewrite the TOC sequence to
|
|
minimize space usage.
|
|
@param[in,out] data <tt>const unsigned char*</tt>: The buffer containing the
|
|
packet to strip.
|
|
@param len <tt>opus_int32</tt>: The size of the packet.
|
|
This must be at least 1.
|
|
@param nb_streams <tt>opus_int32</tt>: The number of streams (not channels) in the packet.
|
|
This must be at least 1.
|
|
@returns The new size of the output packet on success, or an error code
|
|
on failure.
|
|
@retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len.
|
|
@retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet.
|
|
</member>
|
|
<member name="F:Concentus.Structs.TonalityAnalysisState.pspeech">
|
|
Probability of having speech for time i to DETECT_SIZE-1 (and music before).
|
|
pspeech[0] is the probability that all frames in the window are speech.
|
|
</member>
|
|
<member name="F:Concentus.Structs.TonalityAnalysisState.pmusic">
|
|
Probability of having music for time i to DETECT_SIZE-1 (and speech before).
|
|
pmusic[0] is the probability that all frames in the window are music.
|
|
</member>
|
|
<member name="T:Concentus.ResamplerFactory">
|
|
<summary>
|
|
Central factory class for creating resamplers.
|
|
Using these methods allows the runtime to decide the most appropriate
|
|
implementation for your platform based on what is available. Native
|
|
interop for resamplers is not yet implemented, but may be in the future.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.ResamplerFactory.CreateResampler(System.Int32,System.Int32,System.Int32,System.Int32,System.IO.TextWriter)">
|
|
<summary>
|
|
Create a new resampler with integer input and output rates (in hertz).
|
|
</summary>
|
|
<param name="numChannels">The number of channels to be processed</param>
|
|
<param name="inRate">Input sampling rate, in hertz</param>
|
|
<param name="outRate">Output sampling rate, in hertz</param>
|
|
<param name="quality">Resampling quality, from 0 to 10</param>
|
|
<param name="logger">An optional logger for the operation</param>
|
|
<returns>A newly created resampler</returns>
|
|
</member>
|
|
<member name="M:Concentus.ResamplerFactory.CreateResampler(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.IO.TextWriter)">
|
|
<summary>
|
|
Create a new resampler with fractional input/output rates. The sampling
|
|
rate ratio is an arbitrary rational number with both the numerator and
|
|
denominator being 32-bit integers.
|
|
</summary>
|
|
<param name="numChannels">The number of channels to be processed</param>
|
|
<param name="ratioNum">Numerator of sampling rate ratio</param>
|
|
<param name="ratioDen">Denominator of sampling rate ratio</param>
|
|
<param name="inRate">Input sample rate rounded to the nearest integer (in hz)</param>
|
|
<param name="outRate">Output sample rate rounded to the nearest integer (in hz)</param>
|
|
<param name="quality">Resampling quality, from 0 to 10</param>
|
|
<param name="logger">An optional logger for the operation</param>
|
|
<returns>A newly created resampler</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.BWExpander.silk_bwexpander_32(System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Chirp (bw expand) LP AR filter (Fixed point implementation)
|
|
</summary>
|
|
<param name="ar">I/O AR filter to be expanded (without leading 1)</param>
|
|
<param name="d">I length of ar</param>
|
|
<param name="chirp_Q16">I chirp factor (typically in range (0..1) )</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.BWExpander.silk_bwexpander(System.Int16[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Chirp (bw expand) LP AR filter (Fixed point implementation)
|
|
</summary>
|
|
<param name="ar">I/O AR filter to be expanded (without leading 1)</param>
|
|
<param name="d">I length of ar</param>
|
|
<param name="chirp_Q16">I chirp factor (typically in range (0..1) )</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.CNG">
|
|
<summary>
|
|
Comfort noise generation and estimation
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.CNG.silk_CNG_exc(System.Span{System.Int32},System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32@)">
|
|
<summary>
|
|
Generates excitation for CNG LPC synthesis
|
|
</summary>
|
|
<param name="exc_Q10">O CNG excitation signal Q10</param>
|
|
<param name="exc_buf_Q14">I Random samples buffer Q10</param>
|
|
<param name="Gain_Q16">I Gain to apply</param>
|
|
<param name="length">I Length</param>
|
|
<param name="rand_seed">I/O Seed to random index generator</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.CNG.silk_CNG_Reset(Concentus.Silk.Structs.SilkChannelDecoder)">
|
|
<summary>
|
|
Resets CNG state
|
|
</summary>
|
|
<param name="psDec">I/O Decoder state</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.CNG.silk_CNG(Concentus.Silk.Structs.SilkChannelDecoder,Concentus.Silk.Structs.SilkDecoderControl,System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Updates CNG estimate, and applies the CNG when packet was lost
|
|
</summary>
|
|
<param name="psDec">I/O Decoder state</param>
|
|
<param name="psDecCtrl">I/O Decoder control</param>
|
|
<param name="frame">I/O Signal</param>
|
|
<param name="length">I Length of residual</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.CodeSigns.silk_encode_signs(Concentus.Common.EntropyCoder,System.Span{System.Byte},System.Span{System.SByte},System.Int32,System.Int32,System.Int32,System.Int32[])">
|
|
<summary>
|
|
Encodes signs of excitation
|
|
</summary>
|
|
<param name="psRangeEnc">I/O Compressor data structure</param>
|
|
<param name="pulses">I pulse signal</param>
|
|
<param name="length">I length of input</param>
|
|
<param name="signalType">I Signal type</param>
|
|
<param name="quantOffsetType">I Quantization offset type</param>
|
|
<param name="sum_pulses">I Sum of absolute pulses per block [MAX_NB_SHELL_BLOCKS]</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.CodeSigns.silk_decode_signs(Concentus.Common.EntropyCoder,System.ReadOnlySpan{System.Byte},System.Int16[],System.Int32,System.Int32,System.Int32,System.Int32[])">
|
|
<summary>
|
|
Decodes signs of excitation
|
|
</summary>
|
|
<param name="psRangeDec">I/O Compressor data structure</param>
|
|
<param name="pulses">I/O pulse signal</param>
|
|
<param name="length">I length of input</param>
|
|
<param name="signalType">I Signal type</param>
|
|
<param name="quantOffsetType">I Quantization offset type</param>
|
|
<param name="sum_pulses">I Sum of absolute pulses per block [MAX_NB_SHELL_BLOCKS]</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.DecodeAPI.silk_InitDecoder(Concentus.Silk.Structs.SilkDecoder)">
|
|
<summary>
|
|
Reset decoder state
|
|
</summary>
|
|
<param name="decState">I/O Stat</param>
|
|
<returns>Returns error code</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodeAPI.silk_InitEncoder(Concentus.Silk.Structs.SilkEncoder,Concentus.Silk.Structs.EncControlState)">
|
|
<summary>
|
|
Init or Reset encoder
|
|
</summary>
|
|
<param name="encState">I/O State</param>
|
|
<param name="encStatus">O Encoder Status</param>
|
|
<returns>O Returns error code</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodeAPI.silk_QueryEncoder(Concentus.Silk.Structs.SilkEncoder,Concentus.Silk.Structs.EncControlState)">
|
|
<summary>
|
|
Read control structure from encode
|
|
</summary>
|
|
<param name="encState">I State</param>
|
|
<param name="encStatus">O Encoder Status</param>
|
|
<returns>Returns error code</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodeAPI.silk_Encode(Concentus.Silk.Structs.SilkEncoder,Concentus.Silk.Structs.EncControlState,System.Int16[],System.Int32,Concentus.Common.EntropyCoder,System.Span{System.Byte},Concentus.Common.CPlusPlus.BoxedValueInt,System.Int32)">
|
|
<summary>
|
|
Encode frame with Silk
|
|
Note: if prefillFlag is set, the input must contain 10 ms of audio, irrespective of what
|
|
encControl.payloadSize_ms is set to
|
|
</summary>
|
|
<param name="psEnc">I/O State</param>
|
|
<param name="encControl">I Control status</param>
|
|
<param name="samplesIn">I Speech sample input vector</param>
|
|
<param name="nSamplesIn">I Number of samples in input vector</param>
|
|
<param name="psRangeEnc">I/O Compressor data structure</param>
|
|
<param name="nBytesOut">I/O Number of bytes in payload (input: Max bytes)</param>
|
|
<param name="prefillFlag">I Flag to indicate prefilling buffers no coding</param>
|
|
<returns>error code</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodeIndices.silk_encode_indices(Concentus.Silk.Structs.SilkChannelEncoder,Concentus.Common.EntropyCoder,System.Span{System.Byte},System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Encode side-information parameters to payload
|
|
</summary>
|
|
<param name="psEncC">I/O Encoder state</param>
|
|
<param name="psRangeEnc">I/O Compressor data structure</param>
|
|
<param name="FrameIndex">I Frame number</param>
|
|
<param name="encode_LBRR">I Flag indicating LBRR data is being encoded</param>
|
|
<param name="condCoding">I The type of conditional coding to use</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodePulses.combine_and_check(System.Span{System.Int32},System.Int32,System.Span{System.Int32},System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="pulses_comb">(O)</param>
|
|
<param name="pulses_in">(I)</param>
|
|
<param name="max_pulses"> I max value for sum of pulses</param>
|
|
<param name="len">I number of output values</param>
|
|
<returns>return ok</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodePulses.combine_and_check(System.Int32[],System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="pulses_comb">(O)</param>
|
|
<param name="pulses_in">(I)</param>
|
|
<param name="max_pulses"> I max value for sum of pulses</param>
|
|
<param name="len">I number of output values</param>
|
|
<returns>return ok</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.EncodePulses.silk_encode_pulses(Concentus.Common.EntropyCoder,System.Span{System.Byte},System.Int32,System.Int32,System.Span{System.SByte},System.Int32)">
|
|
<summary>
|
|
Encode quantization indices of excitation
|
|
</summary>
|
|
<param name="psRangeEnc">I/O compressor data structure</param>
|
|
<param name="signalType">I Signal type</param>
|
|
<param name="quantOffsetType">I quantOffsetType</param>
|
|
<param name="pulses">I quantization indices</param>
|
|
<param name="frame_length">I Frame length</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Enums.SilkError">
|
|
<summary>
|
|
Represents error messages from a silk encoder/decoder
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.silk_biquad_alt(System.ReadOnlySpan{System.Int16},System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Span{System.Int16},System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Second order ARMA filter, alternative implementation
|
|
</summary>
|
|
<param name="input">I input signal</param>
|
|
<param name="B_Q28">I MA coefficients [3]</param>
|
|
<param name="A_Q28">I AR coefficients [2]</param>
|
|
<param name="S">I/O State vector [2]</param>
|
|
<param name="output">O output signal</param>
|
|
<param name="len">I signal length (must be even)</param>
|
|
<param name="stride">I Operate on interleaved signal if > 1</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.silk_ana_filt_bank_1(System.Span{System.Int16},System.Int32,System.Int32[],System.Int16[],System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Split signal into two decimated bands using first-order allpass filters
|
|
</summary>
|
|
<param name="input">I Input signal [N]</param>
|
|
<param name="S">I/O State vector [2]</param>
|
|
<param name="outL">O Low band [N/2]</param>
|
|
<param name="outH">O High band [N/2]</param>
|
|
<param name="N">I Number of input samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.silk_bwexpander_32(System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Chirp (bandwidth expand) LP AR filter
|
|
</summary>
|
|
<param name="ar">I/O AR filter to be expanded (without leading 1)</param>
|
|
<param name="d">I Length of ar</param>
|
|
<param name="chirp_Q16">I Chirp factor in Q16</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.silk_LP_interpolate_filter_taps(System.Int32[],System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Elliptic/Cauer filters designed with 0.1 dB passband ripple,
|
|
80 dB minimum stopband attenuation, and
|
|
[0.95 : 0.15 : 0.35] normalized cut off frequencies.
|
|
Helper function, interpolates the filter taps
|
|
</summary>
|
|
<param name="B_Q28">order [TRANSITION_NB]</param>
|
|
<param name="A_Q28">order [TRANSITION_NA]</param>
|
|
<param name="ind"></param>
|
|
<param name="fac_Q16"></param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.silk_LPC_analysis_filter(System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
LPC analysis filter
|
|
NB! State is kept internally and the
|
|
filter always starts with zero state
|
|
first d output samples are set to zero
|
|
</summary>
|
|
<param name="output">O Output signal</param>
|
|
<param name="input">I Input signal</param>
|
|
<param name="B">I MA prediction coefficients, Q12 [order]</param>
|
|
<param name="len">I Signal length</param>
|
|
<param name="d">I Filter order</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.LPC_inverse_pred_gain_QA(System.Int32[][],System.Int32)">
|
|
<summary>
|
|
Compute inverse of LPC prediction gain, and
|
|
test if LPC coefficients are stable (all poles within unit circle)
|
|
</summary>
|
|
<param name="A_QA">Prediction coefficients, order [2][SILK_MAX_ORDER_LPC]</param>
|
|
<param name="order">Prediction order</param>
|
|
<returns>inverse prediction gain in energy domain, Q30</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Filters.silk_LPC_inverse_pred_gain(System.Int16[],System.Int32)">
|
|
<summary>
|
|
For input in Q12 domain
|
|
</summary>
|
|
<param name="A_Q12">Prediction coefficients, Q12 [order]</param>
|
|
<param name="order">I Prediction order</param>
|
|
<returns>inverse prediction gain in energy domain, Q30</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.FindLTP.silk_find_LTP(System.Int16[],System.Int32[],Concentus.Common.CPlusPlus.BoxedValueInt,System.Int16[],System.Int32[],System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[])">
|
|
<summary>
|
|
Finds linear prediction coeffecients and weights
|
|
</summary>
|
|
<param name="b_Q14"></param>
|
|
<param name="WLTP"></param>
|
|
<param name="LTPredCodGain_Q7"></param>
|
|
<param name="r_lpc"></param>
|
|
<param name="lag"></param>
|
|
<param name="Wght_Q15"></param>
|
|
<param name="subfr_length"></param>
|
|
<param name="nb_subfr"></param>
|
|
<param name="mem_offset"></param>
|
|
<param name="corr_rshifts"></param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.FindLTP.silk_fit_LTP(System.Int32[],System.Span{System.Int16},System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="LTP_coefs_Q16">[SilkConstants.LTP_ORDER]</param>
|
|
<param name="LTP_coefs_Q14">[SilkConstants.LTP_ORDER]</param>
|
|
<param name="LTP_coefs_Q14_ptr"></param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.GainQuantization.silk_gains_quant(System.SByte[],System.Int32[],Concentus.Common.CPlusPlus.BoxedValueSbyte,System.Int32,System.Int32)">
|
|
<summary>
|
|
Gain scalar quantization with hysteresis, uniform on log scale
|
|
</summary>
|
|
<param name="ind">O gain indices [MAX_NB_SUBFR]</param>
|
|
<param name="gain_Q16">I/O gains (quantized out) [MAX_NB_SUBFR]</param>
|
|
<param name="prev_ind">I/O last index in previous frame. [Porting note] original implementation passed this as an int8*</param>
|
|
<param name="conditional">I first gain is delta coded if 1</param>
|
|
<param name="nb_subfr">I number of subframes</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.GainQuantization.silk_gains_dequant(System.Int32[],System.SByte[],Concentus.Common.CPlusPlus.BoxedValueSbyte,System.Int32,System.Int32)">
|
|
<summary>
|
|
Gains scalar dequantization, uniform on log scale
|
|
</summary>
|
|
<param name="gain_Q16">O quantized gains [MAX_NB_SUBFR]</param>
|
|
<param name="ind">I gain indices [MAX_NB_SUBFR]</param>
|
|
<param name="prev_ind">I/O last index in previous frame [Porting note] original implementation passed this as an int8*</param>
|
|
<param name="conditional">I first gain is delta coded if 1</param>
|
|
<param name="nb_subfr">I number of subframes</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.GainQuantization.silk_gains_ID(System.SByte[],System.Int32)">
|
|
<summary>
|
|
Compute unique identifier of gain indices vector
|
|
</summary>
|
|
<param name="ind">I gain indices [MAX_NB_SUBFR]</param>
|
|
<param name="nb_subfr">I number of subframes</param>
|
|
<returns>unique identifier of gains</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.HPVariableCutoff.silk_HP_variable_cutoff(Concentus.Silk.Structs.SilkChannelEncoder[])">
|
|
<summary>
|
|
High-pass filter with cutoff frequency adaptation based on pitch lag statistics
|
|
</summary>
|
|
<param name="state_Fxx">I/O Encoder states</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.NLSF">
|
|
<summary>
|
|
Normalized line spectrum frequency processor
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.NLSF.BIN_DIV_STEPS_A2NLSF">
|
|
<summary>
|
|
Number of binary divisions, when not in low complexity mode
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_VQ(System.Int32[],System.Int16[],System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Compute quantization errors for an LPC_order element input vector for a VQ codebook
|
|
</summary>
|
|
<param name="err_Q26">(O) Quantization errors [K]</param>
|
|
<param name="in_Q15">(I) Input vectors to be quantized [LPC_order]</param>
|
|
<param name="pCB_Q8">(I) Codebook vectors [K*LPC_order]</param>
|
|
<param name="K">(I) Number of codebook vectors</param>
|
|
<param name="LPC_order">(I) Number of LPCs</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_VQ_weights_laroia(System.Span{System.Int16},System.Span{System.Int16},System.Int32)">
|
|
<summary>
|
|
Laroia low complexity NLSF weights
|
|
</summary>
|
|
<param name="pNLSFW_Q_OUT">(O) Pointer to input vector weights [D]</param>
|
|
<param name="pNLSF_Q15">(I) Pointer to input vector [D]</param>
|
|
<param name="D">(I) Input vector dimension (even)</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_residual_dequant(System.Span{System.Int16},System.Span{System.SByte},System.Span{System.Byte},System.Int32,System.Int16)">
|
|
<summary>
|
|
Returns RD value in Q30
|
|
</summary>
|
|
<param name="x_Q10">(O) Output [ order ]</param>
|
|
<param name="indices">(I) Quantization indices [ order ]</param>
|
|
<param name="pred_coef_Q8">(I) Backward predictor coefs [ order ]</param>
|
|
<param name="quant_step_size_Q16">(I) Quantization step size</param>
|
|
<param name="order">(I) Number of input values</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_unpack(System.Span{System.Int16},System.Span{System.Byte},Concentus.Silk.Structs.NLSFCodebook,System.Int32)">
|
|
<summary>
|
|
Unpack predictor values and indices for entropy coding tables
|
|
</summary>
|
|
<param name="ec_ix">(O) Indices to entropy tables [ LPC_ORDER ]</param>
|
|
<param name="pred_Q8">(O) LSF predictor [ LPC_ORDER ]</param>
|
|
<param name="psNLSF_CB">(I) Codebook object</param>
|
|
<param name="CB1_index">(I) Index of vector in first LSF codebook</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_stabilize(System.Int16[],System.Int16[],System.Int32)">
|
|
<summary>
|
|
NLSF stabilizer, for a single input data vector
|
|
</summary>
|
|
<param name="NLSF_Q15">(I/O) Unstable/stabilized normalized LSF vector in Q15 [L]</param>
|
|
<param name="NDeltaMin_Q15">(I) Min distance vector, NDeltaMin_Q15[L] must be >= 1 [L+1]</param>
|
|
<param name="L">(I) Number of NLSF parameters in the input vector</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_decode(System.Int16[],System.SByte[],Concentus.Silk.Structs.NLSFCodebook)">
|
|
<summary>
|
|
NLSF vector decoder
|
|
</summary>
|
|
<param name="pNLSF_Q15">(O) Quantized NLSF vector [ LPC_ORDER ]</param>
|
|
<param name="NLSFIndices">(I) Codebook path vector [ LPC_ORDER + 1 ]</param>
|
|
<param name="psNLSF_CB">(I) Codebook object</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_del_dec_quant(System.SByte[],System.Span{System.Int16},System.Span{System.Int16},System.Span{System.Byte},System.Span{System.Int16},System.Byte[],System.Int32,System.Int16,System.Int32,System.Int16)">
|
|
<summary>
|
|
Delayed-decision quantizer for NLSF residuals
|
|
</summary>
|
|
<param name="indices">(O) Quantization indices [ order ]</param>
|
|
<param name="x_Q10">(O) Input [ order ]</param>
|
|
<param name="w_Q5">(I) Weights [ order ] </param>
|
|
<param name="pred_coef_Q8">(I) Backward predictor coefs [ order ]</param>
|
|
<param name="ec_ix">(I) Indices to entropy coding tables [ order ]</param>
|
|
<param name="ec_rates_Q5">(I) Rates []</param>
|
|
<param name="quant_step_size_Q16">(I) Quantization step size</param>
|
|
<param name="inv_quant_step_size_Q6">(I) Inverse quantization step size</param>
|
|
<param name="mu_Q20">(I) R/D tradeoff</param>
|
|
<param name="order">(I) Number of input values</param>
|
|
<returns>RD value in Q25</returns>
|
|
Fixme: Optimize this method!
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF_encode(System.SByte[],System.Int16[],Concentus.Silk.Structs.NLSFCodebook,System.Int16[],System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
NLSF vector encoder
|
|
</summary>
|
|
<param name="NLSFIndices">(I) Codebook path vector [ LPC_ORDER + 1 ]</param>
|
|
<param name="pNLSF_Q15">(I/O) Quantized NLSF vector [ LPC_ORDER ]</param>
|
|
<param name="psNLSF_CB">(I) Codebook object</param>
|
|
<param name="pW_QW">(I) NLSF weight vector [ LPC_ORDER ]</param>
|
|
<param name="NLSF_mu_Q20">(I) Rate weight for the RD optimization</param>
|
|
<param name="nSurvivors">(I) Max survivors after first stage</param>
|
|
<param name="signalType">(I) Signal type: 0/1/2</param>
|
|
<returns>RD value in Q25</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF2A_find_poly(System.Int32[],System.Span{System.Int32},System.Int32)">
|
|
<summary>
|
|
helper function for NLSF2A(..)
|
|
</summary>
|
|
<param name="o">(O) intermediate polynomial, QA [dd+1]</param>
|
|
<param name="cLSF">(I) vector of interleaved 2*cos(LSFs), QA [d]</param>
|
|
<param name="dd">(I) polynomial order (= 1/2 * filter order)</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_NLSF2A(System.Int16[],System.Int16[],System.Int32)">
|
|
<summary>
|
|
compute whitening filter coefficients from normalized line spectral frequencies
|
|
</summary>
|
|
<param name="a_Q12">(O) monic whitening filter coefficients in Q12, [ d ]</param>
|
|
<param name="NLSF">(I) normalized line spectral frequencies in Q15, [ d ]</param>
|
|
<param name="d">(I) filter order (should be even)</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_A2NLSF_trans_poly(System.Int32[],System.Int32)">
|
|
<summary>
|
|
Helper function for A2NLSF(..) Transforms polynomials from cos(n*f) to cos(f)^n
|
|
</summary>
|
|
<param name="p">(I/O) Polynomial</param>
|
|
<param name="dd">(I) Polynomial order (= filter order / 2 )</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_A2NLSF_eval_poly(System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Helper function for A2NLSF(..) Polynomial evaluation
|
|
</summary>
|
|
<param name="p">(I) Polynomial, Q16</param>
|
|
<param name="x">(I) Evaluation point, Q12</param>
|
|
<param name="dd">(I) Order</param>
|
|
<returns>the polynomial evaluation, in Q16</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_A2NLSF(System.Int16[],System.Int32[],System.Int32)">
|
|
<summary>
|
|
Compute Normalized Line Spectral Frequencies (NLSFs) from whitening filter coefficients
|
|
If not all roots are found, the a_Q16 coefficients are bandwidth expanded until convergence.
|
|
</summary>
|
|
<param name="NLSF">(O) Normalized Line Spectral Frequencies in Q15 (0..2^15-1) [d]</param>
|
|
<param name="a_Q16">(I/O) Monic whitening filter coefficients in Q16 [d]</param>
|
|
<param name="d">(I) Filter order (must be even)</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.NLSF.silk_process_NLSFs(Concentus.Silk.Structs.SilkChannelEncoder,System.Int16[][],System.Int16[],System.Int16[])">
|
|
<summary>
|
|
Limit, stabilize, convert and quantize NLSFs
|
|
</summary>
|
|
<param name="psEncC">I/O Encoder state</param>
|
|
<param name="PredCoef_Q12">O Prediction coefficients [ 2 ][MAX_LPC_ORDER]</param>
|
|
<param name="pNLSF_Q15">I/O Normalized LSFs (quant out) (0 - (2^15-1)) [MAX_LPC_ORDER]</param>
|
|
<param name="prev_NLSFq_Q15">I Previous Normalized LSFs (0 - (2^15-1)) [MAX_LPC_ORDER]</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.PLC">
|
|
<summary>
|
|
Routines for managing packet loss concealment
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.PLC.silk_PLC_energy(System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32[],System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="energy1">O</param>
|
|
<param name="shift1">O</param>
|
|
<param name="energy2">O</param>
|
|
<param name="shift2">O</param>
|
|
<param name="exc_Q14">I</param>
|
|
<param name="prevGain_Q10">I</param>
|
|
<param name="subfr_length">I</param>
|
|
<param name="nb_subfr">I</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.rateID(System.Int32)">
|
|
<summary>
|
|
Simple way to make [8000, 12000, 16000, 24000, 48000] to [0, 1, 2, 3, 4]
|
|
</summary>
|
|
<param name="R"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_init(Concentus.Silk.Structs.SilkResamplerState,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Initialize/reset the resampler state for a given pair of input/output sampling rates
|
|
</summary>
|
|
<param name="S">I/O Resampler state</param>
|
|
<param name="Fs_Hz_in">I Input sampling rate (Hz)</param>
|
|
<param name="Fs_Hz_out">I Output sampling rate (Hz)</param>
|
|
<param name="forEnc">I If 1: encoder; if 0: decoder</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler(Concentus.Silk.Structs.SilkResamplerState,System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Resampler: convert from one sampling rate to another
|
|
Input and output sampling rate are at most 48000 Hz
|
|
</summary>
|
|
<param name="S">I/O Resampler state</param>
|
|
<param name="output">O Output signal</param>
|
|
<param name="input">I Input signal</param>
|
|
<param name="inLen">I Number of input samples</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_down2(System.Int32[],System.Int16[],System.Int16[],System.Int32)">
|
|
<summary>
|
|
Downsample by a factor 2
|
|
</summary>
|
|
<param name="S">I/O State vector [ 2 ]</param>
|
|
<param name="output">O Output signal [ floor(len/2) ]</param>
|
|
<param name="input">I Input signal [ len ]</param>
|
|
<param name="inLen">I Number of input samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_down2_3(System.Int32[],System.Int16[],System.Int16[],System.Int32)">
|
|
<summary>
|
|
Downsample by a factor 2/3, low quality
|
|
</summary>
|
|
<param name="S">I/O State vector [ 6 ]</param>
|
|
<param name="output">O Output signal [ floor(2*inLen/3) ]</param>
|
|
<param name="input">I Input signal [ inLen ]</param>
|
|
<param name="inLen">I Number of input samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_private_AR2(System.Span{System.Int32},System.Int32,System.Span{System.Int32},System.Int32,System.Span{System.Int16},System.Int32,System.Int16[],System.Int32)">
|
|
<summary>
|
|
Second order AR filter with single delay elements
|
|
</summary>
|
|
<param name="S">I/O State vector [ 2 ]</param>
|
|
<param name="out_Q8">O Output signal</param>
|
|
<param name="input">I Input signal</param>
|
|
<param name="A_Q14">I AR coefficients, Q14</param>
|
|
<param name="len">I Signal length</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_private_down_FIR(Concentus.Silk.Structs.SilkResamplerState,System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Resample with a 2nd order AR filter followed by FIR interpolation
|
|
</summary>
|
|
<param name="S">I/O Resampler state</param>
|
|
<param name="output">O Output signal</param>
|
|
<param name="input">I Input signal</param>
|
|
<param name="inLen">I Number of input samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_private_IIR_FIR(Concentus.Silk.Structs.SilkResamplerState,System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Upsample using a combination of allpass-based 2x upsampling and FIR interpolation
|
|
</summary>
|
|
<param name="S">I/O Resampler state</param>
|
|
<param name="output">O Output signal</param>
|
|
<param name="input">I Input signal</param>
|
|
<param name="inLen">I Number of input samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Resampler.silk_resampler_private_up2_HQ(System.Int32[],System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Upsample by a factor 2, high quality
|
|
Uses 2nd order allpass filters for the 2x upsampling, followed by a
|
|
notch filter just above Nyquist.
|
|
</summary>
|
|
<param name="S">I/O Resampler state [ 6 ]</param>
|
|
<param name="output">O Output signal [ 2 * len ]</param>
|
|
<param name="input">I Input signal [ len ]</param>
|
|
<param name="len">I Number of input samples</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.ShellCoder">
|
|
<summary>
|
|
shell coder; pulse-subframe length is hardcoded
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.ShellCoder.combine_pulses(System.Int32[],System.Span{System.Int32},System.Int32,System.Int32)">
|
|
<summary>
|
|
</summary>
|
|
<param name="output">O combined pulses vector [len]</param>
|
|
<param name="input">I input vector [2 * len]</param>
|
|
<param name="len">I number of OUTPUT samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.ShellCoder.combine_pulses(System.Int32[],System.Int32[],System.Int32)">
|
|
<summary>
|
|
</summary>
|
|
<param name="output">O combined pulses vector [len]</param>
|
|
<param name="input">I input vector [2 * len]</param>
|
|
<param name="len">I number of OUTPUT samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.ShellCoder.decode_split(System.Int16[],System.Int32,System.Span{System.Int16},System.Int32,Concentus.Common.EntropyCoder,System.ReadOnlySpan{System.Byte},System.Int32,System.Byte[])">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="p_child1">O pulse amplitude of first child subframe</param>
|
|
<param name="p_child2">O pulse amplitude of second child subframe</param>
|
|
<param name="psRangeDec">I/O Compressor data structure</param>
|
|
<param name="p">I pulse amplitude of current subframe</param>
|
|
<param name="shell_table">I table of shell cdfs</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.ShellCoder.silk_shell_encoder(Concentus.Common.EntropyCoder,System.Span{System.Byte},System.Span{System.Int32},System.Int32)">
|
|
<summary>
|
|
Shell encoder, operates on one shell code frame of 16 pulses
|
|
</summary>
|
|
<param name="psRangeEnc">I/O compressor data structure</param>
|
|
<param name="pulses0">I data: nonnegative pulse amplitudes</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Sigmoid">
|
|
<summary>
|
|
Approximate sigmoid function
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Sort.silk_insertion_sort_increasing(System.Int32[],System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="a">(I/O) Unsorted / Sorted vector</param>
|
|
<param name="idx">(O) Index vector for the sorted elements</param>
|
|
<param name="L">(I) Vector length</param>
|
|
<param name="K">(I) Number of correctly sorted positions</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Sort.silk_insertion_sort_increasing_all_values_int16(System.Int16[],System.Int32)">
|
|
<summary>
|
|
Insertion sort (fast for already almost sorted arrays):
|
|
Best case: O(n) for an already sorted array
|
|
Worst case: O(n^2) for an inversely sorted array
|
|
</summary>
|
|
<param name="a">(I/O) Unsorted / Sorted vector</param>
|
|
<param name="L">(I) Vector length</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_decode_pred(Concentus.Common.EntropyCoder,System.ReadOnlySpan{System.Byte},System.Int32[])">
|
|
<summary>
|
|
Decode mid/side predictors
|
|
</summary>
|
|
<param name="psRangeDec">I/O Compressor data structure</param>
|
|
<param name="pred_Q13">O Predictors</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_decode_mid_only(Concentus.Common.EntropyCoder,System.ReadOnlySpan{System.Byte},Concentus.Common.CPlusPlus.BoxedValueInt)">
|
|
<summary>
|
|
Decode mid-only flag
|
|
</summary>
|
|
<param name="psRangeDec">I/O Compressor data structure</param>
|
|
<param name="decode_only_mid">O Flag that only mid channel has been coded</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_encode_pred(Concentus.Common.EntropyCoder,System.Span{System.Byte},System.SByte[][])">
|
|
<summary>
|
|
Entropy code the mid/side quantization indices
|
|
</summary>
|
|
<param name="psRangeEnc">I/O Compressor data structure</param>
|
|
<param name="ix">I Quantization indices [ 2 ][ 3 ]</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_encode_mid_only(Concentus.Common.EntropyCoder,System.Span{System.Byte},System.SByte)">
|
|
<summary>
|
|
Entropy code the mid-only flag
|
|
</summary>
|
|
<param name="psRangeEnc">I/O Compressor data structure</param>
|
|
<param name="mid_only_flag"></param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_find_predictor(Concentus.Common.CPlusPlus.BoxedValueInt,System.Int16[],System.Int16[],System.Span{System.Int32},System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Find least-squares prediction gain for one signal based on another and quantize it
|
|
</summary>
|
|
<param name="ratio_Q14">O Ratio of residual and mid energies</param>
|
|
<param name="x">I Basis signal</param>
|
|
<param name="y">I Target signal</param>
|
|
<param name="mid_res_amp_Q0">I/O Smoothed mid, residual norms</param>
|
|
<param name="length">I Number of samples</param>
|
|
<param name="smooth_coef_Q16">I Smoothing coefficient</param>
|
|
<returns>O Returns predictor in Q13</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_LR_to_MS(Concentus.Silk.Structs.StereoEncodeState,System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.SByte[][],Concentus.Common.CPlusPlus.BoxedValueSbyte,System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Convert Left/Right stereo signal to adaptive Mid/Side representation
|
|
</summary>
|
|
<param name="state">I/O State</param>
|
|
<param name="x1">I/O Left input signal, becomes mid signal</param>
|
|
<param name="x2">I/O Right input signal, becomes side signal</param>
|
|
<param name="ix">O Quantization indices [ 2 ][ 3 ]</param>
|
|
<param name="mid_only_flag">O Flag: only mid signal coded</param>
|
|
<param name="mid_side_rates_bps">O Bitrates for mid and side signals</param>
|
|
<param name="total_rate_bps">I Total bitrate</param>
|
|
<param name="prev_speech_act_Q8">I Speech activity level in previous frame</param>
|
|
<param name="toMono">I Last frame before a stereo.mono transition</param>
|
|
<param name="fs_kHz">I Sample rate (kHz)</param>
|
|
<param name="frame_length">I Number of samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_MS_to_LR(Concentus.Silk.Structs.StereoDecodeState,System.Span{System.Int16},System.Int32,System.Span{System.Int16},System.Int32,System.Int32[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Convert adaptive Mid/Side representation to Left/Right stereo signal
|
|
</summary>
|
|
<param name="state">I/O State</param>
|
|
<param name="x1">I/O Left input signal, becomes mid signal</param>
|
|
<param name="x2">I/O Right input signal, becomes side signal</param>
|
|
<param name="pred_Q13">I Predictors</param>
|
|
<param name="fs_kHz">I Samples rate (kHz)</param>
|
|
<param name="frame_length">I Number of samples</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Stereo.silk_stereo_quant_pred(System.Int32[],System.SByte[][])">
|
|
<summary>
|
|
Quantize mid/side predictors
|
|
</summary>
|
|
<param name="pred_Q13">I/O Predictors (out: quantized)</param>
|
|
<param name="ix">O Quantization indices [ 2 ][ 3 ]</param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.CNGState">
|
|
<summary>
|
|
Struct for CNG
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.DecControlState">
|
|
<summary>
|
|
Structure for controlling decoder operation and reading decoder status
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.EncControlState">
|
|
<summary>
|
|
Structure for controlling encoder operation
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.EncControlState.check_control_input">
|
|
<summary>
|
|
Checks this encoder control struct and returns error code, if any
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.NLSFCodebook">
|
|
<summary>
|
|
Structure containing NLSF codebook
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.quantStepSize_Q16">
|
|
<summary>
|
|
Quantization step size
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.invQuantStepSize_Q6">
|
|
<summary>
|
|
Inverse quantization step size
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.CB1_NLSF_Q8">
|
|
<summary>
|
|
POINTER
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.CB1_iCDF">
|
|
<summary>
|
|
POINTER
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.pred_Q8">
|
|
<summary>
|
|
POINTER to Backward predictor coefs [ order ]
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.ec_sel">
|
|
<summary>
|
|
POINTER to Indices to entropy coding tables [ order ]
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.ec_iCDF">
|
|
<summary>
|
|
POINTER
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.ec_Rates_Q5">
|
|
<summary>
|
|
POINTER
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.NLSFCodebook.deltaMin_Q15">
|
|
<summary>
|
|
POINTER
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.PLCStruct">
|
|
<summary>
|
|
Struct for Packet Loss Concealment
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SideInfoIndices.Assign(Concentus.Silk.Structs.SideInfoIndices)">
|
|
<summary>
|
|
Overwrites this struct with values from another one. Equivalent to C struct assignment this = other
|
|
</summary>
|
|
<param name="other"></param>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkChannelDecoder">
|
|
<summary>
|
|
Decoder state
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelDecoder.silk_init_decoder">
|
|
<summary>
|
|
Init Decoder State
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelDecoder.silk_CNG_Reset">
|
|
<summary>
|
|
Resets CNG state
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelDecoder.silk_PLC_Reset">
|
|
<summary>
|
|
Resets PLC state
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkChannelEncoder">
|
|
<summary>
|
|
Encoder state
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelEncoder.silk_control_encoder(Concentus.Silk.Structs.EncControlState,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Control encoder
|
|
</summary>
|
|
<param name="encControl">I Control structure</param>
|
|
<param name="TargetRate_bps">I Target max bitrate (bps)</param>
|
|
<param name="allow_bw_switch">I Flag to allow switching audio bandwidth</param>
|
|
<param name="channelNb">I Channel number</param>
|
|
<param name="force_fs_kHz"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelEncoder.silk_setup_resamplers(System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="fs_kHz">I</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelEncoder.silk_setup_fs(System.Int32,System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="fs_kHz">I</param>
|
|
<param name="PacketSize_ms">I</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelEncoder.silk_setup_complexity(System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="Complexity">O</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelEncoder.silk_setup_LBRR(System.Int32)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="TargetRate_bps">I</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkChannelEncoder.silk_control_audio_bandwidth(Concentus.Silk.Structs.EncControlState)">
|
|
<summary>
|
|
Control internal sampling rate
|
|
</summary>
|
|
<param name="encControl">I Control structure</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkDecoder">
|
|
<summary>
|
|
Decoder super struct
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkDecoderControl">
|
|
<summary>
|
|
Decoder control
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkEncoder">
|
|
<summary>
|
|
Encoder Super Struct
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.Structs.SilkEncoder.silk_init_encoder(Concentus.Silk.Structs.SilkChannelEncoder)">
|
|
<summary>
|
|
Initialize Silk Encoder state
|
|
</summary>
|
|
<param name="psEnc">I/O Pointer to Silk FIX encoder state</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkLPState">
|
|
<summary>
|
|
Variable cut-off low-pass filter state
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkLPState.In_LP_State">
|
|
<summary>
|
|
Low pass filter state
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkLPState.transition_frame_no">
|
|
<summary>
|
|
Counter which is mapped to a cut-off frequency
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkLPState.mode">
|
|
<summary>
|
|
Operating mode, <0: switch down, >0: switch up; 0: do nothing
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkNSQState">
|
|
<summary>
|
|
Noise shaping quantization state
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkNSQState.xq">
|
|
<summary>
|
|
Buffer for quantized output signal
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkPrefilterState">
|
|
<summary>
|
|
Prefilter state
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkResamplerState.Coefs">
|
|
<summary>
|
|
POINTER
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkShapeState">
|
|
<summary>
|
|
Noise shaping analysis state
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.SilkVADState">
|
|
<summary>
|
|
VAD state
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.AnaState">
|
|
<summary>
|
|
Analysis filterbank state: 0-8 kHz
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.AnaState1">
|
|
<summary>
|
|
Analysis filterbank state: 0-4 kHz
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.AnaState2">
|
|
<summary>
|
|
Analysis filterbank state: 0-2 kHz
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.XnrgSubfr">
|
|
<summary>
|
|
Subframe energies
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.NrgRatioSmth_Q8">
|
|
<summary>
|
|
Smoothed energy level in each band
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.HPstate">
|
|
<summary>
|
|
State of differentiator in the lowest band
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.NL">
|
|
<summary>
|
|
Noise energy level in each band
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.inv_NL">
|
|
<summary>
|
|
Inverse noise energy level in each band
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.NoiseLevelBias">
|
|
<summary>
|
|
Noise level estimator bias/offset
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.SilkVADState.counter">
|
|
<summary>
|
|
Frame counter used in the initial phase
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.Structs.TOCStruct">
|
|
<summary>
|
|
Struct for TOC (Table of Contents)
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.TOCStruct.VADFlag">
|
|
<summary>
|
|
Voice activity for packet
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.TOCStruct.VADFlags">
|
|
<summary>
|
|
Voice activity for each frame in packet
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Structs.TOCStruct.inbandFECFlag">
|
|
<summary>
|
|
Flag indicating if packet contains in-band FEC
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.SumSqrShift.silk_sum_sqr_shift(System.Int32@,System.Int32@,System.Span{System.Int16},System.Int32,System.Int32)">
|
|
<summary>
|
|
Compute number of bits to right shift the sum of squares of a vector
|
|
of int16s to make it fit in an int32
|
|
</summary>
|
|
<param name="energy">O Energy of x, after shifting to the right</param>
|
|
<param name="shift">O Number of bits right shift applied to energy</param>
|
|
<param name="x">I Input vector</param>
|
|
<param name="len">I Length of input vector</param>
|
|
</member>
|
|
<member name="M:Concentus.Silk.SumSqrShift.silk_sum_sqr_shift(System.Int32@,System.Int32@,System.Int16[],System.Int32)">
|
|
<summary>
|
|
Zero-index variant
|
|
Compute number of bits to right shift the sum of squares of a vector
|
|
of int16s to make it fit in an int32
|
|
</summary>
|
|
<param name="energy">O Energy of x, after shifting to the right</param>
|
|
<param name="shift">O Number of bits right shift applied to energy</param>
|
|
<param name="x">I Input vector</param>
|
|
<param name="len">I Length of input vector</param>
|
|
</member>
|
|
<member name="F:Concentus.Silk.Tables.silk_LSFCosTab_Q12">
|
|
<summary>
|
|
Cosine approximation table for LSF conversion
|
|
Q12 values (even)
|
|
</summary>
|
|
</member>
|
|
<member name="T:Concentus.Silk.VoiceActivityDetection">
|
|
<summary>
|
|
Voice Activity Detection module for silk codec
|
|
</summary>
|
|
</member>
|
|
<member name="F:Concentus.Silk.VoiceActivityDetection.tiltWeights">
|
|
<summary>
|
|
Weighting factors for tilt measure
|
|
</summary>
|
|
</member>
|
|
<member name="M:Concentus.Silk.VoiceActivityDetection.silk_VAD_Init(Concentus.Silk.Structs.SilkVADState)">
|
|
<summary>
|
|
Initialization of the Silk VAD
|
|
</summary>
|
|
<param name="psSilk_VAD">O Pointer to Silk VAD state. Cannot be nullptr</param>
|
|
<returns>0 if success</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.VoiceActivityDetection.silk_VAD_GetSA_Q8(Concentus.Silk.Structs.SilkChannelEncoder,System.Span{System.Int16},System.Int32)">
|
|
<summary>
|
|
Get the speech activity level in Q8
|
|
</summary>
|
|
<param name="psEncC">I/O Encoder state</param>
|
|
<param name="pIn">I PCM input</param>
|
|
<returns>0 if success</returns>
|
|
</member>
|
|
<member name="M:Concentus.Silk.VoiceActivityDetection.silk_VAD_GetNoiseLevels(System.Int32[],Concentus.Silk.Structs.SilkVADState)">
|
|
<summary>
|
|
Noise level estimation
|
|
</summary>
|
|
<param name="pX">I subband energies [VAD_N_BANDS]</param>
|
|
<param name="psSilk_VAD">I/O Pointer to Silk VAD state</param>
|
|
</member>
|
|
</members>
|
|
</doc>
|