26 #define BLEND_FUNC(name, opt) \ 
   27 void ff_blend_##name##_##opt(const uint8_t *top, ptrdiff_t top_linesize,       \ 
   28                              const uint8_t *bottom, ptrdiff_t bottom_linesize, \ 
   29                              uint8_t *dst, ptrdiff_t dst_linesize,             \ 
   30                              ptrdiff_t width, ptrdiff_t height,                \ 
   31                              struct FilterParams *param, double *values, int starty); 
   57     if (
EXTERNAL_SSE2(cpu_flags) && param->opacity == 1 && !is_16bit) {
 
   58         switch (param->mode) {
 
   61         case BLEND_AND:      param->blend = ff_blend_and_sse2;      
break;
 
   62         case BLEND_AVERAGE:  param->blend = ff_blend_average_sse2;  
break;
 
   63         case BLEND_DARKEN:   param->blend = ff_blend_darken_sse2;   
break;
 
   65         case BLEND_DIVIDE:   param->blend = ff_blend_divide_sse2;   
break;
 
   66         case BLEND_HARDMIX:  param->blend = ff_blend_hardmix_sse2;  
break;
 
   67         case BLEND_LIGHTEN:  param->blend = ff_blend_lighten_sse2;  
break;
 
   69         case BLEND_OR:       param->blend = ff_blend_or_sse2;       
break;
 
   70         case BLEND_PHOENIX:  param->blend = ff_blend_phoenix_sse2;  
break;
 
   71         case BLEND_SCREEN:   param->blend = ff_blend_screen_sse2; 
break;
 
   73         case BLEND_XOR:      param->blend = ff_blend_xor_sse2;      
break;
 
   78     if (
EXTERNAL_SSSE3(cpu_flags) && param->opacity == 1 && !is_16bit) {
 
   79         switch (param->mode) {
 
   81         case BLEND_NEGATION:   param->blend = ff_blend_negation_ssse3;   
break;
 
av_cold void ff_blend_init_x86(FilterParams *param, int is_16bit)
 
static atomic_int cpu_flags
 
Macro definitions for various function/variable attributes. 
 
#define EXTERNAL_SSE2(flags)
 
static SoftFloat_IEEE754 multiply(SoftFloat_IEEE754 a, SoftFloat_IEEE754 b)
multiply two softfloats and handle the rounding off 
 
#define EXTERNAL_SSSE3(flags)
 
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU. 
 
#define BLEND_FUNC(name, opt)