On Sat, May 14, 2011 at 09:41:01AM +0100, Måns Rullgård wrote: > Justin Ruggles <[email protected]> writes: > > > This does all the actual bit counting as a final step. > > x86 benchmarks: > > 50% faster in function count_mantissa_bits() > > 16% faster in function bit_alloc() > > --- > > libavcodec/ac3dsp.c | 33 ++++++++-------- > > libavcodec/ac3dsp.h | 4 +- > > libavcodec/ac3enc.c | 78 > > +++++++++++++++++++++----------------- > > libavcodec/arm/Makefile | 1 - > > libavcodec/arm/ac3dsp_arm.S | 52 ------------------------- > > libavcodec/arm/ac3dsp_init_arm.c | 2 - > > 6 files changed, 63 insertions(+), 107 deletions(-) > > delete mode 100644 libavcodec/arm/ac3dsp_arm.S > > +static void count_mantissa_bits_update_ch(AC3EncodeContext *s, int ch, > > + uint16_t > > mant_cnt[AC3_MAX_BLOCKS][16], > > + int start, int end) > > +{ > > + int blk, i; > > + > > + for (blk = 0; blk < AC3_MAX_BLOCKS; blk++) { > > + uint8_t *bap = s->blocks[blk].exp_ref_block[ch]->bap[ch]; > > + for (i = start; i < end; i++) > > + mant_cnt[blk][bap[i]]++; > > This loop will suck with gcc on ARM.
I'm curious as to why, could you elaborate? Diego _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
