summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty <xiphmont@xiph.org>2001-08-07 03:47:33 +0000
committerMonty <xiphmont@xiph.org>2001-08-07 03:47:33 +0000
commit91487d30df035e05e5be5caaed59f46a2e27a5bd (patch)
tree1b27d1b97a76a76fb935102ef9462475cc592726
parent0e9be679b6c532253977434dadc1b264805d37b4 (diff)
downloadlibvorbis-git-91487d30df035e05e5be5caaed59f46a2e27a5bd.tar.gz
Incremental commit
svn path=/branches/branch_monty_20010708/vorbis/; revision=1701
-rw-r--r--configure.in187
-rw-r--r--lib/backends.h6
-rw-r--r--lib/books/line0_0sub0.vqh14
-rw-r--r--lib/books/line0_1sub1.vqh5
-rw-r--r--lib/books/line0_1sub2.vqh8
-rw-r--r--lib/books/line0_1sub3.vqh12
-rw-r--r--lib/books/line0_2sub1.vqh5
-rw-r--r--lib/books/line0_2sub2.vqh8
-rw-r--r--lib/books/line0_2sub3.vqh12
-rw-r--r--lib/books/line0_class1.vqh8
-rw-r--r--lib/books/line0_class2.vqh8
-rw-r--r--lib/books/line1_0sub0.vqh4
-rw-r--r--lib/books/line1_0sub1.vqh12
-rw-r--r--lib/books/line1_1sub0.vqh4
-rw-r--r--lib/books/line1_1sub1.vqh12
-rw-r--r--lib/books/line1_2sub1.vqh2
-rw-r--r--lib/books/line1_2sub2.vqh6
-rw-r--r--lib/books/line1_2sub3.vqh6
-rw-r--r--lib/books/line1_3sub1.vqh4
-rw-r--r--lib/books/line1_3sub2.vqh6
-rw-r--r--lib/books/line1_3sub3.vqh10
-rw-r--r--lib/books/line1_class1.vqh2
-rw-r--r--lib/books/line1_class2.vqh8
-rw-r--r--lib/books/line1_class3.vqh8
-rw-r--r--lib/books/res0_128_1024_1.vqh30
-rw-r--r--lib/books/res0_128_1024_2.vqh27
-rw-r--r--lib/books/res0_128_1024_3.vqh12
-rw-r--r--lib/books/res0_128_1024_4.vqh233
-rw-r--r--lib/books/res0_128_1024_5.vqh349
-rw-r--r--lib/books/res0_128_1024_6.vqh80
-rw-r--r--lib/books/res0_128_1024_6a.vqh98
-rw-r--r--lib/books/res0_128_1024_7.vqh122
-rw-r--r--lib/books/res0_128_1024_7a.vqh62
-rw-r--r--lib/books/res0_128_1024_8.vqh12
-rw-r--r--lib/books/res0_128_1024_8a.vqh4
-rw-r--r--lib/books/res0_128_1024_9.vqh68
-rw-r--r--lib/books/res0_128_1024_9a.vqh22
-rw-r--r--lib/books/res0_128_1024_9b.vqh22
-rw-r--r--lib/books/res0_128_1024aux.vqh14
-rw-r--r--lib/books/res0_128_128_1.vqh248
-rw-r--r--lib/books/res0_128_128_2.vqh94
-rw-r--r--lib/books/res0_128_128_3.vqh94
-rw-r--r--lib/books/res0_128_128_4.vqh156
-rw-r--r--lib/books/res0_128_128_5.vqh260
-rw-r--r--lib/books/res0_128_128aux.vqh14
-rw-r--r--lib/mapping0.c75
-rw-r--r--lib/modes/mode_A.h347
-rw-r--r--lib/os.h163
-rw-r--r--lib/psy.c418
-rw-r--r--lib/psy.h21
-rw-r--r--vq/res_128c.vqs33
51 files changed, 2521 insertions, 914 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 00000000..10ee8dc3
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,187 @@
+dnl Process this file with autoconf to produce a configure script
+
+dnl ------------------------------------------------
+dnl Initialization and Versioning
+dnl ------------------------------------------------
+
+AC_INIT(lib/mdct.c)
+AM_INIT_AUTOMAKE(libvorbis,1.0beta4)
+
+dnl Library versioning
+
+V_LIB_CURRENT=0
+V_LIB_REVISION=1
+V_LIB_AGE=0
+VF_LIB_CURRENT=0
+VF_LIB_REVISION=1
+VF_LIB_AGE=0
+VE_LIB_CURRENT=0
+VE_LIB_REVISION=1
+VE_LIB_AGE=0
+AC_SUBST(V_LIB_CURRENT)
+AC_SUBST(V_LIB_REVISION)
+AC_SUBST(V_LIB_AGE)
+AC_SUBST(VF_LIB_CURRENT)
+AC_SUBST(VF_LIB_REVISION)
+AC_SUBST(VF_LIB_AGE)
+AC_SUBST(VE_LIB_CURRENT)
+AC_SUBST(VE_LIB_REVISION)
+AC_SUBST(VE_LIB_AGE)
+
+dnl --------------------------------------------------
+dnl Check for programs
+dnl --------------------------------------------------
+
+dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2"
+dnl if $CFLAGS is blank
+cflags_save="$CFLAGS"
+AC_PROG_CC
+AC_PROG_CPP
+CFLAGS="$cflags_save"
+
+AM_PROG_LIBTOOL
+
+dnl --------------------------------------------------
+dnl Set build flags based on environment
+dnl --------------------------------------------------
+
+AC_CANONICAL_HOST
+
+dnl Set some target options
+
+cflags_save="$CFLAGS"
+ldflags_save="$LDFLAGS"
+if test -z "$GCC"; then
+ case $host in
+ *-*-irix*)
+ dnl If we're on IRIX, we wanna use cc even if gcc
+ dnl is there (unless the user has overriden us)...
+ if test -z "$CC"; then
+ CC=cc
+ fi
+ DEBUG="-g -signed"
+ CFLAGS="-O2 -w -signed"
+ PROFILE="-p -g3 -O2 -signed" ;;
+ sparc-sun-solaris*)
+ DEBUG="-v -g"
+ CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
+ PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" ;;
+ *)
+ DEBUG="-g"
+ CFLAGS="-O"
+ PROFILE="-g -p" ;;
+ esac
+else
+
+ case $host in
+ *86-*-linux*)
+ DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
+ CFLAGS="-O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
+# PROFILE="-Wall -W -pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static"
+ PROFILE="-Wall -W -pg -g -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline -static"
+
+ # glibc < 2.1.3 has a serious FP bug in the math inline header
+ # that will cripple Vorbis. Look to see if the magic FP stack
+ # clobber is missing in the mathinline header, thus indicating
+ # the buggy version
+
+ AC_EGREP_CPP(log10.*fldlg2.*fxch,[
+ #define __LIBC_INTERNAL_MATH_INLINES 1
+ #define __OPTIMIZE__
+ #include <math.h>
+ ],bad=maybe,bad=no)
+ if test ${bad} = "maybe" ;then
+ AC_EGREP_CPP(log10.*fldlg2.*fxch.*st\([[0123456789]]*\),
+ [
+ #define __LIBC_INTERNAL_MATH_INLINES 1
+ #define __OPTIMIZE__
+ #include <math.h>
+ ],bad=no,bad=yes)
+ fi
+ if test ${bad} = "yes" ;then
+ AC_MSG_WARN([ ])
+ AC_MSG_WARN([********************************************************])
+ AC_MSG_WARN([* The glibc headers on this machine have a serious bug *])
+ AC_MSG_WARN([* in /usr/include/bits/mathinline.h This bug affects *])
+ AC_MSG_WARN([* all floating point code, not just Ogg, built on this *])
+ AC_MSG_WARN([* machine. Upgrading to glibc 2.1.3 is strongly urged *])
+ AC_MSG_WARN([* to correct the problem. Note that upgrading glibc *])
+ AC_MSG_WARN([* will not fix any previously built programs; this is *])
+ AC_MSG_WARN([* a compile-time time bug. *])
+ AC_MSG_WARN([* To work around the problem for this build of Ogg, *])
+ AC_MSG_WARN([* autoconf is disabling all math inlining. This will *])
+ AC_MSG_WARN([* hurt Ogg performace but is necessary for an Ogg that *])
+ AC_MSG_WARN([* will actually work. Once glibc is upgraded, rerun *])
+ AC_MSG_WARN([* configure and make to build with inlining. *])
+ AC_MSG_WARN([********************************************************])
+ AC_MSG_WARN([ ])
+
+ CFLAGS=${OPT}" -D__NO_MATH_INLINES"
+ PROFILE=${PROFILE}" -D__NO_MATH_INLINES"
+ fi;;
+ *-*-linux*)
+ DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
+ CFLAGS="-O20 -ffast-math -D_REENTRANT -fsigned-char"
+ PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
+ sparc-sun-*)
+ DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char -mv8"
+ CFLAGS="-O20 -ffast-math -D__NO_MATH_INLINES -fsigned-char -mv8"
+ PROFILE="-pg -g -O20 -D__NO_MATH_INLINES -fsigned-char -mv8" ;;
+ *-*-darwin*)
+ DEBUG="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O0 -fsigned-char"
+ CFLAGS="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O4 -ffast-math -fsigned-char"
+ PROFILE="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -pg -O4 -ffast-math -fsigned-char";;
+ *)
+ DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char"
+ CFLAGS="-O20 -D__NO_MATH_INLINES -fsigned-char"
+ PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
+ esac
+fi
+CFLAGS="$CFLAGS $cflags_save"
+LDFLAGS="$LDFLAGS $ldflags_save"
+
+dnl --------------------------------------------------
+dnl Check for headers
+dnl --------------------------------------------------
+
+AC_CHECK_HEADER(memory.h,CFLAGS="$CFLAGS -DUSE_MEMORY_H",:)
+
+dnl --------------------------------------------------
+dnl Check for typedefs, structures, etc
+dnl --------------------------------------------------
+
+dnl none
+
+dnl --------------------------------------------------
+dnl Check for libraries
+dnl --------------------------------------------------
+
+AC_CHECK_LIB(m, cos, LIBS="-lm", LIBS="")
+AC_CHECK_LIB(pthread, pthread_create, pthread_lib="-lpthread", :)
+
+AM_PATH_OGG(LIBS="$LIBS $OGG_LIBS", AC_MSG_ERROR(must have Ogg installed!))
+
+dnl --------------------------------------------------
+dnl Check for library functions
+dnl --------------------------------------------------
+
+AC_FUNC_ALLOCA
+AC_FUNC_MEMCMP
+
+AC_CHECK_FUNCS(sqrtf)
+AC_CHECK_FUNCS(logf)
+AC_CHECK_FUNCS(expf)
+AC_CHECK_FUNCS(acosf)
+AC_CHECK_FUNCS(atanf)
+AC_CHECK_FUNCS(frexpf)
+AC_CHECK_FUNCS(rintf)
+
+dnl --------------------------------------------------
+dnl Do substitutions
+dnl --------------------------------------------------
+
+AC_SUBST(DEBUG)
+AC_SUBST(PROFILE)
+AC_SUBST(pthread_lib)
+
+AC_OUTPUT(Makefile lib/Makefile lib/modes/Makefile lib/books/Makefile doc/Makefile doc/vorbisfile/Makefile doc/vorbisenc/Makefile include/Makefile include/vorbis/Makefile examples/Makefile win32/Makefile debian/Makefile vq/Makefile)
diff --git a/lib/backends.h b/lib/backends.h
index 410ff474..5997c8e4 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.9.2.3 2001/08/02 22:14:22 xiphmont Exp $
+ last mod: $Id: backends.h,v 1.9.2.4 2001/08/07 03:47:22 xiphmont Exp $
********************************************************************/
@@ -176,7 +176,9 @@ typedef struct vorbis_info_mapping0{
int timesubmap[16]; /* [mux] */
int floorsubmap[16]; /* [mux] submap to floors */
int residuesubmap[16]; /* [mux] submap to residue */
- int psy; /* encode only */
+
+ int psy[2]; /* by blocktype; impulse/padding for short,
+ transition/normal for long */
int coupling_steps;
int coupling_mag[256];
diff --git a/lib/books/line0_0sub0.vqh b/lib/books/line0_0sub0.vqh
index d4c87f54..32ba5dfc 100644
--- a/lib/books/line0_0sub0.vqh
+++ b/lib/books/line0_0sub0.vqh
@@ -20,18 +20,14 @@
#include "codebook.h"
static long _huff_lengthlist_line0_0sub0[] = {
- 4, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 5, 6, 5,
- 6, 6, 7, 6, 6, 7, 7, 7, 7, 6, 7, 8, 8, 9, 8, 8,
- 8, 9, 8, 9, 9, 9, 8, 7, 9, 9, 8, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 6, 6, 6,
+ 7, 6, 7, 6, 8, 6, 8, 7, 8, 8, 9, 9, 8, 9, 9,10,
+ 9,10,10,10,10,12,11,12,10,12,11,12,10,12,11,12,
};
static static_codebook _huff_book_line0_0sub0 = {
- 1, 128,
+ 1, 64,
_huff_lengthlist_line0_0sub0,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_1sub1.vqh b/lib/books/line0_1sub1.vqh
index ccb40883..2f739d8b 100644
--- a/lib/books/line0_1sub1.vqh
+++ b/lib/books/line0_1sub1.vqh
@@ -20,12 +20,11 @@
#include "codebook.h"
static long _huff_lengthlist_line0_1sub1[] = {
- 0, 4, 3, 4, 4, 4, 3, 5, 3, 7, 3, 5, 4, 7, 5, 7,
- 4, 7,
+ 0, 3, 4, 3, 4, 2, 4, 2, 4,
};
static static_codebook _huff_book_line0_1sub1 = {
- 1, 18,
+ 1, 9,
_huff_lengthlist_line0_1sub1,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_1sub2.vqh b/lib/books/line0_1sub2.vqh
index 583ad000..405f6e7a 100644
--- a/lib/books/line0_1sub2.vqh
+++ b/lib/books/line0_1sub2.vqh
@@ -20,14 +20,12 @@
#include "codebook.h"
static long _huff_lengthlist_line0_1sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3, 7, 3, 7, 3, 7, 4, 7, 6, 7, 4, 7, 4, 7,
- 5, 7, 5, 7, 5, 7, 4, 7, 5, 7, 5, 7, 5, 7, 6, 7,
- 5, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 5, 3, 5, 4,
+ 6, 4, 6, 4, 6, 3, 7, 3, 7,
};
static static_codebook _huff_book_line0_1sub2 = {
- 1, 50,
+ 1, 25,
_huff_lengthlist_line0_1sub2,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_1sub3.vqh b/lib/books/line0_1sub3.vqh
index 15768b22..120c42a5 100644
--- a/lib/books/line0_1sub3.vqh
+++ b/lib/books/line0_1sub3.vqh
@@ -21,17 +21,13 @@
static long _huff_lengthlist_line0_1sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 2,10, 2, 9, 3,
+ 11, 4,11, 6,11, 6,11, 8,11,11,11,11,11,11,11,11,
+ 11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
};
static static_codebook _huff_book_line0_1sub3 = {
- 1, 128,
+ 1, 64,
_huff_lengthlist_line0_1sub3,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_2sub1.vqh b/lib/books/line0_2sub1.vqh
index 858da7d4..e972ad76 100644
--- a/lib/books/line0_2sub1.vqh
+++ b/lib/books/line0_2sub1.vqh
@@ -20,12 +20,11 @@
#include "codebook.h"
static long _huff_lengthlist_line0_2sub1[] = {
- 0, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4, 5, 4, 5, 4,
- 5, 4,
+ 0, 2, 3, 3, 3, 3, 4, 3, 4,
};
static static_codebook _huff_book_line0_2sub1 = {
- 1, 18,
+ 1, 9,
_huff_lengthlist_line0_2sub1,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_2sub2.vqh b/lib/books/line0_2sub2.vqh
index 5823e3a5..0d42c970 100644
--- a/lib/books/line0_2sub2.vqh
+++ b/lib/books/line0_2sub2.vqh
@@ -20,14 +20,12 @@
#include "codebook.h"
static long _huff_lengthlist_line0_2sub2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 4, 2, 5, 3, 5, 3, 6, 4, 5, 4, 6, 5, 9, 6,
- 6, 5, 7, 7, 9, 6, 8, 7, 8, 7, 8, 7, 8, 8, 8, 8,
- 8, 8,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 4,
+ 5, 4, 5, 4, 5, 4, 6, 4, 6,
};
static static_codebook _huff_book_line0_2sub2 = {
- 1, 50,
+ 1, 25,
_huff_lengthlist_line0_2sub2,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_2sub3.vqh b/lib/books/line0_2sub3.vqh
index f91da359..9ca6c048 100644
--- a/lib/books/line0_2sub3.vqh
+++ b/lib/books/line0_2sub3.vqh
@@ -21,17 +21,13 @@
static long _huff_lengthlist_line0_2sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 2, 6, 3, 6, 3, 8, 4, 6, 5, 7, 5, 8, 6,
- 8, 6, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 5, 3, 5, 4,
+ 5, 4, 5, 4, 6, 5, 6, 5, 7, 5, 7, 6, 8, 6, 9, 6,
+ 10, 7, 9, 7, 9, 7, 9, 7, 9, 7,10, 8,10,10,10,10,
};
static static_codebook _huff_book_line0_2sub3 = {
- 1, 128,
+ 1, 64,
_huff_lengthlist_line0_2sub3,
0, 0, 0, 0, 0,
NULL,
diff --git a/lib/books/line0_class1.vqh b/lib/books/line0_class1.vqh
index 20d459fd..b272f2ab 100644
--- a/lib/books/line0_class1.vqh
+++ b/lib/books/line0_class1.vqh
@@ -20,10 +20,10 @@
#include "codebook.h"
static long _huff_lengthlist_line0_class1[] = {
- 1, 4, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 4, 3, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8,
+ 1, 4, 2, 4, 8, 5, 7,15, 8, 5, 6,14,15,15,14,15,
+ 10, 7, 8, 9,13,12,15,15,12,11,12,15,15,15,15,15,
+ 10, 7, 8,11,15,13,12,15,15,12,14,15,15,15,15,15,
+ 15,14,13,15,15,15,15,15,15,15,15,15,15,14,14,14,
};
static static_codebook _huff_book_line0_class1 = {
diff --git a/lib/books/line0_class2.vqh b/lib/books/line0_class2.vqh
index 5edf9f43..b2856fa7 100644
--- a/lib/books/line0_class2.vqh
+++ b/lib/books/line0_class2.vqh
@@ -20,10 +20,10 @@
#include "codebook.h"
static long _huff_lengthlist_line0_class2[] = {
- 7, 6, 9, 9, 9, 4, 7, 9, 9, 7, 9, 9, 9, 9, 9, 9,
- 6, 3, 5, 9, 5, 2, 4, 9, 6, 3, 6, 9, 9, 9, 9, 9,
- 9, 7, 8, 9, 6, 4, 7, 9, 7, 5, 7, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 2, 4, 3, 5, 8, 5, 5, 7, 8, 5, 5, 6,12,10, 9,10,
+ 7, 4, 4, 6, 9, 6, 5, 6, 9, 6, 5, 6,11, 9, 9,11,
+ 8, 5, 5, 8,11, 8, 9,10,11, 8, 9,10,14,12,14,14,
+ 14,11,11,12,13,14,12,12,15,12,11,12,15,14,13,14,
};
static static_codebook _huff_book_line0_class2 = {
diff --git a/lib/books/line1_0sub0.vqh b/lib/books/line1_0sub0.vqh
index d8728ed9..ad19dfa4 100644
--- a/lib/books/line1_0sub0.vqh
+++ b/lib/books/line1_0sub0.vqh
@@ -20,8 +20,8 @@
#include "codebook.h"
static long _huff_lengthlist_line1_0sub0[] = {
- 5, 5, 4, 5, 5, 5, 4, 5, 4, 5, 4, 6, 4, 6, 4, 6,
- 4, 6, 4, 6, 5, 7, 5, 7, 5, 7, 5, 8, 5, 9, 6, 9,
+ 4, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 5, 7, 6,
};
static static_codebook _huff_book_line1_0sub0 = {
diff --git a/lib/books/line1_0sub1.vqh b/lib/books/line1_0sub1.vqh
index 6a6e14d8..3045efa6 100644
--- a/lib/books/line1_0sub1.vqh
+++ b/lib/books/line1_0sub1.vqh
@@ -22,12 +22,12 @@
static long _huff_lengthlist_line1_0sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 7, 3, 6, 3, 7, 4, 7, 4, 7, 4, 9, 4, 9, 5,10,
- 5,10, 5,10, 6,10, 6,10, 7,10, 6,10, 6,10, 9,10,
- 6,10, 8, 9, 7, 9, 9, 9, 8, 9, 9, 9, 9, 9, 8, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 6, 4, 6, 4, 6, 4, 6, 4, 6, 4, 7, 4, 7, 4, 7, 4,
+ 7, 4, 7, 4, 7, 5, 8, 5, 8, 5, 9, 5, 9, 6, 9, 6,
+ 9, 6, 9, 6, 9, 7,10, 7, 9, 8, 9, 8,10,11,12,12,
+ 10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
+ 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
+ 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,
};
static static_codebook _huff_book_line1_0sub1 = {
diff --git a/lib/books/line1_1sub0.vqh b/lib/books/line1_1sub0.vqh
index c3a74b89..dc40e83b 100644
--- a/lib/books/line1_1sub0.vqh
+++ b/lib/books/line1_1sub0.vqh
@@ -20,8 +20,8 @@
#include "codebook.h"
static long _huff_lengthlist_line1_1sub0[] = {
- 2, 4, 4, 5, 4, 5, 4, 5, 4, 5, 5, 6, 5, 6, 5, 6,
- 5, 7, 5, 8, 5, 9, 6,10, 6,12, 6,11, 7,13, 7,13,
+ 2, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7,
};
static static_codebook _huff_book_line1_1sub0 = {
diff --git a/lib/books/line1_1sub1.vqh b/lib/books/line1_1sub1.vqh
index 39c6fdf9..4e73b188 100644
--- a/lib/books/line1_1sub1.vqh
+++ b/lib/books/line1_1sub1.vqh
@@ -22,12 +22,12 @@
static long _huff_lengthlist_line1_1sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 8, 3, 9, 3, 9, 3, 9, 4, 9, 4, 9, 6, 9, 6, 9,
- 6, 9, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 4, 3, 4, 4, 5, 4, 6, 4, 7, 3, 7, 3, 8, 4,10, 4,
+ 10, 5,11, 6,11, 7,11, 8,11, 7,11, 7,11, 7,11, 9,
+ 11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
};
static static_codebook _huff_book_line1_1sub1 = {
diff --git a/lib/books/line1_2sub1.vqh b/lib/books/line1_2sub1.vqh
index 5e7565e5..07e1c26f 100644
--- a/lib/books/line1_2sub1.vqh
+++ b/lib/books/line1_2sub1.vqh
@@ -20,7 +20,7 @@
#include "codebook.h"
static long _huff_lengthlist_line1_2sub1[] = {
- 0, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 5,
+ 0, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5,
5, 5,
};
diff --git a/lib/books/line1_2sub2.vqh b/lib/books/line1_2sub2.vqh
index cbc6b7fb..b852b0e9 100644
--- a/lib/books/line1_2sub2.vqh
+++ b/lib/books/line1_2sub2.vqh
@@ -21,9 +21,9 @@
static long _huff_lengthlist_line1_2sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 4, 3, 5, 3, 5, 4, 6, 4, 7, 4, 8, 4, 8,
- 6, 9, 5, 9, 6,10, 7,10, 9,10, 8,10, 9,10, 8,10,
- 10,10,
+ 0, 0, 3, 4, 3, 5, 3, 5, 3, 6, 4, 7, 4, 7, 4, 7,
+ 5, 8, 5, 9, 5,12, 6,11, 6,12, 7,12, 8,12, 9,12,
+ 9,12,
};
static static_codebook _huff_book_line1_2sub2 = {
diff --git a/lib/books/line1_2sub3.vqh b/lib/books/line1_2sub3.vqh
index 00acea7f..5de1a2b3 100644
--- a/lib/books/line1_2sub3.vqh
+++ b/lib/books/line1_2sub3.vqh
@@ -23,9 +23,9 @@ static long _huff_lengthlist_line1_2sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 0, 0, 4, 7, 5, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
};
diff --git a/lib/books/line1_3sub1.vqh b/lib/books/line1_3sub1.vqh
index ade48fa1..28c506cf 100644
--- a/lib/books/line1_3sub1.vqh
+++ b/lib/books/line1_3sub1.vqh
@@ -20,8 +20,8 @@
#include "codebook.h"
static long _huff_lengthlist_line1_3sub1[] = {
- 0, 3, 4, 4, 4, 4, 5, 3, 5, 3, 5, 4, 5, 4, 6, 4,
- 6, 5,
+ 0, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5,
+ 5, 5,
};
static static_codebook _huff_book_line1_3sub1 = {
diff --git a/lib/books/line1_3sub2.vqh b/lib/books/line1_3sub2.vqh
index 5cbcd59a..8b8d2005 100644
--- a/lib/books/line1_3sub2.vqh
+++ b/lib/books/line1_3sub2.vqh
@@ -21,9 +21,9 @@
static long _huff_lengthlist_line1_3sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3, 2, 4, 3, 4, 4, 5, 4, 6, 5, 6, 5, 6, 5,
- 7, 7, 7, 7, 7, 7, 9, 7, 9, 9, 9, 8,10, 8, 9, 9,
- 10, 9,
+ 0, 0, 4, 3, 5, 3, 5, 3, 6, 3, 6, 4, 8, 4, 8, 5,
+ 9, 5, 9, 5,10, 5,10, 6,11, 6,12, 6,11, 6,11, 7,
+ 12, 7,
};
static static_codebook _huff_book_line1_3sub2 = {
diff --git a/lib/books/line1_3sub3.vqh b/lib/books/line1_3sub3.vqh
index f3bab492..362b84ea 100644
--- a/lib/books/line1_3sub3.vqh
+++ b/lib/books/line1_3sub3.vqh
@@ -23,11 +23,11 @@ static long _huff_lengthlist_line1_3sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 0, 0, 8, 2, 9, 3, 9, 3, 9, 3, 9, 4, 9, 5, 9, 6,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
};
static static_codebook _huff_book_line1_3sub3 = {
diff --git a/lib/books/line1_class1.vqh b/lib/books/line1_class1.vqh
index 060c9e94..a12994a2 100644
--- a/lib/books/line1_class1.vqh
+++ b/lib/books/line1_class1.vqh
@@ -20,7 +20,7 @@
#include "codebook.h"
static long _huff_lengthlist_line1_class1[] = {
- 1, 3, 5, 8, 2, 6, 8, 8, 5, 8, 8, 8, 8, 8, 7, 7,
+ 1, 4, 5,10, 6,10,10,10, 2, 4, 4, 9, 8, 9, 9, 9,
};
static static_codebook _huff_book_line1_class1 = {
diff --git a/lib/books/line1_class2.vqh b/lib/books/line1_class2.vqh
index 5718430f..bf8f90d2 100644
--- a/lib/books/line1_class2.vqh
+++ b/lib/books/line1_class2.vqh
@@ -20,10 +20,10 @@
#include "codebook.h"
static long _huff_lengthlist_line1_class2[] = {
- 1, 3, 6,14, 8, 4, 6,14,11, 5, 5,13,13,13,12,13,
- 6, 3, 6,13, 9, 5, 8,13,10, 8,11,13,13,13,13,13,
- 11, 8,11,13,11, 8,10,13,12,11,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
+ 1, 3, 4,14, 8, 5, 6,15,10, 7,10,15,15,14,15,15,
+ 6, 3, 6,13, 8, 5, 6,13,11, 8, 9,15,15,14,15,15,
+ 12, 8, 7,15,10, 7, 6,15,15,11,12,15,15,15,15,15,
+ 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,
};
static static_codebook _huff_book_line1_class2 = {
diff --git a/lib/books/line1_class3.vqh b/lib/books/line1_class3.vqh
index 2b2e15cc..db56fd4e 100644
--- a/lib/books/line1_class3.vqh
+++ b/lib/books/line1_class3.vqh
@@ -20,10 +20,10 @@
#include "codebook.h"
static long _huff_lengthlist_line1_class3[] = {
- 2, 2, 6,12, 6, 3, 8,12, 9, 6, 9,12,12,12,12,12,
- 6, 3, 6,11, 7, 4, 7,12, 9, 5, 8,12,12,12,12,12,
- 10, 8,11,12, 9, 6, 7,12,10, 8, 8,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
+ 1, 4, 4, 8, 7, 4, 5,12, 9, 6, 9,14,14,14,14,14,
+ 6, 4, 5, 9, 7, 4, 5,11,10, 6, 8,13,14,13,14,14,
+ 12,10, 9,11,12, 8, 8,11,12,10,12,12,14,14,14,14,
+ 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
};
static static_codebook _huff_book_line1_class3 = {
diff --git a/lib/books/res0_128_1024_1.vqh b/lib/books/res0_128_1024_1.vqh
index d24bd98f..cc83c2e8 100644
--- a/lib/books/res0_128_1024_1.vqh
+++ b/lib/books/res0_128_1024_1.vqh
@@ -37,21 +37,21 @@ static long _vq_quantlist_res0_128_1024_1[] = {
};
static long _vq_lengthlist_res0_128_1024_1[] = {
- 1, 5, 4, 8, 8,10,10,11,11,13,12,13,13,14,15, 0,
- 4, 4, 7, 7,10,10,11,11,13,12,14,13,15,14, 0, 4,
- 4, 7, 7, 9, 9,11,11,12,12,13,14,13,14, 0, 6, 6,
- 7, 7, 9, 9,11,11,13,12,14,13,14,15, 0, 0, 0, 7,
- 8, 9, 9,10,10,11,11,12,12,13,14, 0, 0, 0, 9, 9,
- 9, 9,11,11,12,13,14,14,16,15, 0, 0, 0, 9, 9,10,
- 10,11,10,11,11,12,12,13,13, 0, 0, 0,11,10,10,10,
- 11,11,12,12,13,14,16,14, 0, 0, 0, 0, 0,11,11,11,
- 11,12,12,12,12,13,13, 0, 0, 0, 0, 0,12,12,12,12,
- 12,12,13,13,14,14, 0, 0, 0, 0, 0,12,12,13,12,13,
- 13,13,13,13,13, 0, 0, 0, 0, 0,13,14,13,13,13,13,
- 13,13,14,14, 0, 0, 0, 0, 0, 0, 0,14,13,14,13,14,
- 15,14,14, 0, 0, 0, 0, 0, 0, 0,14,14,14,14,13,14,
- 13,14, 0, 0, 0, 0, 0, 0, 0,14,14,15,14,15,16,15,
- 16,
+ 2, 4, 4, 6, 6, 8, 8, 9, 9,10,10,11,11,11,11, 0,
+ 4, 4, 6, 6, 8, 8, 9,10,11,11,11,12,11,11, 0, 4,
+ 4, 6, 6, 8, 8,10,10,11,11,12,11,11,11, 0, 5, 5,
+ 6, 6, 8, 8,10,10,11,11,12,12,11,11, 0, 0, 0, 6,
+ 6, 8, 8,10,10,11,11,12,12,11,11, 0, 0, 0, 7, 7,
+ 9, 9,10,10,11,11,12,12,11,11, 0, 0, 0, 7, 7, 9,
+ 9,10,10,11,11,12,12,12,12, 0, 0, 0, 8, 8, 9, 9,
+ 10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 9, 9,10,
+ 10,12,11,12,12,12,12, 0, 0, 0, 0, 0,10,10,11,11,
+ 12,12,12,12,12,12, 0, 0, 0, 0, 0,10,10,11,11,12,
+ 12,13,13,12,12, 0, 0, 0, 0, 0,11,11,11,12,12,12,
+ 13,13,12,12, 0, 0, 0, 0, 0, 0, 0,11,11,12,12,13,
+ 13,12,12, 0, 0, 0, 0, 0, 0, 0,11,11,11,11,12,12,
+ 11,11, 0, 0, 0, 0, 0, 0, 0,12,12,12,11,12,12,11,
+ 11,
};
static float _vq_quantthresh_res0_128_1024_1[] = {
diff --git a/lib/books/res0_128_1024_2.vqh b/lib/books/res0_128_1024_2.vqh
index 9c270f5a..9c4644f7 100644
--- a/lib/books/res0_128_1024_2.vqh
+++ b/lib/books/res0_128_1024_2.vqh
@@ -25,12 +25,12 @@ static long _vq_quantlist_res0_128_1024_2[] = {
};
static long _vq_lengthlist_res0_128_1024_2[] = {
- 1, 5, 6, 0, 4, 4, 0, 5, 5, 6,11, 9, 0, 0, 8, 0,
- 9,10, 6,11, 0, 0,10,10, 0,11, 9, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 9,12, 0,10, 8, 0, 9,12, 4,12,10,
- 0, 8, 9, 0,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
- 10, 8, 0, 0, 9, 0,10,10, 5, 9, 0, 0, 9,11, 0, 9,
- 12,
+ 1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 8, 7, 0, 9, 8, 0,
+ 9, 8, 5, 7, 8, 0, 9, 9, 0, 8, 9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 9, 8, 0, 8, 8, 0, 8, 9, 5, 8, 9,
+ 0, 8, 9, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
+ 9, 8, 0, 9, 8, 0, 8, 7, 5, 8, 9, 0, 8, 9, 0, 8,
+ 8,
};
static float _vq_quantthresh_res0_128_1024_2[] = {
@@ -54,11 +54,12 @@ static long _vq_pigeonmap_res0_128_1024_2[] = {
static long _vq_fitlist_res0_128_1024_2[] = {
0, 1, 2, 4, 5, 7, 8, 9,
- 10, 11, 14, 16, 17, 18, 19, 22,
- 23, 25, 26, 36, 37, 38, 40, 41,
- 43, 44, 45, 46, 47, 49, 50, 52,
- 53, 63, 64, 65, 68, 70, 71, 72,
- 73, 76, 77, 79, 80,
+ 10, 11, 13, 14, 16, 17, 18, 19,
+ 20, 22, 23, 25, 26, 36, 37, 38,
+ 40, 41, 43, 44, 45, 46, 47, 49,
+ 50, 52, 53, 63, 64, 65, 67, 68,
+ 70, 71, 72, 73, 74, 76, 77, 79,
+ 80,
};
static long _vq_fitmap_res0_128_1024_2[] = {
@@ -66,13 +67,13 @@ static long _vq_fitmap_res0_128_1024_2[] = {
};
static long _vq_fitlength_res0_128_1024_2[] = {
- 45,
+ 49,
};
static encode_aux_pigeonhole _vq_auxp_res0_128_1024_2 = {
-1, 1, 2, 1,
_vq_pigeonmap_res0_128_1024_2,
- 45,
+ 49,
_vq_fitlist_res0_128_1024_2,
_vq_fitmap_res0_128_1024_2,
_vq_fitlength_res0_128_1024_2
diff --git a/lib/books/res0_128_1024_3.vqh b/lib/books/res0_128_1024_3.vqh
index 138c72bf..7d464456 100644
--- a/lib/books/res0_128_1024_3.vqh
+++ b/lib/books/res0_128_1024_3.vqh
@@ -25,12 +25,12 @@ static long _vq_quantlist_res0_128_1024_3[] = {
};
static long _vq_lengthlist_res0_128_1024_3[] = {
- 2, 6, 6, 0, 4, 4, 0, 4, 5, 7,10,10, 0, 9, 8, 0,
- 8, 9, 7,10,10, 0, 8, 9, 0, 9, 7, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 8, 9, 0, 6, 6, 0, 6, 8, 4, 9, 8,
- 0, 6, 6, 0, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
- 9, 8, 0, 8, 6, 0, 6, 7, 4, 8, 9, 0, 6, 8, 0, 7,
- 7,
+ 3, 6, 6, 0, 4, 5, 0, 4, 4, 6, 8, 7, 0, 7, 7, 0,
+ 8, 7, 6, 7, 8, 0, 7, 7, 0, 7, 8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 8, 7, 0, 7, 6, 0, 6, 6, 4, 7, 8,
+ 0, 6, 6, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 7, 7, 0, 6, 6, 0, 6, 6, 4, 7, 7, 0, 6, 6, 0, 6,
+ 6,
};
static float _vq_quantthresh_res0_128_1024_3[] = {
diff --git a/lib/books/res0_128_1024_4.vqh b/lib/books/res0_128_1024_4.vqh
index 15988b1b..21a58141 100644
--- a/lib/books/res0_128_1024_4.vqh
+++ b/lib/books/res0_128_1024_4.vqh
@@ -27,46 +27,46 @@ static long _vq_quantlist_res0_128_1024_4[] = {
};
static long _vq_lengthlist_res0_128_1024_4[] = {
- 1, 7, 6, 0,13, 0, 5, 5,10,10, 0, 5, 5,10,10, 0,
- 6, 6, 8, 8, 0, 0, 0,10, 9, 7,11,11,12, 0, 0,11,
- 10,13, 0, 0, 9,11,13, 0, 0,13, 9, 0, 0, 0, 0, 0,
- 11, 0, 7,10,12,11, 0, 0, 9,13,12, 0, 0,11,11,12,
- 10, 0, 9,11,13,13, 0, 0, 0, 0,11,11, 0, 0, 0, 0,
- 0, 0,13, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0,13, 0,
- 0, 0,12, 0, 0,12,12, 0,13, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
+ 0, 0, 8, 8, 0, 0, 0, 8, 8, 5, 7, 6,10, 9, 0, 8,
+ 8,10,10, 0, 8, 7,10, 9, 0, 0, 0,12,11, 0, 0, 0,
+ 12,11, 5, 6, 7, 9,10, 0, 8, 8, 9,10, 0, 7, 8, 9,
+ 10, 0, 0, 0,11,12, 0, 0, 0,11,12, 8,10, 9,12,10,
+ 0,11,10,13,12, 0,11,10,13,12, 0, 0, 0,16,15, 0,
+ 0, 0,17,14, 8, 9,10,10,12, 0,11,11,12,13, 0,11,
+ 12,12,13, 0, 0, 0,16,16, 0, 0, 0,16,16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5,10,11, 0, 0, 0, 9, 8,12,11,
- 0,11,12,11,12, 0,10, 8,11,10, 0, 0, 0,10, 0, 5,
- 10, 9, 0,13, 0, 8, 9, 0,12, 0,11, 9, 0, 9, 0, 9,
- 11, 0,11, 0, 0, 0, 0,11,10, 0, 0, 0, 0, 0, 0,12,
- 0, 0, 0,12, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0,
- 0,10, 0,11, 0, 0, 0, 0,11, 0, 0, 0, 0,11, 0,12,
- 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5, 8, 7,11,11, 0, 8, 7,11,10,
+ 0, 8, 8,11,10, 0, 0, 0,11,10, 0, 0, 0,10,11, 5,
+ 8, 8,11,12, 0, 7, 8,10,11, 0, 8, 8,10,11, 0, 0,
+ 0,10,11, 0, 0, 0,11,11, 8,10, 9,13,12, 0,11,10,
+ 14,12, 0,11,10,15,13, 0, 0, 0,16,14, 0, 0, 0,15,
+ 14, 8, 9,10,12,13, 0,10,10,12,13, 0,10,11,12,14,
+ 0, 0, 0,14,16, 0, 0, 0,14,15, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5,11, 9, 0,12, 0,11,10,12,12, 0, 9, 9,
- 0,11, 0,11, 9,12, 0, 0, 0, 0,11, 0, 5,10,10,11,
- 0, 0, 9,10,11, 0, 0,10,10,11, 0, 0, 9,10,11,12,
- 0, 0, 0,12,11, 9,11,10, 0, 0, 0, 0,10, 0, 0, 0,
- 10,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0,10,10,
- 0, 0, 0, 0,11, 0, 0, 0, 0, 0,11, 0, 0, 0,11, 0,
+ 0, 0, 0, 5, 8, 8,11,11, 0, 8, 8,11,11, 0, 8, 8,
+ 11,10, 0, 0, 0,11,11, 0, 0, 0,11,10, 5, 8, 8,11,
+ 11, 0, 8, 8,10,10, 0, 7, 8,10,11, 0, 0, 0,11,11,
+ 0, 0, 0,10,11, 8,10, 9,14,12, 0,11,11,14,13, 0,
+ 11,10,14,12, 0, 0, 0,16,15, 0, 0, 0,15,14, 8, 9,
+ 10,12,15, 0,10,10,13,13, 0,10,11,12,13, 0, 0, 0,
+ 16,15, 0, 0, 0,14,17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 8,11, 0, 0, 0, 9,11, 0, 0, 0, 8,10,12, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,11, 9, 0, 0, 0,11,
- 8, 0, 0, 0,10, 9, 0,12, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 8,12, 0, 0, 0, 0, 0,11, 0, 0, 0,12, 0, 0,
- 0, 0,12,12, 0,11, 0, 0, 0, 0, 0, 8,12, 0, 0, 0,
- 0,11,10, 0, 0, 0, 0,11, 0, 0, 0, 0,12,12, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 8,12,11,16,14, 0,11,10,15,14, 0,11,11,14,
+ 14, 0, 0, 0,17,14, 0, 0, 0,14,16, 8,11,11,17,16,
+ 0,10,12,13,16, 0,11,11,14,16, 0, 0, 0,14,16, 0,
+ 0, 0,16,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
- 0,11, 0, 0, 0, 0,11, 0, 0, 0,12, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 9,11, 0, 0, 0, 0,11, 0,
- 0, 0, 0,11,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
+ 12,11, 0,14, 0,11,11,14,14, 0,11,11,15,15, 0, 0,
+ 0,16,14, 0, 0, 0,15,14, 8,11,11,16,15, 0,11,11,
+ 15,15, 0,10,12,14, 0, 0, 0, 0,15,15, 0, 0, 0,14,
+ 15,
};
static float _vq_quantthresh_res0_128_1024_4[] = {
@@ -89,45 +89,158 @@ static long _vq_pigeonmap_res0_128_1024_4[] = {
};
static long _vq_fitlist_res0_128_1024_4[] = {
- 0, 1, 2, 6, 7, 8, 11, 12,
- 13, 16, 17, 18, 25, 26, 27, 28,
- 31, 32, 33, 36, 37, 38, 41, 42,
- 50, 51, 52, 53, 56, 57, 58, 61,
- 62, 63, 66, 67, 68, 75, 82, 88,
- 150, 151, 152, 156, 157, 158, 161, 162,
- 163, 166, 167, 168, 175, 176, 177, 181,
- 182, 186, 187, 191, 192, 200, 207, 211,
- 217, 275, 276, 277, 281, 282, 283, 286,
- 287, 291, 292, 293, 300, 301, 302, 303,
- 306, 307, 308, 311, 316, 325, 326, 327,
- 332, 336, 400, 401, 402, 406, 407, 411,
- 412, 413, 425, 426, 427, 431, 432, 436,
- 450, 451, 457, 461, 466, 4, 9, 14,
- 19, 64, 69, 94, 159, 164, 169, 179,
- 184, 189, 194, 279, 284, 289, 312, 317,
- 337, 437, 467, 319, 439, 469, 23, 48,
- 98, 173, 298, 313, 24, 74, 199, 324,
- 323, 348, 101, 102, 112, 225, 227, 232,
- 237, 241, 318, 350, 351, 356, 366, 475,
- 476, 481, 482, 104, 239, 362, 487, 492,
- 493, 575, 577, 582, 586, 600, 601, 606,
- 611, 612,
+ 0, 1, 2, 3, 6, 7, 8, 11,
+ 12, 13, 18, 25, 26, 27, 28, 31,
+ 32, 33, 36, 37, 38, 43, 50, 51,
+ 52, 53, 56, 57, 58, 61, 62, 63,
+ 68, 75, 76, 77, 78, 81, 82, 83,
+ 86, 87, 88, 93, 150, 151, 152, 153,
+ 156, 157, 158, 161, 162, 163, 168, 175,
+ 176, 177, 178, 181, 182, 183, 186, 187,
+ 188, 193, 200, 201, 202, 203, 206, 207,
+ 208, 211, 212, 213, 218, 275, 276, 277,
+ 278, 281, 282, 283, 286, 287, 288, 293,
+ 300, 301, 302, 303, 306, 307, 308, 311,
+ 325, 326, 327, 328, 331, 332, 333, 336,
+ 450, 451, 452, 453, 456, 457, 458, 461,
+ 4, 9, 14, 19, 29, 34, 39, 44,
+ 54, 59, 64, 69, 79, 84, 89, 94,
+ 154, 159, 164, 169, 179, 184, 189, 194,
+ 204, 209, 214, 219, 279, 284, 289, 294,
+ 304, 309, 312, 329, 334, 337, 454, 459,
+ 462, 314, 319, 339, 344, 464, 469, 23,
+ 48, 73, 98, 173, 198, 223, 298, 313,
+ 338, 463, 24, 49, 74, 99, 174, 199,
+ 224, 299, 324, 349, 474, 323, 348, 473,
+ 100, 101, 102, 103, 106, 107, 108, 111,
+ 112, 113, 118, 225, 226, 227, 228, 231,
+ 232, 233, 236, 237, 238, 243, 318, 350,
+ 351, 352, 353, 356, 357, 358, 361, 475,
+ 476, 477, 478, 481, 482, 483, 486, 104,
+ 109, 114, 119, 229, 234, 239, 244, 354,
+ 359, 362, 479, 484, 487, 364, 369, 489,
+ 494, 123, 248, 363, 488, 124, 249, 374,
+ 499, 373, 498, 368, 493, 343, 575, 576,
+ 577, 581, 582, 583, 586, 579, 584, 587,
+ 589, 594, 588, 599, 598, 600, 601, 602,
+ 603, 606, 607, 608, 611, 604, 609, 612,
+ 619, 613, 624, 623, 618, 593, 0, 1,
+ 3, 6, 8, 11, 13, 18, 25, 26,
+ 28, 31, 33, 36, 38, 43, 50, 51,
+ 53, 56, 58, 61, 63, 68, 75, 76,
+ 78, 81, 83, 86, 88, 93, 150, 151,
+ 153, 156, 158, 161, 163, 168, 175, 176,
+ 178, 181, 183, 186, 188, 193, 200, 201,
+ 203, 206, 208, 211, 213, 218, 275, 276,
+ 278, 281, 283, 286, 288, 293, 300, 301,
+ 303, 306, 308, 311, 313, 318, 325, 326,
+ 328, 331, 333, 336, 338, 343, 450, 451,
+ 453, 456, 458, 461, 463, 468, 23, 48,
+ 73, 98, 173, 198, 223, 298, 323, 348,
+ 473, 100, 101, 103, 106, 108, 111, 113,
+ 118, 225, 226, 228, 231, 233, 236, 238,
+ 243, 350, 351, 353, 356, 358, 361, 363,
+ 368, 475, 476, 478, 481, 483, 486, 488,
+ 493, 123, 248, 373, 498, 575, 576, 581,
+ 583, 586, 588, 593, 598, 600, 601, 603,
+ 606, 608, 611, 613, 618, 623, 0, 1,
+ 2, 3, 6, 7, 8, 18, 25, 26,
+ 27, 28, 31, 32, 33, 43, 50, 51,
+ 52, 53, 56, 57, 58, 68, 75, 76,
+ 77, 78, 81, 82, 83, 93, 150, 151,
+ 152, 153, 156, 157, 158, 168, 175, 176,
+ 177, 178, 181, 182, 183, 193, 200, 201,
+ 202, 203, 206, 207, 208, 218, 275, 276,
+ 277, 278, 281, 282, 283, 293, 300, 301,
+ 306, 307, 308, 318, 325, 326, 331, 332,
+ 333, 343, 450, 451, 456, 457, 458, 468,
+ 4, 9, 19, 29, 34, 44, 54, 59,
+ 69, 79, 84, 94, 154, 159, 169, 179,
+ 184, 194, 204, 209, 219, 279, 284, 294,
+ 302, 309, 319, 327, 334, 344, 452, 459,
+ 469, 304, 329, 454, 100, 101, 102, 103,
+ 106, 107, 108, 118, 225, 226, 227, 228,
+ 231, 232, 233, 243, 303, 350, 351, 356,
+ 357, 358, 368, 475, 476, 481, 482, 483,
+ 493, 104, 109, 119, 229, 234, 244, 352,
+ 359, 369, 477, 484, 494, 354, 479, 353,
+ 478, 328, 575, 576, 581, 582, 583, 593,
+ 577, 584, 594, 579, 600, 601, 606, 607,
+ 608, 618, 602, 609, 619, 604, 603, 0,
+ 1, 2, 3, 6, 7, 8, 11, 12,
+ 13, 18, 25, 26, 27, 28, 31, 32,
+ 33, 36, 37, 38, 43, 75, 76, 77,
+ 78, 81, 82, 83, 86, 87, 88, 93,
+ 150, 151, 152, 153, 156, 157, 158, 161,
+ 162, 163, 168, 200, 201, 202, 203, 206,
+ 207, 208, 211, 212, 213, 218, 275, 276,
+ 277, 278, 281, 282, 283, 286, 287, 288,
+ 293, 325, 326, 327, 328, 331, 332, 333,
+ 336, 337, 338, 343, 450, 451, 452, 453,
+ 456, 457, 458, 461, 462, 463, 468, 4,
+ 9, 14, 19, 29, 34, 39, 44, 79,
+ 84, 89, 94, 154, 159, 164, 169, 204,
+ 209, 214, 219, 279, 284, 289, 294, 329,
+ 334, 339, 344, 454, 459, 464, 469, 23,
+ 48, 98, 173, 223, 298, 348, 473, 24,
+ 49, 99, 174, 224, 299, 349, 474, 575,
+ 576, 577, 581, 582, 583, 586, 587, 588,
+ 593, 579, 584, 589, 594, 598, 599, 0,
+ 1, 2, 3, 6, 7, 8, 11, 12,
+ 13, 18, 25, 26, 27, 28, 31, 32,
+ 33, 36, 37, 38, 43, 50, 51, 52,
+ 53, 56, 57, 58, 61, 75, 76, 77,
+ 78, 81, 82, 83, 86, 150, 151, 152,
+ 153, 156, 157, 158, 161, 162, 163, 168,
+ 175, 176, 177, 178, 181, 182, 183, 186,
+ 187, 188, 193, 200, 201, 202, 203, 206,
+ 207, 208, 211, 212, 213, 218, 450, 451,
+ 452, 453, 456, 457, 458, 461, 462, 463,
+ 468, 4, 9, 14, 19, 29, 34, 39,
+ 44, 54, 59, 62, 79, 84, 87, 154,
+ 159, 164, 169, 179, 184, 189, 194, 204,
+ 209, 214, 219, 454, 459, 464, 469, 64,
+ 69, 89, 94, 23, 48, 63, 88, 173,
+ 198, 223, 473, 24, 49, 174, 199, 224,
+ 474, 74, 99, 73, 98, 68, 100, 101,
+ 102, 103, 106, 107, 108, 111, 225, 226,
+ 227, 228, 231, 232, 233, 236, 237, 238,
+ 243, 475, 476, 477, 478, 481, 482, 483,
+ 486, 487, 488, 493, 104, 109, 112, 229,
+ 234, 239, 244, 479, 484, 489, 494, 114,
+ 119, 113, 248, 498, 249, 499, 124, 123,
+ 118, 0, 1, 2, 3, 6, 7, 8,
+ 18, 25, 26, 27, 28, 31, 32, 33,
+ 43, 50, 51, 56, 57, 58, 68, 75,
+ 76, 81, 82, 83, 93, 150, 151, 152,
+ 153, 156, 157, 158, 168, 175, 176, 177,
+ 178, 181, 182, 183, 193, 200, 201, 202,
+ 203, 206, 207, 208, 218, 450, 451, 452,
+ 453, 456, 457, 458, 468, 4, 9, 19,
+ 29, 34, 44, 52, 59, 69, 77, 84,
+ 94, 154, 159, 169, 179, 184, 194, 204,
+ 209, 219, 454, 459, 469, 54, 79, 53,
+ 100, 101, 106, 107, 108, 118, 225, 226,
+ 227, 228, 231, 232, 233, 243, 475, 476,
+ 477, 478, 481, 482, 483, 493, 102, 109,
+ 119, 229, 234, 244, 479, 484, 494, 104,
+ 103,
};
static long _vq_fitmap_res0_128_1024_4[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 286, 438, 286, 623, 286, 623, 286,
+ 775, 286, 961, 286, 623, 286, 623, 286,
};
static long _vq_fitlength_res0_128_1024_4[] = {
- 178, 178, 178, 178, 178, 178, 178, 178,
- 178, 178, 178, 178, 178, 178, 178, 178,
+ 286, 152, 185, 152, 152, 152, 152, 152,
+ 186, 152, 120, 152, 152, 152, 152, 152,
};
static encode_aux_pigeonhole _vq_auxp_res0_128_1024_4 = {
-2, 1, 4, 2,
_vq_pigeonmap_res0_128_1024_4,
- 178,
+ 1081,
_vq_fitlist_res0_128_1024_4,
_vq_fitmap_res0_128_1024_4,
_vq_fitlength_res0_128_1024_4
diff --git a/lib/books/res0_128_1024_5.vqh b/lib/books/res0_128_1024_5.vqh
index 5d351c50..5d59439d 100644
--- a/lib/books/res0_128_1024_5.vqh
+++ b/lib/books/res0_128_1024_5.vqh
@@ -27,45 +27,45 @@ static long _vq_quantlist_res0_128_1024_5[] = {
};
static long _vq_lengthlist_res0_128_1024_5[] = {
- 2, 7, 6,14,14, 0, 5, 5,11,11, 0, 5, 5,10,10, 0,
- 6, 6, 9, 9, 0, 0, 0, 9, 9, 7, 9, 9,15,13, 0, 9,
- 8,13,12, 0, 8, 9,11,12, 0,11, 9,13,11, 0, 0, 0,
- 10,13, 6, 9, 9,14,15, 0, 8, 9,12,13, 0, 9, 8,12,
- 11, 0, 9,11,11,13, 0, 0, 0,12,10,13,13,14, 0, 0,
- 0,14,14, 0,16, 0,13,14,15,17, 0,17,14, 0,17, 0,
- 0, 0,14,17,13,15,15, 0,16, 0,13,16, 0, 0, 0,15,
- 13, 0,14, 0,14, 0,14, 0, 0, 0, 0, 0,16, 0, 0, 0,
+ 4, 6, 6,10,10, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
+ 0, 0, 8, 8, 0, 0, 0, 8, 8, 6, 8, 7,11,10, 0, 7,
+ 7,10, 9, 0, 7, 7,10, 9, 0, 0, 0,10,10, 0, 0, 0,
+ 10,10, 6, 7, 8,10,11, 0, 7, 7, 9,10, 0, 7, 7, 9,
+ 10, 0, 0, 0,10,10, 0, 0, 0,10,10,10,11,10,12,11,
+ 0,11,10,13,12, 0,11,11,13,12, 0, 0, 0,14,13, 0,
+ 0, 0,14,13,10,10,11,12,13, 0,11,11,12,12, 0,11,
+ 11,12,13, 0, 0, 0,13,14, 0, 0, 0,13,14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 8, 9,13,15, 0, 6, 6,11,13,
- 0, 6, 8,10,13, 0, 9, 8,10,10, 0, 0, 0,10,12, 5,
- 9, 8,16,13, 0, 6, 6,12,11, 0, 8, 6,13,10, 0, 8,
- 9,10,10, 0, 0, 0,12,10,10,13,13, 0, 0, 0,12,11,
- 15,17, 0,11,13,13, 0, 0,16,12,15,14, 0, 0, 0,14,
- 16,11,13,12, 0,15, 0,11,13,17,14, 0,13,11,16,14,
- 0,12,14,14,15, 0, 0, 0,16,13, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5, 7, 7,11,10, 0, 7, 6,10, 9,
+ 0, 6, 6,10, 9, 0, 0, 0,10, 9, 0, 0, 0, 9, 9, 5,
+ 7, 7,10,11, 0, 6, 7, 9, 9, 0, 6, 6, 9,10, 0, 0,
+ 0, 9,10, 0, 0, 0, 9, 9, 8,10, 9,13,12, 0,10, 9,
+ 12,10, 0, 9, 9,12,11, 0, 0, 0,13,11, 0, 0, 0,12,
+ 12, 8, 9,10,12,13, 0, 9, 9,10,11, 0, 9,10,11,12,
+ 0, 0, 0,11,12, 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 9, 8,17,13, 0, 8, 6,13,11, 0, 7, 6,
- 11,10, 0, 9, 8,13,10, 0, 0, 0,10,10, 5, 8, 9,13,
- 15, 0, 6, 7,11,13, 0, 6, 7,10,12, 0, 8, 9,10,12,
- 0, 0, 0,10,10,10,12,11, 0,14, 0,13,10,17,14, 0,
- 10,11,13,14, 0,15,11, 0,13, 0, 0, 0,12,15,10,11,
- 12,14, 0, 0,10,13,13,15, 0,11,10,13,14, 0,11,17,
- 14,16, 0, 0, 0,16,12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5, 7, 7,11,11, 0, 6, 6, 9, 9, 0, 7, 6,
+ 9, 9, 0, 0, 0,10, 9, 0, 0, 0,10, 9, 5, 7, 7,11,
+ 11, 0, 6, 6, 9, 9, 0, 6, 7, 9, 9, 0, 0, 0, 9, 9,
+ 0, 0, 0, 9,10, 8,10, 9,12,12, 0, 9, 9,12,11, 0,
+ 10, 9,12,10, 0, 0, 0,12,12, 0, 0, 0,12,11, 8, 9,
+ 10,12,13, 0, 9, 9,11,12, 0, 9,10,10,12, 0, 0, 0,
+ 12,13, 0, 0, 0,11,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 9,11,14,17, 0, 8, 9,12,15, 0, 8, 9,11,17, 0,
- 10,10,12,14, 0, 0, 0,11,14, 6,11, 9,17,14, 0, 8,
- 8,15,12, 0, 9, 8,15,11, 0,10,10,14,12, 0, 0, 0,
- 13,11, 9,12,12,15, 0, 0,10,10,13,16, 0,10,12,14,
- 16, 0,13,11,13,13, 0, 0, 0,13, 0, 9,12,11, 0,15,
- 0, 9,10,14,14, 0,12,10,17,13, 0,11,12,12,13, 0,
- 0, 0,16,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
- 13,11, 0,14, 0,12,10, 0,13, 0,10,10,14,12, 0,13,
- 11, 0,14, 0, 0, 0,13,12, 9,10,13,14, 0, 0,10,11,
- 13,17, 0,10,10,12,15, 0,11,13,14,16, 0, 0, 0,12,
+ 0, 0, 8,10, 9,14,13, 0,10, 9,13,11, 0, 9, 9,12,
+ 12, 0, 0, 0,13,11, 0, 0, 0,12,12, 8,10,10,13,14,
+ 0, 9,10,11,12, 0, 9, 9,12,12, 0, 0, 0,11,12, 0,
+ 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
+ 10,10,14,13, 0,10, 9,12,12, 0,10, 9,13,11, 0, 0,
+ 0,12,11, 0, 0, 0,12,11, 8,10,10,13,14, 0, 9, 9,
+ 12,12, 0, 9,10,11,13, 0, 0, 0,12,12, 0, 0, 0,11,
12,
};
@@ -90,164 +90,157 @@ static long _vq_pigeonmap_res0_128_1024_5[] = {
static long _vq_fitlist_res0_128_1024_5[] = {
0, 1, 2, 3, 6, 7, 8, 11,
- 12, 13, 16, 17, 18, 25, 26, 27,
- 28, 31, 32, 33, 36, 37, 38, 41,
- 42, 43, 50, 51, 52, 53, 56, 57,
- 58, 61, 62, 63, 66, 67, 68, 75,
- 76, 77, 81, 82, 86, 87, 88, 91,
- 92, 150, 151, 152, 153, 156, 157, 158,
- 161, 162, 163, 166, 167, 168, 175, 176,
- 177, 178, 181, 182, 183, 186, 187, 188,
- 191, 192, 193, 200, 201, 202, 206, 207,
- 208, 211, 212, 213, 216, 217, 218, 275,
- 276, 277, 278, 281, 282, 283, 286, 287,
- 288, 291, 292, 293, 300, 301, 302, 303,
- 306, 307, 308, 311, 316, 325, 326, 327,
- 331, 332, 333, 336, 341, 400, 401, 402,
- 403, 406, 407, 408, 411, 412, 413, 416,
- 417, 418, 425, 426, 427, 428, 431, 432,
- 433, 436, 441, 450, 451, 452, 453, 456,
- 457, 458, 461, 466, 4, 9, 14, 19,
- 29, 34, 39, 44, 54, 59, 64, 69,
- 84, 89, 94, 154, 159, 164, 169, 179,
- 184, 189, 194, 209, 219, 279, 284, 289,
- 294, 304, 309, 312, 317, 329, 334, 337,
- 342, 404, 409, 414, 419, 429, 434, 437,
- 442, 459, 462, 467, 314, 319, 339, 344,
- 439, 444, 464, 469, 23, 48, 73, 98,
- 173, 198, 223, 298, 313, 338, 423, 438,
- 463, 24, 49, 74, 99, 174, 199, 224,
- 299, 424, 324, 349, 449, 323, 348, 448,
- 473, 100, 101, 102, 106, 107, 111, 112,
- 116, 118, 225, 226, 227, 231, 232, 233,
- 236, 237, 238, 241, 242, 243, 318, 350,
- 351, 352, 353, 356, 357, 358, 361, 366,
- 443, 475, 476, 477, 481, 482, 483, 486,
- 491, 104, 114, 229, 234, 239, 244, 359,
- 362, 367, 479, 484, 487, 492, 364, 369,
- 489, 494, 248, 363, 488, 124, 249, 374,
- 499, 373, 498, 368, 493, 575, 576, 577,
- 581, 582, 586, 591, 579, 584, 587, 592,
- 589, 594, 588, 599, 598, 600, 601, 602,
- 603, 606, 607, 608, 611, 616, 609, 612,
- 617, 614, 619, 613, 624, 623, 618, 0,
- 1, 3, 6, 8, 11, 13, 16, 18,
- 25, 26, 28, 31, 33, 36, 38, 41,
- 43, 50, 51, 53, 56, 58, 61, 63,
- 66, 68, 75, 76, 81, 86, 88, 91,
- 150, 151, 153, 156, 158, 161, 163, 166,
- 168, 175, 176, 178, 181, 183, 186, 188,
- 191, 193, 200, 201, 206, 208, 211, 213,
- 216, 218, 275, 276, 278, 281, 283, 286,
- 288, 291, 293, 300, 301, 303, 306, 308,
- 311, 313, 316, 318, 325, 326, 331, 333,
- 336, 338, 341, 400, 401, 403, 406, 408,
- 411, 413, 416, 418, 425, 426, 428, 431,
- 433, 436, 438, 441, 443, 450, 451, 453,
- 456, 458, 461, 463, 466, 468, 23, 48,
- 73, 98, 173, 198, 223, 298, 323, 348,
- 423, 448, 473, 100, 101, 106, 111, 116,
- 118, 225, 226, 231, 233, 236, 238, 241,
- 243, 350, 351, 353, 356, 358, 361, 363,
- 366, 368, 475, 476, 481, 483, 486, 488,
- 491, 493, 248, 373, 498, 575, 576, 581,
- 586, 588, 591, 598, 600, 601, 603, 606,
- 608, 611, 613, 616, 618, 623, 0, 1,
- 2, 3, 6, 7, 8, 16, 17, 18,
- 25, 26, 27, 28, 31, 32, 33, 41,
- 42, 43, 50, 51, 52, 53, 56, 57,
- 58, 66, 67, 68, 75, 76, 77, 81,
- 82, 91, 92, 150, 151, 152, 153, 156,
- 157, 158, 166, 167, 168, 175, 176, 177,
- 178, 181, 182, 183, 191, 192, 193, 200,
- 201, 202, 206, 207, 208, 216, 217, 218,
- 275, 276, 277, 278, 281, 282, 283, 291,
- 292, 293, 300, 301, 306, 307, 308, 316,
- 317, 318, 325, 326, 331, 332, 333, 341,
- 342, 400, 401, 402, 403, 406, 407, 408,
- 416, 417, 418, 425, 426, 431, 432, 433,
- 441, 442, 443, 450, 451, 456, 457, 458,
- 466, 467, 468, 4, 9, 19, 29, 34,
- 44, 54, 59, 69, 84, 94, 154, 159,
- 169, 179, 184, 194, 209, 219, 279, 284,
- 294, 302, 309, 319, 327, 334, 344, 404,
- 409, 419, 427, 434, 444, 452, 459, 469,
- 304, 329, 429, 100, 101, 102, 106, 107,
- 116, 118, 225, 226, 227, 231, 232, 233,
- 241, 242, 243, 303, 350, 351, 356, 357,
- 358, 366, 367, 368, 428, 475, 476, 481,
- 482, 483, 491, 492, 493, 104, 229, 234,
- 244, 352, 359, 369, 477, 484, 494, 479,
- 353, 575, 576, 581, 582, 591, 592, 577,
- 584, 594, 579, 600, 601, 606, 607, 608,
- 616, 617, 618, 602, 609, 619, 603, 0,
- 1, 2, 3, 6, 7, 8, 11, 12,
- 13, 16, 17, 18, 25, 26, 27, 28,
- 31, 32, 33, 36, 37, 38, 41, 42,
- 43, 75, 76, 77, 81, 82, 86, 87,
- 88, 91, 92, 150, 151, 152, 153, 156,
- 157, 158, 161, 162, 163, 166, 167, 168,
- 200, 201, 202, 206, 207, 208, 211, 212,
- 213, 216, 217, 218, 275, 276, 277, 278,
- 281, 282, 283, 286, 287, 288, 291, 292,
- 293, 325, 326, 327, 331, 332, 333, 336,
- 337, 338, 341, 342, 400, 401, 402, 403,
- 406, 407, 408, 411, 412, 413, 416, 417,
- 418, 450, 451, 452, 453, 456, 457, 458,
- 461, 462, 463, 466, 467, 468, 4, 9,
- 14, 19, 29, 34, 39, 44, 84, 89,
- 94, 154, 159, 164, 169, 209, 219, 279,
- 284, 289, 294, 329, 334, 339, 344, 404,
- 409, 414, 419, 459, 464, 469, 23, 48,
- 98, 173, 223, 298, 348, 423, 473, 24,
- 49, 99, 174, 224, 299, 349, 424, 575,
- 576, 577, 581, 582, 586, 587, 588, 591,
- 592, 579, 584, 589, 594, 598, 599, 0,
- 1, 2, 3, 6, 7, 8, 11, 12,
- 13, 16, 17, 18, 25, 26, 27, 28,
- 31, 32, 33, 36, 37, 38, 41, 42,
+ 12, 13, 18, 25, 26, 27, 28, 31,
+ 32, 33, 36, 37, 38, 43, 50, 51,
+ 52, 53, 56, 57, 58, 61, 62, 63,
+ 68, 75, 76, 77, 78, 81, 82, 83,
+ 86, 87, 88, 93, 150, 151, 152, 153,
+ 156, 157, 158, 161, 162, 163, 168, 175,
+ 176, 177, 178, 181, 182, 183, 186, 187,
+ 188, 193, 200, 201, 202, 203, 206, 207,
+ 208, 211, 212, 213, 218, 275, 276, 277,
+ 278, 281, 282, 283, 286, 287, 288, 293,
+ 300, 301, 302, 303, 306, 307, 308, 311,
+ 325, 326, 327, 328, 331, 332, 333, 336,
+ 450, 451, 452, 453, 456, 457, 458, 461,
+ 4, 9, 14, 19, 29, 34, 39, 44,
+ 54, 59, 64, 69, 79, 84, 89, 94,
+ 154, 159, 164, 169, 179, 184, 189, 194,
+ 204, 209, 214, 219, 279, 284, 289, 294,
+ 304, 309, 312, 329, 334, 337, 454, 459,
+ 462, 314, 319, 339, 344, 464, 469, 23,
+ 48, 73, 98, 173, 198, 223, 298, 313,
+ 338, 463, 24, 49, 74, 99, 174, 199,
+ 224, 299, 324, 349, 474, 323, 348, 473,
+ 100, 101, 102, 103, 106, 107, 108, 111,
+ 112, 113, 118, 225, 226, 227, 228, 231,
+ 232, 233, 236, 237, 238, 243, 318, 350,
+ 351, 352, 353, 356, 357, 358, 361, 475,
+ 476, 477, 478, 481, 482, 483, 486, 104,
+ 109, 114, 119, 229, 234, 239, 244, 354,
+ 359, 362, 479, 484, 487, 364, 369, 489,
+ 494, 123, 248, 363, 488, 124, 249, 374,
+ 499, 373, 498, 368, 493, 343, 575, 576,
+ 577, 578, 581, 582, 583, 586, 579, 584,
+ 587, 589, 594, 588, 599, 598, 600, 601,
+ 602, 603, 606, 607, 608, 611, 604, 609,
+ 612, 614, 619, 613, 624, 623, 618, 593,
+ 0, 1, 3, 6, 8, 11, 13, 18,
+ 25, 26, 28, 31, 33, 36, 38, 43,
+ 50, 51, 53, 56, 58, 61, 63, 68,
+ 75, 76, 78, 81, 83, 86, 88, 93,
+ 150, 151, 153, 156, 158, 161, 163, 168,
+ 175, 176, 178, 181, 183, 186, 188, 193,
+ 200, 201, 203, 206, 208, 211, 213, 218,
+ 275, 276, 278, 281, 283, 286, 288, 293,
+ 300, 301, 303, 306, 308, 311, 313, 318,
+ 325, 326, 328, 331, 333, 336, 338, 343,
+ 450, 451, 453, 456, 458, 461, 463, 468,
+ 23, 48, 73, 98, 173, 198, 223, 298,
+ 323, 348, 473, 100, 101, 103, 106, 108,
+ 111, 113, 118, 225, 226, 228, 231, 233,
+ 236, 238, 243, 350, 351, 353, 356, 358,
+ 361, 363, 368, 475, 476, 478, 481, 483,
+ 486, 488, 493, 123, 248, 373, 498, 575,
+ 576, 578, 581, 583, 586, 588, 593, 598,
+ 600, 601, 603, 606, 608, 611, 613, 618,
+ 623, 0, 1, 2, 3, 6, 7, 8,
+ 18, 25, 26, 27, 28, 31, 32, 33,
43, 50, 51, 52, 53, 56, 57, 58,
- 61, 66, 75, 76, 77, 81, 82, 86,
- 91, 150, 151, 152, 153, 156, 157, 158,
- 161, 162, 163, 166, 167, 168, 175, 176,
- 177, 178, 181, 182, 183, 186, 187, 188,
- 191, 192, 193, 200, 201, 202, 206, 207,
- 208, 211, 212, 213, 216, 217, 218, 400,
- 401, 402, 403, 406, 407, 408, 411, 412,
- 413, 416, 417, 418, 425, 426, 427, 428,
- 431, 432, 433, 436, 437, 438, 441, 442,
- 443, 450, 451, 452, 453, 456, 457, 458,
- 461, 462, 463, 466, 467, 468, 4, 9,
+ 68, 75, 76, 77, 78, 81, 82, 83,
+ 93, 150, 151, 152, 153, 156, 157, 158,
+ 168, 175, 176, 177, 178, 181, 182, 183,
+ 193, 200, 201, 202, 203, 206, 207, 208,
+ 218, 275, 276, 277, 278, 281, 282, 283,
+ 293, 300, 301, 306, 307, 308, 318, 325,
+ 326, 331, 332, 333, 343, 450, 451, 456,
+ 457, 458, 468, 4, 9, 19, 29, 34,
+ 44, 54, 59, 69, 79, 84, 94, 154,
+ 159, 169, 179, 184, 194, 204, 209, 219,
+ 279, 284, 294, 302, 309, 319, 327, 334,
+ 344, 452, 459, 469, 304, 329, 454, 100,
+ 101, 102, 103, 106, 107, 108, 118, 225,
+ 226, 227, 228, 231, 232, 233, 243, 303,
+ 350, 351, 356, 357, 358, 368, 475, 476,
+ 481, 482, 483, 493, 104, 109, 119, 229,
+ 234, 244, 352, 359, 369, 477, 484, 494,
+ 354, 479, 353, 478, 328, 575, 576, 581,
+ 582, 583, 593, 577, 584, 594, 579, 600,
+ 601, 606, 607, 608, 618, 602, 609, 619,
+ 604, 603, 578, 0, 1, 2, 3, 6,
+ 7, 8, 11, 12, 13, 18, 25, 26,
+ 27, 28, 31, 32, 33, 36, 37, 38,
+ 43, 75, 76, 77, 78, 81, 82, 83,
+ 86, 87, 88, 93, 150, 151, 152, 153,
+ 156, 157, 158, 161, 162, 163, 168, 200,
+ 201, 202, 203, 206, 207, 208, 211, 212,
+ 213, 218, 275, 276, 277, 278, 281, 282,
+ 283, 286, 287, 288, 293, 325, 326, 327,
+ 328, 331, 332, 333, 336, 337, 338, 343,
+ 450, 451, 452, 453, 456, 457, 458, 461,
+ 462, 463, 468, 4, 9, 14, 19, 29,
+ 34, 39, 44, 79, 84, 89, 94, 154,
+ 159, 164, 169, 204, 209, 214, 219, 279,
+ 284, 289, 294, 329, 334, 339, 344, 454,
+ 459, 464, 469, 23, 48, 98, 173, 223,
+ 298, 348, 473, 24, 49, 99, 174, 224,
+ 299, 349, 474, 575, 576, 577, 578, 581,
+ 582, 583, 586, 587, 588, 593, 579, 584,
+ 589, 594, 598, 599, 0, 1, 2, 3,
+ 6, 7, 8, 11, 12, 13, 18, 25,
+ 26, 27, 28, 31, 32, 33, 36, 37,
+ 38, 43, 50, 51, 52, 53, 56, 57,
+ 58, 61, 75, 76, 77, 78, 81, 82,
+ 83, 86, 150, 151, 152, 153, 156, 157,
+ 158, 161, 162, 163, 168, 175, 176, 177,
+ 178, 181, 182, 183, 186, 187, 188, 193,
+ 200, 201, 202, 203, 206, 207, 208, 211,
+ 212, 213, 218, 450, 451, 452, 453, 456,
+ 457, 458, 461, 462, 463, 468, 4, 9,
14, 19, 29, 34, 39, 44, 54, 59,
- 62, 67, 84, 87, 92, 154, 159, 164,
- 169, 179, 184, 189, 194, 209, 219, 404,
- 409, 414, 419, 429, 434, 439, 444, 459,
- 464, 469, 64, 69, 89, 94, 23, 48,
- 63, 88, 173, 198, 223, 423, 448, 473,
- 24, 49, 174, 199, 224, 424, 449, 74,
- 99, 73, 98, 68, 100, 101, 102, 106,
- 107, 111, 116, 225, 226, 227, 231, 232,
- 233, 236, 237, 238, 241, 242, 243, 475,
- 476, 477, 481, 482, 483, 486, 487, 488,
- 491, 492, 493, 104, 112, 229, 234, 239,
- 244, 479, 484, 489, 494, 114, 248, 498,
- 249, 499, 124, 118,
+ 62, 79, 84, 87, 154, 159, 164, 169,
+ 179, 184, 189, 194, 204, 209, 214, 219,
+ 454, 459, 464, 469, 64, 69, 89, 94,
+ 23, 48, 63, 88, 173, 198, 223, 473,
+ 24, 49, 174, 199, 224, 474, 74, 99,
+ 73, 98, 68, 100, 101, 102, 103, 106,
+ 107, 108, 111, 225, 226, 227, 228, 231,
+ 232, 233, 236, 237, 238, 243, 475, 476,
+ 477, 478, 481, 482, 483, 486, 487, 488,
+ 493, 104, 109, 112, 229, 234, 239, 244,
+ 479, 484, 489, 494, 114, 119, 113, 248,
+ 498, 249, 499, 124, 123, 118, 0, 1,
+ 2, 3, 6, 7, 8, 18, 25, 26,
+ 27, 28, 31, 32, 33, 43, 50, 51,
+ 56, 57, 58, 68, 75, 76, 81, 82,
+ 83, 93, 150, 151, 152, 153, 156, 157,
+ 158, 168, 175, 176, 177, 178, 181, 182,
+ 183, 193, 200, 201, 202, 203, 206, 207,
+ 208, 218, 450, 451, 452, 453, 456, 457,
+ 458, 468, 4, 9, 19, 29, 34, 44,
+ 52, 59, 69, 77, 84, 94, 154, 159,
+ 169, 179, 184, 194, 204, 209, 219, 454,
+ 459, 469, 54, 79, 53, 100, 101, 106,
+ 107, 108, 118, 225, 226, 227, 228, 231,
+ 232, 233, 243, 475, 476, 477, 478, 481,
+ 482, 483, 493, 102, 109, 119, 229, 234,
+ 244, 479, 484, 494, 104, 103,
};
static long _vq_fitmap_res0_128_1024_5[] = {
- 0, 335, 510, 335, 735, 335, 735, 335,
- 911, 335, 911, 335, 735, 335, 735, 335,
+ 0, 288, 441, 288, 627, 288, 627, 288,
+ 780, 288, 966, 288, 627, 288, 627, 288,
};
static long _vq_fitlength_res0_128_1024_5[] = {
- 335, 175, 225, 175, 176, 175, 176, 175,
- 229, 175, 229, 175, 176, 175, 176, 175,
+ 288, 153, 186, 153, 153, 153, 153, 153,
+ 186, 153, 120, 153, 153, 153, 153, 153,
};
static encode_aux_pigeonhole _vq_auxp_res0_128_1024_5 = {
-2, 1, 4, 2,
_vq_pigeonmap_res0_128_1024_5,
- 1140,
+ 1086,
_vq_fitlist_res0_128_1024_5,
_vq_fitmap_res0_128_1024_5,
_vq_fitlength_res0_128_1024_5
diff --git a/lib/books/res0_128_1024_6.vqh b/lib/books/res0_128_1024_6.vqh
index ae0c7ebf..135a98a6 100644
--- a/lib/books/res0_128_1024_6.vqh
+++ b/lib/books/res0_128_1024_6.vqh
@@ -27,33 +27,36 @@ static long _vq_quantlist_res0_128_1024_6[] = {
};
static long _vq_lengthlist_res0_128_1024_6[] = {
- 1, 6, 6, 0,12, 5, 5, 5, 0,12, 0, 5, 4,10,10, 0,
- 12,12,12,11, 0,12, 0, 0,12, 6,10, 9, 0, 0,10,12,
- 9, 0, 0, 0, 9,10,12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 7, 9,10, 0, 0,10, 9,11, 0, 0, 0,11, 7, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0,
+ 1, 4, 5,12,12, 0, 5, 5,14,15, 0, 5, 5, 0,15, 0,
+ 0, 0,15,14, 0, 0, 0,13,15, 4, 9, 8,15,13, 0,11,
+ 11, 0, 0, 0,11,10, 0,15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 8, 9,14,14, 0,11,11, 0, 0, 0,11,11, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,11, 0,14,15, 0,
+ 0, 0, 0, 0, 0, 0, 0,14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,11,14,14, 0, 0, 0, 0, 0, 0, 0, 0,15,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,12, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9, 9,
- 0, 0, 9,10, 9, 0, 0, 0,10, 9,12, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 9,12, 0, 0, 9, 9, 8, 0, 0,
- 0,10,12,12, 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 5,
- 12, 8, 0, 0,11,10,10, 0, 0, 0, 0, 9, 0,12, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5,11,10, 0, 0, 0,12,11, 0, 0,
+ 0,11,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
+ 11,12,15, 0, 0,11,12, 0, 0, 0,11,11, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,15,13, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5,11,11, 0, 0, 0,11,10, 0, 0, 0,13,10,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,10,11, 0,
+ 0, 0,11,12,15, 0, 0,11,12, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,15,15,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5,10, 7, 0,12, 9,12, 9, 0, 0, 0, 9,10,
- 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 7, 0, 0,
- 0, 9, 9,12, 0, 0, 0, 9, 9,12, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 9, 0,10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,12,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,11, 0, 0, 0, 0,
+ 0, 0,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61,16 +64,13 @@ static long _vq_lengthlist_res0_128_1024_6[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,
- 0,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,14,15, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
};
static float _vq_quantthresh_res0_128_1024_6[] = {
- -4.5, -1.5, 1.5, 4.5,
+ -7.5, -2.5, 2.5, 7.5,
};
static long _vq_quantmap_res0_128_1024_6[] = {
@@ -89,18 +89,18 @@ static long _vq_pigeonmap_res0_128_1024_6[] = {
};
static long _vq_fitlist_res0_128_1024_6[] = {
- 0, 1, 2, 5, 6, 7, 11, 12,
- 13, 16, 17, 18, 25, 26, 27, 30,
- 31, 32, 36, 37, 38, 50, 51, 52,
- 55, 56, 57, 61, 62, 77, 125, 126,
- 127, 130, 131, 132, 136, 137, 138, 150,
- 151, 152, 155, 156, 157, 161, 162, 163,
- 167, 175, 176, 177, 180, 181, 182, 187,
- 200, 275, 276, 277, 280, 281, 282, 286,
- 287, 300, 301, 305, 306, 307, 311, 325,
- 327, 427, 4, 9, 14, 19, 64, 189,
- 279, 289, 312, 21, 48, 313, 24, 100,
- 105, 350, 351, 575, 577,
+ 0, 1, 2, 3, 6, 7, 8, 11,
+ 12, 18, 25, 26, 27, 28, 31, 32,
+ 36, 37, 50, 51, 52, 53, 56, 57,
+ 61, 62, 75, 77, 78, 87, 150, 151,
+ 152, 156, 157, 161, 162, 175, 176, 177,
+ 178, 181, 182, 186, 187, 200, 275, 276,
+ 277, 281, 282, 286, 287, 300, 301, 302,
+ 306, 307, 308, 311, 325, 326, 336, 450,
+ 4, 9, 14, 19, 29, 39, 54, 312,
+ 23, 24, 199, 324, 100, 101, 102, 111,
+ 112, 225, 226, 236, 352, 475, 476, 600,
+ 601,
};
static long _vq_fitmap_res0_128_1024_6[] = {
@@ -109,14 +109,14 @@ static long _vq_fitmap_res0_128_1024_6[] = {
};
static long _vq_fitlength_res0_128_1024_6[] = {
- 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93,
+ 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89,
};
static encode_aux_pigeonhole _vq_auxp_res0_128_1024_6 = {
- -6, 3, 4, 2,
+ -10, 5, 4, 2,
_vq_pigeonmap_res0_128_1024_6,
- 93,
+ 89,
_vq_fitlist_res0_128_1024_6,
_vq_fitmap_res0_128_1024_6,
_vq_fitlength_res0_128_1024_6
@@ -125,7 +125,7 @@ static encode_aux_pigeonhole _vq_auxp_res0_128_1024_6 = {
static static_codebook _vq_book_res0_128_1024_6 = {
4, 625,
_vq_lengthlist_res0_128_1024_6,
- 1, -531103744, 1614282752, 3, 0,
+ 1, -529268736, 1616117760, 3, 0,
_vq_quantlist_res0_128_1024_6,
NULL,
&_vq_auxt_res0_128_1024_6,
diff --git a/lib/books/res0_128_1024_6a.vqh b/lib/books/res0_128_1024_6a.vqh
index 987bd522..5b870d63 100644
--- a/lib/books/res0_128_1024_6a.vqh
+++ b/lib/books/res0_128_1024_6a.vqh
@@ -19,77 +19,79 @@
#include "codebook.h"
static long _vq_quantlist_res0_128_1024_6a[] = {
+ 2,
1,
+ 3,
0,
- 2,
+ 4,
};
static long _vq_lengthlist_res0_128_1024_6a[] = {
- 1, 6, 6, 9, 5, 5,10, 5, 5, 6, 9, 9, 9, 9, 8,11,
- 8, 8, 6, 8, 9,10, 8, 9,10, 8, 8, 9,10,10,13,11,
- 9, 0, 9, 9, 5, 8, 8,10, 7, 7,11, 8, 8, 5, 9, 8,
- 10, 7, 8,11, 8, 8,10,11,11,13,11,10,12,10, 9, 5,
- 8, 8, 9, 9, 7,10, 7, 8, 5, 8, 9, 8, 8, 8,10, 7,
- 7,
+ 2, 6, 5, 8, 8,13, 5, 5, 8, 8,14, 5, 5, 8, 8,15,
+ 12,13, 8, 8,13,13,13, 8, 8, 6, 8, 7, 9, 9,14, 8,
+ 8,10,10,14, 8, 8,10,10,16,15,14,10,10,16,14,15,
+ 10,10, 6, 7, 8, 9,10,13, 8, 8,10,10,15, 8, 8,10,
+ 10,15,16,14,10,10,16,15,15,10,10, 8, 9, 9,10,10,
+ 14,10,11,11,11,15,11,11,11,11,16,15,16,12,12,16,
+ 15,17,12,13, 8, 9,10,10,10,14,11,11,11,11,15,10,
+ 11,11,11,15,15,15,12,13,16,16,16,13,12,13,14,14,
+ 14,14,17,14,15,15,17,17,14,15,15,14,17,17,17,15,
+ 17,17,17,17,17,16, 5, 8, 8,11,11,15, 8, 7,10,10,
+ 14, 8, 8,10,10,15,14,15,10,10,16,15,15, 9,10, 5,
+ 8, 8,11,11,14, 7, 8,10,10,15, 8, 8,10,10,16,15,
+ 15,10,10,16,14,14,10,10, 8,10,10,11,11,14,10,10,
+ 11,11,15,10,10,11,11,17,17,16,11,12,17,15,16,11,
+ 11, 8,10,10,11,11,15,10,10,11,11,16,10,10,12,11,
+ 15,15,16,11,11,14,14,15,12,11,13,14,14,16,15,16,
+ 14,14,15,14,16,15,16,15,15,17,17,17,16,15,17,17,
+ 17,15,16, 5, 8, 8,11,10,15, 8, 8,10,10,16, 8, 7,
+ 11,10,16,14,16,10,10,15,15,15,10,10, 5, 8, 8,10,
+ 11,15, 8, 8,10,10,14, 7, 8,10,10,15,14,15,10,10,
+ 15,14,14,10,10, 8,10,10,11,11,15,10,10,11,11,15,
+ 10,10,11,11,17,15,15,11,12,16,14,16,12,12, 8,10,
+ 10,11,11,15,10,10,11,11,17,10,10,11,11,15,15,15,
+ 12,11,17,15,14,12,11,13,14,14,16,15,17,16,14,16,
+ 15,17,15,15,16,15,17,17,17,17,17,17,17,17,16,17,
+ 13,13,14,16,15,17,14,15,15,16,17,15,14,15,14,16,
+ 15,17,15,16,16,17,17,17,15,12,14,14,15,15,17,14,
+ 14,17,16,16,15,15,17,14,17,17,17,14,15,17,16,17,
+ 15,17, 7,10,10,12,12,17,10,10,11,11,15,10,10,11,
+ 12,15,15,16,11,11,17,15,15,11,12, 7,10,10,12,12,
+ 17,10,10,12,11,17,10,10,12,11,16,16,15,11,11,16,
+ 15,16,11,11,13,15,15,17,15,17,16,15,16,15,17,16,
+ 15,17,15,17,17,17,17,16,17,17,17,15,16,12,14,14,
+ 14,16,15,14,14,16,16,17,14,14,14,17,17,17,16,16,
+ 16,17,17,16,15,15,13,13,14,16,15,17,15,14,15,15,
+ 17,14,14,16,15,16,16,17,14,15,17,17,17,15,16, 8,
+ 10,10,13,13,16,10,10,11,13,15,10, 9,12,11,16,15,
+ 15,11,11,17,16,16,11,11, 8,10,10,12,12,15,10,10,
+ 12,11,14,10,10,12,11,15,15,15,12,11,16,15,15,11,
+ 11,
};
static float _vq_quantthresh_res0_128_1024_6a[] = {
- -0.5, 0.5,
+ -1.5, -0.5, 0.5, 1.5,
};
static long _vq_quantmap_res0_128_1024_6a[] = {
- 1, 0, 2,
+ 3, 1, 0, 2, 4,
};
static encode_aux_threshmatch _vq_auxt_res0_128_1024_6a = {
_vq_quantthresh_res0_128_1024_6a,
_vq_quantmap_res0_128_1024_6a,
- 3,
- 3
-};
-
-static long _vq_pigeonmap_res0_128_1024_6a[] = {
- 0, 0,
-};
-
-static long _vq_fitlist_res0_128_1024_6a[] = {
- 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80,
-};
-
-static long _vq_fitmap_res0_128_1024_6a[] = {
- 0,
-};
-
-static long _vq_fitlength_res0_128_1024_6a[] = {
- 80,
-};
-
-static encode_aux_pigeonhole _vq_auxp_res0_128_1024_6a = {
- -1, 1, 2, 1,
- _vq_pigeonmap_res0_128_1024_6a,
- 80,
- _vq_fitlist_res0_128_1024_6a,
- _vq_fitmap_res0_128_1024_6a,
- _vq_fitlength_res0_128_1024_6a
+ 5,
+ 5
};
static static_codebook _vq_book_res0_128_1024_6a = {
- 4, 81,
+ 4, 625,
_vq_lengthlist_res0_128_1024_6a,
- 1, -535822336, 1611661312, 2, 0,
+ 1, -533725184, 1611661312, 3, 0,
_vq_quantlist_res0_128_1024_6a,
NULL,
&_vq_auxt_res0_128_1024_6a,
- &_vq_auxp_res0_128_1024_6a,
+ NULL,
0
};
diff --git a/lib/books/res0_128_1024_7.vqh b/lib/books/res0_128_1024_7.vqh
index 163b8e6b..d66d7a8c 100644
--- a/lib/books/res0_128_1024_7.vqh
+++ b/lib/books/res0_128_1024_7.vqh
@@ -27,50 +27,50 @@ static long _vq_quantlist_res0_128_1024_7[] = {
};
static long _vq_lengthlist_res0_128_1024_7[] = {
- 1, 6, 7,14, 0, 4, 5, 6, 0, 0, 0, 5, 5,10,11, 0,
- 13,12,11,11, 0,12,11,10,11, 6,11,11, 0, 0, 9,11,
- 9, 0, 0, 0, 8,10,13, 0, 0, 0,13, 0,13, 0, 0,14,
- 14, 0, 6,10,11, 0,14, 9, 9,11, 0, 0, 0,10, 9, 0,
- 13, 0, 0,13,13, 0, 0, 0, 0, 0,13, 0,14, 0, 0, 0,
+ 1, 5, 5, 0,14, 0, 5, 4, 0,14, 0, 5, 5, 0, 0, 0,
+ 0, 0,14,12, 0, 0, 0,13,15, 5, 9, 7, 0,15, 0,10,
+ 8, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0,15,15, 0, 0, 0,
+ 15,15, 5, 7, 9,13, 0, 0, 9,10, 0, 0, 0, 9,10, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12,13,14,14, 0,
+ 0,14, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,14, 0,14,14, 0, 0,14,14, 0, 0, 0,14,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5, 9, 9, 0, 0, 0, 9, 8, 0,13,
+ 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,14, 0, 5,
+ 9,11, 0, 0, 0, 8,10, 0, 0, 0, 9, 8, 0, 0, 0, 0,
+ 0,14, 0, 0, 0, 0, 0,14,14, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5,10, 8, 0, 0, 0, 9, 8, 0, 0, 0,10, 9,
+ 0, 0, 0, 0, 0,14, 0, 0, 0, 0,14, 0, 5, 9,11, 0,
+ 0, 0, 8, 9,13, 0, 0, 8,10, 0, 0, 0, 0, 0, 0,13,
+ 0, 0, 0, 0,14,13,14,13, 0, 0, 0, 0,14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,14, 0, 0, 0, 0, 0, 0,13, 0,
+ 13, 0, 0, 0, 0,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,14, 0, 0,14, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 9, 9,
- 0, 0, 8, 8, 9, 0, 0, 0, 8, 8,14,14, 0,14,14,13,
- 0, 0,14,12,13,12, 6,10,11, 0, 0, 9, 9, 9,14, 0,
- 0, 9,11,14, 0, 0, 0,12,14,13, 0,14,14,13, 0, 6,
- 11,10, 0, 0, 8, 9, 9, 0, 0, 0,11, 9, 0, 0, 0,13,
- 14,13,14, 0, 0,14, 0,14,13, 0,14, 0, 0, 0, 0,14,
- 0, 0, 0,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,12, 0, 0, 0, 0,14,14, 0, 0, 0, 0, 0,14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5,11, 8, 0, 0, 8,12, 9, 0, 0, 0, 9, 8,
- 0,12, 0, 0, 0, 0, 0, 0,13,13, 0,12, 5, 8,10,14,
- 0, 8, 9,11,14, 0, 0, 8, 9,14, 0, 0, 0, 0, 0, 0,
- 0,14,14,13, 0,11, 0,12, 0, 0,13, 0,13, 0,14, 0,
- 13,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,
- 13,14, 0,13, 0,14, 0, 0, 0,14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11,13, 0, 0, 0, 0,14,14, 0, 0, 0,13, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0,14, 0, 0,12,13,
- 13, 0,14, 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,12, 0, 0, 0, 0,14,13,13, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0,11, 0,13, 0, 0,
- 14,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,14, 0, 0,
- 0,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,14,11,
- 0, 0,14, 0,14, 0, 0, 0,13,12, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,11,13, 0, 0, 0,13,14, 0, 0, 0,
- 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,
- 0, 0, 0, 0, 0,14,14, 0, 0, 0, 0,13, 0,14, 0, 0,
- 0, 0, 0, 0,14,14, 0, 0,11,12,14, 0, 0,14, 0, 0,
- 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,13,13,14, 0, 0, 0,13, 0, 0, 0, 0, 0,13, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,14, 0, 0,14, 0,
+ 0,13, 0, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,
+ 0,14, 0, 0, 0,14,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,14,14, 0, 0, 0, 0, 0,11,13, 0, 0, 0, 0,14, 0,
+ 0, 0, 0,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
};
static float _vq_quantthresh_res0_128_1024_7[] = {
- -4.5, -1.5, 1.5, 4.5,
+ -7.5, -2.5, 2.5, 7.5,
};
static long _vq_quantmap_res0_128_1024_7[] = {
@@ -89,31 +89,21 @@ static long _vq_pigeonmap_res0_128_1024_7[] = {
};
static long _vq_fitlist_res0_128_1024_7[] = {
- 0, 1, 2, 3, 5, 6, 7, 11,
- 12, 13, 16, 17, 18, 25, 26, 27,
- 30, 31, 32, 36, 37, 38, 42, 50,
- 51, 52, 55, 56, 57, 61, 62, 67,
- 68, 76, 125, 126, 127, 130, 131, 132,
- 136, 137, 138, 141, 142, 143, 150, 151,
- 152, 155, 156, 157, 158, 161, 162, 163,
- 167, 168, 175, 176, 177, 180, 181, 182,
- 186, 187, 191, 192, 193, 200, 202, 207,
- 211, 275, 276, 277, 280, 281, 282, 286,
- 287, 300, 301, 302, 303, 305, 306, 307,
- 308, 311, 325, 327, 330, 332, 336, 400,
- 401, 406, 407, 411, 425, 427, 430, 431,
- 432, 436, 450, 455, 456, 457, 14, 19,
- 44, 54, 64, 139, 169, 194, 289, 312,
- 334, 337, 434, 437, 469, 21, 22, 23,
- 47, 48, 146, 147, 148, 171, 172, 173,
- 197, 296, 297, 313, 321, 24, 74, 149,
- 199, 299, 322, 323, 102, 105, 112, 225,
- 230, 231, 237, 350, 351, 352, 353, 355,
- 357, 361, 475, 477, 480, 481, 372, 497,
- 493, 525, 526, 527, 530, 532, 536, 537,
- 550, 551, 555, 556, 561, 575, 581, 582,
- 562, 587, 589, 596, 597, 600, 601, 602,
- 605, 611,
+ 0, 1, 2, 6, 7, 11, 12, 18,
+ 25, 26, 27, 31, 32, 36, 37, 43,
+ 50, 51, 52, 53, 56, 57, 61, 62,
+ 75, 76, 77, 78, 81, 87, 150, 151,
+ 152, 156, 157, 161, 162, 175, 176, 177,
+ 181, 182, 186, 187, 193, 200, 275, 276,
+ 277, 281, 282, 286, 287, 293, 300, 301,
+ 302, 306, 307, 308, 311, 325, 326, 327,
+ 332, 450, 451, 452, 456, 4, 9, 19,
+ 29, 44, 159, 312, 462, 319, 23, 48,
+ 173, 298, 24, 49, 199, 324, 100, 102,
+ 103, 106, 107, 111, 225, 226, 236, 350,
+ 352, 357, 475, 478, 481, 486, 487, 343,
+ 575, 577, 581, 582, 594, 600, 601, 606,
+ 611, 593,
};
static long _vq_fitmap_res0_128_1024_7[] = {
@@ -122,14 +112,14 @@ static long _vq_fitmap_res0_128_1024_7[] = {
};
static long _vq_fitlength_res0_128_1024_7[] = {
- 194, 194, 194, 194, 194, 194, 194, 194,
- 194, 194, 194, 194, 194, 194, 194, 194,
+ 114, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 114,
};
static encode_aux_pigeonhole _vq_auxp_res0_128_1024_7 = {
- -6, 3, 4, 2,
+ -10, 5, 4, 2,
_vq_pigeonmap_res0_128_1024_7,
- 194,
+ 114,
_vq_fitlist_res0_128_1024_7,
_vq_fitmap_res0_128_1024_7,
_vq_fitlength_res0_128_1024_7
@@ -138,7 +128,7 @@ static encode_aux_pigeonhole _vq_auxp_res0_128_1024_7 = {
static static_codebook _vq_book_res0_128_1024_7 = {
4, 625,
_vq_lengthlist_res0_128_1024_7,
- 1, -531103744, 1614282752, 3, 0,
+ 1, -529268736, 1616117760, 3, 0,
_vq_quantlist_res0_128_1024_7,
NULL,
&_vq_auxt_res0_128_1024_7,
diff --git a/lib/books/res0_128_1024_7a.vqh b/lib/books/res0_128_1024_7a.vqh
index d48b87a7..f4501dff 100644
--- a/lib/books/res0_128_1024_7a.vqh
+++ b/lib/books/res0_128_1024_7a.vqh
@@ -19,39 +19,75 @@
#include "codebook.h"
static long _vq_quantlist_res0_128_1024_7a[] = {
+ 2,
1,
+ 3,
0,
- 2,
+ 4,
};
static long _vq_lengthlist_res0_128_1024_7a[] = {
- 3, 6, 6, 9, 5, 5,10, 5, 5, 6, 8, 8,10, 7, 7,11,
- 6, 7, 6, 8, 8, 9, 7, 7,10, 7, 7, 9,10,10,12, 9,
- 9,11, 9, 9, 5, 7, 7, 9, 6, 6,10, 6, 6, 5, 7, 7,
- 10, 6, 6,10, 6, 6,10,10,11,13,10, 9,13,10,10, 4,
- 7, 6, 9, 6, 6, 9, 5, 5, 4, 6, 7, 9, 6, 6,10, 6,
- 5,
+ 4, 6, 6, 9, 9,12, 6, 6, 7, 8,16, 6, 6, 8, 8,13,
+ 11,11, 7, 7,13,12,12, 7, 7, 6, 8, 8,10,10,14, 8,
+ 8,10, 9,16, 8, 8, 9, 9,14,13,14, 9, 9,13,13,14,
+ 9, 9, 7, 8, 8,10,10,14, 8, 8, 9, 9,14, 8, 8, 9,
+ 9,15,14,13, 9, 9,13,13,14, 9, 9, 9,11, 9,11,10,
+ 15,10,10,10,10,15,10,10,10,10,15,13,13,11,10,15,
+ 14,13,10,11, 9,10,11,10,10,14,10,10,10,10,14,10,
+ 10,10,10,13,13,14,11,11,13,14,13,10,11,13,13,14,
+ 15,15,15,14,14,15,15,14,14,14,13,14,15,14,15,14,
+ 15,14,15,15,14,14, 6, 8, 7,10,10,14, 7, 7, 9, 8,
+ 13, 7, 7, 9, 9,13,12,13, 8, 8,15,13,13, 8, 8, 6,
+ 8, 8,10,10,13, 7, 7, 8, 9,14, 7, 7, 9, 9,13,13,
+ 14, 8, 9,14,14,13, 8, 8, 8, 9, 9,10,10,15, 9, 9,
+ 10, 9,13, 9, 9,10,10,15,12,12,10,10,13,15,14, 9,
+ 10, 8, 9, 9,10,11,14, 9, 9, 9, 9,15, 9, 9, 9,10,
+ 14,13,13, 9,10,14,15,13, 9,10,13,14,14,14,14,15,
+ 15,14,15,14,15,15,13,15,14,15,15,15,15,14,14,15,
+ 15,13,15, 6, 8, 7,10,10,14, 7, 7, 9, 9,14, 7, 7,
+ 9, 9,14,13,13, 8, 8,15,13,12, 8, 8, 6, 8, 8,10,
+ 10,14, 7, 7, 9, 9,15, 7, 7, 9, 9,12,13,14, 8, 9,
+ 15,12,13, 8, 9, 7,10, 9,10,11,14, 9, 9,10, 9,15,
+ 9, 9,10, 9,15,14,13, 9,10,14,13,13,10, 9, 8, 9,
+ 9,10,11,15, 9, 9,10,10,14, 9, 9, 9,10,15,14,14,
+ 10, 9,15,13,13,10,10,12,14,13,14,14,15,14,13,15,
+ 13,15,13,14,14,15,15,14,14,14,15,15,14,14,13,14,
+ 11,13,13,14,14,15,13,13,13,14,15,13,13,14,12,14,
+ 15,14,13,12,15,14,15,13,13,12,13,13,14,14,15,13,
+ 14,14,13,15,12,13,13,13,15,14,15,14,13,15,14,14,
+ 13,13, 7, 9, 9,11,11,14, 9, 8,10, 9,13, 8, 8, 9,
+ 10,14,13,13, 9, 8,14,15,12, 8, 9, 7, 9, 9,10,10,
+ 13, 8, 8, 9, 9,15, 9, 8,10, 9,15,14,13, 8, 9,15,
+ 14,13, 9, 8,13,14,14,15,15,15,13,14,15,15,15,15,
+ 14,14,14,15,15,15,15,14,15,15,14,13,14,11,13,15,
+ 13,15,15,13,13,12,13,15,14,13,13,13,15,15,15,14,
+ 12,15,15,15,12,14,12,14,13,14,14,15,13,13,14,14,
+ 14,13,12,13,14,13,13,14,13,14,15,15,14,12,13, 7,
+ 9, 9,11,11,14, 8, 8, 9,10,15, 8, 8, 9,10,14,14,
+ 13, 8, 9,14,13,14, 9, 8, 7, 9, 9,11,10,15, 8, 8,
+ 10,10,14, 8, 8, 9,10,13,13,14, 9, 8,14,14,14, 8,
+ 9,
};
static float _vq_quantthresh_res0_128_1024_7a[] = {
- -0.5, 0.5,
+ -1.5, -0.5, 0.5, 1.5,
};
static long _vq_quantmap_res0_128_1024_7a[] = {
- 1, 0, 2,
+ 3, 1, 0, 2, 4,
};
static encode_aux_threshmatch _vq_auxt_res0_128_1024_7a = {
_vq_quantthresh_res0_128_1024_7a,
_vq_quantmap_res0_128_1024_7a,
- 3,
- 3
+ 5,
+ 5
};
static static_codebook _vq_book_res0_128_1024_7a = {
- 4, 81,
+ 4, 625,
_vq_lengthlist_res0_128_1024_7a,
- 1, -535822336, 1611661312, 2, 0,
+ 1, -533725184, 1611661312, 3, 0,
_vq_quantlist_res0_128_1024_7a,
NULL,
&_vq_auxt_res0_128_1024_7a,
diff --git a/lib/books/res0_128_1024_8.vqh b/lib/books/res0_128_1024_8.vqh
index 7367e89e..af690bf4 100644
--- a/lib/books/res0_128_1024_8.vqh
+++ b/lib/books/res0_128_1024_8.vqh
@@ -31,12 +31,12 @@ static long _vq_quantlist_res0_128_1024_8[] = {
};
static long _vq_lengthlist_res0_128_1024_8[] = {
- 1, 4, 4, 7, 7, 9,10,11,11, 5, 4, 4, 7, 7,10,10,
- 11,11, 6, 5, 5, 7, 6, 9, 9,10,10, 0, 8, 7, 7, 7,
- 9, 9,12,11, 0, 8, 8, 8, 8, 9, 9,10,10, 0,13,14,
- 9, 9, 9, 9,10,10, 0,14,13,10,11,11,11,10,10, 0,
- 0, 0,12,12,10,11,10,10, 0, 0, 0,12,13,12,12,12,
- 12,
+ 1, 4, 4, 6, 6, 7, 7, 8, 9, 6, 5, 5, 7, 7, 7, 7,
+ 9, 9, 7, 5, 5, 7, 7, 8, 8,10,10, 0, 7, 7, 7, 8,
+ 8, 8,10,11, 0, 8, 7, 8, 7, 9, 9,11,10, 0,10,10,
+ 7, 7, 9, 9,10,11, 0,10,11, 8, 7,10,10,12,11, 0,
+ 0, 0, 9,10,10,10,12,12, 0, 0, 0,10,10,10,11,13,
+ 13,
};
static float _vq_quantthresh_res0_128_1024_8[] = {
diff --git a/lib/books/res0_128_1024_8a.vqh b/lib/books/res0_128_1024_8a.vqh
index a38676c0..94cbf46c 100644
--- a/lib/books/res0_128_1024_8a.vqh
+++ b/lib/books/res0_128_1024_8a.vqh
@@ -27,8 +27,8 @@ static long _vq_quantlist_res0_128_1024_8a[] = {
};
static long _vq_lengthlist_res0_128_1024_8a[] = {
- 3, 4, 4, 5, 5, 6, 4, 4, 5, 5, 6, 4, 4, 5, 5, 6,
- 5, 5, 5, 5, 6, 6, 6, 5, 4,
+ 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 5, 4, 5, 5, 6,
+ 5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static float _vq_quantthresh_res0_128_1024_8a[] = {
diff --git a/lib/books/res0_128_1024_9.vqh b/lib/books/res0_128_1024_9.vqh
index 2a22c314..5d4213d3 100644
--- a/lib/books/res0_128_1024_9.vqh
+++ b/lib/books/res0_128_1024_9.vqh
@@ -19,51 +19,75 @@
#include "codebook.h"
static long _vq_quantlist_res0_128_1024_9[] = {
- 5,
- 4,
- 6,
- 3,
- 7,
2,
- 8,
1,
- 9,
+ 3,
0,
- 10,
+ 4,
};
static long _vq_lengthlist_res0_128_1024_9[] = {
- 1, 4, 4,12,12,12,12,12,12,12,12, 4, 5, 4,12,12,
- 12,12,12,12,12,12, 3, 5, 5,12,12,12,12,12,12,12,
+ 1, 5, 5,12,12, 5, 5,10,12,12, 6,11, 7,12,12,12,
+ 12,12,12,12,12,12,12,12,12, 5,10, 9,12,12,11,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
+ 12,12, 6, 9,10,12,12,12,12,12,12,12,12,12,12,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11, 8,11,11,
+ 11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11, 9,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11, 7,11,11,11,11,11,
+ 11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11, 9,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
+ 11,
};
static float _vq_quantthresh_res0_128_1024_9[] = {
- -760.5, -591.5, -422.5, -253.5, -84.5, 84.5, 253.5, 422.5,
- 591.5, 760.5,
+ -253.5, -84.5, 84.5, 253.5,
};
static long _vq_quantmap_res0_128_1024_9[] = {
- 9, 7, 5, 3, 1, 0, 2, 4,
- 6, 8, 10,
+ 3, 1, 0, 2, 4,
};
static encode_aux_threshmatch _vq_auxt_res0_128_1024_9 = {
_vq_quantthresh_res0_128_1024_9,
_vq_quantmap_res0_128_1024_9,
- 11,
- 11
+ 5,
+ 5
};
static static_codebook _vq_book_res0_128_1024_9 = {
- 2, 121,
+ 4, 625,
_vq_lengthlist_res0_128_1024_9,
- 1, -516265984, 1626677248, 4, 0,
+ 1, -518709248, 1626677248, 3, 0,
_vq_quantlist_res0_128_1024_9,
NULL,
&_vq_auxt_res0_128_1024_9,
diff --git a/lib/books/res0_128_1024_9a.vqh b/lib/books/res0_128_1024_9a.vqh
index 8bd33663..51770663 100644
--- a/lib/books/res0_128_1024_9a.vqh
+++ b/lib/books/res0_128_1024_9a.vqh
@@ -35,17 +35,17 @@ static long _vq_quantlist_res0_128_1024_9a[] = {
};
static long _vq_lengthlist_res0_128_1024_9a[] = {
- 1, 5, 5, 7, 7, 9, 9,10,10,11,11,11,10, 6, 4, 5,
- 7, 7, 9, 9,10,10,11,11,11,11, 7, 5, 5, 7, 7, 8,
- 8,10,10,11,10,11,11,16, 7, 7, 6, 6, 8, 8,10,10,
- 11,11,11,11,15, 8, 8, 7, 7, 9, 8, 9,10,11,11,11,
- 11,16,12,11, 8, 8, 8, 8,10, 9,10,10,12,11,16,12,
- 12, 8, 8, 9, 9,10,10,11,11,11,11,16,16,16,10,10,
- 9, 9, 9, 9,10,10,10,10,15,15,16,10,10, 9,10,10,
- 10,10,11,11,11,16,16,16,13,14,10,10,10,10,10,10,
- 10,10,16,15,16,13,13,10,10,10,10,10,10,11,11,16,
- 14,15,15,16,11,11,10,10,10,10,10,10,16,16,16,15,
- 16,12,12,10,10,10,10,10,10,
+ 1, 4, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9, 6, 6, 6,
+ 7, 7, 9, 8, 9, 9,10,10,10,10, 6, 6, 5, 7, 7, 8,
+ 8, 9, 9,10,10,10,10,16, 8, 8, 8, 8, 9, 9,10,11,
+ 11,11,12,11,16, 8, 7, 7, 8, 9,10,10,11,11,12,11,
+ 11,16,12,12, 9, 9,10,10,11,11,12,11,12,11,15,12,
+ 12, 7, 8, 9, 9,11,11,11,12,11,12,16,16,16,10,11,
+ 11,10,12,12,11,11,13,12,16,16,16,10,10,10, 8,11,
+ 10,11,13,13,13,16,16,16,15,14,11,11,11,12,12,12,
+ 13,12,16,16,16,16,15,11, 8,11,10,12,13,12,13,16,
+ 16,16,16,16,12,13,11,12,13,13,12,12,16,15,15,15,
+ 15,12,11,11,11,12,13,13,13,
};
static float _vq_quantthresh_res0_128_1024_9a[] = {
diff --git a/lib/books/res0_128_1024_9b.vqh b/lib/books/res0_128_1024_9b.vqh
index 31629367..34a19c41 100644
--- a/lib/books/res0_128_1024_9b.vqh
+++ b/lib/books/res0_128_1024_9b.vqh
@@ -35,17 +35,17 @@ static long _vq_quantlist_res0_128_1024_9b[] = {
};
static long _vq_lengthlist_res0_128_1024_9b[] = {
- 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 5,
- 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 6, 6, 7, 6, 7,
- 7, 8, 8, 8, 8, 8, 8, 9, 6, 6, 7, 7, 7, 7, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 9, 8, 8, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,
- 8, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 7, 7,
- 7, 7, 8, 7, 7, 7, 8, 8, 9, 9, 8, 8, 8, 7, 7, 8,
- 8, 7, 7, 8, 8, 8, 8, 8, 9, 9, 8, 8, 8, 8, 8, 7,
- 8, 7, 9, 8, 8, 8, 9, 8, 8, 7, 7, 7, 8, 7, 8, 8,
- 8, 8, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 9, 9, 8, 9,
- 9, 9, 8, 8, 8, 7, 7, 7, 7,
+ 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 6, 5,
+ 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 6, 6, 7, 7, 7,
+ 7, 8, 7, 7, 7, 8, 8, 8, 7, 7, 7, 7, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 9, 7, 7, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 9, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 9, 9, 8, 8, 8, 8, 8, 8, 9, 8, 8,
+ 8, 8, 9, 9, 9, 8, 9, 8, 8, 7, 8, 8, 8, 8, 8, 9,
+ 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9,
+ 9, 9, 8, 8, 8, 8, 8, 8, 8,
};
static float _vq_quantthresh_res0_128_1024_9b[] = {
diff --git a/lib/books/res0_128_1024aux.vqh b/lib/books/res0_128_1024aux.vqh
index 5c2d33c5..642c1720 100644
--- a/lib/books/res0_128_1024aux.vqh
+++ b/lib/books/res0_128_1024aux.vqh
@@ -20,13 +20,13 @@
#include "codebook.h"
static long _huff_lengthlist_res0_128_1024aux[] = {
- 13,10,11,11,14,12,14,15,14,15, 9, 2,15,15,15,15,
- 15,15, 7, 9,11,15, 9, 7,10, 8,10,11,15,15,11,15,
- 7, 3, 7, 4, 7, 6,13,15,14,15,10, 7,11, 8,11, 9,
- 15,15,10,15, 8, 4, 8, 3, 7, 5,13,15,14,15,10, 7,
- 10, 7, 9, 9,13,15,13,15,10, 6,10, 5, 8, 7,12,15,
- 12, 5,13,13,15,13,12,12, 6, 7,15, 7,15,15,15,15,
- 15,15, 5, 4,
+ 6,16, 7,13,10,13, 9,17,15,17,14, 2,17,17,17,17,
+ 17,17, 7,10, 6,17, 4, 5, 6, 7, 6,10,17,17,11,17,
+ 5, 4, 6, 5, 7, 9,17,17,10,17, 5, 6, 6, 5, 6, 9,
+ 15,17,13,17, 6, 5, 5, 4, 6, 7,17,17,10,17, 6, 7,
+ 6, 6, 6, 8,14,17,15,17, 9, 8, 8, 7, 8, 8,17,17,
+ 15, 6,15,17,16,17,15,16,10,11,17, 7,17,17,17,17,
+ 17,16, 8, 7,
};
static static_codebook _huff_book_res0_128_1024aux = {
diff --git a/lib/books/res0_128_128_1.vqh b/lib/books/res0_128_128_1.vqh
new file mode 100644
index 00000000..518f56fb
--- /dev/null
+++ b/lib/books/res0_128_128_1.vqh
@@ -0,0 +1,248 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
+ * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH *
+ * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
+ * by the XIPHOPHORUS Company, http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: static codebook autogenerated by vq/somethingorother
+
+ ********************************************************************/
+
+#ifndef _V_res0_128_128_1_VQH_
+#define _V_res0_128_128_1_VQH_
+#include "codebook.h"
+
+static long _vq_quantlist_res0_128_128_1[] = {
+ 7,
+ 6,
+ 8,
+ 5,
+ 9,
+ 4,
+ 10,
+ 3,
+ 11,
+ 2,
+ 12,
+ 1,
+ 13,
+ 0,
+ 14,
+};
+
+static long _vq_lengthlist_res0_128_128_1[] = {
+ 3, 4, 4, 5, 5, 7, 7, 9, 9,11,11,12,11,12,12, 0,
+ 4, 4, 5, 6, 7, 7, 9, 9,11,11,13,12,12,12, 0, 4,
+ 4, 6, 5, 7, 7, 9, 9,11,11,12,12,12,12, 0, 5, 5,
+ 6, 6, 8, 8, 9, 9,11,11,12,12,12,12, 0, 0, 0, 6,
+ 6, 8, 8, 9, 9,11,11,12,12,12,11, 0, 0, 0, 6, 6,
+ 8, 8,10,10,10,11,13,13,12,12, 0, 0, 0, 7, 7, 8,
+ 8,10, 9,11,11,12,12,12,12, 0, 0, 0, 8, 8, 8, 9,
+ 10,10,12,11,12,12,11,12, 0, 0, 0, 0, 0, 9, 8,10,
+ 10,11,11,13,12,12,12, 0, 0, 0, 0, 0, 9, 9,10,10,
+ 11,11,13,12,12,12, 0, 0, 0, 0, 0, 9, 9,10,10,12,
+ 12,13,14,12,12, 0, 0, 0, 0, 0,11,11,11,11,11,11,
+ 13,13,12,12, 0, 0, 0, 0, 0, 0, 0,11,11,11,12,12,
+ 14,12,13, 0, 0, 0, 0, 0, 0, 0,11,11,11,12,11,12,
+ 10,11, 0, 0, 0, 0, 0, 0, 0,11,12,11,11,12,12,11,
+ 11,
+};
+
+static float _vq_quantthresh_res0_128_128_1[] = {
+ -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5,
+ 1.5, 2.5, 3.5, 4.5, 5.5, 6.5,
+};
+
+static long _vq_quantmap_res0_128_128_1[] = {
+ 13, 11, 9, 7, 5, 3, 1, 0,
+ 2, 4, 6, 8, 10, 12, 14,
+};
+
+static encode_aux_threshmatch _vq_auxt_res0_128_128_1 = {
+ _vq_quantthresh_res0_128_128_1,
+ _vq_quantmap_res0_128_128_1,
+ 15,
+ 15
+};
+
+static long _vq_pigeonmap_res0_128_128_1[] = {
+ 4, 3, 3, 2, 1, 1, 0, 0,
+ 0, 1, 2, 2, 3, 4,
+};
+
+static long _vq_fitlist_res0_128_128_1[] = {
+ 0, 1, 2, 3, 16, 17, 18, 31,
+ 46, 4, 19, 32, 47, 6, 21, 34,
+ 49, 33, 36, 64, 63, 66, 94, 1,
+ 3, 5, 7, 16, 18, 20, 22, 33,
+ 35, 48, 50, 0, 31, 46, 2, 4,
+ 6, 8, 17, 19, 21, 23, 34, 36,
+ 49, 51, 37, 63, 65, 32, 38, 64,
+ 66, 67, 93, 95, 68, 94, 96, 3,
+ 5, 7, 9, 18, 20, 22, 24, 35,
+ 37, 50, 52, 4, 6, 8, 10, 19,
+ 21, 23, 25, 36, 38, 51, 53, 12,
+ 27, 40, 55, 33, 39, 65, 67, 34,
+ 66, 68, 42, 70, 63, 69, 95, 97,
+ 64, 96, 98, 72, 100, 7, 9, 11,
+ 13, 22, 24, 26, 28, 39, 41, 54,
+ 56, 5, 20, 37, 52, 8, 10, 12,
+ 14, 23, 25, 27, 29, 40, 42, 55,
+ 57, 43, 69, 71, 35, 67, 38, 44,
+ 70, 72, 73, 99, 101, 65, 97, 68,
+ 74, 100, 102, 9, 11, 13, 24, 26,
+ 28, 41, 43, 56, 58, 10, 12, 14,
+ 25, 27, 29, 42, 44, 57, 59, 39,
+ 71, 73, 40, 72, 74, 69, 101, 103,
+ 70, 102, 104, 16, 46, 47, 48, 78,
+ 17, 49, 79, 19, 51, 81, 109, 0,
+ 1, 18, 2, 4, 21, 31, 32, 33,
+ 63, 64, 65, 93, 94, 95, 34, 66,
+ 96, 18, 20, 46, 48, 50, 52, 78,
+ 80, 82, 108, 110, 16, 19, 21, 47,
+ 49, 51, 53, 79, 81, 83, 109, 111,
+ 3, 5, 22, 1, 4, 6, 17, 23,
+ 33, 35, 63, 65, 67, 93, 95, 97,
+ 125, 31, 34, 36, 64, 66, 68, 94,
+ 96, 98, 126, 20, 22, 48, 50, 52,
+ 54, 78, 80, 82, 84, 110, 112, 21,
+ 23, 49, 51, 53, 55, 79, 81, 83,
+ 85, 111, 113, 25, 57, 87, 115, 5,
+ 7, 18, 24, 6, 8, 19, 10, 27,
+ 35, 37, 63, 65, 67, 69, 93, 95,
+ 97, 99, 125, 127, 36, 38, 64, 66,
+ 68, 70, 94, 96, 98, 100, 126, 128,
+ 40, 72, 102, 130, 24, 26, 52, 54,
+ 56, 58, 82, 84, 86, 88, 114, 116,
+ 22, 50, 80, 112, 25, 27, 53, 55,
+ 57, 59, 83, 85, 87, 89, 115, 117,
+ 9, 11, 28, 7, 20, 10, 12, 23,
+ 29, 39, 41, 67, 69, 71, 73, 97,
+ 99, 101, 103, 129, 131, 37, 65, 95,
+ 127, 40, 42, 68, 70, 72, 74, 98,
+ 100, 102, 104, 130, 132, 26, 28, 54,
+ 56, 58, 84, 86, 88, 116, 118, 27,
+ 29, 55, 57, 59, 85, 87, 89, 117,
+ 119, 11, 13, 24, 12, 14, 25, 41,
+ 43, 69, 71, 73, 99, 101, 103, 131,
+ 133, 42, 44, 70, 72, 74, 100, 102,
+ 104, 132, 134, 16, 46, 47, 48, 78,
+ 79, 80, 108, 109, 110, 17, 49, 81,
+ 111, 31, 63, 93, 94, 95, 125, 32,
+ 64, 96, 126, 155, 156, 128, 158, 48,
+ 50, 78, 80, 82, 108, 110, 112, 140,
+ 46, 49, 51, 79, 81, 83, 109, 111,
+ 113, 141, 63, 65, 93, 95, 97, 125,
+ 127, 155, 64, 66, 94, 96, 98, 126,
+ 128, 156, 157, 158, 50, 52, 78, 80,
+ 82, 84, 108, 110, 112, 114, 140, 142,
+ 51, 53, 79, 81, 83, 85, 109, 111,
+ 113, 115, 141, 143, 55, 87, 117, 145,
+ 65, 67, 93, 95, 97, 99, 125, 127,
+ 129, 155, 157, 66, 68, 94, 96, 98,
+ 100, 126, 128, 130, 156, 158, 70, 102,
+ 132, 160, 159, 187, 188, 162, 190, 54,
+ 56, 82, 84, 86, 88, 112, 114, 116,
+ 118, 144, 146, 52, 80, 110, 142, 55,
+ 57, 83, 85, 87, 89, 113, 115, 117,
+ 119, 145, 147, 69, 71, 97, 99, 101,
+ 103, 127, 129, 131, 133, 159, 161, 67,
+ 95, 125, 157, 70, 72, 98, 100, 102,
+ 104, 128, 130, 132, 134, 160, 162, 163,
+ 189, 191, 155, 187, 158, 164, 190, 192,
+ 56, 58, 84, 86, 88, 114, 116, 118,
+ 146, 148, 57, 59, 85, 87, 89, 115,
+ 117, 119, 147, 149, 71, 73, 99, 101,
+ 103, 129, 131, 133, 161, 163, 72, 74,
+ 100, 102, 104, 130, 132, 134, 162, 164,
+ 159, 191, 193, 160, 192, 194, 78, 108,
+ 109, 110, 140, 170, 79, 111, 141, 171,
+ 143, 173, 46, 47, 93, 94, 95, 125,
+ 155, 156, 157, 187, 96, 126, 158, 188,
+ 108, 110, 140, 142, 170, 172, 78, 109,
+ 111, 141, 143, 171, 173, 80, 112, 79,
+ 81, 113, 125, 155, 157, 187, 93, 126,
+ 156, 158, 188, 110, 112, 140, 142, 144,
+ 170, 172, 174, 202, 111, 113, 141, 143,
+ 145, 171, 173, 175, 203, 115, 147, 177,
+ 205, 80, 82, 108, 114, 81, 83, 109,
+ 85, 117, 125, 127, 155, 157, 159, 187,
+ 189, 217, 126, 128, 156, 158, 160, 188,
+ 190, 218, 130, 162, 192, 220, 114, 116,
+ 142, 144, 146, 148, 172, 174, 176, 178,
+ 204, 206, 112, 140, 170, 202, 115, 117,
+ 143, 145, 147, 149, 173, 175, 177, 179,
+ 205, 207, 84, 86, 118, 82, 110, 85,
+ 87, 113, 119, 129, 131, 157, 159, 161,
+ 163, 187, 189, 191, 193, 219, 221, 127,
+ 155, 217, 130, 132, 158, 160, 162, 164,
+ 188, 190, 192, 194, 220, 222, 116, 118,
+ 144, 146, 148, 174, 176, 178, 206, 208,
+ 117, 119, 145, 147, 149, 175, 177, 179,
+ 207, 209, 86, 88, 114, 87, 89, 115,
+ 131, 133, 159, 161, 163, 189, 191, 193,
+ 221, 223, 132, 134, 160, 162, 164, 190,
+ 192, 194, 222, 224, 108, 109, 110, 140,
+ 170, 171, 172, 202, 111, 141, 173, 203,
+ 93, 125, 155, 156, 157, 187, 217, 94,
+ 126, 158, 188, 218, 140, 170, 172, 202,
+ 108, 141, 171, 173, 203, 125, 155, 157,
+ 187, 189, 217, 219, 126, 156, 158, 188,
+ 190, 218, 220, 140, 142, 170, 172, 174,
+ 202, 204, 141, 143, 171, 173, 175, 203,
+ 205, 145, 177, 207, 155, 157, 187, 189,
+ 217, 219, 156, 158, 188, 190, 218, 220,
+ 160, 192, 222, 144, 146, 172, 174, 176,
+ 178, 202, 204, 206, 208, 142, 170, 145,
+ 147, 173, 175, 177, 179, 203, 205, 207,
+ 209, 159, 161, 187, 189, 191, 193, 217,
+ 219, 221, 223, 157, 160, 162, 188, 190,
+ 192, 194, 218, 220, 222, 224, 146, 148,
+ 174, 176, 178, 204, 206, 208, 147, 149,
+ 175, 177, 179, 205, 207, 209, 161, 163,
+ 189, 191, 193, 219, 221, 223, 162, 164,
+ 190, 192, 194, 220, 222, 224,
+};
+
+static long _vq_fitmap_res0_128_128_1[] = {
+ 0, 23, 63, 109, 155, 187, 217, 267,
+ 332, 397, 443, 471, 508, 567, 632, 678,
+ 704, 731, 782, 846, 892, 916, 939, 971,
+ 1014,
+};
+
+static long _vq_fitlength_res0_128_128_1[] = {
+ 23, 40, 46, 46, 32, 30, 50, 65,
+ 65, 46, 28, 37, 59, 65, 46, 26,
+ 27, 51, 64, 46, 24, 23, 32, 43,
+ 32,
+};
+
+static encode_aux_pigeonhole _vq_auxp_res0_128_128_1 = {
+ -7, 1, 14, 5,
+ _vq_pigeonmap_res0_128_128_1,
+ 1046,
+ _vq_fitlist_res0_128_128_1,
+ _vq_fitmap_res0_128_128_1,
+ _vq_fitlength_res0_128_128_1
+};
+
+static static_codebook _vq_book_res0_128_128_1 = {
+ 2, 225,
+ _vq_lengthlist_res0_128_128_1,
+ 1, -530841600, 1611661312, 4, 0,
+ _vq_quantlist_res0_128_128_1,
+ NULL,
+ &_vq_auxt_res0_128_128_1,
+ &_vq_auxp_res0_128_128_1,
+ 0
+};
+
+
+#endif
diff --git a/lib/books/res0_128_128_2.vqh b/lib/books/res0_128_128_2.vqh
new file mode 100644
index 00000000..669af176
--- /dev/null
+++ b/lib/books/res0_128_128_2.vqh
@@ -0,0 +1,94 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
+ * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH *
+ * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
+ * by the XIPHOPHORUS Company, http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: static codebook autogenerated by vq/somethingorother
+
+ ********************************************************************/
+
+#ifndef _V_res0_128_128_2_VQH_
+#define _V_res0_128_128_2_VQH_
+#include "codebook.h"
+
+static long _vq_quantlist_res0_128_128_2[] = {
+ 1,
+ 0,
+ 2,
+};
+
+static long _vq_lengthlist_res0_128_128_2[] = {
+ 1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 6, 7, 0, 8, 9, 0,
+ 8, 8, 5, 7, 6, 0, 9, 8, 0, 8, 9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 8, 9, 0, 9, 9, 0, 9, 9, 5, 9, 9,
+ 0, 9, 9, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
+ 8, 9, 0, 9, 9, 0, 9, 9, 5, 9, 8, 0, 9, 9, 0, 9,
+ 9,
+};
+
+static float _vq_quantthresh_res0_128_128_2[] = {
+ -0.5, 0.5,
+};
+
+static long _vq_quantmap_res0_128_128_2[] = {
+ 1, 0, 2,
+};
+
+static encode_aux_threshmatch _vq_auxt_res0_128_128_2 = {
+ _vq_quantthresh_res0_128_128_2,
+ _vq_quantmap_res0_128_128_2,
+ 3,
+ 3
+};
+
+static long _vq_pigeonmap_res0_128_128_2[] = {
+ 0, 0,
+};
+
+static long _vq_fitlist_res0_128_128_2[] = {
+ 0, 1, 2, 4, 5, 7, 8, 9,
+ 10, 11, 13, 14, 16, 17, 18, 19,
+ 20, 22, 23, 25, 26, 36, 37, 38,
+ 40, 41, 43, 44, 45, 46, 47, 49,
+ 50, 52, 53, 63, 64, 65, 67, 68,
+ 70, 71, 72, 73, 74, 76, 77, 79,
+ 80,
+};
+
+static long _vq_fitmap_res0_128_128_2[] = {
+ 0,
+};
+
+static long _vq_fitlength_res0_128_128_2[] = {
+ 49,
+};
+
+static encode_aux_pigeonhole _vq_auxp_res0_128_128_2 = {
+ -1, 1, 2, 1,
+ _vq_pigeonmap_res0_128_128_2,
+ 49,
+ _vq_fitlist_res0_128_128_2,
+ _vq_fitmap_res0_128_128_2,
+ _vq_fitlength_res0_128_128_2
+};
+
+static static_codebook _vq_book_res0_128_128_2 = {
+ 4, 81,
+ _vq_lengthlist_res0_128_128_2,
+ 1, -535822336, 1611661312, 2, 0,
+ _vq_quantlist_res0_128_128_2,
+ NULL,
+ &_vq_auxt_res0_128_128_2,
+ &_vq_auxp_res0_128_128_2,
+ 0
+};
+
+
+#endif
diff --git a/lib/books/res0_128_128_3.vqh b/lib/books/res0_128_128_3.vqh
new file mode 100644
index 00000000..a90b44f1
--- /dev/null
+++ b/lib/books/res0_128_128_3.vqh
@@ -0,0 +1,94 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
+ * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH *
+ * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
+ * by the XIPHOPHORUS Company, http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: static codebook autogenerated by vq/somethingorother
+
+ ********************************************************************/
+
+#ifndef _V_res0_128_128_3_VQH_
+#define _V_res0_128_128_3_VQH_
+#include "codebook.h"
+
+static long _vq_quantlist_res0_128_128_3[] = {
+ 1,
+ 0,
+ 2,
+};
+
+static long _vq_lengthlist_res0_128_128_3[] = {
+ 3, 5, 6, 0, 4, 4, 0, 5, 4, 6, 6, 8, 0, 7, 7, 0,
+ 7, 7, 6, 8, 6, 0, 7, 7, 0, 7, 7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 7, 7, 0, 6, 6, 0, 6, 6, 5, 7, 7,
+ 0, 6, 6, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 7, 7, 0, 6, 6, 0, 6, 6, 5, 7, 6, 0, 6, 6, 0, 6,
+ 6,
+};
+
+static float _vq_quantthresh_res0_128_128_3[] = {
+ -0.5, 0.5,
+};
+
+static long _vq_quantmap_res0_128_128_3[] = {
+ 1, 0, 2,
+};
+
+static encode_aux_threshmatch _vq_auxt_res0_128_128_3 = {
+ _vq_quantthresh_res0_128_128_3,
+ _vq_quantmap_res0_128_128_3,
+ 3,
+ 3
+};
+
+static long _vq_pigeonmap_res0_128_128_3[] = {
+ 0, 0,
+};
+
+static long _vq_fitlist_res0_128_128_3[] = {
+ 0, 1, 2, 4, 5, 7, 8, 9,
+ 10, 11, 13, 14, 16, 17, 18, 19,
+ 20, 22, 23, 25, 26, 36, 37, 38,
+ 40, 41, 43, 44, 45, 46, 47, 49,
+ 50, 52, 53, 63, 64, 65, 67, 68,
+ 70, 71, 72, 73, 74, 76, 77, 79,
+ 80,
+};
+
+static long _vq_fitmap_res0_128_128_3[] = {
+ 0,
+};
+
+static long _vq_fitlength_res0_128_128_3[] = {
+ 49,
+};
+
+static encode_aux_pigeonhole _vq_auxp_res0_128_128_3 = {
+ -1, 1, 2, 1,
+ _vq_pigeonmap_res0_128_128_3,
+ 49,
+ _vq_fitlist_res0_128_128_3,
+ _vq_fitmap_res0_128_128_3,
+ _vq_fitlength_res0_128_128_3
+};
+
+static static_codebook _vq_book_res0_128_128_3 = {
+ 4, 81,
+ _vq_lengthlist_res0_128_128_3,
+ 1, -535822336, 1611661312, 2, 0,
+ _vq_quantlist_res0_128_128_3,
+ NULL,
+ &_vq_auxt_res0_128_128_3,
+ &_vq_auxp_res0_128_128_3,
+ 0
+};
+
+
+#endif
diff --git a/lib/books/res0_128_128_4.vqh b/lib/books/res0_128_128_4.vqh
new file mode 100644
index 00000000..8b0f694b
--- /dev/null
+++ b/lib/books/res0_128_128_4.vqh
@@ -0,0 +1,156 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
+ * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH *
+ * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
+ * by the XIPHOPHORUS Company, http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: static codebook autogenerated by vq/somethingorother
+
+ ********************************************************************/
+
+#ifndef _V_res0_128_128_4_VQH_
+#define _V_res0_128_128_4_VQH_
+#include "codebook.h"
+
+static long _vq_quantlist_res0_128_128_4[] = {
+ 2,
+ 1,
+ 3,
+ 0,
+ 4,
+};
+
+static long _vq_lengthlist_res0_128_128_4[] = {
+ 2, 5, 5, 7, 7, 0, 5, 5, 8, 7, 0, 5, 5, 8, 7, 0,
+ 0, 0, 9, 9, 0, 0, 0, 9, 9, 5, 6, 7, 8, 9, 0, 8,
+ 8, 9, 9, 0, 8, 8,10, 9, 0, 0, 0,11,11, 0, 0, 0,
+ 11,12, 4, 7, 6, 9, 8, 0, 8, 8,10, 9, 0, 8, 8, 9,
+ 9, 0, 0, 0,11,11, 0, 0, 0,13,12, 8, 9, 9,10,12,
+ 0,10,11,12, 0, 0,10,12,13,12, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,15, 7, 9, 9,12,10, 0,11,11,13,13, 0,12,
+ 10,15,12, 0, 0, 0,15, 0, 0, 0, 0,15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5, 8, 8,10,10, 0, 9, 9,10,10,
+ 0, 9, 9,11,10, 0, 0, 0,12,13, 0, 0, 0,12,11, 5,
+ 8, 8,11,10, 0, 9, 9,10,10, 0, 9, 9,10,10, 0, 0,
+ 0,12,12, 0, 0, 0,11,11, 7, 9, 9,12,15, 0,10,10,
+ 13,13, 0,10,11,12,13, 0, 0, 0,14, 0, 0, 0, 0, 0,
+ 0, 8, 9, 9,12,12, 0,10,10,12,13, 0,10,10,14,12,
+ 0, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5, 8, 8,10,11, 0, 8, 9,10,10, 0, 8, 9,
+ 10,11, 0, 0, 0,11,12, 0, 0, 0,11,12, 5, 8, 8,10,
+ 10, 0, 9, 9,10,10, 0, 8, 8,10,11, 0, 0, 0,12,11,
+ 0, 0, 0,11,12, 8, 9,10,13,14, 0,10,10,15,13, 0,
+ 11,11,13,15, 0, 0, 0,13, 0, 0, 0, 0, 0,15, 8,10,
+ 9,15,13, 0,11,11,13, 0, 0,10,11,12,13, 0, 0, 0,
+ 0,15, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 9,12,11,14,15, 0,12,13, 0,15, 0,11,13, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 9,11,11, 0,15,
+ 0,11,12,15,15, 0,12,11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
+ 12,11,15, 0, 0,12,13, 0, 0, 0,13,11,15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 9,11,12, 0,15, 0,12,11,
+ 13,15, 0,13,12, 0, 0, 0, 0, 0,15, 0, 0, 0, 0, 0,
+ 15,
+};
+
+static float _vq_quantthresh_res0_128_128_4[] = {
+ -1.5, -0.5, 0.5, 1.5,
+};
+
+static long _vq_quantmap_res0_128_128_4[] = {
+ 3, 1, 0, 2, 4,
+};
+
+static encode_aux_threshmatch _vq_auxt_res0_128_128_4 = {
+ _vq_quantthresh_res0_128_128_4,
+ _vq_quantmap_res0_128_128_4,
+ 5,
+ 5
+};
+
+static long _vq_pigeonmap_res0_128_128_4[] = {
+ 1, 0, 0, 0,
+};
+
+static long _vq_fitlist_res0_128_128_4[] = {
+ 0, 1, 2, 3, 6, 7, 8, 11,
+ 12, 13, 18, 25, 26, 27, 28, 31,
+ 32, 33, 36, 37, 38, 43, 50, 51,
+ 52, 53, 56, 57, 58, 61, 62, 63,
+ 68, 75, 76, 77, 78, 81, 82, 83,
+ 86, 87, 88, 150, 151, 152, 153, 156,
+ 157, 158, 161, 162, 163, 168, 175, 176,
+ 177, 178, 181, 182, 183, 186, 187, 188,
+ 193, 200, 201, 202, 203, 206, 207, 208,
+ 211, 212, 213, 218, 275, 276, 277, 278,
+ 281, 282, 283, 286, 287, 288, 293, 300,
+ 301, 302, 303, 306, 307, 308, 311, 325,
+ 326, 327, 328, 331, 332, 333, 336, 450,
+ 451, 452, 453, 456, 457, 461, 4, 9,
+ 14, 19, 29, 34, 39, 44, 54, 59,
+ 64, 69, 79, 89, 154, 159, 164, 169,
+ 179, 184, 189, 194, 204, 209, 214, 279,
+ 284, 289, 294, 304, 309, 312, 329, 334,
+ 337, 454, 459, 462, 314, 319, 339, 23,
+ 48, 73, 173, 198, 298, 313, 338, 24,
+ 49, 74, 99, 174, 199, 299, 324, 349,
+ 323, 473, 100, 101, 102, 103, 106, 107,
+ 108, 111, 112, 113, 118, 225, 226, 227,
+ 228, 231, 232, 233, 236, 237, 238, 318,
+ 350, 351, 352, 353, 356, 357, 358, 361,
+ 475, 476, 477, 481, 482, 483, 486, 104,
+ 109, 114, 229, 234, 239, 244, 354, 362,
+ 479, 484, 487, 364, 369, 123, 363, 373,
+ 343, 575, 576, 577, 578, 581, 582, 586,
+ 587, 588, 600, 601, 602, 606, 607, 608,
+ 611, 604, 609, 612, 624, 618,
+};
+
+static long _vq_fitmap_res0_128_128_4[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+static long _vq_fitlength_res0_128_128_4[] = {
+ 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246,
+};
+
+static encode_aux_pigeonhole _vq_auxp_res0_128_128_4 = {
+ -2, 1, 4, 2,
+ _vq_pigeonmap_res0_128_128_4,
+ 246,
+ _vq_fitlist_res0_128_128_4,
+ _vq_fitmap_res0_128_128_4,
+ _vq_fitlength_res0_128_128_4
+};
+
+static static_codebook _vq_book_res0_128_128_4 = {
+ 4, 625,
+ _vq_lengthlist_res0_128_128_4,
+ 1, -533725184, 1611661312, 3, 0,
+ _vq_quantlist_res0_128_128_4,
+ NULL,
+ &_vq_auxt_res0_128_128_4,
+ &_vq_auxp_res0_128_128_4,
+ 0
+};
+
+
+#endif
diff --git a/lib/books/res0_128_128_5.vqh b/lib/books/res0_128_128_5.vqh
new file mode 100644
index 00000000..d933e292
--- /dev/null
+++ b/lib/books/res0_128_128_5.vqh
@@ -0,0 +1,260 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
+ * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH *
+ * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
+ * by the XIPHOPHORUS Company, http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: static codebook autogenerated by vq/somethingorother
+
+ ********************************************************************/
+
+#ifndef _V_res0_128_128_5_VQH_
+#define _V_res0_128_128_5_VQH_
+#include "codebook.h"
+
+static long _vq_quantlist_res0_128_128_5[] = {
+ 2,
+ 1,
+ 3,
+ 0,
+ 4,
+};
+
+static long _vq_lengthlist_res0_128_128_5[] = {
+ 4, 6, 6,11,10, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
+ 0, 0, 8, 8, 0, 0, 0, 8, 8, 6, 7, 7,11,11, 0, 7,
+ 7, 9, 9, 0, 7, 7, 9, 9, 0, 0, 0,10,11, 0, 0, 0,
+ 10,10, 6, 8, 7,12,10, 0, 7, 7,10, 9, 0, 7, 7,10,
+ 9, 0, 0, 0,10,11, 0, 0, 0,10, 9,11,10,12,12,13,
+ 0,11,12,12,12, 0,10,12,12,13, 0, 0, 0,14, 0, 0,
+ 0, 0,13,12,10,12,11,14,11, 0,10,12,12,13, 0,11,
+ 13,12,11, 0, 0, 0,13,13, 0, 0, 0,13,13, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5, 7, 7,11,11, 0, 6, 6, 9, 9,
+ 0, 6, 6, 9, 9, 0, 0, 0, 9, 9, 0, 0, 0, 9, 9, 5,
+ 7, 7,12,11, 0, 7, 6,10, 9, 0, 7, 7,10, 9, 0, 0,
+ 0, 9, 9, 0, 0, 0, 9,10, 8, 9,10,13,13, 0, 9,10,
+ 10,12, 0, 9,10,12,12, 0, 0, 0,13,13, 0, 0, 0,12,
+ 12, 8,10, 9,14,11, 0, 9, 9,11,10, 0, 9, 9,12,11,
+ 0, 0, 0,12,11, 0, 0, 0,14,11, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5, 7, 7,11,11, 0, 6, 6, 9, 9, 0, 6, 6,
+ 9,10, 0, 0, 0, 9, 9, 0, 0, 0, 9,10, 5, 7, 7,11,
+ 10, 0, 6, 7, 9, 9, 0, 6, 6,10, 9, 0, 0, 0, 9, 9,
+ 0, 0, 0,10, 9, 8, 9,10,13,14, 0,10, 9,11,12, 0,
+ 9, 9,11,13, 0, 0, 0,12,14, 0, 0, 0,11,14, 8,10,
+ 9,13,14, 0,10, 9,13,11, 0, 9, 9,12,10, 0, 0, 0,
+ 12,11, 0, 0, 0,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 8,10,10,13,13, 0, 9,10,13,12, 0, 9, 9,12,
+ 12, 0, 0, 0,13,14, 0, 0, 0,11,11, 8,11,10,14,13,
+ 0,10, 9,12,12, 0, 9, 9,11,11, 0, 0, 0,14,12, 0,
+ 0, 0,12,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
+ 10,10,12,14, 0,10, 9,12,12, 0, 9,10,13,13, 0, 0,
+ 0,11,11, 0, 0, 0, 0,12, 8,10,11,13,12, 0, 9, 9,
+ 13,12, 0, 9, 9,12,11, 0, 0, 0,11,12, 0, 0, 0,13,
+ 12,
+};
+
+static float _vq_quantthresh_res0_128_128_5[] = {
+ -1.5, -0.5, 0.5, 1.5,
+};
+
+static long _vq_quantmap_res0_128_128_5[] = {
+ 3, 1, 0, 2, 4,
+};
+
+static encode_aux_threshmatch _vq_auxt_res0_128_128_5 = {
+ _vq_quantthresh_res0_128_128_5,
+ _vq_quantmap_res0_128_128_5,
+ 5,
+ 5
+};
+
+static long _vq_pigeonmap_res0_128_128_5[] = {
+ 1, 0, 0, 0,
+};
+
+static long _vq_fitlist_res0_128_128_5[] = {
+ 0, 1, 2, 3, 6, 7, 8, 11,
+ 12, 13, 18, 25, 26, 27, 28, 31,
+ 32, 33, 36, 37, 38, 43, 50, 51,
+ 52, 53, 56, 57, 58, 61, 62, 63,
+ 68, 75, 76, 77, 78, 81, 82, 83,
+ 86, 87, 88, 93, 150, 151, 152, 153,
+ 156, 157, 158, 161, 162, 163, 168, 175,
+ 176, 177, 178, 181, 182, 183, 186, 187,
+ 188, 193, 200, 201, 202, 203, 206, 207,
+ 208, 211, 212, 213, 218, 275, 276, 277,
+ 278, 281, 282, 283, 286, 287, 288, 293,
+ 300, 301, 302, 303, 306, 307, 308, 311,
+ 325, 326, 327, 328, 331, 332, 333, 336,
+ 450, 451, 452, 453, 456, 457, 458, 461,
+ 4, 9, 14, 19, 29, 34, 39, 44,
+ 54, 59, 64, 69, 79, 84, 89, 154,
+ 159, 164, 169, 179, 184, 189, 194, 204,
+ 209, 214, 219, 279, 284, 289, 294, 304,
+ 309, 312, 329, 334, 337, 454, 459, 462,
+ 314, 319, 339, 344, 464, 469, 23, 48,
+ 73, 98, 173, 198, 223, 298, 313, 338,
+ 463, 24, 49, 74, 99, 174, 199, 224,
+ 299, 324, 349, 474, 323, 348, 473, 100,
+ 101, 102, 103, 106, 107, 108, 111, 112,
+ 113, 118, 225, 226, 227, 228, 231, 232,
+ 233, 236, 237, 238, 243, 318, 350, 351,
+ 352, 353, 356, 357, 358, 361, 475, 476,
+ 477, 478, 481, 482, 483, 486, 104, 109,
+ 114, 119, 229, 234, 239, 244, 354, 359,
+ 362, 479, 484, 487, 364, 369, 489, 494,
+ 123, 248, 363, 488, 124, 249, 374, 499,
+ 373, 498, 368, 493, 343, 575, 576, 577,
+ 578, 581, 582, 583, 586, 579, 584, 587,
+ 589, 594, 588, 599, 600, 601, 602, 603,
+ 606, 607, 608, 611, 604, 609, 612, 614,
+ 619, 613, 624, 623, 618, 593, 0, 1,
+ 3, 6, 8, 11, 13, 18, 25, 26,
+ 28, 31, 33, 36, 38, 43, 50, 51,
+ 53, 56, 58, 61, 63, 68, 75, 76,
+ 78, 81, 83, 86, 88, 93, 150, 151,
+ 153, 156, 158, 161, 163, 168, 175, 176,
+ 178, 181, 183, 186, 188, 193, 200, 201,
+ 203, 206, 208, 211, 213, 218, 275, 276,
+ 278, 281, 283, 286, 288, 293, 300, 301,
+ 303, 306, 308, 311, 313, 318, 325, 326,
+ 328, 331, 333, 336, 338, 343, 450, 451,
+ 453, 456, 458, 461, 463, 468, 23, 48,
+ 73, 98, 173, 198, 223, 298, 323, 348,
+ 473, 100, 101, 103, 106, 108, 111, 113,
+ 118, 225, 226, 228, 231, 233, 236, 238,
+ 243, 350, 351, 353, 356, 358, 361, 363,
+ 368, 475, 476, 478, 481, 483, 486, 488,
+ 493, 123, 248, 373, 498, 575, 576, 578,
+ 581, 583, 586, 588, 593, 600, 601, 603,
+ 606, 608, 611, 613, 618, 623, 0, 1,
+ 2, 3, 6, 7, 8, 18, 25, 26,
+ 27, 28, 31, 32, 33, 43, 50, 51,
+ 52, 53, 56, 57, 58, 68, 75, 76,
+ 77, 78, 81, 82, 83, 93, 150, 151,
+ 152, 153, 156, 157, 158, 168, 175, 176,
+ 177, 178, 181, 182, 183, 193, 200, 201,
+ 202, 203, 206, 207, 208, 218, 275, 276,
+ 277, 278, 281, 282, 283, 293, 300, 301,
+ 306, 307, 308, 318, 325, 326, 331, 332,
+ 333, 343, 450, 451, 456, 457, 458, 468,
+ 4, 9, 19, 29, 34, 44, 54, 59,
+ 69, 79, 84, 154, 159, 169, 179, 184,
+ 194, 204, 209, 219, 279, 284, 294, 302,
+ 309, 319, 327, 334, 344, 452, 459, 469,
+ 304, 329, 454, 100, 101, 102, 103, 106,
+ 107, 108, 118, 225, 226, 227, 228, 231,
+ 232, 233, 243, 303, 350, 351, 356, 357,
+ 358, 368, 475, 476, 481, 482, 483, 493,
+ 104, 109, 119, 229, 234, 244, 352, 359,
+ 369, 477, 484, 494, 354, 479, 353, 478,
+ 328, 575, 576, 581, 582, 583, 593, 577,
+ 584, 594, 579, 600, 601, 606, 607, 608,
+ 618, 602, 609, 619, 604, 603, 578, 0,
+ 1, 2, 3, 6, 7, 8, 11, 12,
+ 13, 18, 25, 26, 27, 28, 31, 32,
+ 33, 36, 37, 38, 43, 75, 76, 77,
+ 78, 81, 82, 83, 86, 87, 88, 93,
+ 150, 151, 152, 153, 156, 157, 158, 161,
+ 162, 163, 168, 200, 201, 202, 203, 206,
+ 207, 208, 211, 212, 213, 218, 275, 276,
+ 277, 278, 281, 282, 283, 286, 287, 288,
+ 293, 325, 326, 327, 328, 331, 332, 333,
+ 336, 337, 338, 343, 450, 451, 452, 453,
+ 456, 457, 458, 461, 462, 463, 468, 4,
+ 9, 14, 19, 29, 34, 39, 44, 79,
+ 84, 89, 154, 159, 164, 169, 204, 209,
+ 214, 219, 279, 284, 289, 294, 329, 334,
+ 339, 344, 454, 459, 464, 469, 23, 48,
+ 98, 173, 223, 298, 348, 473, 24, 49,
+ 99, 174, 224, 299, 349, 474, 575, 576,
+ 577, 578, 581, 582, 583, 586, 587, 588,
+ 593, 579, 584, 589, 594, 599, 0, 1,
+ 2, 3, 6, 7, 8, 11, 12, 13,
+ 18, 25, 26, 27, 28, 31, 32, 33,
+ 36, 37, 38, 43, 50, 51, 52, 53,
+ 56, 57, 58, 61, 75, 76, 77, 78,
+ 81, 82, 83, 86, 150, 151, 152, 153,
+ 156, 157, 158, 161, 162, 163, 168, 175,
+ 176, 177, 178, 181, 182, 183, 186, 187,
+ 188, 193, 200, 201, 202, 203, 206, 207,
+ 208, 211, 212, 213, 218, 450, 451, 452,
+ 453, 456, 457, 458, 461, 462, 463, 468,
+ 4, 9, 14, 19, 29, 34, 39, 44,
+ 54, 59, 62, 79, 84, 87, 154, 159,
+ 164, 169, 179, 184, 189, 194, 204, 209,
+ 214, 219, 454, 459, 464, 469, 64, 69,
+ 89, 23, 48, 63, 88, 173, 198, 223,
+ 473, 24, 49, 174, 199, 224, 474, 74,
+ 99, 73, 98, 68, 100, 101, 102, 103,
+ 106, 107, 108, 111, 225, 226, 227, 228,
+ 231, 232, 233, 236, 237, 238, 243, 475,
+ 476, 477, 478, 481, 482, 483, 486, 487,
+ 488, 493, 104, 109, 112, 229, 234, 239,
+ 244, 479, 484, 489, 494, 114, 119, 113,
+ 248, 498, 249, 499, 124, 123, 118, 0,
+ 1, 2, 3, 6, 7, 8, 18, 25,
+ 26, 27, 28, 31, 32, 33, 43, 50,
+ 51, 56, 57, 58, 68, 75, 76, 81,
+ 82, 83, 93, 150, 151, 152, 153, 156,
+ 157, 158, 168, 175, 176, 177, 178, 181,
+ 182, 183, 193, 200, 201, 202, 203, 206,
+ 207, 208, 218, 450, 451, 452, 453, 456,
+ 457, 458, 468, 4, 9, 19, 29, 34,
+ 44, 52, 59, 69, 77, 84, 154, 159,
+ 169, 179, 184, 194, 204, 209, 219, 454,
+ 459, 469, 54, 79, 53, 100, 101, 106,
+ 107, 108, 118, 225, 226, 227, 228, 231,
+ 232, 233, 243, 475, 476, 477, 478, 481,
+ 482, 483, 493, 102, 109, 119, 229, 234,
+ 244, 479, 484, 494, 104, 103,
+};
+
+static long _vq_fitmap_res0_128_128_5[] = {
+ 0, 286, 438, 286, 623, 286, 623, 286,
+ 774, 286, 959, 286, 623, 286, 623, 286,
+};
+
+static long _vq_fitlength_res0_128_128_5[] = {
+ 286, 152, 185, 152, 151, 152, 151, 152,
+ 185, 152, 119, 152, 151, 152, 151, 152,
+};
+
+static encode_aux_pigeonhole _vq_auxp_res0_128_128_5 = {
+ -2, 1, 4, 2,
+ _vq_pigeonmap_res0_128_128_5,
+ 1078,
+ _vq_fitlist_res0_128_128_5,
+ _vq_fitmap_res0_128_128_5,
+ _vq_fitlength_res0_128_128_5
+};
+
+static static_codebook _vq_book_res0_128_128_5 = {
+ 4, 625,
+ _vq_lengthlist_res0_128_128_5,
+ 1, -533725184, 1611661312, 3, 0,
+ _vq_quantlist_res0_128_128_5,
+ NULL,
+ &_vq_auxt_res0_128_128_5,
+ &_vq_auxp_res0_128_128_5,
+ 0
+};
+
+
+#endif
diff --git a/lib/books/res0_128_128aux.vqh b/lib/books/res0_128_128aux.vqh
index 975ccb05..9e0abe95 100644
--- a/lib/books/res0_128_128aux.vqh
+++ b/lib/books/res0_128_128aux.vqh
@@ -20,13 +20,13 @@
#include "codebook.h"
static long _huff_lengthlist_res0_128_128aux[] = {
- 7,11, 7, 7,11, 8,12,10,12,11, 9, 3,11,11,11,11,
- 11,11, 8,11, 8,11, 6, 5,10, 6,11, 8,11,11, 6,11,
- 4, 2, 8, 4,11, 7,11,11,11,11,11, 8,11, 9,11,11,
- 11,11, 8,11, 6, 3,10, 4,10, 7,11,11,10,11,11,10,
- 10, 9,11,11,11,11,11,11, 9, 7,10, 6,10, 8,11,11,
- 11, 4,11,11,11,11,11,11, 9,11,11, 6,11,11,11,11,
- 11,11,10,11,
+ 7,12, 5, 7, 9,10,12,14,15,16,13, 3,16,16,16,16,
+ 16,16, 9,12, 5,16, 2, 3, 6, 6,10,11,16,16, 7,16,
+ 3, 4, 7, 7,11,12,16,16, 7,16, 5, 7, 8, 8,11,14,
+ 16,16, 9,16, 6, 7, 9, 8,13,15,16,16,11,16, 8,10,
+ 11,12,15,14,16,16,12,16, 9,10,12,12,13,15,16,16,
+ 16,14,16,16,16,16,16,16,16,16,13, 4,16,16,16,16,
+ 16,16, 7, 8,
};
static static_codebook _huff_book_res0_128_128aux = {
diff --git a/lib/mapping0.c b/lib/mapping0.c
index 8261cfa4..5cf0b3a2 100644
--- a/lib/mapping0.c
+++ b/lib/mapping0.c
@@ -11,7 +11,7 @@
********************************************************************
function: channel mapping 0 implementation
- last mod: $Id: mapping0.c,v 1.33.2.4 2001/08/02 22:14:21 xiphmont Exp $
+ last mod: $Id: mapping0.c,v 1.33.2.5 2001/08/07 03:47:22 xiphmont Exp $
********************************************************************/
@@ -46,7 +46,7 @@ typedef struct {
vorbis_look_floor **floor_look;
vorbis_look_residue **residue_look;
- vorbis_look_psy *psy_look;
+ vorbis_look_psy *psy_look[2];
vorbis_func_time **time_func;
vorbis_func_floor **floor_func;
@@ -82,9 +82,13 @@ static void mapping0_free_look(vorbis_look_mapping *look){
l->floor_func[i]->free_look(l->floor_look[i]);
l->residue_func[i]->free_look(l->residue_look[i]);
}
- if(l->psy_look){
- _vp_psy_clear(l->psy_look);
- _ogg_free(l->psy_look);
+ if(l->psy_look[1] && l->psy_look[1]!=l->psy_look[0]){
+ _vp_psy_clear(l->psy_look[1]);
+ _ogg_free(l->psy_look[1]);
+ }
+ if(l->psy_look[0]){
+ _vp_psy_clear(l->psy_look[0]);
+ _ogg_free(l->psy_look[0]);
}
_ogg_free(l->time_func);
_ogg_free(l->floor_func);
@@ -110,7 +114,6 @@ static vorbis_look_mapping *mapping0_look(vorbis_dsp_state *vd,vorbis_info_mode
look->floor_look=_ogg_calloc(info->submaps,sizeof(vorbis_look_floor *));
look->residue_look=_ogg_calloc(info->submaps,sizeof(vorbis_look_residue *));
- if(ci->psys)look->psy_look=_ogg_calloc(1,sizeof(vorbis_look_psy));
look->time_func=_ogg_calloc(info->submaps,sizeof(vorbis_func_time *));
look->floor_func=_ogg_calloc(info->submaps,sizeof(vorbis_func_floor *));
@@ -133,10 +136,29 @@ static vorbis_look_mapping *mapping0_look(vorbis_dsp_state *vd,vorbis_info_mode
}
if(ci->psys && vd->analysisp){
- int psynum=info->psy;;
- _vp_psy_init(look->psy_look,ci->psy_param[psynum],
- ci->psy_g_param,
- ci->blocksizes[vm->blockflag]/2,vi->rate);
+ if(info->psy[0] != info->psy[1]){
+
+ int psynum=info->psy[0];
+ look->psy_look[0]=_ogg_calloc(1,sizeof(vorbis_look_psy));
+ _vp_psy_init(look->psy_look[0],ci->psy_param[psynum],
+ ci->psy_g_param,
+ ci->blocksizes[vm->blockflag]/2,vi->rate);
+
+ psynum=info->psy[1];
+ look->psy_look[1]=_ogg_calloc(1,sizeof(vorbis_look_psy));
+ _vp_psy_init(look->psy_look[1],ci->psy_param[psynum],
+ ci->psy_g_param,
+ ci->blocksizes[vm->blockflag]/2,vi->rate);
+ }else{
+
+ int psynum=info->psy[0];
+ look->psy_look[0]=_ogg_calloc(1,sizeof(vorbis_look_psy));
+ look->psy_look[1]=look->psy_look[0];
+ _vp_psy_init(look->psy_look[0],ci->psy_param[psynum],
+ ci->psy_g_param,
+ ci->blocksizes[vm->blockflag]/2,vi->rate);
+
+ }
}
look->ch=vi->channels;
@@ -276,6 +298,29 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){
float global_ampmax=vbi->ampmax;
float *local_ampmax=alloca(sizeof(float)*vi->channels);
+ int blocktype;
+
+ /* we differentiate between short and long block types to help the
+ masking engine; the window shapes also matter.
+ impulse block (a short block in which an impulse occurs)
+ padding block (a short block that pads between a transitional
+ long block and an impulse block, or vice versa)
+ transition block (the wqeird one; a long block with the transition
+ window; affects bass/midrange response and that must be
+ accounted for in masking)
+ long block (run of the mill long block)
+ */
+
+ if(vb->W){
+ if(!vb->lW || !vb->nW)
+ blocktype=BLOCKTYPE_TRANSITION;
+ else
+ blocktype=BLOCKTYPE_LONG;
+ }else{
+ /* right now we're missing the infrastructure to distingush the
+ two short types */
+ blocktype=BLOCKTYPE_IMPULSE;
+ }
for(i=0;i<vi->channels;i++){
float scale=4.f/n;
@@ -333,7 +378,7 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){
/* perform psychoacoustics; do masking */
- _vp_compute_mask(look->psy_look,
+ _vp_compute_mask(look->psy_look[blocktype],
b->psy_g_look,
i,
logfft, /* -> logmax */
@@ -357,7 +402,7 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){
_analysis_output("mdct2",seq+i,mdct,n/2,1,1);
- _vp_remove_floor(look->psy_look,
+ _vp_remove_floor(look->psy_look[blocktype],
b->psy_g_look,
logmdct,
mdct,
@@ -412,7 +457,7 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){
int chcounter=0;
/* play a little loose with this abstraction */
- int quant_passes=look->psy_look->vi->coupling_passes;
+ int quant_passes=look->psy_look[blocktype]->vi->coupling_passes;
int stopflag=0;
for(i=0;i<vi->channels;i++){
@@ -426,7 +471,7 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){
zerobundle[0]=alloca(sizeof(int)*vi->channels);
/* initial down-quantized coupling */
- _vp_quantize_couple(look->psy_look,
+ _vp_quantize_couple(look->psy_look[blocktype],
info,
pcm,
sofar,
@@ -484,7 +529,7 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){
if(!stopflag){
/* down-couple/down-quantize from perfect-'so-far' ->
new quantized vector */
- _vp_quantize_couple(look->psy_look,
+ _vp_quantize_couple(look->psy_look[blocktype],
info,
pcm,
sofar,
diff --git a/lib/modes/mode_A.h b/lib/modes/mode_A.h
index 4e9a6ac3..b3b24a41 100644
--- a/lib/modes/mode_A.h
+++ b/lib/modes/mode_A.h
@@ -11,7 +11,7 @@
********************************************************************
function: predefined encoding modes
- last mod: $Id: mode_A.h,v 1.14.4.5.2.2 2001/08/03 06:48:13 xiphmont Exp $
+ last mod: $Id: mode_A.h,v 1.14.4.5.2.3 2001/08/07 03:47:33 xiphmont Exp $
********************************************************************/
@@ -79,17 +79,84 @@ static vorbis_info_psy_global _psy_set_AG={
};
static vp_couple_pass _psy_passA0[]={
- {1.f,1.f, { {9999, {9e10f,0.f}, {0.f,0.f}, {0.f,0.f}, {0.f,0.f}},
- {9999, {0.f,0.f}, {0.f,0.f}, {9e10f,10.f}, {0.f,0.f}} },
+ {1.f,1.f, { {24, {9e10f,0.f}, {0.f,0.f}, {0.f,0.f}, {0.f,0.f}},
+ {9999, {0.f,0.f}, {0.f,0.f}, {9e10f,12.f}, {0.f,0.f}} },
}
};
static vp_couple_pass _psy_passA[]={
- {1.f,1.f, { {9999, {9e10f,0.f}, {0.f,0.f}, {0.f,0.f}, {0.f,0.f}},
- {9999, {0.f,0.f}, {0.f,0.f}, {9e10f,10.f}, {0.f,0.f}} },
+ {1.f,1.f, { {192, {9e10f,0.f}, {0.f,0.f}, {0.f,0.f}, {0.f,0.f}},
+ {9999, {0.f,0.f}, {0.f,0.f}, {9e10f,12.f}, {0.f,0.f}} },
}
};
+static vp_attenblock _vp_tonemask_consbass_A={
+ {{-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*63*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*88*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*125*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*175*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*250*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*350*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*500*/
+ {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*700*/
+
+ {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
+ {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
+ {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
+ {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
+
+ {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
+ {-30.f,-30.f,-33.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*11500*/
+ {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*16000*/
+}};
+
+static vp_attenblock _vp_tonemask_A={
+
+ {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/
+
+
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
+ {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
+
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
+
+ {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
+ {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/
+ {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/
+}};
+
+static vp_attenblock _vp_peakatt_A={
+ {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*63*/
+ {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*88*/
+ {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*125*/
+ {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*175*/
+ {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*250*/
+ {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*350*/
+ {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*500*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-26.f,-32.f,-40.f},/*700*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-32.f,-40.f},/*1000*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-32.f,-40.f},/*1400*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-32.f,-40.f},/*2000*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-32.f,-40.f},/*2400*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-32.f,-40.f},/*4000*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-32.f,-40.f},/*5600*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-32.f,-40.f},/*8000*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-32.f,-40.f},/*11500*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-32.f,-40.f},/*16000*/
+}};
+
static vorbis_info_psy _psy_set_A0={
ATH_Bark_dB_lineaggressive,
@@ -97,86 +164,22 @@ static vorbis_info_psy _psy_set_A0={
-140.,
0.f,
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
- /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
- /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
-
- 1,/* tonemaskp */
- 0.f, /* tone master att dB */
- /* 0 10 20 30 40 50 60 70 80 90 100 */
- {
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
-
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
- {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
- {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
- {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
-
- {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
- {-30.f,-30.f,-33.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*11500*/
- {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*16000*/
+ /* tonemaskp */
+ 1, 0.f, &_vp_tonemask_consbass_A,
+ /* peakattp */
+ 1, &_vp_peakatt_A,
- },
+ 1,/*noisemaskp */
+ -10.f, /* suppress any noise curve over maxspec+n */
+ .6f, .6f, /* low/high window */
+ 5, 5, 10,
- 1,/* peakattp */
- {{-10.f,-14.f,-26.f,-28.f,-30.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*63*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*88*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*125*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*175*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*250*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*350*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*500*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*700*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*1000*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*1400*/
-
- {-20.f,-20.f,-26.f,-30.f,-32.f,-34.f,-36.f,-36.f,-38.f,-40.f,-40.f},/*2000*/
- {-20.f,-20.f,-26.f,-30.f,-32.f,-34.f,-36.f,-36.f,-38.f,-40.f,-40.f},/*2400*/
-
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*4000*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*5600*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*8000*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*11500*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*16000*/
- },
+ /*63 125 250 500 1k 2k 4k 8k 16k*/
+ {-30,-30,-30,-30,-30,-30,-20,-10, 0, 0, 0, 0, 0, 1, 1, 2, 3},
+ {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.4f,.7f,.8f,.9f,.9f,.9f},
- 1,/*noisemaskp */
- -10.f, /* suppress any noise curve over maxspec+n */
- .5f, /* low window */
- .5f, /* high window */
- 5,
- 5,
- -1,
- {.300f, 0.f,/*63*/
- .300f, 0.f,/*88*/
- .300f, 0.f,/*125*/
- .300f, 0.f,/*175*/
- .300f, 0.f,/*250*/
- .300f, 0.f,/*350*/
- .300f, 0.f,/*500*/
- .300f, 0.f,/*700*/
- .500f, 0.f,/*1000*/
- .500f, 0.f,/*1400*/
- .500f, 0.f,/*2000*/
- .500f, 0.f,/*2800*/
- .500f, 0.f,/*4000*/
- .700f, 0.f,/*5600*/
- .850f, 0.f,/*8000*/
- .900f, 0.f,/*11500*/
- .900f, 0.f,/*16000*/
- },
-
- 105.f, /* even decade + 5 is important; saves an rint() later in a
+ 95.f, /* even decade + 5 is important; saves an rint() later in a
tight loop) */
1,
_psy_passA0
@@ -189,89 +192,49 @@ static vorbis_info_psy _psy_set_A={
-140.f,
0.f,
- /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
- /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
- /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
- 1,/* tonemaskp */
+ /* tonemask */
+ 1, 0.f,&_vp_tonemask_A,
+ /* peakattp */
+ 1, &_vp_peakatt_A,
+
+ /*noisemaskp */
+ 1, -10.f, /* suppress any noise curve over maxspec+n */
+ .4f,.4f, /* low/high window */
+ 10,10,100,
+
+ /*63 125 250 500 1k 2k 4k 8k 16k*/
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0},
+ {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.6f,.6f,.5f,.7f,.75f,.8f,.8f,.8f},
+
+ 95.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ 1,_psy_passA
+};
+
+static vorbis_info_psy _psy_set_AT={
+ ATH_Bark_dB_lineaggressive,
+
+ -100.f,
+ -140.f,
0.f,
- /* 0 10 20 30 40 50 60 70 80 90 100 */
- {
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/
-
-
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
- {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
- {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
- {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
- {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
-
- {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
-
- {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
- {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/
- {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/
- },
+ /* tonemask */
+ 1, 0.f,&_vp_tonemask_consbass_A,
+ /* peakattp */
+ 1, &_vp_peakatt_A,
- 1,/* peakattp */
- {{-10.f,-14.f,-26.f,-28.f,-30.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*63*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*88*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*125*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*175*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*250*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*350*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*500*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*700*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*1000*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-40.f,-40.f},/*1400*/
-
- {-20.f,-20.f,-26.f,-30.f,-32.f,-34.f,-36.f,-36.f,-38.f,-40.f,-40.f},/*2000*/
- {-20.f,-20.f,-26.f,-30.f,-32.f,-34.f,-36.f,-36.f,-38.f,-40.f,-40.f},/*2400*/
-
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*4000*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*5600*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*8000*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*11500*/
- {-14.f,-20.f,-20.f,-20.f,-26.f,-26.f,-30.f,-30.f,-32.f,-40.f,-40.f},/*16000*/
- },
+ /*noisemaskp */
+ 1, -10.f, /* suppress any noise curve over maxspec+n */
+ .4f,.4f, /* low/high window */
+ 10,10,100,
- 1,/*noisemaskp */
- -24.f, /* suppress any noise curve over maxspec+n */
- .5f, /* low window */
- .5f, /* high window */
- 10,
- 10,
- -1,
- {.000f, 0.f, /*63*/
- .000f, 0.f, /*88*/
- .000f, 0.f, /*125*/
- .000f, 0.f, /*175*/
- .000f, 0.f, /*250*/
- .000f, 0.f, /*350*/
- .000f, 0.f, /*500*/
- .000f, 0.f, /*700*/
- .000f, 0.f, /*1000*/
- .000f, 0.f, /*1400*/
- .300f, 0.f, /*2000*/
- .300f, 0.f, /*2800*/
- .500f, 0.f, /*4000*/
- .850f, 0.f, /*5600*/
- .900f, 0.f, /*8000*/
- .900f, 0.f, /*11500*/
- .900f, 1.f, /*16000*/
- },
-
- 105.f, /* even decade + 5 is important; saves an rint() later in a
+ /*63 125 250 500 1k 2k 4k 8k 16k*/
+ {-20,-20,-20,-20,-20,-20,-20,-10, 0, 0, -3, -3, 0, 0, 0, 0, 0},
+ {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.6f,.6f,.5f,.7f,.75f,.8f,.8f,.8f},
+
+ 95.f, /* even decade + 5 is important; saves an rint() later in a
tight loop) */
- 1,
- _psy_passA
+ 1,_psy_passA
};
/* with GNUisms, this could be short and readable. Oh well */
@@ -281,27 +244,27 @@ static vorbis_info_time0 _time_set0A={0};
/*static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3},
.082f, .126f};*/
-static vorbis_info_floor1 _floor_set0A={3,
- {0,1,2},
-
- {1,3,3},
- {0,2,2},
- {-1,0,1},
- {{2},{-1,3,4,5},{-1,6,7,8}},
+static vorbis_info_floor1 _floor_set0A={6,
+ {0,1,1,1,2,2},
+
+ {4,3,3},
+ {0,2,2},
+ {-1,0,1},
+ {{2},{-1,3,4,5},{-1,6,7,8}},
- 2,
+ 4,
- {0,128,
+ {0,128,
- 7,
+ 6,17,30,58,
+
+ 2,1,4, 11,8,14, 23,20,26,
+ 41,35,48, 84,69,103},
- 2,1,4,
- 23,13,45},
-
- 60,30,500,
- 999,999,0,18.,
- 8,70,
- 96};
+ 60,30,300,
+ 999,999,1,18.,
+ 8,70,
+ 96};
static vorbis_info_floor1 _floor_set1A={10,
{0,1,2,2,2,2,2, 3,3,3},
@@ -327,12 +290,12 @@ static vorbis_info_floor1 _floor_set1A={10,
329,282,387, 672,553,825
},
- 60,30,400,
+ 60,30,300,
20,8,1,18.,
20,600,
- 704};
+ 768};
-static vorbis_info_residue0 _residue_set0A={0,192,12,10,23,
+static vorbis_info_residue0 _residue_set0A={0,192,8,10,23,
{0,1,1,1,1,1,3,3,3,7},
{25,26,
27,
@@ -343,15 +306,15 @@ static vorbis_info_residue0 _residue_set0A={0,192,12,10,23,
33,34,
35,36,
37,38},
- {9999,9999,3,9999,4,9999,8,
+ {9999,9999,4,9999,6,9999,10,
9999,9999,9999},
- {.7f,7.5f,1.5f,1.5f,2.5f,2.5f,
- 7.5f,7.5f,22.5f},
+ {.7f,12.5f,1.5f,1.5f,2.5f,2.5f,
+ 12.5f,12.5f,22.5f},
{0},
- {99,4,99,99,99,99,99,99,99,99},
+ {99,6,99,99,99,99,99,99,99,99},
{3}};
-static vorbis_info_residue0 _residue_set1A={0,1408, 32,10,24,
+static vorbis_info_residue0 _residue_set1A={0,1536, 32,10,24,
{0,1,1,1,1,1,3,3,3,7},
{25,26,
27,
@@ -362,17 +325,17 @@ static vorbis_info_residue0 _residue_set1A={0,1408, 32,10,24,
33,34,
35,36,
37,38},
- {9999,9999,5,9999,10,9999,20,
+ {9999,9999,12,9999,18,9999,30,
9999,9999,9999},
- {.7f,7.5f,1.5f,1.5f,2.5f,2.5f,
- 7.5f,7.5f,22.5f},
+ {.7f,12.5f,1.5f,1.5f,2.5f,2.5f,
+ 12.5f,12.5f,22.5f},
{0},
- {99,18,99,99,99,99,99,99,99,99},
+ {99,12,99,99,99,99,99,99,99,99},
{3}};
-static vorbis_info_mapping0 _mapping_set0A={1, {0,0}, {0}, {0}, {0}, 0,
+static vorbis_info_mapping0 _mapping_set0A={1, {0,0}, {0}, {0}, {0}, {0,0},
1,{0},{1}};
-static vorbis_info_mapping0 _mapping_set1A={1, {0,0}, {0}, {1}, {1}, 1,
+static vorbis_info_mapping0 _mapping_set1A={1, {0,0}, {0}, {1}, {1}, {1,2},
1,{0},{1}};
static vorbis_info_mode _mode_set0A={0,0,0,0};
static vorbis_info_mode _mode_set1A={1,0,0,1};
@@ -383,7 +346,7 @@ codec_setup_info info_A={
/* smallblock, largeblock */
{256, 2048},
/* modes,maps,times,floors,residues,books,psys */
- 2, 2, 1, 2, 2, 39, 2,
+ 2, 2, 1, 2, 2, 39, 3,
/* modes */
{&_mode_set0A,&_mode_set1A},
/* maps */
@@ -444,7 +407,7 @@ codec_setup_info info_A={
},
/* psy */
- {&_psy_set_A0,&_psy_set_A},
+ {&_psy_set_A0,&_psy_set_AT,&_psy_set_A},
&_psy_set_AG
};
diff --git a/lib/os.h b/lib/os.h
new file mode 100644
index 00000000..702a2a9d
--- /dev/null
+++ b/lib/os.h
@@ -0,0 +1,163 @@
+#ifndef _OS_H
+#define _OS_H
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
+ * by the XIPHOPHORUS Company http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: #ifdef jail to whip a few platforms into the UNIX ideal.
+ last mod: $Id: os.h,v 1.26.2.1 2001/08/07 03:47:22 xiphmont Exp $
+
+ ********************************************************************/
+
+#include <math.h>
+#include <ogg/os_types.h>
+
+#ifndef _V_IFDEFJAIL_H_
+# define _V_IFDEFJAIL_H_
+
+# ifdef __GNUC__
+# define STIN static inline
+# elif _WIN32
+# define STIN static __inline
+#else
+# define STIN static
+#endif
+
+#ifndef M_PI
+# define M_PI (3.1415926536f)
+#endif
+
+#ifdef _WIN32
+# include <malloc.h>
+# define rint(x) (floor((x)+0.5f))
+# define NO_FLOAT_MATH_LIB
+# define FAST_HYPOT(a, b) sqrt((a)*(a) + (b)*(b))
+#endif
+
+#ifdef HAVE_SQRTF
+# define sqrt sqrtf
+#endif
+#ifdef HAVE_LOGF
+# define log logf
+#endif
+#ifdef HAVE_EXPF
+# define exp expf
+#endif
+#ifdef HAVE_ACOSF
+# define acos acosf
+#endif
+#ifdef HAVE_ATANF
+# define atan atanf
+#endif
+#ifdef HAVE_FREXPF
+# define frexp frexpf
+#endif
+#ifdef HAVE_RINTF
+# define rint rintf
+#endif
+
+#ifndef FAST_HYPOT
+# define FAST_HYPOT hypot
+#endif
+
+#endif
+
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#endif
+
+#ifdef USE_MEMORY_H
+# include <memory.h>
+#endif
+
+#ifndef min
+# define min(x,y) ((x)>(y)?(y):(x))
+#endif
+
+#ifndef max
+# define max(x,y) ((x)<(y)?(y):(x))
+#endif
+
+#if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__)
+# define VORBIS_FPU_CONTROL
+/* both GCC and MSVC are kinda stupid about rounding/casting to int.
+ Because of encapsulation constraints (GCC can't see inside the asm
+ block and so we end up doing stupid things like a store/load that
+ is collectively a noop), we do it this way */
+
+/* we must set up the fpu before this works!! */
+
+typedef ogg_int16_t vorbis_fpu_control;
+
+static inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){
+ ogg_int16_t ret;
+ ogg_int16_t temp;
+ __asm__ __volatile__("fnstcw %0\n\t"
+ "movw %0,%%dx\n\t"
+ "orw $62463,%%dx\n\t"
+ "movw %%dx,%1\n\t"
+ "fldcw %1\n\t":"=m"(ret):"m"(temp): "dx");
+ *fpu=ret;
+}
+
+static inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
+ __asm__ __volatile__("fldcw %0":: "m"(fpu));
+}
+
+/* assumes the FPU is in round mode! */
+static inline int vorbis_ftoi(double f){ /* yes, double! Otherwise,
+ we get extra fst/fld to
+ truncate precision */
+ int i;
+ __asm__("fistl %0": "=m"(i) : "t"(f));
+ return(i);
+}
+#endif
+
+
+#if defined(_WIN32) && !defined(__GNUC__)
+# define VORBIS_FPU_CONTROL
+
+typedef ogg_int16_t vorbis_fpu_control;
+
+static __inline int vorbis_ftoi(double f){
+ int i;
+ __asm{
+ fld f
+ fistp i
+ }
+ return i;
+}
+
+static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){
+}
+
+static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
+}
+
+#endif
+
+
+#ifndef VORBIS_FPU_CONTROL
+
+typedef int vorbis_fpu_control;
+
+static int vorbis_ftoi(double f){
+ return (int)(f+.5);
+}
+
+/* We don't have special code for this compiler/arch, so do it the slow way */
+# define vorbis_fpu_setround(vorbis_fpu_control) {}
+# define vorbis_fpu_restore(vorbis_fpu_control) {}
+
+#endif
+
+#endif /* _OS_H */
diff --git a/lib/psy.c b/lib/psy.c
index 72eb3705..12741c84 100644
--- a/lib/psy.c
+++ b/lib/psy.c
@@ -11,7 +11,7 @@
********************************************************************
function: psychoacoustics not including preecho
- last mod: $Id: psy.c,v 1.48.2.5 2001/08/03 06:48:03 xiphmont Exp $
+ last mod: $Id: psy.c,v 1.48.2.6 2001/08/07 03:47:22 xiphmont Exp $
********************************************************************/
@@ -253,15 +253,15 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,
p->octave[i]=toOC((i*.5f+.25f)*rate/n)*(1<<(p->shiftoc+1))+.5f;
p->tonecurves=_ogg_malloc(P_BANDS*sizeof(float **));
- p->noisemedian=_ogg_malloc(n*sizeof(int));
+ p->noisethresh=_ogg_malloc(n*sizeof(float));
p->noiseoffset=_ogg_malloc(n*sizeof(float));
for(i=0;i<P_BANDS;i++)
p->tonecurves[i]=_ogg_malloc(P_LEVELS*sizeof(float *));
-
+
for(i=0;i<P_BANDS;i++)
for(j=0;j<P_LEVELS;j++)
p->tonecurves[i][j]=_ogg_malloc((EHMER_MAX+2)*sizeof(float));
-
+
/* OK, yeah, this was a silly way to do it */
memcpy(p->tonecurves[0][4]+2,tone_125_40dB_SL,sizeof(float)*EHMER_MAX);
@@ -329,26 +329,32 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,
/* set up the final curves */
for(i=0;i<P_BANDS;i++)
- setup_curve(p->tonecurves[i],i,vi->toneatt[i]);
+ setup_curve(p->tonecurves[i],i,vi->toneatt->block[i]);
/* value limit the tonal masking curves; the peakatt not only
optionally specifies maximum dynamic depth, but also [always]
limits the masking curves to a minimum depth */
for(i=0;i<P_BANDS;i++)
- for(j=0;j<P_LEVELS;j++)
- for(k=2;k<EHMER_MAX+2;k++)
- if(p->tonecurves[i][j][k]>vi->peakatt[i][j])
- p->tonecurves[i][j][k]=vi->peakatt[i][j];
+ for(j=0;j<P_LEVELS;j++){
+ for(k=2;k<EHMER_OFFSET+2;k++)
+ if(p->tonecurves[i][j][k]> vi->peakatt->block[i][j])
+ p->tonecurves[i][j][k]= vi->peakatt->block[i][j];
+ for(;k<EHMER_OFFSET+4;k++)
+ if(p->tonecurves[i][j][k]> vi->peakatt->block[i][j])
+ p->tonecurves[i][j][k]= vi->peakatt->block[i][j];
+ else
+ break;
+ }
if(vi->peakattp) /* we limit depth only optionally */
for(i=0;i<P_BANDS;i++)
for(j=0;j<P_LEVELS;j++)
- if(p->tonecurves[i][j][EHMER_OFFSET+2]<vi->peakatt[i][j])
- p->tonecurves[i][j][EHMER_OFFSET+2]=vi->peakatt[i][j];
+ if(p->tonecurves[i][j][EHMER_OFFSET+2]< vi->peakatt->block[i][j])
+ p->tonecurves[i][j][EHMER_OFFSET+2]= vi->peakatt->block[i][j];
/* set up rolling noise median */
for(i=0;i<n;i++){
- float halfoc=toOC((i+.5)*rate/(2.*n))*2.+2.;
+ float halfoc=toOC((i+.5)*rate/(2.*n))*2.;
int inthalfoc;
float del;
@@ -357,15 +363,13 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,
inthalfoc=(int)halfoc;
del=halfoc-inthalfoc;
- p->noisemedian[i]=rint(
- (p->vi->noisemedian[inthalfoc*2]*(1.-del) +
- p->vi->noisemedian[inthalfoc*2+2]*del)*1024.f);
+ p->noisethresh[i]=((p->vi->noisethresh[inthalfoc]*(1.-del) +
+ p->vi->noisethresh[inthalfoc+1]*del))*2.f-1.f;
p->noiseoffset[i]=
- p->vi->noisemedian[inthalfoc*2+1]*(1.-del) +
- p->vi->noisemedian[inthalfoc*2+3]*del -
- 140.f;
+ p->vi->noiseoff[inthalfoc]*(1.-del) +
+ p->vi->noiseoff[inthalfoc+1]*del;
}
- /*_analysis_output("mediancurve",0,p->noisemedian,n,0,0);*/
+ _analysis_output("noiseoff",0,p->noiseoffset,n,0,0);
}
void _vp_psy_clear(vorbis_look_psy *p){
@@ -382,7 +386,6 @@ void _vp_psy_clear(vorbis_look_psy *p){
_ogg_free(p->tonecurves[i]);
}
_ogg_free(p->tonecurves);
- _ogg_free(p->noisemedian);
_ogg_free(p->noiseoffset);
}
memset(p,0,sizeof(vorbis_look_psy));
@@ -546,6 +549,7 @@ static void max_seeds(vorbis_look_psy *p,
}
+
/* set to match vorbis_quantdblook.h */
#define BINCOUNT 280
#define LASTBIN (BINCOUNT-1)
@@ -559,11 +563,9 @@ static int psy_dBquant(const float *x){
static void bark_noise_median(int n,const long *b,const float *f,
- float *noise,
- float lowidth,float hiwidth,
- int lomin,int himin,
- const int *thresh,const float *off,
- int fixed){
+ float *noise,
+ const int *thresh,const float *off,
+ int fixed){
int i=0,lo=-1,hi=-1,fixedc=0;
int median=LASTBIN>>1;
@@ -584,7 +586,7 @@ static void bark_noise_median(int n,const long *b,const float *f,
fixedradix[bin]++;
fixedc++;
if(bin<=median)
- fixedcountbelow++;
+ fixedcountbelow++;
}
}
@@ -595,77 +597,300 @@ static void bark_noise_median(int n,const long *b,const float *f,
int bin=psy_dBquant(f+hi);
barkradix[bin]++;
if(bin<=median)
- barkcountbelow++;
+ barkcountbelow++;
}
bi=b[i]&0xffff;
for(;lo<bi;lo++){
int bin=psy_dBquant(f+lo);
barkradix[bin]--;
if(bin<=median)
- barkcountbelow--;
+ barkcountbelow--;
}
if(fixed>0){
bi=i+(fixed>>1);
if(bi<n){
- int bin=psy_dBquant(f+bi);
- fixedradix[bin]++;
- fixedc++;
- if(bin<=median)
- fixedcountbelow++;
+ int bin=psy_dBquant(f+bi);
+ fixedradix[bin]++;
+ fixedc++;
+ if(bin<=median)
+ fixedcountbelow++;
}
bi-=fixed;
if(bi>=0){
- int bin=psy_dBquant(f+bi);
- fixedradix[bin]--;
- fixedc--;
- if(bin<=median)
- fixedcountbelow--;
+ int bin=psy_dBquant(f+bi);
+ fixedradix[bin]--;
+ fixedc--;
+ if(bin<=median)
+ fixedcountbelow--;
}
}
/* move the median if needed */
{
int bark_th = (thresh[i]*(hi-lo)+512)/1024;
+
+ if(fixed>0){
+ int fixed_th = (thresh[i]*(fixedc)+512)/1024;
+
+ while(bark_th>=barkcountbelow &&
+ fixed_th>=fixedcountbelow /* && median<LASTBIN by rep invariant */
+ ){
+ median++;
+ barkcountbelow+=barkradix[median];
+ fixedcountbelow+=fixedradix[median];
+ }
+
+ while(bark_th<barkcountbelow ||
+ fixed_th<fixedcountbelow /* && median>=0 by rep invariant */
+ ){
+ barkcountbelow-=barkradix[median];
+ fixedcountbelow-=fixedradix[median];
+ median--;
+ }
+ }else{
+ while(bark_th>=barkcountbelow){
+ median++;
+ barkcountbelow+=barkradix[median];
+ }
+
+ while(bark_th<barkcountbelow){
+ barkcountbelow-=barkradix[median];
+ median--;
+ }
+ }
+ }
+
+ noise[i]= (median+1)*.5f+off[i]-140.f;
+ }
+
+}
+
+
+static void bark_noise_pointmp(int n,const long *b,
+ const float *f,
+ float *noise,
+ const int fixed){
+ long i,hi=0,lo=0,hif=0,lof=0;
+ double xa=0,xb=0;
+ double ya=0,yb=0;
+ double x2a=0,x2b=0;
+ double y2a=0,y2b=0;
+ double xya=0,xyb=0;
+ double na=0,nb=0;
+
+ for(i=0;i<n;i++){
+ if(hi<n){
+ /* find new lo/hi */
+ int bi=b[i]>>16;
+ for(;hi<bi;hi++){
+ double bin=(f[hi]<-140.f?0.:f[hi]+140.);
+ double n= bin*bin;
+ na += n;
+ xa += hi*n;
+ ya += bin*n;
+ x2a += hi*hi*n;
+ y2a += bin*bin*n;
+ xya += hi*bin*n;
+ }
+ bi=b[i]&0xffff;
+ for(;lo<bi;lo++){
+ double bin=(f[lo]<-140.f?0.:f[lo]+140.);
+ double n= bin*bin;
+ na -= n;
+ xa -= lo*n;
+ ya -= bin*n;
+ x2a -= lo*lo*n;
+ y2a -= bin*bin*n;
+ xya -= lo*bin*n;
+ }
+ }
+
+ if(hif<n && fixed>0){
+ int bi=i-fixed/2;
+ if(bi<0)bi=0;
+ for(;hif<bi;hif++){
+ double bin=(f[hif]<-140.f?0.:f[hif]+140.);
+ double n= bin*bin;
+ nb += n;
+ xb += hif*n;
+ yb += bin*n;
+ x2b += hif*hif*n;
+ y2b += bin*bin*n;
+ xyb += hif*bin*n;
+ }
+ bi=i+(fixed+1)/2;
+ if(bi>n)bi=n;
+ for(;lof<bi;lof++){
+ double bin=(f[lof]<-140.f?0.:f[lof]+140.);
+ double n= bin*bin;
+ nb -= n;
+ xb -= lof*n;
+ yb -= bin*n;
+ x2b -= lof*lof*n;
+ y2b -= bin*bin*n;
+ xyb -= lof*bin*n;
+ }
+ }
+
+ {
+ double denom=1./(na*x2a-xa*xa);
+ double a=(ya*x2a-xya*xa)*denom;
+ double b=(na*xya-xa*ya)*denom;
+ double va=a+b*i;
if(fixed>0){
- int fixed_th = (thresh[i]*(fixedc)+512)/1024;
-
- while(bark_th<barkcountbelow ||
- fixed_th<fixedcountbelow /* && median>=0 by rep invariant */
- ){
- barkcountbelow-=barkradix[median];
- fixedcountbelow-=fixedradix[median];
- median--;
+ double denomf=1./(nb*x2b-xb*xb);
+ double af=(yb*x2b-xyb*xb)*denomf;
+ double bf=(nb*xyb-xb*yb)*denomf;
+ double vb=af+bf*i;
+ if(va>vb)va=vb;
+ }
+
+ noise[i]=va-140.f;
+ }
+ }
+}
+
+static void bark_noise_hybridmp(int n,const long *b,
+ const float *f,
+ float *noise,
+ const int fixed){
+ long i,hi=0,lo=0,hif=0,lof=0;
+ double xa=0,xb=0;
+ double ya=0,yb=0;
+ double x2a=0,x2b=0;
+ double y2a=0,y2b=0;
+ double xya=0,xyb=0;
+ double na=0,nb=0;
+ int first=-1,firstf=-1;
+ int last=0,lastf=0;
+ int rna=0,rnb=0;
+
+ for(i=0;i<n;i++){
+ if(hi<n){
+ /* find new lo/hi */
+ int bi=b[i]>>16;
+ for(;hi<bi;hi++){
+ double bin=f[hi];
+ if(bin>0.f){
+ double n= bin*bin;
+ n*=n;
+ na += n;
+ xa += hi*n;
+ ya += bin*n;
+ x2a += hi*hi*n;
+ y2a += bin*bin*n;
+ xya += hi*bin*n;
+ last=hi;
+ rna++;
+ if(first==-1)first=hi;
}
+ }
+ bi=b[i]&0xffff;
+ for(;lo<bi;lo++){
+ double bin=f[lo];
+ if(bin>0.f){
+ double n= bin*bin;
+ n*=n;
+ na -= n;
+ xa -= lo*n;
+ ya -= bin*n;
+ x2a -= lo*lo*n;
+ y2a -= bin*bin*n;
+ xya -= lo*bin*n;
+ rna--;
+ }
+ if(first<lo)first=-1;
+ if(last<lo){
+ first=-1;
+ }else{
+ for(first=lo;first<hi;first++)
+ if(f[first]>0.f)break;
+ if(first==hi)first=-1;
+ }
+ }
+ }
- while(bark_th>=barkcountbelow &&
- fixed_th>=fixedcountbelow /* && median<LASTBIN by rep invariant */
- ){
- median++;
- barkcountbelow+=barkradix[median];
- fixedcountbelow+=fixedradix[median];
+ if(hif<n && fixed>0){
+ int bi=i-fixed/2;
+ if(bi<0)bi=0;
+
+ for(;hif<bi;hif++){
+ double bin=f[hif];
+ if(bin>0.f){
+ double n= bin*bin;
+ n*=n;
+ nb += n;
+ xb += hif*n;
+ yb += bin*n;
+ x2b += hif*hif*n;
+ y2b += bin*bin*n;
+ xyb += hif*bin*n;
+ lastf=hif;
+ rnb++;
+ if(firstf==-1)firstf=hif;
}
-
- }else{
- while(bark_th<barkcountbelow){
- barkcountbelow-=barkradix[median];
- median--;
+ }
+ bi=i+(fixed+1)/2;
+ if(bi>n)bi=n;
+ for(;lof<bi;lof++){
+ double bin=f[lof];
+ if(bin>0.f){
+ double n= bin*bin;
+ n*=n;
+ nb -= n;
+ xb -= lof*n;
+ yb -= bin*n;
+ x2b -= lof*lof*n;
+ y2b -= bin*bin*n;
+ xyb -= lof*bin*n;
+ rnb--;
}
- while(bark_th>=barkcountbelow){
- median++;
- barkcountbelow+=barkradix[median];
+ if(firstf<lof)firstf=-1;
+ if(lastf<lof){
+ firstf=-1;
+ }else{
+ for(firstf=lof;firstf<hif;firstf++)
+ if(f[firstf]>0.f)break;
+ if(firstf==hif)firstf=-1;
}
-
}
}
- noise[i]= (median+1)*.5f+off[i];
- }
+ {
+ double va;
+
+ if(rna>3 && (last-first)*3/2>hi-lo){
+ double denom=1./(na*x2a-xa*xa);
+ double a=(ya*x2a-xya*xa)*denom;
+ double b=(na*xya-xa*ya)*denom;
+ va=a+b*i;
+ }else{
+ va=ya/na;
+ }
+ if(va<0.)va=0.;
-}
+ if(fixed>0){
+ double vb;
+ if(rnb>3 && (lastf-firstf)*3/2>hif-lof){
+ double denomf=1./(nb*x2b-xb*xb);
+ double af=(yb*x2b-xyb*xb)*denomf;
+ double bf=(nb*xyb-xb*yb)*denomf;
+ vb=af+bf*i;
+ }else{
+ vb=yb/nb;
+ }
+ if(vb<0.)vb=0.;
+ if(va>vb)va=vb;
+ }
+
+ noise[i]=va;
+ }
+ }
+}
void _vp_remove_floor(vorbis_look_psy *p,
vorbis_look_psy_global *g,
@@ -687,9 +912,9 @@ void _vp_remove_floor(vorbis_look_psy *p,
void _vp_compute_mask(vorbis_look_psy *p,
vorbis_look_psy_global *g,
int channel,
- float *fft,
- float *mdct,
- float *mask,
+ float *logfft,
+ float *logmdct,
+ float *logmask,
float global_specmax,
float local_specmax,
int lastsize){
@@ -701,21 +926,39 @@ void _vp_compute_mask(vorbis_look_psy *p,
/* noise masking */
if(p->vi->noisemaskp){
- bark_noise_median(n,p->bark,mdct,mask,
- p->vi->noisewindowlo,
- p->vi->noisewindowhi,
- p->vi->noisewindowlomin,
- p->vi->noisewindowhimin,
- p->noisemedian,
- p->noiseoffset,
- p->vi->noisewindowfixed);
+ float *work=alloca(n*sizeof(float));
+
+ bark_noise_pointmp(n,p->bark,logmdct,logmask,
+ p->vi->noisewindowfixed);
+
+ for(i=0;i<n;i++)work[i]=logmdct[i]-logmask[i];
+
+ bark_noise_hybridmp(n,p->bark,work,logmask,
+ p->vi->noisewindowfixed);
+
+ for(i=0;i<n;i++)work[i]=logmdct[i]-work[i];
+
+ /* work[i] holds the median line (.5), logmask holds the upper
+ envelope line (1.) */
+
+ _analysis_output("median",seq,work,n,1,0);
+ _analysis_output("envelope",seq,logmask,n,1,0);
+
+
+ for(i=0;i<n;i++)logmask[i]=
+ work[i]+
+ p->noisethresh[i]*logmask[i]+
+ p->noiseoffset[i];
+
/* suppress any noise curve > global_specmax+p->vi->noisemaxsupp */
- for(i=0;i<n;i++)
- if(mask[i]>global_specmax+p->vi->noisemaxsupp)
- mask[i]=global_specmax+p->vi->noisemaxsupp;
- _analysis_output("noise",seq,mask,n,1,0);
+ if(p->vi->noisemaxsupp<0.f)
+ for(i=0;i<n;i++)
+ if(logmask[i]>global_specmax+p->vi->noisemaxsupp)
+ logmask[i]=global_specmax+p->vi->noisemaxsupp;
+
+ _analysis_output("noise",seq,logmask,n,1,0);
}else{
- for(i=0;i<n;i++)mask[i]=NEGINF;
+ for(i=0;i<n;i++)logmask[i]=NEGINF;
}
/* set the ATH (floating below localmax, not global max by a
@@ -726,25 +969,24 @@ void _vp_compute_mask(vorbis_look_psy *p,
for(i=0;i<n;i++){
float av=p->ath[i]+att;
- if(av>mask[i])mask[i]=av;
+ if(av>logmask[i])logmask[i]=av;
}
}
-
/* tone/peak masking */
- seed_loop(p,(const float ***)p->tonecurves,fft,mask,seed,global_specmax);
- max_seeds(p,g,channel,seed,mask);
+ seed_loop(p,(const float ***)p->tonecurves,logfft,logmask,seed,global_specmax);
+ max_seeds(p,g,channel,seed,logmask);
/* doing this here is clean, but we need to find a faster way to do
it than to just tack it on */
- for(i=0;i<n;i++)if(mdct[i]>=mask[i])break;
+ for(i=0;i<n;i++)if(logmdct[i]>=logmask[i])break;
if(i==n)
- for(i=0;i<n;i++)mask[i]=NEGINF;
+ for(i=0;i<n;i++)logmask[i]=NEGINF;
else
for(i=0;i<n;i++){
- mask[i]+=p->vi->floor_masteratt;
- fft[i]=max(mdct[i],fft[i]);
+ logmask[i]+=p->vi->floor_masteratt;
+ logfft[i]=max(logmdct[i],logfft[i]);
}
seq++;
diff --git a/lib/psy.h b/lib/psy.h
index 90fce778..f15ae30f 100644
--- a/lib/psy.h
+++ b/lib/psy.h
@@ -11,7 +11,7 @@
********************************************************************
function: random psychoacoustics (not including preecho)
- last mod: $Id: psy.h,v 1.21.2.4 2001/08/03 06:48:03 xiphmont Exp $
+ last mod: $Id: psy.h,v 1.21.2.5 2001/08/07 03:47:22 xiphmont Exp $
********************************************************************/
@@ -21,6 +21,12 @@
#include "backends.h"
+#define BLOCKTYPE_IMPULSE 0
+#define BLOCKTYPE_PADDING 1
+#define BLOCKTYPE_TRANSITION 0
+#define BLOCKTYPE_LONG 1
+
+
#ifndef EHMER_MAX
#define EHMER_MAX 56
#endif
@@ -52,6 +58,10 @@ typedef struct vp_couple_pass{
vp_couple couple[8];
} vp_couple_pass;
+typedef struct vp_attenblock{
+ float block[P_BANDS][P_LEVELS];
+} vp_attenblock;
+
typedef struct vorbis_info_psy{
float *ath;
@@ -65,10 +75,10 @@ typedef struct vorbis_info_psy{
int tonemaskp;
float tone_masteratt;
- float toneatt[P_BANDS][P_LEVELS];
+ vp_attenblock *toneatt;
int peakattp;
- float peakatt[P_BANDS][P_LEVELS];
+ vp_attenblock *peakatt;
int noisemaskp;
float noisemaxsupp;
@@ -77,7 +87,8 @@ typedef struct vorbis_info_psy{
int noisewindowlomin;
int noisewindowhimin;
int noisewindowfixed;
- float noisemedian[P_BANDS*2];
+ float noiseoff[P_BANDS];
+ float noisethresh[P_BANDS];
float max_curve_dB;
@@ -118,7 +129,7 @@ typedef struct {
struct vorbis_info_psy *vi;
float ***tonecurves;
- int *noisemedian;
+ float *noisethresh;
float *noiseoffset;
float *ath;
diff --git a/vq/res_128c.vqs b/vq/res_128c.vqs
index faa7a23f..d55fef41 100644
--- a/vq/res_128c.vqs
+++ b/vq/res_128c.vqs
@@ -1,13 +1,13 @@
huffbuild line0_class1.vqd 0-64
huffbuild line0_class2.vqd 0-64
-huffbuild line0_0sub0.vqd 0-128
-huffbuild line0_1sub1.vqd 1-18
-huffbuild line0_1sub2.vqd 18-50
-huffbuild line0_1sub3.vqd 50-128
-huffbuild line0_2sub1.vqd 1-18
-huffbuild line0_2sub2.vqd 18-50
-huffbuild line0_2sub3.vqd 50-128
+huffbuild line0_0sub0.vqd 0-64
+huffbuild line0_1sub1.vqd 1-9
+huffbuild line0_1sub2.vqd 9-25
+huffbuild line0_1sub3.vqd 25-64
+huffbuild line0_2sub1.vqd 1-9
+huffbuild line0_2sub2.vqd 9-25
+huffbuild line0_2sub3.vqd 25-64
huffbuild line1_class0.vqd 0-8
huffbuild line1_class1.vqd 0-16
@@ -27,31 +27,31 @@ huffbuild line1_3sub1.vqd 1-18
huffbuild line1_3sub2.vqd 18-50
huffbuild line1_3sub3.vqd 50-128
-residuesplit residue_0#0.vqd 0,192,12 res0_128_128 ,.7, ,7.5,4 3,1.5, ,1.5, 4,2.5, ,2.5, 8,7.5, ,7.5, ,22.5,
+residuesplit residue_0#0.vqd 0,192,8 res0_128_128 ,.7, ,12.5,6 4,1.5, ,1.5, 6,2.5, ,2.5, 10,12.5, ,12.5, ,22.5,
-residuesplit residue_1#0.vqd 0,1408,32 res0_128_1024 ,.7, ,7.5,18 5,1.5, ,1.5, 10,2.5, ,2.5, 20,7.5, ,7.5, ,22.5,
+residuesplit residue_1#0.vqd 0,1536,32 res0_128_1024 ,.7, ,12.5,12 12,1.5, ,1.5, 18,2.5, ,2.5, 30,12.5, ,12.5, ,22.5,
GO
>res0_128_128 noninterleaved
-haux res0_128_128aux.vqd 0,16,2
+haux res0_128_128aux.vqd 0,24,2
>res0_128_1024 noninterleaved
-haux res0_128_1024aux.vqd 0,44,2
+haux res0_128_1024aux.vqd 0,48,2
:_1 res0_128_1024_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7
:_2 res0_128_1024_2.vqd, 4, nonseq cull, 0 +- 1
:_3 res0_128_1024_3.vqd, 4, nonseq cull, 0 +- 1
:_4 res0_128_1024_4.vqd, 4, nonseq cull, 0 +- 1 2
:_5 res0_128_1024_5.vqd, 4, nonseq cull, 0 +- 1 2
-:_6 res0_128_1024_6.vqd, 4, nonseq cull, 0 +- 3 6
-+_6a, 4, nonseq cull, 0 +- 1
-:_7 res0_128_1024_7.vqd, 4, nonseq cull, 0 +- 3 6
-+_7a, 4, nonseq cull , 0 +- 1
+:_6 res0_128_1024_6.vqd, 4, nonseq cull, 0 +- 5 10
++_6a, 4, nonseq, 0 +- 1 2
+:_7 res0_128_1024_7.vqd, 4, nonseq cull, 0 +- 5 10
++_7a, 4, nonseq, 0 +- 1 2
:_8 res0_128_1024_8.vqd, 2, nonseq cull, 0 +- 5 10 15 20
+_8a, 2, nonseq, 0 +- 1 2
-:_9 res0_128_1024_9.vqd, 2, nonseq, 0 +- 169 338 507 676 845
+:_9 res0_128_1024_9.vqd, 4, nonseq, 0 +- 169 338
+_9a, 2, nonseq, 0 +- 13 26 39 52 65 78
+_9b, 2, nonseq, 0 +- 1 2 3 4 5 6
@@ -59,3 +59,4 @@ haux res0_128_1024aux.vqd 0,44,2
+