Hi, On Fri, May 27, 2011 at 4:08 PM, Justin Ruggles <[email protected]> wrote: > > This does all the actual bit counting as a final step. > --- > Updated the x86 implementation of compute_mantissa_size() based on Ronald's > suggestions. > > Instead of shifting by 17, I just used 16, which is still accurate enough > for the range here and simplifies a couple things. First of all, it gets rid > of the right shift altogether when using pmulhuw. Secondly, 65536 won't fit > in a word, but 32768 does. > > > libavcodec/ac3dsp.c | 42 +++++++++++------- > libavcodec/ac3dsp.h | 20 ++++++++- > libavcodec/ac3enc.c | 92 > ++++++++++++++++++++------------------ > libavcodec/arm/ac3dsp_arm.S | 52 --------------------- > libavcodec/arm/ac3dsp_init_arm.c | 2 - > libavcodec/x86/ac3dsp.asm | 53 ++++++++++++++++++++++ > libavcodec/x86/ac3dsp_mmx.c | 3 + > 7 files changed, 150 insertions(+), 114 deletions(-) > delete mode 100644 libavcodec/arm/ac3dsp_arm.S
Is this bitexact? The asm code looks nice here, but it's different enough from the C and from the previous version that I'm not sure. I suppose you're doing a FASTDIV()-type-thing, in which case this may be "good enough", but if it's not bitexact, you may want to if(!(avcodeccontext->flags & bitexact)) it... Otherwise, nice work! Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
