1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-15 14:13:16 +02:00

avfilter/x86/vf_blend : reorganize init in order to add 16 bit version

This commit is contained in:
Martin Vignali
2018-02-17 20:49:12 +01:00
parent e3fc36a84c
commit 7590d58b61

View File

@@ -73,7 +73,8 @@ av_cold void ff_blend_init_x86(FilterParams *param, int is_16bit)
{ {
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags) && param->opacity == 1 && !is_16bit) { if (!is_16bit) {
if (EXTERNAL_SSE2(cpu_flags) && param->opacity == 1) {
switch (param->mode) { switch (param->mode) {
case BLEND_ADDITION: param->blend = ff_blend_addition_sse2; break; case BLEND_ADDITION: param->blend = ff_blend_addition_sse2; break;
case BLEND_GRAINMERGE: param->blend = ff_blend_grainmerge_sse2; break; case BLEND_GRAINMERGE: param->blend = ff_blend_grainmerge_sse2; break;
@@ -95,7 +96,7 @@ av_cold void ff_blend_init_x86(FilterParams *param, int is_16bit)
case BLEND_NEGATION: param->blend = ff_blend_negation_sse2; break; case BLEND_NEGATION: param->blend = ff_blend_negation_sse2; break;
} }
} }
if (EXTERNAL_SSSE3(cpu_flags) && param->opacity == 1 && !is_16bit) { if (EXTERNAL_SSSE3(cpu_flags) && param->opacity == 1) {
switch (param->mode) { switch (param->mode) {
case BLEND_DIFFERENCE: param->blend = ff_blend_difference_ssse3; break; case BLEND_DIFFERENCE: param->blend = ff_blend_difference_ssse3; break;
case BLEND_EXTREMITY: param->blend = ff_blend_extremity_ssse3; break; case BLEND_EXTREMITY: param->blend = ff_blend_extremity_ssse3; break;
@@ -103,7 +104,7 @@ av_cold void ff_blend_init_x86(FilterParams *param, int is_16bit)
} }
} }
if (EXTERNAL_AVX2_FAST(cpu_flags) && param->opacity == 1 && !is_16bit) { if (EXTERNAL_AVX2_FAST(cpu_flags) && param->opacity == 1) {
switch (param->mode) { switch (param->mode) {
case BLEND_ADDITION: param->blend = ff_blend_addition_avx2; break; case BLEND_ADDITION: param->blend = ff_blend_addition_avx2; break;
case BLEND_GRAINMERGE: param->blend = ff_blend_grainmerge_avx2; break; case BLEND_GRAINMERGE: param->blend = ff_blend_grainmerge_avx2; break;
@@ -124,4 +125,5 @@ av_cold void ff_blend_init_x86(FilterParams *param, int is_16bit)
case BLEND_NEGATION: param->blend = ff_blend_negation_avx2; break; case BLEND_NEGATION: param->blend = ff_blend_negation_avx2; break;
} }
} }
}
} }