## GstAudioQuantize GstAudioQuantize |

## Functions

void | gst_audio_quantize_free ()
GstAudioQuantize * | gst_audio_quantize_new ()
void | gst_audio_quantize_samples ()
void | gst_audio_quantize_reset ()

## Types and Values

| GstAudioQuantize
enum | GstAudioQuantizeFlags
enum | GstAudioDitherMethod
enum | GstAudioNoiseShapingMethod

## Includes

    #include <gst/audio/audio.h>

## Description

## Functions

### gst_audio_quantize_free ()

    void
    gst_audio_quantize_free (GstAudioQuantize *quant);

Free a GstAudioQuantize.

#### Parameters

quant | a GstAudioQuantize |

### gst_audio_quantize_new ()

    GstAudioQuantize *
    gst_audio_quantize_new (GstAudioDitherMethod dither,
                            GstAudioNoiseShapingMethod ns,
                            GstAudioQuantizeFlags flags,
                            GstAudioFormat format,
                            guint channels,
                            guint quantizer);

### gst_audio_quantize_samples ()

    void
    gst_audio_quantize_samples (GstAudioQuantize *quant,
                                const gpointer in[],
                                gpointer out[],
                                guint samples);

Perform quantization on `samples` in `in` and write the result to `out` .

In case the samples are interleaved, `in` and `out` must point to an array with a single element pointing to a block of interleaved samples.

If non-interleaved samples are used, `in` and `out` must point to an array with pointers to memory blocks, one for each channel.

`in` and `out` may point to the same memory location, in which case samples will be modified in-place.

#### Parameters

quant | a GstAudioQuantize |
in | input samples |
out | output samples |
samples | number of samples |

### gst_audio_quantize_reset ()

    void
    gst_audio_quantize_reset (GstAudioQuantize *quant);

Reset `quant` to the state is was when created, clearing any history it might have.

#### Parameters

quant | a GstAudioQuantize |

## Types and Values

### GstAudioQuantize

    typedef struct _GstAudioQuantize GstAudioQuantize;

### enum GstAudioQuantizeFlags

Extra flags that can be passed to `gst_audio_quantize_new()`

#### Members

GST_AUDIO_QUANTIZE_FLAG_NONE | no flags |
GST_AUDIO_QUANTIZE_FLAG_NON_INTERLEAVED | samples are non-interleaved |

### enum GstAudioDitherMethod

Set of available dithering methods.

#### Members

GST_AUDIO_DITHER_NONE | No dithering |
GST_AUDIO_DITHER_RPDF | Rectangular dithering |
GST_AUDIO_DITHER_TPDF | Triangular dithering (default) |
GST_AUDIO_DITHER_TPDF_HF | High frequency triangular dithering |

### enum GstAudioNoiseShapingMethod

Set of available noise shaping methods

#### Members

GST_AUDIO_NOISE_SHAPING_NONE | No noise shaping (default) |
GST_AUDIO_NOISE_SHAPING_ERROR_FEEDBACK | Error feedback |
GST_AUDIO_NOISE_SHAPING_SIMPLE | Simple 2-pole noise shaping |
GST_AUDIO_NOISE_SHAPING_MEDIUM | Medium 5-pole noise shaping |
GST_AUDIO_NOISE_SHAPING_HIGH | High 8-pole noise shaping |