[FFmpeg-devel] [PATCH 00/11] DCA DSP changes

Christophe Gisquet christophe.gisquet at gmail.com
Thu Feb 6 01:41:51 CET 2014


There are 3 main modifications that have impact beyond x86:
- int8x8_fmul_int32 can either be an inline function or
  called through the dsp context;
- lfe_dir cases have been split because it is overly complex
  to optimize otherwise;
- synth filter float is rewritten so that the imdct calls are done
  in C, as function calls are overly complex using x86 asm

All patches pass fate-dts. Simple cherry-picking of the libav-based
code to validate with fate, license boiler-plate & co not updated.

Christophe Gisquet (11):
  dcadsp: add int8x8_fmul_int32 to dsp context
  x86: dcadsp: implement int8x8_fmul_int32
  dcadsp: split lfe_dir cases
  x86: dcadsp: implement SSE lfe_dir
  dca dsp C: factorize scaling in lfe_fir
  dcadsp: scan linearly coeffs instead.
  x86: synth filter float: implement SSE2 version
  dcadsp: split synth_filter_float
  dca: replace some memcpy by AV_COPY128
  dca: factorize scaling in inverse ADPCM
  x86: float dsp: unroll SSE versions

 libavcodec/arm/dca.h             |   5 +-
 libavcodec/arm/dcadsp_init_arm.c |  33 ++++++-
 libavcodec/dcadec.c              |  45 ++++-----
 libavcodec/dcadsp.c              |  56 ++++++++---
 libavcodec/dcadsp.h              |   9 +-
 libavcodec/synth_filter.c        |  14 +--
 libavcodec/synth_filter.h        |   9 +-
 libavcodec/x86/Makefile          |   3 +
 libavcodec/x86/dca.h             |  56 +++++++++++
 libavcodec/x86/dcadsp.asm        | 195 +++++++++++++++++++++++++++++++++++++++
 libavcodec/x86/dcadsp_init.c     |  52 +++++++++++
 libavcodec/x86/fft_init.c        |  17 ++++
 libavcodec/x86/synth_filter.asm  | 178 +++++++++++++++++++++++++++++++++++
 libavutil/x86/float_dsp.asm      |  40 ++++----
 14 files changed, 635 insertions(+), 77 deletions(-)
 create mode 100644 libavcodec/x86/dca.h
 create mode 100644 libavcodec/x86/dcadsp.asm
 create mode 100644 libavcodec/x86/dcadsp_init.c
 create mode 100644 libavcodec/x86/synth_filter.asm

-- 
1.8.0.msysgit.0



More information about the ffmpeg-devel mailing list