| @@ -3135,7 +3135,7 @@ this goal *without* applying "dynamic range compressing". It will retain 100% | |||
| of the dynamic range *within* each section of the audio file. | |||
| @table @option | |||
| @item f | |||
| @item framelen, f | |||
| Set the frame length in milliseconds. In range from 10 to 8000 milliseconds. | |||
| Default is 500 milliseconds. | |||
| The Dynamic Audio Normalizer processes the input audio in small chunks, | |||
| @@ -3150,7 +3150,7 @@ been found to give good results with most files. | |||
| Note that the exact frame length, in number of samples, will be determined | |||
| automatically, based on the sampling rate of the individual input audio file. | |||
| @item g | |||
| @item gausssize, g | |||
| Set the Gaussian filter window size. In range from 3 to 301, must be odd | |||
| number. Default is 31. | |||
| Probably the most important parameter of the Dynamic Audio Normalizer is the | |||
| @@ -3167,7 +3167,7 @@ Normalizer will behave like a "traditional" normalization filter. On the | |||
| contrary, the more you decrease this value, the more the Dynamic Audio | |||
| Normalizer will behave like a dynamic range compressor. | |||
| @item p | |||
| @item peak, p | |||
| Set the target peak value. This specifies the highest permissible magnitude | |||
| level for the normalized audio input. This filter will try to approach the | |||
| target peak magnitude as closely as possible, but at the same time it also | |||
| @@ -3176,7 +3176,7 @@ A frame's maximum local gain factor is imposed directly by the target peak | |||
| magnitude. The default value is 0.95 and thus leaves a headroom of 5%*. | |||
| It is not recommended to go above this value. | |||
| @item m | |||
| @item maxgain, m | |||
| Set the maximum gain factor. In range from 1.0 to 100.0. Default is 10.0. | |||
| The Dynamic Audio Normalizer determines the maximum possible (local) gain | |||
| factor for each input frame, i.e. the maximum gain factor that does not | |||
| @@ -3194,7 +3194,7 @@ Instead, a "sigmoid" threshold function will be applied. This way, the | |||
| gain factors will smoothly approach the threshold value, but never exceed that | |||
| value. | |||
| @item r | |||
| @item targetrms, r | |||
| Set the target RMS. In range from 0.0 to 1.0. Default is 0.0 - disabled. | |||
| By default, the Dynamic Audio Normalizer performs "peak" normalization. | |||
| This means that the maximum local gain factor for each frame is defined | |||
| @@ -3212,7 +3212,7 @@ factor is defined as the factor that would result in exactly that RMS value. | |||
| Note, however, that the maximum local gain factor is still restricted by the | |||
| frame's highest magnitude sample, in order to prevent clipping. | |||
| @item n | |||
| @item coupling, n | |||
| Enable channels coupling. By default is enabled. | |||
| By default, the Dynamic Audio Normalizer will amplify all channels by the same | |||
| amount. This means the same gain factor will be applied to all channels, i.e. | |||
| @@ -3224,7 +3224,7 @@ the gain factor will be determined independently for each channel, depending | |||
| only on the individual channel's highest magnitude sample. This allows for | |||
| harmonizing the volume of the different channels. | |||
| @item c | |||
| @item correctdc, c | |||
| Enable DC bias correction. By default is disabled. | |||
| An audio signal (in the time domain) is a sequence of sample values. | |||
| In the Dynamic Audio Normalizer these sample values are represented in the | |||
| @@ -3243,7 +3243,7 @@ are centered around 0.0 again. Also, in order to avoid "gaps" at the frame | |||
| boundaries, the DC correction offset values will be interpolated smoothly | |||
| between neighbouring frames. | |||
| @item b | |||
| @item altboundary, b | |||
| Enable alternative boundary mode. By default is disabled. | |||
| The Dynamic Audio Normalizer takes into account a certain neighbourhood | |||
| around each frame. This includes the preceding frames as well as the | |||
| @@ -3258,7 +3258,7 @@ to deal with this situation. The default boundary mode assumes a gain factor | |||
| of exactly 1.0 for the missing frames, resulting in a smooth "fade in" and | |||
| "fade out" at the beginning and at the end of the input, respectively. | |||
| @item s | |||
| @item compress, s | |||
| Set the compress factor. In range from 0.0 to 30.0. Default is 0.0. | |||
| By default, the Dynamic Audio Normalizer does not apply "traditional" | |||
| compression. This means that signal peaks will not be pruned and thus the | |||
| @@ -82,15 +82,24 @@ typedef struct DynamicAudioNormalizerContext { | |||
| #define FLAGS AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM | |||
| static const AVOption dynaudnorm_options[] = { | |||
| { "f", "set the frame length in msec", OFFSET(frame_len_msec), AV_OPT_TYPE_INT, {.i64 = 500}, 10, 8000, FLAGS }, | |||
| { "g", "set the filter size", OFFSET(filter_size), AV_OPT_TYPE_INT, {.i64 = 31}, 3, 301, FLAGS }, | |||
| { "p", "set the peak value", OFFSET(peak_value), AV_OPT_TYPE_DOUBLE, {.dbl = 0.95}, 0.0, 1.0, FLAGS }, | |||
| { "m", "set the max amplification", OFFSET(max_amplification), AV_OPT_TYPE_DOUBLE, {.dbl = 10.0}, 1.0, 100.0, FLAGS }, | |||
| { "r", "set the target RMS", OFFSET(target_rms), AV_OPT_TYPE_DOUBLE, {.dbl = 0.0}, 0.0, 1.0, FLAGS }, | |||
| { "n", "set channel coupling", OFFSET(channels_coupled), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, | |||
| { "c", "set DC correction", OFFSET(dc_correction), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, FLAGS }, | |||
| { "b", "set alternative boundary mode", OFFSET(alt_boundary_mode), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, FLAGS }, | |||
| { "s", "set the compress factor", OFFSET(compress_factor), AV_OPT_TYPE_DOUBLE, {.dbl = 0.0}, 0.0, 30.0, FLAGS }, | |||
| { "framelen", "set the frame length in msec", OFFSET(frame_len_msec), AV_OPT_TYPE_INT, {.i64 = 500}, 10, 8000, FLAGS }, | |||
| { "f", "set the frame length in msec", OFFSET(frame_len_msec), AV_OPT_TYPE_INT, {.i64 = 500}, 10, 8000, FLAGS }, | |||
| { "gausssize", "set the filter size", OFFSET(filter_size), AV_OPT_TYPE_INT, {.i64 = 31}, 3, 301, FLAGS }, | |||
| { "g", "set the filter size", OFFSET(filter_size), AV_OPT_TYPE_INT, {.i64 = 31}, 3, 301, FLAGS }, | |||
| { "peak", "set the peak value", OFFSET(peak_value), AV_OPT_TYPE_DOUBLE, {.dbl = 0.95}, 0.0, 1.0, FLAGS }, | |||
| { "p", "set the peak value", OFFSET(peak_value), AV_OPT_TYPE_DOUBLE, {.dbl = 0.95}, 0.0, 1.0, FLAGS }, | |||
| { "maxgain", "set the max amplification", OFFSET(max_amplification), AV_OPT_TYPE_DOUBLE, {.dbl = 10.0}, 1.0, 100.0, FLAGS }, | |||
| { "m", "set the max amplification", OFFSET(max_amplification), AV_OPT_TYPE_DOUBLE, {.dbl = 10.0}, 1.0, 100.0, FLAGS }, | |||
| { "targetrms", "set the target RMS", OFFSET(target_rms), AV_OPT_TYPE_DOUBLE, {.dbl = 0.0}, 0.0, 1.0, FLAGS }, | |||
| { "r", "set the target RMS", OFFSET(target_rms), AV_OPT_TYPE_DOUBLE, {.dbl = 0.0}, 0.0, 1.0, FLAGS }, | |||
| { "coupling", "set channel coupling", OFFSET(channels_coupled), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, | |||
| { "n", "set channel coupling", OFFSET(channels_coupled), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, | |||
| { "correctdc", "set DC correction", OFFSET(dc_correction), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, FLAGS }, | |||
| { "c", "set DC correction", OFFSET(dc_correction), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, FLAGS }, | |||
| { "altboundary", "set alternative boundary mode", OFFSET(alt_boundary_mode), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, FLAGS }, | |||
| { "b", "set alternative boundary mode", OFFSET(alt_boundary_mode), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, FLAGS }, | |||
| { "compress", "set the compress factor", OFFSET(compress_factor), AV_OPT_TYPE_DOUBLE, {.dbl = 0.0}, 0.0, 30.0, FLAGS }, | |||
| { "s", "set the compress factor", OFFSET(compress_factor), AV_OPT_TYPE_DOUBLE, {.dbl = 0.0}, 0.0, 30.0, FLAGS }, | |||
| { NULL } | |||
| }; | |||