Class FLACOutput
FLAC output settings.
Inherited Members
Namespace: VisioForge.Core.Types.Output
Assembly: VisioForge.Core.dll
Syntax
public sealed class FLACOutput : IVideoEditBaseOutput, IVideoCaptureBaseOutput
Constructors
FLACOutput()
Initializes a new instance of the FLACOutput class.
Declaration
public FLACOutput()
Properties
AdaptiveMidSideCoding
Gets or sets a value indicating whether adaptive mid-side coding will be used. False by default.
Declaration
public bool AdaptiveMidSideCoding { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
Enable adaptive mid-side coding (only for stereo streams). Like mid-side coding but the encoder adaptively switches between independent and mid-side coding, which is faster but yields less compression than mid-side coding (which does an exhaustive search).
BlockSize
Gets or sets block size. Default is 4608.
Declaration
public int BlockSize { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Specify the block size in samples. Subset streams must use one of 192/576/1152/2304/4608/256/512/1024/2048/4096 (and 8192/16384 if the sample rate is > 48kHz). The reference encoder uses the same block size for the entire stream.
ExhaustiveModelSearch
Gets or sets a value indicating whether exhaustive model search will be used.
Declaration
public bool ExhaustiveModelSearch { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
Exhaustive model search (expensive!). Normally the encoder estimates the best model to use and encodes once based on the estimate. With an exhaustive model search, the encoder will generate subframes for every order and use the smallest. If the max LPC order is high this can significantly increase the encode time but can shave off another 0.5%.
LPCOrder
Gets or sets LPC order. Default value is 8.
Declaration
public int LPCOrder { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Specifies the maximum LPC order. This number must be smaller or = 32. For Subset streams, it must be smaller or = 12 if the sample rate is smaller or = 48kHz. If 0, the encoder will not attempt generic linear prediction, and use only fixed predictors. Using fixed predictors is faster but usually results in files being 5-10% larger.
Level
Gets or sets level. Range is 0 - 8. 0 is fastest compression, 8 is highest compression. Default value is 5.
Declaration
public int Level { get; set; }
Property Value
Type | Description |
---|---|
int |
MidSideCoding
Gets or sets a value indicating whether mid-side coding will be used. False by default.
Declaration
public bool MidSideCoding { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
Enable mid-side coding (only for stereo streams). Tends to increase compression by a few percent on average. For each block both the stereo pair and mid-side versions of the block will be encoded, and smallest resulting frame will be stored.
RiceMax
Gets or sets rice max. Default value is 3.
Declaration
public int RiceMax { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Set the [min,]max residual partition order. The min value defaults to 0 if unspecified. By default the encoder uses a single Rice parameter for the subframe's entire residual. With this option, the residual is iteratively partitioned into 2^min# .. 2^max# pieces, each with its own Rice parameter. Higher values of max# yield diminishing returns. The most ang for the buck is usually with -r 2,2 (more for higher block sizes). This usually shaves off about 1.5%. The technique tends to peak out about when blocksize/(2^n)=128. Use -r 0,15 to force the highest degree of optimization.
RiceMin
Gets or sets rice min. Default value is 3.
Declaration
public int RiceMin { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Set the [min,]max residual partition order. The min value defaults to 0 if unspecified. By default the encoder uses a single Rice parameter for the subframe's entire residual. With this option, the residual is iteratively partitioned into 2^min# .. 2^max# pieces, each with its own Rice parameter. Higher values of max# yield diminishing returns. The most ang for the buck is usually with -r 2,2 (more for higher block sizes). This usually shaves off about 1.5%. The technique tends to peak out about when blocksize/(2^n)=128. Use -r 0,15 to force the highest degree of optimization.
Methods
GetInternalTypeVC()
Gets internal output format.
Declaration
public VideoCaptureOutputFormat GetInternalTypeVC()
Returns
Type | Description |
---|---|
VideoCaptureOutputFormat | Returns VideoCaptureOutputFormat. |
GetInternalTypeVE()
Gets internal output format.
Declaration
public VideoEditOutputFormat GetInternalTypeVE()
Returns
Type | Description |
---|---|
VideoEditOutputFormat | Returns VideoEditOutputFormat. |
Load(string)
Loads from JSON.
Declaration
public static FLACOutput Load(string json)
Parameters
Type | Name | Description |
---|---|---|
string | json | JSON string. |
Returns
Type | Description |
---|---|
FLACOutput | The string. |
Save()
Saves to JSON.
Declaration
public string Save()
Returns
Type | Description |
---|---|
string | The string. |