changeset 142:c74048e9b569 powertable

Beginnings of power table support Database header change (and hence version) Read in the powertable on init (and write on create)
author mas01cr
date Tue, 30 Oct 2007 14:26:50 +0000
parents 3e6fa581bdab
children 9bcece53de9e
files audioDB.cpp audioDB.h
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/audioDB.cpp	Tue Oct 30 11:44:49 2007 +0000
+++ b/audioDB.cpp	Tue Oct 30 14:26:50 2007 +0000
@@ -412,6 +412,7 @@
   dbH->dataOffset = ALIGN_UP(dbH->trackTableOffset + O2_TRACKTABLESIZE*maxfiles, 8);
   dbH->l2normTableOffset = ALIGN_DOWN(size - maxfiles*O2_MEANNUMVECTORS*sizeof(double), 8);
   dbH->timesTableOffset = ALIGN_DOWN(dbH->l2normTableOffset - maxfiles*O2_MEANNUMVECTORS*sizeof(double), 8);
+  dbH->powerTableOffset = ALIGN_DOWN(dbH->timesTableOffset - maxfiles*O2_MEANNUMVECTORS*sizeof(double), 8);
   dbH->dbSize = size;
 
   memcpy (db, dbH, O2_HEADERSIZE);
@@ -470,6 +471,7 @@
   dataBuf = (double *) (db + dbH->dataOffset);
   l2normTable = (double *) (db + dbH->l2normTableOffset);
   timesTable = (double *) (db + dbH->timesTableOffset);
+  powerTable = (double *) (db + dbH->powerTableOffset);
 }
 
 void audioDB::initTables(const char* dbName, bool forWrite, const char* inFile = 0) {
--- a/audioDB.h	Tue Oct 30 11:44:49 2007 +0000
+++ b/audioDB.h	Tue Oct 30 14:26:50 2007 +0000
@@ -46,7 +46,7 @@
 
 #define O2_OLD_MAGIC ('O'|'2'<<8|'D'<<16|'B'<<24)
 #define O2_MAGIC ('o'|'2'<<8|'d'<<16|'b'<<24)
-#define O2_FORMAT_VERSION (0U)
+#define O2_FORMAT_VERSION (1U)
 
 #define O2_DEFAULT_POINTNN (10U)
 #define O2_DEFAULT_TRACKNN  (10U)
@@ -67,6 +67,7 @@
 // Flags
 #define O2_FLAG_L2NORM (0x1U)
 #define O2_FLAG_MINMAX (0x2U)
+#define O2_FLAG_POWER (0x4U)
 #define O2_FLAG_TIMES (0x20U)
 
 // Query types
@@ -104,6 +105,7 @@
   uint32_t dataOffset;
   uint32_t l2normTableOffset;
   uint32_t timesTableOffset;
+  uint32_t powerTableOffset;
   uint32_t dbSize;
 } dbTableHeaderT, *dbTableHeaderPtr;
 
@@ -139,6 +141,7 @@
   double* qNorm;
   double* sNorm;
   double* timesTable;  
+  double* powerTable;
 
   // Flags and parameters
   unsigned verbosity;   // how much do we want to know?