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. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
