[FFmpeg-devel] [PATCH/RFC] dsputil additions and wma(pro) speedups
Mans Rullgard
mans
Sun Sep 27 12:49:16 CEST 2009
The following patch series adds a few new dsputil functions and makes
use of them in the wma and wmapro decoders. I tried to keep them as
generic as possible without sacrificing speed. They are missing
proper documentation, which I will add once we agree on the
functionality.
There are also a few non-dsputil improvements to the wma decoders.
These are borderline hacks, so discussion is welcome.
With NEON versions of these functions (not included here), I get a
speedup on Cortex-A8 of 3.75x for wma and 1.65x for wmapro.
Mans Rullgard (12):
Add vector_fmul_step_scalar for WMA
Add fill_float to dsputil
Add vector_clipf_interleave() function to dsputil
Add vector_fmul_matrix to dsputil
WMA: use vector_fmul_step_scalar
WMA: use float_to_int16_interleave
WMA: use fill_float from dsputil
WMA: use a table instead of pow() in decode_exp_vlc
WMA: store level_table as floats, use type punning for sign flip in
decode
WMAPRO: use vector_clipf_interleave()
WMAPRO: use vector_fmul_matrix()
WMAPRO: use some type punning in decode_coeffs()
libavcodec/dsputil.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++
libavcodec/dsputil.h | 9 +++++
libavcodec/wma.c | 19 +++++++---
libavcodec/wma.h | 5 ++-
libavcodec/wmadec.c | 67 +++++++++++++++++++++-------------
libavcodec/wmaprodata.h | 4 +-
libavcodec/wmaprodec.c | 84 ++++++++++++++++++++------------------------
7 files changed, 196 insertions(+), 82 deletions(-)
More information about the ffmpeg-devel
mailing list