|
|
|
@ -32,6 +32,10 @@ void ff_bwdif_filter_line_ssse3(void *dst, void *prev, void *cur, void *next, |
|
|
|
|
int w, int prefs, int mrefs, int prefs2, |
|
|
|
|
int mrefs2, int prefs3, int mrefs3, int prefs4, |
|
|
|
|
int mrefs4, int parity, int clip_max); |
|
|
|
|
void ff_bwdif_filter_line_avx2(void *dst, void *prev, void *cur, void *next, |
|
|
|
|
int w, int prefs, int mrefs, int prefs2, |
|
|
|
|
int mrefs2, int prefs3, int mrefs3, int prefs4, |
|
|
|
|
int mrefs4, int parity, int clip_max); |
|
|
|
|
|
|
|
|
|
void ff_bwdif_filter_line_12bit_sse2(void *dst, void *prev, void *cur, void *next, |
|
|
|
|
int w, int prefs, int mrefs, int prefs2, |
|
|
|
@ -41,6 +45,10 @@ void ff_bwdif_filter_line_12bit_ssse3(void *dst, void *prev, void *cur, void *ne |
|
|
|
|
int w, int prefs, int mrefs, int prefs2, |
|
|
|
|
int mrefs2, int prefs3, int mrefs3, int prefs4, |
|
|
|
|
int mrefs4, int parity, int clip_max); |
|
|
|
|
void ff_bwdif_filter_line_12bit_avx2(void *dst, void *prev, void *cur, void *next, |
|
|
|
|
int w, int prefs, int mrefs, int prefs2, |
|
|
|
|
int mrefs2, int prefs3, int mrefs3, int prefs4, |
|
|
|
|
int mrefs4, int parity, int clip_max); |
|
|
|
|
|
|
|
|
|
av_cold void ff_bwdif_init_x86(BWDIFContext *bwdif, int bit_depth) |
|
|
|
|
{ |
|
|
|
@ -51,10 +59,14 @@ av_cold void ff_bwdif_init_x86(BWDIFContext *bwdif, int bit_depth) |
|
|
|
|
bwdif->filter_line = ff_bwdif_filter_line_sse2; |
|
|
|
|
if (EXTERNAL_SSSE3(cpu_flags)) |
|
|
|
|
bwdif->filter_line = ff_bwdif_filter_line_ssse3; |
|
|
|
|
if (ARCH_X86_64 && EXTERNAL_AVX2(cpu_flags)) |
|
|
|
|
bwdif->filter_line = ff_bwdif_filter_line_avx2; |
|
|
|
|
} else if (bit_depth <= 12) { |
|
|
|
|
if (EXTERNAL_SSE2(cpu_flags)) |
|
|
|
|
bwdif->filter_line = ff_bwdif_filter_line_12bit_sse2; |
|
|
|
|
if (EXTERNAL_SSSE3(cpu_flags)) |
|
|
|
|
bwdif->filter_line = ff_bwdif_filter_line_12bit_ssse3; |
|
|
|
|
if (ARCH_X86_64 && EXTERNAL_AVX2(cpu_flags)) |
|
|
|
|
bwdif->filter_line = ff_bwdif_filter_line_12bit_avx2; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|