include/it/quantizer.h File Reference

#include <it/types.h>
#include <it/vec.h>
#include <it/mat.h>
#include <it/convcode.h>

Go to the source code of this file.

Data Structures

struct  _quantizer_
struct  _scalar_quantizer_
struct  _uniform_quantizer_
struct  _trellis_coded_quantizer_

Defines

#define IT_QUANTIZER(q)   IT_CAST(it_quantizer_t, q)
#define it_quantizer_quantize(it_this, v)   __it_quantizer_quantize(IT_QUANTIZER(it_this), v)
#define it_quantizer_dequantize(it_this, i)   __it_quantizer_dequantize(IT_QUANTIZER(it_this), i)
#define it_quantizer_get_cardinal(it_this)   __it_quantizer_get_cardinal(IT_QUANTIZER(it_this))
#define IT_SCALAR_QUANTIZER(q)   IT_CAST(it_scalar_quantizer_t, q)
#define it_scalar_quantizer_new(codebook)   it_scalar_quantizer_new_start_index(codebook, 0)
#define it_scalar_quantizer_set_codebook(it_this, codebook, first)   __it_scalar_quantizer_set_codebook(IT_SCALAR_QUANTIZER(it_this), codebook, first)
#define it_scalar_quantizer_get_codebook_range(it_this, start, end)   __it_scalar_quantizer_get_codebook_range(IT_SCALAR_QUANTIZER(it_this), start, end)
#define it_scalar_quantizer_get_codebook(it_this)   it_scalar_quantizer_get_codebook_range(it_this, INT_MIN, INT_MAX)
#define it_scalar_quantizer_get_index_range(it_this, imin, imax)   __it_scalar_quantizer_get_index_range(IT_SCALAR_QUANTIZER(it_this), imin, imax)
#define it_scalar_quantizer_set_index_range(it_this, imin, imax)   __it_scalar_quantizer_set_index_range(IT_SCALAR_QUANTIZER(it_this), imin, imax)
#define it_scalar_quantizer_clear_index_range(it_this)   it_scalar_quantizer_set_index_range(it_this, INT_MIN, INT_MAX)
#define it_scalar_quantizer_scalar_quantize(it_this, v)   __it_scalar_quantizer_scalar_quantize(IT_SCALAR_QUANTIZER(it_this), v)
#define it_scalar_quantizer_scalar_dequantize(it_this, i)   __it_scalar_quantizer_scalar_dequantize(IT_SCALAR_QUANTIZER(it_this), i)
#define IT_UNIFORM_QUANTIZER(q)   IT_CAST(it_uniform_quantizer_t, q)
#define it_uniform_quantizer_get_step(q)   (IT_UNIFORM_QUANTIZER(q)->step)
#define it_uniform_quantizer_get_center(q)   (IT_UNIFORM_QUANTIZER(q)->center)
#define it_uniform_quantizer_get_deadzone_factor(q)   (IT_UNIFORM_QUANTIZER(q)->factor)
#define it_uniform_quantizer_get_deadzone_step(q)   (IT_UNIFORM_QUANTIZER(q)->deadzone)
#define IT_TRELLIS_CODED_QUANTIZER(q)   IT_CAST(it_trellis_coded_quantizer_t, q)
#define it_trellis_coded_quantizer_new_partition(code, quantizer)   __it_trellis_coded_quantizer_new_partition(IT_CONVOLUTIONAL_CODE(code), IT_SCALAR_QUANTIZER(quantizer))
#define it_quantize_mat(q, m)   __it_quantize_mat(IT_QUANTIZER(q), m)
#define it_dequantize_mat(q, m)   __it_dequantize_mat(IT_QUANTIZER(q), m)
#define it_quantize(q, v)   it_scalar_quantizer_scalar_quantize(q, v)
#define it_dequantize(q, i)   it_scalar_quantizer_scalar_dequantize(q, i)
#define it_quantize_vec(q, v)   it_quantizer_quantize(q, v)
#define it_dequantize_vec(q, v)   it_quantizer_dequantize(q, v)
#define it_quantizer_set_codebook(q, codebook, start)   it_scalar_quantizer_set_codebook(q, codebook, start)
#define it_quantizer_get_codebook_range(q, start, end)   it_scalar_quantizer_get_codebook_range(q, start, end)
#define it_quantizer_get_codebook(q)   it_scalar_quantizer_get_codebook(q)
#define it_quantizer_get_index_range(q, imin, imax)   it_scalar_quantizer_get_index_range(q, imin, imax)
#define it_quantizer_set_index_range(q, imin, imax)   it_scalar_quantizer_set_index_range(q, imin, imax)
#define it_quantizer_clear_index_range(q)   it_scalar_quantizer_clear_index_range(q)
#define it_quantizer_scalar_quantize(q, v)   it_scalar_quantizer_scalar_quantize(q, v)
#define it_quantizer_scalar_dequantize(q, i)   it_scalar_quantizer_scalar_dequantize(q, i)
#define it_quantizer_get_step(q)   it_uniform_quantizer_get_step(q)
#define it_quantizer_get_center(q)   it_uniform_quantizer_get_center(q)
#define it_quantizer_get_deadzone_factor(q)   it_uniform_quantizer_get_deadzone_factor(q)
#define it_quantizer_get_deadzone_step(q)   it_uniform_quantizer_get_deadzone_step(q)

