On 05/16/2011 10:58 AM, Mans Rullgard wrote: > The size-32 DCT_II has a special implementation which doesn't use > the normal tables. Skipping allocation of these in this case saves > some memory. > > Signed-off-by: Mans Rullgard <[email protected]> > --- > libavcodec/dct.c | 9 ++++++--- > 1 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/libavcodec/dct.c b/libavcodec/dct.c > index 83ea00f..e7a8f22 100644 > --- a/libavcodec/dct.c > +++ b/libavcodec/dct.c > @@ -180,9 +180,14 @@ av_cold int ff_dct_init(DCTContext *s, int nbits, enum > DCTTransformType inverse) > int n = 1 << nbits; > int i; > > + memset(s, 0, sizeof(*s)); > + > s->nbits = nbits; > s->inverse = inverse; > > + if (inverse == DCT_II && nbits == 5) { > + s->dct_calc = dct32_func; > + } else { > ff_init_ff_cos_tabs(nbits+2); > > s->costab = ff_cos_tabs[nbits+2]; > @@ -203,9 +208,7 @@ av_cold int ff_dct_init(DCTContext *s, int nbits, enum > DCTTransformType inverse) > case DCT_III: s->dct_calc = ff_dct_calc_III_c; break; > case DST_I : s->dct_calc = ff_dst_calc_I_c; break; > } > - > - if (inverse == DCT_II && nbits == 5) > - s->dct_calc = dct32_func; > + } > > s->dct32 = dct32; > if (HAVE_MMX) ff_dct_init_mmx(s);
ok. -Justin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
