diff options
author | Monty <xiphmont@xiph.org> | 2001-05-27 06:44:07 +0000 |
---|---|---|
committer | Monty <xiphmont@xiph.org> | 2001-05-27 06:44:07 +0000 |
commit | 939a038b6faf62b95d599e72564498c71db4b2af (patch) | |
tree | f89c69453cd40460ba7ec76b8c12ce92e31f383f /lib/backends.h | |
parent | d734a5096d793cb30e4c1f45519f193bf968b249 (diff) | |
download | libvorbis-git-939a038b6faf62b95d599e72564498c71db4b2af.tar.gz |
Floor 1
Res 1
Vorbisfile fixes/opts
now all on mainline
svn path=/trunk/vorbis/; revision=1458
Diffstat (limited to 'lib/backends.h')
-rw-r--r-- | lib/backends.h | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/lib/backends.h b/lib/backends.h index 25ed8f54..3929f99f 100644 --- a/lib/backends.h +++ b/lib/backends.h @@ -12,7 +12,7 @@ function: libvorbis backend and mapping structures; needed for static mode headers - last mod: $Id: backends.h,v 1.6 2001/02/26 03:50:41 xiphmont Exp $ + last mod: $Id: backends.h,v 1.7 2001/05/27 06:43:59 xiphmont Exp $ ********************************************************************/ @@ -61,7 +61,9 @@ typedef struct{ void (*free_info) (vorbis_info_floor *); void (*free_look) (vorbis_look_floor *); int (*forward) (struct vorbis_block *,vorbis_look_floor *, - float *); + const float *, const float *, /* in */ + const float *, const float *, /* in */ + float *, float *); /* out */ int (*inverse) (struct vorbis_block *,vorbis_look_floor *, float *); } vorbis_func_floor; @@ -82,6 +84,37 @@ typedef struct{ } vorbis_info_floor0; +#define VIF_POSIT 63 +#define VIF_CLASS 16 +#define VIF_PARTS 31 +typedef struct{ + int partitions; /* 0 to 31 */ + int partitionclass[VIF_PARTS]; /* 0 to 15 */ + + int class_dim[VIF_CLASS]; /* 1 to 8 */ + int class_subs[VIF_CLASS]; /* 0,1,2,3 (bits: 1<<n poss) */ + int class_book[VIF_CLASS]; /* subs ^ dim entries */ + int class_subbook[VIF_CLASS][8]; /* [VIF_CLASS][subs] */ + + + int mult; /* 1 2 3 or 4 */ + int postlist[VIF_POSIT+2]; /* first two implicit */ + + + /* encode side analysis parameters */ + float maxover; + float maxunder; + float maxerr; + + int twofitminsize; + int twofitminused; + int twofitweight; + float twofitatten; + int unusedminsize; + int unusedmin_n; + +} vorbis_info_floor1; + /* Residue backend generic *****************************************/ typedef struct{ void (*pack) (vorbis_info_residue *,oggpack_buffer *); |