src/wavelet.c File Reference

#include <it/types.h>
#include <it/wavelet.h>
#include <it/io.h>

Go to the source code of this file.

Defines

#define shift_up(x, l)   (((x) + ~(-1 << (l))) >> (l))

Functions

static int __wavelet_split (it_wavelet_t *wavelet)
static int __wavelet_merge (it_wavelet_t *wavelet)
static void __wavelet_pack (vec flat, vec current, vec next, int levels)
static void __wavelet_unpack (vec flat, vec current, vec next, int levels)
static Vec __wavelet_transform (it_transform_t *transform, Vec __input)
static Vec __wavelet_itransform (it_transform_t *transform, Vec __flat)
static void __wavelet_get_output_size (it_transform_t *transform, idx_t *input_size)
static void __wavelet_set_size (it_transform_t *transform, idx_t length)
static void __wavelet_get_size (it_transform_t *transform, idx_t *length)
static void __wavelet_destructor (it_object_t *it_this)
 it_instanciate (it_wavelet_t)
vecit_wavelet_split (vec wav, int nb_levels)
vec it_wavelet_merge (vec *subbands, int nb_levels)
vec it_dwt (vec v, it_wavelet_lifting_t const *lifting, int levels)
vec it_idwt (vec t, it_wavelet_lifting_t const *lifting, int levels)

Variables

static const double __it_wavelet_lifting_97_steps []
static const it_wavelet_lifting_t __it_wavelet_lifting_97
it_wavelet_lifting_t const * it_wavelet_lifting_97 = &__it_wavelet_lifting_97
static const double __it_wavelet_lifting_53_steps [] = { -0.5, 0.25 }
static const it_wavelet_lifting_t __it_wavelet_lifting_53
it_wavelet_lifting_t const * it_wavelet_lifting_53 = &__it_wavelet_lifting_53


Define Documentation

#define shift_up ( x,
 )     (((x) + ~(-1 << (l))) >> (l))


Function Documentation

static void __wavelet_destructor ( it_object_t it_this  )  [static]

static void __wavelet_get_output_size ( it_transform_t transform,
idx_t input_size 
) [static]

Definition at line 356 of file wavelet.c.

Referenced by it_instanciate().

static void __wavelet_get_size ( it_transform_t transform,
idx_t length 
) [static]

Definition at line 379 of file wavelet.c.

References IT_WAVELET, and _it_wavelet_::length.

Referenced by it_instanciate().

static void __wavelet_pack ( vec  flat,
vec  current,
vec  next,
int  levels 
) [static]

Definition at line 219 of file wavelet.c.

References shift_up, and vec_length().

Referenced by __wavelet_transform().

static void __wavelet_set_size ( it_transform_t transform,
idx_t  length 
) [static]

static void __wavelet_unpack ( vec  flat,
vec  current,
vec  next,
int  levels 
) [static]

Definition at line 249 of file wavelet.c.

References shift_up, and vec_length().

Referenced by __wavelet_itransform().


Variable Documentation

Initial value:

Definition at line 43 of file wavelet.c.

const double __it_wavelet_lifting_53_steps[] = { -0.5, 0.25 } [static]

Definition at line 42 of file wavelet.c.

Initial value:

 {
  4,
  1.149604398,
  __it_wavelet_lifting_97_steps
}

Definition at line 35 of file wavelet.c.

const double __it_wavelet_lifting_97_steps[] [static]

Initial value:

  { -1.586134342, -0.052980118, 0.882911075, 0.443506852 }

Definition at line 33 of file wavelet.c.


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