[FFmpeg-cvslog] r23095 - in trunk/libavcodec: Makefile allcodecs.c mpegaudio.h mpegaudio_tablegen.h mpegaudiodec.c mpegaudiodec_float.c
Reimar Döffinger
Reimar.Doeffinger
Wed May 12 18:57:05 CEST 2010
On Wed, May 12, 2010 at 01:22:31PM +0200, Michael Niedermayer wrote:
> qOn Wed, May 12, 2010 at 02:58:02PM +0400, Michael Kostylev wrote:
> >
> > On Tue May 11 21:52:42 2010
> > michael wrote:
> >
> > > Modified: trunk/libavcodec/mpegaudio_tablegen.h
> > > ==============================================================================
> > > --- trunk/libavcodec/mpegaudio_tablegen.h Tue May 11 20:53:49 2010 (r23094)
> > > +++ trunk/libavcodec/mpegaudio_tablegen.h Tue May 11 21:52:42 2010 (r23095)
> > > @@ -37,6 +37,8 @@ static int8_t table_4_3_exp[TABLE_4_3_
> > > static uint32_t table_4_3_value[TABLE_4_3_SIZE];
> > > static uint32_t exp_table[512];
> > > static uint32_t expval_table[512][16];
> > > +static float exp_table_float[512];
> > > +static float expval_table_float[512][16];
> > >
> > > static void mpegaudio_tableinit(void)
> > > {
> > > @@ -58,8 +60,10 @@ static void mpegaudio_tableinit(void)
> > > for (value = 0; value < 16; value++) {
> > > double f = (double)value * cbrtf(value) * pow(2, (exponent - 400) * 0.25 + FRAC_BITS + 5);
> > > expval_table[exponent][value] = llrint(f);
> > > + expval_table_float[exponent][value] = f;
> > > }
> > > exp_table[exponent] = expval_table[exponent][1];
> > > + exp_table_float[exponent] = expval_table_float[exponent][1];
> > > }
> > > }
> > > #endif /* CONFIG_HARDCODED_TABLES */
> >
> > That's not enough.
>
> did i mention that i dont like our table generator API?
What alternative API would allow doing this with less effort?
I guess implementing your request to not use #define mpegaudio_tableinit()
might have made it more obvious you're missing something and made it easier
to add exp_table_float without adding hardcoding support.
More information about the ffmpeg-cvslog
mailing list