From 6238bc0ece31ca1a1b9378de71de32d405919d81 Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date: Mon, 28 Jan 2008 22:28:54 +1100
Subject: [PATCH] Moved the content of libentcode into libcelt to reduce
 dependencies, especially now that we have a custom version of that code
 anyway. Moved the test code to tests/

---
 Makefile.am                        |  2 +-
 celt.pc.in                         |  2 +-
 configure.ac                       |  2 +-
 libcelt/Makefile.am                | 20 ++++++------
 {libentcode => libcelt}/bitrdec.c  |  0
 {libentcode => libcelt}/bitrdec.h  |  0
 {libentcode => libcelt}/bitree.c   |  0
 {libentcode => libcelt}/bitree.h   |  0
 {libentcode => libcelt}/bitrenc.c  |  0
 {libentcode => libcelt}/bitrenc.h  |  0
 libcelt/celt.c                     |  2 +-
 {libentcode => libcelt}/ecintrin.h |  0
 {libentcode => libcelt}/entcode.c  |  0
 {libentcode => libcelt}/entcode.h  |  0
 {libentcode => libcelt}/entdec.c   |  0
 {libentcode => libcelt}/entdec.h   |  0
 {libentcode => libcelt}/entenc.c   |  0
 {libentcode => libcelt}/entenc.h   |  0
 {libentcode => libcelt}/laplace.c  |  0
 {libentcode => libcelt}/laplace.h  |  0
 {libentcode => libcelt}/mfrngcod.h |  0
 {libentcode => libcelt}/mfrngdec.c |  0
 {libentcode => libcelt}/mfrngenc.c |  0
 {libentcode => libcelt}/probdec.c  |  0
 {libentcode => libcelt}/probdec.h  |  0
 {libentcode => libcelt}/probenc.c  |  0
 {libentcode => libcelt}/probenc.h  |  0
 {libentcode => libcelt}/probmod.c  |  0
 {libentcode => libcelt}/probmod.h  |  0
 {libentcode => libcelt}/rangedec.c |  0
 {libentcode => libcelt}/rangeenc.c |  0
 libentcode/Makefile.am             | 10 ------
 tests/Makefile.am                  |  8 +++++
 {libentcode => tests}/ectest.c     | 50 ++----------------------------
 34 files changed, 26 insertions(+), 70 deletions(-)
 rename {libentcode => libcelt}/bitrdec.c (100%)
 rename {libentcode => libcelt}/bitrdec.h (100%)
 rename {libentcode => libcelt}/bitree.c (100%)
 rename {libentcode => libcelt}/bitree.h (100%)
 rename {libentcode => libcelt}/bitrenc.c (100%)
 rename {libentcode => libcelt}/bitrenc.h (100%)
 rename {libentcode => libcelt}/ecintrin.h (100%)
 rename {libentcode => libcelt}/entcode.c (100%)
 rename {libentcode => libcelt}/entcode.h (100%)
 rename {libentcode => libcelt}/entdec.c (100%)
 rename {libentcode => libcelt}/entdec.h (100%)
 rename {libentcode => libcelt}/entenc.c (100%)
 rename {libentcode => libcelt}/entenc.h (100%)
 rename {libentcode => libcelt}/laplace.c (100%)
 rename {libentcode => libcelt}/laplace.h (100%)
 rename {libentcode => libcelt}/mfrngcod.h (100%)
 rename {libentcode => libcelt}/mfrngdec.c (100%)
 rename {libentcode => libcelt}/mfrngenc.c (100%)
 rename {libentcode => libcelt}/probdec.c (100%)
 rename {libentcode => libcelt}/probdec.h (100%)
 rename {libentcode => libcelt}/probenc.c (100%)
 rename {libentcode => libcelt}/probenc.h (100%)
 rename {libentcode => libcelt}/probmod.c (100%)
 rename {libentcode => libcelt}/probmod.h (100%)
 rename {libentcode => libcelt}/rangedec.c (100%)
 rename {libentcode => libcelt}/rangeenc.c (100%)
 delete mode 100644 libentcode/Makefile.am
 create mode 100644 tests/Makefile.am
 rename {libentcode => tests}/ectest.c (70%)

diff --git a/Makefile.am b/Makefile.am
index eb41049f6..a55fb9b50 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,7 +5,7 @@
 AUTOMAKE_OPTIONS = 1.6
 
 #Fools KDevelop into including all files
-SUBDIRS = libentcode libcelt
+SUBDIRS = libcelt tests
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = celt.pc 
diff --git a/celt.pc.in b/celt.pc.in
index b35836bd2..98cc00890 100644
--- a/celt.pc.in
+++ b/celt.pc.in
@@ -10,5 +10,5 @@ Description: CELT is a low-delay audio codec
 Version: @CELT_VERSION@
 Requires:
 Conflicts:
-Libs: -L${libdir} -lcelt -lentcode -lm
+Libs: -L${libdir} -lcelt -lm
 Cflags: -I${includedir}
diff --git a/configure.ac b/configure.ac
index d4dd60697..3f21bba02 100644
--- a/configure.ac
+++ b/configure.ac
@@ -121,7 +121,7 @@ fi
 AC_SUBST(SIZE16)
 AC_SUBST(SIZE32)
 
-AC_OUTPUT([Makefile libcelt/Makefile libentcode/Makefile celt.pc])
+AC_OUTPUT([Makefile libcelt/Makefile tests/Makefile celt.pc])
 
 if test "x$src" = "x"; then 
 echo "**IMPORTANT**"
diff --git a/libcelt/Makefile.am b/libcelt/Makefile.am
index 65f1c4fd9..ea383cf2f 100644
--- a/libcelt/Makefile.am
+++ b/libcelt/Makefile.am
@@ -10,20 +10,22 @@ pkginclude_HEADERS = celt.h
 lib_LTLIBRARIES = libcelt.la
 
 # Sources for compilation in the library
-libcelt_la_SOURCES = bands.c celt.c cwrs.c fftwrap.c mdct.c modes.c pitch.c \
-	psy.c quant_bands.c quant_pitch.c rate.c smallft.c vq.c
+libcelt_la_SOURCES = bands.c bitrdec.c bitree.c bitrenc.c celt.c cwrs.c \
+	ecintrin.h entcode.c  entdec.c entenc.c fftwrap.c laplace.c mdct.c \
+	modes.c pitch.c psy.c quant_bands.c quant_pitch.c rangedec.c \
+	rangeenc.c rate.c smallft.c vq.c
 
 #noinst_HEADERS =
 
 libcelt_la_LDFLAGS = -version-info @CELT_LT_CURRENT@:@CELT_LT_REVISION@:@CELT_LT_AGE@
 
-noinst_HEADERS = arch.h bands.h cwrs.h fftwrap.h mdct.h modes.h \
-	os_support.h pgain_table.h pitch.h psy.h quant_bands.h quant_pitch.h rate.h \
-	smallft.h vq.h
+noinst_HEADERS = arch.h bands.h bitrdec.h bitree.h bitrenc.h cwrs.h \
+	ecintrin.h entcode.h entdec.h entenc.h fftwrap.h laplace.h \
+	mfrngcod.h mdct.h modes.h os_support.h pgain_table.h pitch.h psy.h \
+	quant_bands.h quant_pitch.h rate.h smallft.h vq.h
 
 noinst_PROGRAMS = testcelt
 testcelt_SOURCES = testcelt.c
-testcelt_LDADD = $(top_builddir)/libentcode/libentcode.la \
-	libcelt.la
-INCLUDES = -I$(top_srcdir)/libentcode
-libcelt_la_LIBADD = $(top_builddir)/libentcode/libentcode.la
+testcelt_LDADD = libcelt.la
+INCLUDES = 
+libcelt_la_LIBADD = 
diff --git a/libentcode/bitrdec.c b/libcelt/bitrdec.c
similarity index 100%
rename from libentcode/bitrdec.c
rename to libcelt/bitrdec.c
diff --git a/libentcode/bitrdec.h b/libcelt/bitrdec.h
similarity index 100%
rename from libentcode/bitrdec.h
rename to libcelt/bitrdec.h
diff --git a/libentcode/bitree.c b/libcelt/bitree.c
similarity index 100%
rename from libentcode/bitree.c
rename to libcelt/bitree.c
diff --git a/libentcode/bitree.h b/libcelt/bitree.h
similarity index 100%
rename from libentcode/bitree.h
rename to libcelt/bitree.h
diff --git a/libentcode/bitrenc.c b/libcelt/bitrenc.c
similarity index 100%
rename from libentcode/bitrenc.c
rename to libcelt/bitrenc.c
diff --git a/libentcode/bitrenc.h b/libcelt/bitrenc.h
similarity index 100%
rename from libentcode/bitrenc.h
rename to libcelt/bitrenc.h
diff --git a/libcelt/celt.c b/libcelt/celt.c
index e2af3a780..cf82f2876 100644
--- a/libcelt/celt.c
+++ b/libcelt/celt.c
@@ -37,7 +37,7 @@
 #include "fftwrap.h"
 #include "bands.h"
 #include "modes.h"
