[FFmpeg-devel] [PATCH 0/8] left-overs of an ancient patch set for the flac encoder

James Darnley james.darnley at gmail.com
Mon Nov 27 00:51:03 EET 2017


Three years ago I was writing some assembly to speed-up the flac encoder.  I got
part of the set committed at that time.  Since then the encoder had a small
overhaul and a major bugfix.  That all meant this set needed a little work to
bring it back on top of master.  I did most of that work in August and finished
it today.

Some of you have been bugging me off and on about finishing it so here it is.
Enjoy, review, critique, whatever.  When people have signed off on it I will
push the set, after addressing issues people have with it.

That bugfix I mentioned was e609cfd697.  It made the benchmarking I originally
did a little less useful because both types of the lpc coder are used for both
sample depths (16 and 24).  That does make the 32-bit version more useful though
because it gets used with 16-bit samples when the intermediates overflow 32
bits.

James Darnley (8):
  avcodec/flac: document limitations of the LPC encoder
  avcodec/flac: add AVX2 version of the 16-bit LPC encoder
  avcodec/flac: add SSE4.2 version of the 32-bit lpc encoder
  avcodec/flac: partially unroll loop in flac_enc_lpc_32
  lavc/x86/flac_dsp_gpl: cosmetic whitespace alignment
  lavc/x86/flac_dsp_gpl: partially unroll 32-bit LPC encoder
  lavc/flacenc: add AVX2 version of the 32-bit LPC encoder
  checkasm: add tests for flacenc lpc coder

 libavcodec/flacdsp.h            |   8 ++
 libavcodec/flacenc.c            |   2 +-
 libavcodec/x86/flac_dsp_gpl.asm | 267 +++++++++++++++++++++++++++++++++++++---
 libavcodec/x86/flacdsp_init.c   |  13 ++
 tests/checkasm/flacdsp.c        |  72 +++++++++++
 5 files changed, 343 insertions(+), 19 deletions(-)

-- 
2.15.0



More information about the ffmpeg-devel mailing list