# HG changeset patch # User mas01cr # Date 1193754410 0 # Node ID c74048e9b569989362cd31c4c974b349bea36a8c # Parent 3e6fa581bdabf0c87d69006cdd9468d45f678253 Beginnings of power table support Database header change (and hence version) Read in the powertable on init (and write on create) diff -r 3e6fa581bdab -r c74048e9b569 audioDB.cpp --- 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) { diff -r 3e6fa581bdab -r c74048e9b569 audioDB.h --- 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?