libavfilter/x86/vf_gblur: add localbuf and ff_horiz_slice_avx2/512()
We introduced a ff_horiz_slice_avx2/512() implemented on a new algorithm. In a nutshell, the new algorithm does three things, gathering data from 8/16 rows, blurring data, and scattering data back to the image buffer. Here we used a customized transpose 8x8/16x16 to avoid the huge overhead brought by gather and scatter instructions, which is dependent on the temporary buffer called localbuf added newly. Performance data: ff_horiz_slice_avx2(old): 109.89 ff_horiz_slice_avx2(new): 666.67 ff_horiz_slice_avx512: 1000 Co-authored-by:Cheng Yanfei <yanfei.cheng@intel.com> Co-authored-by:
Jin Jun <jun.i.jin@intel.com> Signed-off-by:
Wu Jianhua <jianhua.wu@intel.com>
Showing
This diff is collapsed.
Please register or sign in to comment