Typedefs

typedef struct _quantizer_ it_quantizer_t
typedef struct _scalar_quantizer_ it_scalar_quantizer_t
typedef struct _uniform_quantizer_ it_uniform_quantizer_t
typedef struct
_trellis_coded_quantizer_ 
it_trellis_coded_quantizer_t

Functions

static it_instanciate (it_quantizer_t)
static ivec __it_quantizer_quantize (it_quantizer_t *it_this, vec v)
static vec __it_quantizer_dequantize (it_quantizer_t *it_this, ivec i)
static unsigned int __it_quantizer_get_cardinal (it_quantizer_t *it_this)
 it_instanciate (it_scalar_quantizer_t)
static it_scalar_quantizer_tit_scalar_quantizer_new_start_index (vec codebook, int first)
static void __it_scalar_quantizer_set_codebook (it_scalar_quantizer_t *it_this, vec codebook, int first)
static vec __it_scalar_quantizer_get_codebook_range (it_scalar_quantizer_t *it_this, int start, int end)
static void __it_scalar_quantizer_get_index_range (it_scalar_quantizer_t *it_this, int *imin, int *imax)
static void __it_scalar_quantizer_set_index_range (it_scalar_quantizer_t *it_this, int imin, int imax)
static int __it_scalar_quantizer_scalar_quantize (it_scalar_quantizer_t *it_this, double v)
static double __it_scalar_quantizer_scalar_dequantize (it_scalar_quantizer_t *it_this, int i)
 it_instanciate (it_uniform_quantizer_t)
static it_uniform_quantizer_tit_uniform_quantizer_new_from_center (double center, double step, double factor)
static it_uniform_quantizer_tit_uniform_quantizer_new_from_range (int n, double min, double max)
 it_instanciate (it_trellis_coded_quantizer_t)
static
it_trellis_coded_quantizer_t
__it_trellis_coded_quantizer_new_partition (it_convolutional_code_t *code, it_scalar_quantizer_t *quantizer)
imat __it_quantize_mat (it_quantizer_t *q, mat m)
mat __it_dequantize_mat (it_quantizer_t *q, imat m)
vec lloyd_max (it_function_t function, it_args_t args, double a, double b, int N)


Hosted by
Copyright (C) 2005-2006 Hervé Jégou
Vivien Chappelier
Francois Cayre
libit logo courtesy of Jonathan Delhumeau