[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