Commit e511ab75 authored by Gildas Bazin's avatar Gildas Bazin

* ALL: bumped version number to 0.0.2-svn

* libdts/parse.c, libdts/tables_vq.h: added support for high frequencies VQ.
parent 2394e713
dtsdec-0.0.2-svn
-Support for high frequencies vector quantization.
dtsdec-0.0.1 Sun Feb 8 21:49:17 CET 2004
-First public release of dtsdec.
-Code based on a52dec-0.7.4.
\ No newline at end of file
dtsdec-0.0.2-svn
Support for high frequencies vector quantization.
dtsdec-0.0.1 Sun Feb 8 21:49:17 CET 2004
First public release of libdts, a DTS Coherent Acoustics decoder based
......
......@@ -8,7 +8,6 @@
be in 16 bits/sample form but this seems very dubious.
- fix downmix (user proper channes coefs, move downmix before QMF)
- sum/difference audio channels
- vq encoded high frequencies (where are the codebooks ??)
- joint channels coding
- dynamic range
- dialog normalization
......
......@@ -6,7 +6,7 @@ AC_CONFIG_AUX_DIR(autotools)
AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
doc/Makefile src/Makefile libdts/Makefile libao/Makefile vc++/Makefile
libdts/libdts.pc])
AM_INIT_AUTOMAKE([dtsdec],[0.0.1])
AM_INIT_AUTOMAKE([dtsdec],[0.0.2-svn])
AC_CONFIG_HEADERS([include/config.h])
AM_MAINTAINER_MODE
AC_CANONICAL_HOST
......
......@@ -43,6 +43,7 @@
#include "tables_quantization.h"
#include "tables_adpcm.h"
#include "tables_fir.h"
#include "tables_vq.h"
/* #define DEBUG */
......@@ -711,15 +712,9 @@ int dts_subframe_header (dts_state_t * state)
/* 1 vector -> 32 samples */
state->high_freq_vq[j][k] = bitstream_get (state, 10);
if (!state->debug_flag & 0x01)
{
fprintf (stderr, "High frequencies VQ coding not supported\n");
state->debug_flag |= 0x01;
}
#ifdef DEBUG
fprintf( stderr, "VQ index: %i\n", state->high_freq_vq[j][k] );
#endif
/* WE DON'T HAVE THE VQ TABLE!!!! */
}
}
......@@ -939,10 +934,17 @@ int dts_subsubframe (dts_state_t * state)
* for this subsubframe. */
int m;
if (!state->debug_flag & 0x01)
{
fprintf (stderr, "Stream with high frequencies VQ coding\n");
state->debug_flag |= 0x01;
}
for (m=0; m<8; m++)
{
subband_samples[k][l][m] = 0;
//state->high_freq_vq[j][k] * state->scale_factor[k][l][0];
subband_samples[k][l][m] =
high_freq_vq[state->high_freq_vq[k][l]][subsubframe*8+m]
* (double)state->scale_factor[k][l][0] / 16.0;
}
}
}
......@@ -1009,6 +1011,7 @@ int dts_subsubframe (dts_state_t * state)
2 * state->lfe * subsubframe,
&state->samples[256*i_channels],
8388608.0, state->bias);
/* Outputs 20bits pcm samples */
}
return 0;
......
/*
* adpcm.h
* tables_adpcm.h
* Copyright (C) 2004 Gildas Bazin <gbazin@videolan.org>
*
* This file is part of dtsdec, a free DTS Coherent Acoustics stream decoder.
......@@ -20,7 +20,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
signed int adpcm_vb[4096][4] =
/* 16bits signed fractional Q13 binary codes */
static int16_t adpcm_vb[4096][4] =
{
{ 9928, -2618, -1093, -1263 },
{ 11077, -2876, -1747, -308 },
......
/*
* quantization.h
* tables_quantization.h
* Copyright (C) 2004 Gildas Bazin <gbazin@videolan.org>
*
* This file is part of dtsdec, a free DTS Coherent Acoustics stream decoder.
......@@ -52,6 +52,7 @@ int scale_factor_quant7[] =
5011872, 5688529, 6456542, 7328245, 8317638, 0, 0, 0
};
/* 20bits unsigned fractional binary codes */
int lossy_quant[] =
{
0, 6710886, 4194304, 3355443, 2474639, 2097152, 1761608, 1426063,
......@@ -68,6 +69,7 @@ double lossy_quant_d[] =
0.00002, 0.00001, 0.000005, 0, 0, 0, 0, 0
};
/* 20bits unsigned fractional binary codes */
int lossless_quant[] =
{
0, 4194304, 2097152, 1384120, 1048576, 696254, 524288, 348127,
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment