gstreamer/ext/tarkin/wavelet.h
Tim-Philipp Müller 0ffbeb03c1 Include "_stdint.h" instead of <stdint.h>. Fixes build on systems that do not have stdint.h, like Solaris 9 (fixes #1...
Original commit message from CVS:
Include "_stdint.h" instead of <stdint.h>. Fixes build on systems that do not have stdint.h, like Solaris 9 (fixes #166631).
2005-02-08 10:37:43 +00:00

55 lines
1.6 KiB
C

#ifndef __WAVELET_H
#define __WAVELET_H
#include "_stdint.h"
typedef struct {
TYPE *data;
uint32_t width;
uint32_t height;
uint32_t frames;
uint32_t scales;
uint32_t *w;
uint32_t *h;
uint32_t *f;
uint32_t (*offset)[8];
TYPE *scratchbuf;
} Wavelet3DBuf;
extern Wavelet3DBuf* wavelet_3d_buf_new (uint32_t width, uint32_t height,
uint32_t frames);
extern void wavelet_3d_buf_destroy (Wavelet3DBuf* buf);
/**
* transform buf->data
* a_moments is the number of vanishing moments of the analyzing
* highpass filter,
* s_moments the one of the synthesizing lowpass filter.
*/
extern void wavelet_3d_buf_fwd_xform (Wavelet3DBuf* buf,
int a_moments, int s_moments);
extern void wavelet_3d_buf_inv_xform (Wavelet3DBuf* buf,
int a_moments, int s_moments);
extern int wavelet_3d_buf_encode_coeff (const Wavelet3DBuf* buf,
uint8_t *bitstream,
uint32_t limit);
extern void wavelet_3d_buf_decode_coeff (Wavelet3DBuf* buf,
uint8_t *bitstream,
uint32_t limit);
#if defined(DBG_XFORM)
extern void wavelet_3d_buf_dump (char *fmt,
uint32_t first_frame_in_buf,
uint32_t id,
Wavelet3DBuf* buf,
int16_t offset);
#else
#define wavelet_3d_buf_dump(x...)
#endif
#endif