Mercurial > hg > audiodb
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?