-#include "probenc.h"
+#include "entcode.h"
 #include "quant_pitch.h"
 #include "quant_bands.h"
 #include "psy.h"
diff --git a/libentcode/ecintrin.h b/libcelt/ecintrin.h
similarity index 100%
rename from libentcode/ecintrin.h
rename to libcelt/ecintrin.h
diff --git a/libentcode/entcode.c b/libcelt/entcode.c
similarity index 100%
rename from libentcode/entcode.c
rename to libcelt/entcode.c
diff --git a/libentcode/entcode.h b/libcelt/entcode.h
similarity index 100%
rename from libentcode/entcode.h
rename to libcelt/entcode.h
diff --git a/libentcode/entdec.c b/libcelt/entdec.c
similarity index 100%
rename from libentcode/entdec.c
rename to libcelt/entdec.c
diff --git a/libentcode/entdec.h b/libcelt/entdec.h
similarity index 100%
rename from libentcode/entdec.h
rename to libcelt/entdec.h
diff --git a/libentcode/entenc.c b/libcelt/entenc.c
similarity index 100%
rename from libentcode/entenc.c
rename to libcelt/entenc.c
diff --git a/libentcode/entenc.h b/libcelt/entenc.h
similarity index 100%
rename from libentcode/entenc.h
rename to libcelt/entenc.h
diff --git a/libentcode/laplace.c b/libcelt/laplace.c
similarity index 100%
rename from libentcode/laplace.c
rename to libcelt/laplace.c
diff --git a/libentcode/laplace.h b/libcelt/laplace.h
similarity index 100%
rename from libentcode/laplace.h
rename to libcelt/laplace.h
diff --git a/libentcode/mfrngcod.h b/libcelt/mfrngcod.h
similarity index 100%
rename from libentcode/mfrngcod.h
rename to libcelt/mfrngcod.h
diff --git a/libentcode/mfrngdec.c b/libcelt/mfrngdec.c
similarity index 100%
rename from libentcode/mfrngdec.c
rename to libcelt/mfrngdec.c
diff --git a/libentcode/mfrngenc.c b/libcelt/mfrngenc.c
similarity index 100%
rename from libentcode/mfrngenc.c
rename to libcelt/mfrngenc.c
diff --git a/libentcode/probdec.c b/libcelt/probdec.c
similarity index 100%
rename from libentcode/probdec.c
rename to libcelt/probdec.c
diff --git a/libentcode/probdec.h b/libcelt/probdec.h
similarity index 100%
rename from libentcode/probdec.h
rename to libcelt/probdec.h
diff --git a/libentcode/probenc.c b/libcelt/probenc.c
similarity index 100%
rename from libentcode/probenc.c
rename to libcelt/probenc.c
diff --git a/libentcode/probenc.h b/libcelt/probenc.h
similarity index 100%
rename from libentcode/probenc.h
rename to libcelt/probenc.h
diff --git a/libentcode/probmod.c b/libcelt/probmod.c
similarity index 100%
rename from libentcode/probmod.c
rename to libcelt/probmod.c
diff --git a/libentcode/probmod.h b/libcelt/probmod.h
similarity index 100%
rename from libentcode/probmod.h
rename to libcelt/probmod.h
diff --git a/libentcode/rangedec.c b/libcelt/rangedec.c
similarity index 100%
rename from libentcode/rangedec.c
rename to libcelt/rangedec.c
diff --git a/libentcode/rangeenc.c b/libcelt/rangeenc.c
similarity index 100%
rename from libentcode/rangeenc.c
rename to libcelt/rangeenc.c
diff --git a/libentcode/Makefile.am b/libentcode/Makefile.am
deleted file mode 100644
index 043f8a146..000000000
--- a/libentcode/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-INCLUDES = 
-METASOURCES = AUTO
-lib_LTLIBRARIES = libentcode.la
-libentcode_la_SOURCES = bitrdec.c bitree.c bitrenc.c ecintrin.h entcode.c \
-	entdec.c entenc.c laplace.c rangedec.c rangeenc.c probdec.c probenc.c probmod.c
-bin_PROGRAMS = ectest
-ectest_SOURCES = ectest.c
-ectest_LDADD = libentcode.la
-noinst_HEADERS = bitrdec.h bitree.h bitrenc.h ecintrin.h entcode.h entdec.h \
-	entenc.h laplace.h mfrngcod.h probdec.h probenc.h probmod.h
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 000000000..b1abeef9b
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,8 @@
+INCLUDES = -I$(top_srcdir)/libcelt
+METASOURCES = AUTO
+
+TESTS = ectest
+
+bin_PROGRAMS = ectest
+ectest_SOURCES = ectest.c
+ectest_LDADD = $(top_builddir)/libcelt/libcelt.la
diff --git a/libentcode/ectest.c b/tests/ectest.c
similarity index 70%
rename from libentcode/ectest.c
rename to tests/ectest.c
index 0f0fae811..b8d2803b7 100644
--- a/libentcode/ectest.c
+++ b/tests/ectest.c
@@ -1,15 +1,15 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <math.h>
-#include "probenc.h"
-#include "probdec.h"
 #include "bitrenc.h"
+#include "entcode.h"
+#include "entenc.h"
+#include "entdec.h"
 
 int main(int _argc,char **_argv){
   ec_byte_buffer buf;
   ec_enc         enc;
   ec_dec         dec;
-  ec_probmod     mod;
   ec_uint64      sym64;
   long           nbits;
   long           nbits2;
@@ -53,26 +53,6 @@ int main(int _argc,char **_argv){
       }
     }
   }
-  for(sz=1;sz<256;sz++){
-    ec_probmod_init_full(&mod,sz,1,sz+(sz>>1),NULL);
-    for(i=0;i<sz;i++){
-      s=((unsigned)(i*45678901+7))%sz;
-      entropy+=(log(mod.ft)-log(ec_bitree_get_freq(mod.bitree,s)))*M_LOG2E;
-      ec_probmod_write(&mod,&enc,s);
-    }
-    ec_probmod_clear(&mod);
-  }
-  for(sz=11;sz<256;sz++){
-    ec_probmod_init_full(&mod,sz,1,sz+(sz>>1),NULL);
-    for(i=0;i<sz;i++){
-      s=((unsigned)(i*45678901+7))%sz;
-      entropy+=(log(ec_bitree_get_cumul(mod.bitree,EC_MINI(s+6,sz))-
-       ec_bitree_get_cumul(mod.bitree,EC_MAXI(s-5,0)))-
-       log(ec_bitree_get_freq(mod.bitree,s)))*M_LOG2E;
-      ec_probmod_write_range(&mod,&enc,s,EC_MAXI(s-5,0),EC_MINI(s+6,sz));
-    }
-    ec_probmod_clear(&mod);
-  }
   nbits=ec_enc_tell(&enc,4);
   ec_enc_done(&enc);
   fprintf(stderr,
@@ -109,30 +89,6 @@ int main(int _argc,char **_argv){
       }
     }
   }
-  for(sz=1;sz<256;sz++){
-    ec_probmod_init_full(&mod,sz,1,sz+(sz>>1),NULL);
-    for(i=0;i<sz;i++){
-      s=((unsigned)(i*45678901+7))%sz;
-      sym=ec_probmod_read(&mod,&dec);
-      if(sym!=s){
-        fprintf(stderr,"Decoded %i instead of %i with sz of %i.\n",sym,s,sz);
-        return -1;
-      }
-    }
-    ec_probmod_clear(&mod);
-  }
-  for(sz=11;sz<256;sz++){
-    ec_probmod_init_full(&mod,sz,1,sz+(sz>>1),NULL);
-    for(i=0;i<sz;i++){
-      s=((unsigned)(i*45678901+7))%sz;
-      sym=ec_probmod_read_range(&mod,&dec,EC_MAXI(s-5,0),EC_MINI(s+6,sz));
-      if(sym!=s){
-        fprintf(stderr,"Decoded %i instead of %i with sz of %i.\n",sym,s,sz);
-        return -1;
-      }
-    }
-    ec_probmod_clear(&mod);
-  }
   nbits2=ec_dec_tell(&dec,4);
   if(nbits!=nbits2){
     fprintf(stderr,
-- 
GitLab