[FFmpeg-devel] [PATCH] libavcodec Adding ff_v210_planar_unpack AVX2

Mike Stoner mdstoner23 at yahoo.com
Sat Mar 16 18:47:25 EET 2019


Hello,
I resent my AVX2 patch for v210 unpacking.  My first attempt didn't get picked up by the Patchwork list for some reason.

I installed Linux on a Broadwell laptop to utilize James Darnley's checkasm patch for v210 decode.  The results are below.  

AVX2 gets a nice boost from replacing SHUFPS instructions with VPBLENDD, which has more flexible port bindings.  VBLENDPS could also be substituted and is available from SSE4.1 onward, however I found only the AVX2 code received any measureable gain from that change.

Any further comments are greatly appreciated.  

Thanks,
Mike


Tested on Broadwell CPU, Ubuntu 18.10 x86_64

~/FFmpeg$ tests/checkasm/checkasm --bench --test=v210dec
benchmarking with native FFmpeg timers
nop: 94.1
checkasm: using random seed 3963743306
SSSE3:
 - v210dec.v210_unpack [OK]
AVX:
 - v210dec.v210_unpack [OK]
AVX2:
 - v210dec.v210_unpack [OK]
checkasm: all 3 tests passed
v210_unpack_c: 1625.2
v210_unpack_ssse3: 604.2
v210_unpack_avx: 592.2
v210_unpack_avx2: 422.2


More information about the ffmpeg-devel mailing list