view libmpcodecs/native/decode288.h @ 15978:c8dc500e078e

memcpy and memmove both copy memory, but when using memcpy the source and destination must not overlap, but here, they did overlap. Committed with the kind blessing of Richard, patch by uau
author gpoirier
date Fri, 15 Jul 2005 22:09:30 +0000
parents 597ad4eb02fc
children
line wrap: on
line source

#ifndef DECODE288_H
#define DECODE288_H

/* internal globals */
typedef struct {
	float	history[8];
	float	output[40];
	float	pr1[36];
	float	pr2[10];
	int		phase, phasep;

	float st1a[111],st1b[37],st1[37];
	float st2a[38],st2b[11],st2[11];
	float sb[41];
	float lhist[10];
} Real_internal;

/* prototypes */
static void unpack  (unsigned short *tgt, unsigned char *src, int len);
static void decode  (Real_internal *internal, unsigned int input);
static void update  (Real_internal *internal);
static void colmult (float *tgt, float *m1, const float *m2, int n);
static int  pred    (float *in, float *tgt, int n);
static void co      (int n, int i, int j, float *in, float *out, float *st1, float *st2, const float *table);
static void prodsum (float *tgt, float *src, int len, int n);

#endif /* !DECODE288_H */