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

Reply via email to