|
|
|
@ -33,6 +33,9 @@ void ff_lowpass_line_sse2(uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
void ff_lowpass_line_avx (uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
const uint8_t *srcp, ptrdiff_t mref, |
|
|
|
|
ptrdiff_t pref, int clip_max); |
|
|
|
|
void ff_lowpass_line_avx2 (uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
const uint8_t *srcp, ptrdiff_t mref, |
|
|
|
|
ptrdiff_t pref, int clip_max); |
|
|
|
|
|
|
|
|
|
void ff_lowpass_line_16_sse2(uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
const uint8_t *srcp, ptrdiff_t mref, |
|
|
|
@ -40,6 +43,9 @@ void ff_lowpass_line_16_sse2(uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
void ff_lowpass_line_16_avx (uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
const uint8_t *srcp, ptrdiff_t mref, |
|
|
|
|
ptrdiff_t pref, int clip_max); |
|
|
|
|
void ff_lowpass_line_16_avx2 (uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
const uint8_t *srcp, ptrdiff_t mref, |
|
|
|
|
ptrdiff_t pref, int clip_max); |
|
|
|
|
|
|
|
|
|
void ff_lowpass_line_complex_sse2(uint8_t *dstp, ptrdiff_t linesize, |
|
|
|
|
const uint8_t *srcp, ptrdiff_t mref, |
|
|
|
@ -63,6 +69,11 @@ av_cold void ff_tinterlace_init_x86(TInterlaceContext *s) |
|
|
|
|
if (EXTERNAL_AVX(cpu_flags)) |
|
|
|
|
if (!(s->flags & TINTERLACE_FLAG_CVLPF)) |
|
|
|
|
s->lowpass_line = ff_lowpass_line_16_avx; |
|
|
|
|
if (EXTERNAL_AVX2_FAST(cpu_flags)) { |
|
|
|
|
if (!(s->flags & TINTERLACE_FLAG_CVLPF)) { |
|
|
|
|
s->lowpass_line = ff_lowpass_line_16_avx2; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (EXTERNAL_SSE2(cpu_flags)) { |
|
|
|
|
if (!(s->flags & TINTERLACE_FLAG_CVLPF)) |
|
|
|
@ -73,5 +84,10 @@ av_cold void ff_tinterlace_init_x86(TInterlaceContext *s) |
|
|
|
|
if (EXTERNAL_AVX(cpu_flags)) |
|
|
|
|
if (!(s->flags & TINTERLACE_FLAG_CVLPF)) |
|
|
|
|
s->lowpass_line = ff_lowpass_line_avx; |
|
|
|
|
if (EXTERNAL_AVX2_FAST(cpu_flags)) { |
|
|
|
|
if (!(s->flags & TINTERLACE_FLAG_CVLPF)) { |
|
|
|
|
s->lowpass_line = ff_lowpass_line_avx2; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|