mirror of
https://code.videolan.org/videolan/dav1d
synced 2026-06-11 04:03:05 +00:00
x86: Add high bitdepth loopfilter AVX2 asm
This commit is contained in:
committed by
Henrik Gramner
co-authored by
Henrik Gramner
parent
87aa815cfa
commit
24b1a4adb3
@@ -215,6 +215,7 @@ if is_asm_enabled
|
||||
libdav1d_sources_asm += files(
|
||||
'x86/cdef16_avx2.asm',
|
||||
'x86/ipred16_avx2.asm',
|
||||
'x86/loopfilter16_avx2.asm',
|
||||
'x86/looprestoration16_avx2.asm',
|
||||
'x86/mc16_avx2.asm',
|
||||
'x86/cdef16_sse.asm',
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -36,6 +36,7 @@ decl_loopfilter_sb_fn(dav1d_lpf_v_sb_uv_##ext)
|
||||
|
||||
decl_loopfilter_sb_fns(ssse3);
|
||||
decl_loopfilter_sb_fns(avx2);
|
||||
decl_loopfilter_sb_fns(16bpc_avx2);
|
||||
|
||||
COLD void bitfn(dav1d_loop_filter_dsp_init_x86)(Dav1dLoopFilterDSPContext *const c) {
|
||||
const unsigned flags = dav1d_get_cpu_flags();
|
||||
@@ -51,10 +52,17 @@ COLD void bitfn(dav1d_loop_filter_dsp_init_x86)(Dav1dLoopFilterDSPContext *const
|
||||
|
||||
if (!(flags & DAV1D_X86_CPU_FLAG_AVX2)) return;
|
||||
|
||||
#if BITDEPTH == 8 && ARCH_X86_64
|
||||
#if ARCH_X86_64
|
||||
#if BITDEPTH == 8
|
||||
c->loop_filter_sb[0][0] = dav1d_lpf_h_sb_y_avx2;
|
||||
c->loop_filter_sb[0][1] = dav1d_lpf_v_sb_y_avx2;
|
||||
c->loop_filter_sb[1][0] = dav1d_lpf_h_sb_uv_avx2;
|
||||
c->loop_filter_sb[1][1] = dav1d_lpf_v_sb_uv_avx2;
|
||||
#else
|
||||
c->loop_filter_sb[0][0] = dav1d_lpf_h_sb_y_16bpc_avx2;
|
||||
c->loop_filter_sb[0][1] = dav1d_lpf_v_sb_y_16bpc_avx2;
|
||||
c->loop_filter_sb[1][0] = dav1d_lpf_h_sb_uv_16bpc_avx2;
|
||||
c->loop_filter_sb[1][1] = dav1d_lpf_v_sb_uv_16bpc_avx2;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user