Go to the source code of this file.
 | 
| #define  | OFFSET(x)   offsetof(XFadeContext, x) | 
|   | 
| #define  | FLAGS   (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) | 
|   | 
| #define  | CUSTOM_TRANSITION(name,  type,  div) | 
|   | 
| #define  | FADE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPELEFT_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPERIGHT_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPEUP_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPEDOWN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SLIDELEFT_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SLIDERIGHT_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SLIDEUP_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SLIDEDOWN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | CIRCLECROP_TRANSITION(name,  type,  div) | 
|   | 
| #define  | RECTCROP_TRANSITION(name,  type,  div) | 
|   | 
| #define  | DISTANCE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | FADEBLACK_TRANSITION(name,  type,  div) | 
|   | 
| #define  | FADEWHITE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | RADIAL_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SMOOTHLEFT_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SMOOTHRIGHT_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SMOOTHUP_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SMOOTHDOWN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | CIRCLEOPEN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | CIRCLECLOSE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | VERTOPEN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | VERTCLOSE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | HORZOPEN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | HORZCLOSE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | DISSOLVE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | PIXELIZE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | DIAGTL_TRANSITION(name,  type,  div) | 
|   | 
| #define  | DIAGTR_TRANSITION(name,  type,  div) | 
|   | 
| #define  | DIAGBL_TRANSITION(name,  type,  div) | 
|   | 
| #define  | DIAGBR_TRANSITION(name,  type,  div) | 
|   | 
| #define  | HLSLICE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | HRSLICE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | VUSLICE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | VDSLICE_TRANSITION(name,  type,  div) | 
|   | 
| #define  | HBLUR_TRANSITION(name,  type,  div) | 
|   | 
| #define  | FADEGRAYS_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPETL_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPETR_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPEBL_TRANSITION(name,  type,  div) | 
|   | 
| #define  | WIPEBR_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SQUEEZEH_TRANSITION(name,  type,  div) | 
|   | 
| #define  | SQUEEZEV_TRANSITION(name,  type,  div) | 
|   | 
| #define  | ZOOMIN_TRANSITION(name,  type,  div) | 
|   | 
| #define  | FADEFAST_TRANSITION(name,  type,  div) | 
|   | 
| #define  | FADESLOW_TRANSITION(name,  type,  div) | 
|   | 
 | 
| enum   | XFadeTransitions {  
  CUSTOM = -1, 
FADE, 
WIPELEFT, 
WIPERIGHT, 
 
  WIPEUP, 
WIPEDOWN, 
SLIDELEFT, 
SLIDERIGHT, 
 
  SLIDEUP, 
SLIDEDOWN, 
CIRCLECROP, 
RECTCROP, 
 
  DISTANCE, 
FADEBLACK, 
FADEWHITE, 
RADIAL, 
 
  SMOOTHLEFT, 
SMOOTHRIGHT, 
SMOOTHUP, 
SMOOTHDOWN, 
 
  CIRCLEOPEN, 
CIRCLECLOSE, 
VERTOPEN, 
VERTCLOSE, 
 
  HORZOPEN, 
HORZCLOSE, 
DISSOLVE, 
PIXELIZE, 
 
  DIAGTL, 
DIAGTR, 
DIAGBL, 
DIAGBR, 
 
  HLSLICE, 
HRSLICE, 
VUSLICE, 
VDSLICE, 
 
  HBLUR, 
FADEGRAYS, 
WIPETL, 
WIPETR, 
 
  WIPEBL, 
WIPEBR, 
SQUEEZEH, 
SQUEEZEV, 
 
  ZOOMIN, 
FADEFAST, 
FADESLOW, 
NB_TRANSITIONS, 
 
  CUSTOM, 
FADE, 
WIPELEFT, 
WIPERIGHT, 
 
  WIPEUP, 
WIPEDOWN, 
SLIDELEFT, 
SLIDERIGHT, 
 
  SLIDEUP, 
SLIDEDOWN, 
NB_TRANSITIONS
 
 } | 
|   | 
| enum   | {  
  VAR_X, 
VAR_Y, 
VAR_W, 
VAR_H, 
 
  VAR_A, 
VAR_B, 
VAR_PLANE, 
VAR_PROGRESS, 
 
  VAR_VARS_NB
 
 } | 
|   | 
 | 
| static av_cold void  | uninit (AVFilterContext *ctx) | 
|   | 
|   | AVFILTER_DEFINE_CLASS (xfade) | 
|   | 
| static float  | mix (float a, float b, float mix) | 
|   | 
| static float  | fract (float a) | 
|   | 
| static float  | smoothstep (float edge0, float edge1, float x) | 
|   | 
| static float  | frand (int x, int y) | 
|   | 
| static void  | zoom (float *u, float *v, float amount) | 
|   | 
| static double  | getpix (void *priv, double x, double y, int plane, int nb) | 
|   | 
| static double  | a0 (void *priv, double x, double y) | 
|   | 
| static double  | a1 (void *priv, double x, double y) | 
|   | 
| static double  | a2 (void *priv, double x, double y) | 
|   | 
| static double  | a3 (void *priv, double x, double y) | 
|   | 
| static double  | b0 (void *priv, double x, double y) | 
|   | 
| static double  | b1 (void *priv, double x, double y) | 
|   | 
| static double  | b2 (void *priv, double x, double y) | 
|   | 
| static double  | b3 (void *priv, double x, double y) | 
|   | 
| static int  | config_output (AVFilterLink *outlink) | 
|   | 
| static int  | xfade_slice (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) | 
|   | 
| static int  | xfade_frame (AVFilterContext *ctx, AVFrame *a, AVFrame *b) | 
|   | 
| static int  | xfade_activate (AVFilterContext *ctx) | 
|   | 
◆ OFFSET
◆ FLAGS
◆ CUSTOM_TRANSITION
      
        
          | #define CUSTOM_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ FADE_TRANSITION
      
        
          | #define FADE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = 
mix(xf0[x], xf1[x], progress);                              \
 
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 267 of file vf_xfade.c.
 
 
◆ WIPELEFT_TRANSITION
      
        
          | #define WIPELEFT_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                float progress,                                      \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int z = 
out->width * progress;                                             
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = x > z ? xf1[x] : xf0[x];                                    \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 296 of file vf_xfade.c.
 
 
◆ WIPERIGHT_TRANSITION
      
        
          | #define WIPERIGHT_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                 float progress,                                     \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int z = 
out->width * (1.f - progress);                                     
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = x > z ? xf0[x] : xf1[x];                                    \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 326 of file vf_xfade.c.
 
 
◆ WIPEUP_TRANSITION
      
        
          | #define WIPEUP_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                              float progress,                                        \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int z = 
out->height * progress;                                            
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = slice_start + y > z ? xf1[x] : xf0[x];                      \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 356 of file vf_xfade.c.
 
 
◆ WIPEDOWN_TRANSITION
      
        
          | #define WIPEDOWN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                float progress,                                      \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int z = 
out->height * (1.f - progress);                                    
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = slice_start + y > z ? xf0[x] : xf1[x];                      \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 386 of file vf_xfade.c.
 
 
◆ SLIDELEFT_TRANSITION
      
        
          | #define SLIDELEFT_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                 float progress,                                     \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int z = -progress * 
width;                                                 
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
width; x++) {                                        \
 
                const int zx = z + x;                                                \
                dst[x] = (zx >= 0) && (zx < 
width) ? xf1[zz] : xf0[zz];              \
 
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 416 of file vf_xfade.c.
 
 
◆ SLIDERIGHT_TRANSITION
      
        
          | #define SLIDERIGHT_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                  float progress,                                    \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int z = progress * 
width;                                                  
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                const int zx = z + x;                                                \
                dst[x] = (zx >= 0) && (zx < 
width) ? xf1[zz] : xf0[zz];              \
 
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 449 of file vf_xfade.c.
 
 
◆ SLIDEUP_TRANSITION
      
        
          | #define SLIDEUP_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                               float progress,                                      \
{                                                                                   \
    XFadeContext *
s = 
ctx->priv;                                                    \
 
    const 
int z = -progress * 
height;                                               
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                        \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);        
\ 
            const int zy = z + y;                                                   \
            const 
type *xf0 = (
const type *)(
a->data[p] + zz * 
a->linesize[p]);     \
 
            const 
type *xf1 = (
const type *)(
b->data[p] + zz * 
b->linesize[p]);     
\ 
            for (
int x = 0; x < 
out->width; x++) {                                  \
 
                dst[x] = (zy >= 0) && (zy < 
height) ? xf1[x] : xf0[x];              \
 
            }                                                                       \
                                                                                    \
            dst += 
out->linesize[p] / div;                                          \
 
        }                                                                           \
    }                                                                               \
}
 
Definition at line 482 of file vf_xfade.c.
 
 
◆ SLIDEDOWN_TRANSITION
      
        
          | #define SLIDEDOWN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                 float progress,                                    \
{                                                                                   \
    XFadeContext *
s = 
ctx->priv;                                                    \
 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                        \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);        
\ 
            const int zy = z + y;                                                   \
            const 
type *xf0 = (
const type *)(
a->data[p] + zz * 
a->linesize[p]);     \
 
            const 
type *xf1 = (
const type *)(
b->data[p] + zz * 
b->linesize[p]);     
\ 
            for (
int x = 0; x < 
out->width; x++) {                                  \
 
                dst[x] = (zy >= 0) && (zy < 
height) ? xf1[x] : xf0[x];              \
 
            }                                                                       \
                                                                                    \
            dst += 
out->linesize[p] / div;                                          \
 
        }                                                                           \
    }                                                                               \
}
 
Definition at line 513 of file vf_xfade.c.
 
 
◆ CIRCLECROP_TRANSITION
      
        
          | #define CIRCLECROP_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                 float progress,                                    \
{                                                                                   \
    XFadeContext *
s = 
ctx->priv;                                                    \
 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                        \
 
        const 
int bg = 
s->black[p];                                                 \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);        
\ 
            const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);      \
 
            const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);      
\ 
                int 
val = progress < 0.5f ? xf1[x] : xf0[x];                        \
 
                dst[x] = (z < dist) ? bg : 
val;                                     \
 
            }                                                                       \
                                                                                    \
            dst += 
out->linesize[p] / div;                                          \
 
        }                                                                           \
    }                                                                               \
}
 
Definition at line 544 of file vf_xfade.c.
 
 
◆ RECTCROP_TRANSITION
      
        
          | #define RECTCROP_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                 float progress,                                    \
{                                                                                   \
    XFadeContext *
s = 
ctx->priv;                                                    \
 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                        \
 
        const 
int bg = 
s->black[p];                                                 \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);        
\ 
            const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);      \
 
            const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);      
\ 
                int 
val = progress < 0.5f ? xf1[x] : xf0[x];                        \
 
                dst[x] = !dist ? bg : 
val;                                          \
 
            }                                                                       \
                                                                                    \
            dst += 
out->linesize[p] / div;                                          \
 
        }                                                                           \
    }                                                                               \
}
 
Definition at line 577 of file vf_xfade.c.
 
 
◆ DISTANCE_TRANSITION
      
        
          | #define DISTANCE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                 float progress,                                    \
{                                                                                   \
    XFadeContext *
s = 
ctx->priv;                                                    \
 
    const 
float max = 
s->max_value;                                                 
\ 
        for (
int x = 0; x < 
width; x++) {                                           \
 
            float dist = 0.f;                                                       \
            for (
int p = 0; p < 
s->nb_planes; p++) {                                \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);  \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);  \
 
                                                                                    \
                dist += (xf0[x] / 
max - xf1[x] / 
max) *                             \
 
                        (xf0[x] / 
max - xf1[x] / 
max);                              \
 
            }                                                                       \
                                                                                    \
            dist = 
sqrtf(dist) <= progress;                                         \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);  \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);  \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);          \
 
                dst[x] = 
mix(
mix(xf0[x], xf1[x], dist), xf1[x], progress);          \
 
            }                                                                       \
        }                                                                           \
    }                                                                               \
}
 
Definition at line 612 of file vf_xfade.c.
 
 
◆ FADEBLACK_TRANSITION
      
        
          | #define FADEBLACK_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float phase = 0.2f;                                                        
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         \
 
        const 
int bg = 
s->black[p];                                                  
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                             progress);                                              \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 647 of file vf_xfade.c.
 
 
◆ FADEWHITE_TRANSITION
      
        
          | #define FADEWHITE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float phase = 0.2f;                                                        
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         \
 
        const 
int bg = 
s->white[p];                                                  
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                             progress);                                              \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 680 of file vf_xfade.c.
 
 
◆ RADIAL_TRANSITION
      
        
          | #define RADIAL_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
                                 (progress - 0.5f) * (
M_PI * 2.5
f);                  \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 713 of file vf_xfade.c.
 
 
◆ SMOOTHLEFT_TRANSITION
      
        
          | #define SMOOTHLEFT_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + x / 
w - progress * 2.f;                       
\ 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 741 of file vf_xfade.c.
 
 
◆ SMOOTHRIGHT_TRANSITION
      
        
          | #define SMOOTHRIGHT_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + (
w - 1 - x) / 
w - progress * 2.
f;             
\ 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 769 of file vf_xfade.c.
 
 
◆ SMOOTHUP_TRANSITION
      
        
          | #define SMOOTHUP_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
        const 
float smooth = 1.f + y / 
h - progress * 2.f;                           \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 797 of file vf_xfade.c.
 
 
◆ SMOOTHDOWN_TRANSITION
      
        
          | #define SMOOTHDOWN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
        const 
float smooth = 1.f + (
h - 1 - y) / 
h - progress * 2.
f;                 \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 824 of file vf_xfade.c.
 
 
◆ CIRCLEOPEN_TRANSITION
      
        
          | #define CIRCLEOPEN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float p = (progress - 0.5f) * 3.
f;                                         
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 851 of file vf_xfade.c.
 
 
◆ CIRCLECLOSE_TRANSITION
      
        
          | #define CIRCLECLOSE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float p = (1.f - progress - 0.5f) * 3.
f;                                   
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 880 of file vf_xfade.c.
 
 
◆ VERTOPEN_TRANSITION
      
        
          | #define VERTOPEN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float w2 = 
out->width / 2;                                                 
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 2.f - 
fabsf((x - w2) / w2) - progress * 2.f;        \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 909 of file vf_xfade.c.
 
 
◆ VERTCLOSE_TRANSITION
      
        
          | #define VERTCLOSE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float w2 = 
out->width / 2;                                                 
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + 
fabsf((x - w2) / w2) - progress * 2.f;        \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 936 of file vf_xfade.c.
 
 
◆ HORZOPEN_TRANSITION
      
        
          | #define HORZOPEN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h2 = 
out->height / 2;                                                
\ 
        const 
float smooth = 2.f - 
fabsf((y - h2) / h2) - progress * 2.f;            \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 963 of file vf_xfade.c.
 
 
◆ HORZCLOSE_TRANSITION
      
        
          | #define HORZCLOSE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h2 = 
out->height / 2;                                                
\ 
        const 
float smooth = 1.f + 
fabsf((y - h2) / h2) - progress * 2.f;            \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 990 of file vf_xfade.c.
 
 
◆ DISSOLVE_TRANSITION
      
        
          | #define DISSOLVE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 
frand(x, y) * 2.f + progress * 2.f - 1.5f;          \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
                dst[x] = 
smooth >= 0.5f ? xf0[x] : xf1[x];                           \
 
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1024 of file vf_xfade.c.
 
 
◆ PIXELIZE_TRANSITION
      
        
          | #define PIXELIZE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int w = 
out->width;                                                        \
 
    const 
int h = 
out->height;                                                       \
 
    const 
float d = 
fminf(progress, 1.
f - progress);                                 \
 
    const 
float dist = 
ceilf(
d * 50.
f) / 50.f;                                       \
 
    const 
float sqx = 2.f * dist * 
FFMIN(
w, 
h) / 20.f;                               \
 
    const 
float sqy = 2.f * dist * 
FFMIN(
w, 
h) / 20.f;                               
\ 
        for (
int x = 0; x < 
w; x++) {                                                \
 
            int sx = dist > 0.f ? 
FFMIN((
floorf(x / sqx) + .5
f) * sqx, 
w - 1) : x;   \
 
            int sy = dist > 0.f ? 
FFMIN((
floorf(y / sqy) + .5
f) * sqy, 
h - 1) : y;   \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + sy * 
a->linesize[p]);  \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + sy * 
b->linesize[p]);  \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
                dst[x] = 
mix(xf0[sx], xf1[sx], progress);                            \
 
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1050 of file vf_xfade.c.
 
 
◆ DIAGTL_TRANSITION
      
        
          | #define DIAGTL_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + x / 
w * y / 
h - progress * 2.f;               
\ 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1082 of file vf_xfade.c.
 
 
◆ DIAGTR_TRANSITION
      
        
          | #define DIAGTR_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + (
w - 1 - x) / 
w * y / 
h - progress * 2.
f;     
\ 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1111 of file vf_xfade.c.
 
 
◆ DIAGBL_TRANSITION
      
        
          | #define DIAGBL_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + x / 
w * (
h - 1 - y) / 
h - progress * 2.
f;     
\ 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1140 of file vf_xfade.c.
 
 
◆ DIAGBR_TRANSITION
      
        
          | #define DIAGBR_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float smooth = 1.f + (
w - 1 - x) / 
w * (
h - 1 - y) / 
h -           \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1169 of file vf_xfade.c.
 
 
◆ HLSLICE_TRANSITION
      
        
          | #define HLSLICE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
                dst[x] = 
mix(xf1[x], xf0[x], 
ss);                                    \
 
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1199 of file vf_xfade.c.
 
 
◆ HRSLICE_TRANSITION
      
        
          | #define HRSLICE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
        for (
int x = 0; x < 
width; x++) {                                            \
 
            const 
float xx = (
w - 1 - x) / 
w;                                        \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
                dst[x] = 
mix(xf1[x], xf0[x], 
ss);                                    \
 
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1228 of file vf_xfade.c.
 
 
◆ VUSLICE_TRANSITION
      
        
          | #define VUSLICE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
                dst[x] = 
mix(xf1[x], xf0[x], 
ss);                                    \
 
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1258 of file vf_xfade.c.
 
 
◆ VDSLICE_TRANSITION
      
        
          | #define VDSLICE_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float h = 
out->height;                                                     
\ 
         const 
float yy = (
h - 1 - y) / 
h;                                           \
 
            for (
int p = 0; p < 
s->nb_planes; p++) {                                 \
 
                const 
type *xf0 = (
const type *)(
a->data[p] + y * 
a->linesize[p]);   \
 
                const 
type *xf1 = (
const type *)(
b->data[p] + y * 
b->linesize[p]);   \
 
                type *dst = (
type *)(
out->data[p] + y * 
out->linesize[p]);           \
 
                                                                                     \
                dst[x] = 
mix(xf1[x], xf0[x], 
ss);                                    \
 
            }                                                                        \
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1287 of file vf_xfade.c.
 
 
◆ HBLUR_TRANSITION
      
        
          | #define HBLUR_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ FADEGRAYS_TRANSITION
      
        
          | #define FADEGRAYS_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ WIPETL_TRANSITION
      
        
          | #define WIPETL_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                float progress,                                      \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int zw = 
out->width * progress;                                            \
 
    const 
int zh = 
out->height * progress;                                           
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = slice_start + y <= zh &&                                    \
                         x <= zw ? xf0[x] : xf1[x];                                  \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1430 of file vf_xfade.c.
 
 
◆ WIPETR_TRANSITION
      
        
          | #define WIPETR_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                float progress,                                      \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int zw = 
out->width * (1.f - progress);                                    \
 
    const 
int zh = 
out->height * progress;                                           
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = slice_start + y <= zh &&                                    \
                         x > zw ? xf0[x] : xf1[x];                                   \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1462 of file vf_xfade.c.
 
 
◆ WIPEBL_TRANSITION
      
        
          | #define WIPEBL_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                float progress,                                      \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int zw = 
out->width * progress;                                            \
 
    const 
int zh = 
out->height * (1.f - progress);                                   
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = slice_start + y > zh &&                                     \
                         x <= zw ? xf0[x] : xf1[x];                                  \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1494 of file vf_xfade.c.
 
 
◆ WIPEBR_TRANSITION
      
        
          | #define WIPEBR_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                                float progress,                                      \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
int zh = 
out->height * (1.f - progress);                                   \
 
    const 
int zw = 
out->width * (1.f - progress);                                    
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = slice_start + y > zh &&                                     \
                         x > zw ? xf0[x] : xf1[x];                                   \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1526 of file vf_xfade.c.
 
 
◆ SQUEEZEH_TRANSITION
      
        
          | #define SQUEEZEH_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ SQUEEZEV_TRANSITION
      
        
          | #define SQUEEZEV_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ ZOOMIN_TRANSITION
      
        
          | #define ZOOMIN_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ FADEFAST_TRANSITION
      
        
          | #define FADEFAST_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float imax = 1.f / 
s->max_value;                                           
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = 
mix(xf0[x], xf1[x], 
powf(progress, 1.
f +                    \
 
                                                  logf(1.
f+
FFABS(xf0[x]-xf1[x])*imax)\
 
                                                  ));                                \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1677 of file vf_xfade.c.
 
 
◆ FADESLOW_TRANSITION
      
        
          | #define FADESLOW_TRANSITION | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          type,  | 
        
        
           | 
           | 
            | 
          div  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
                            float progress,                                          \
{                                                                                    \
    XFadeContext *
s = 
ctx->priv;                                                     \
 
    const 
float imax = 1.f / 
s->max_value;                                           
\ 
    for (
int p = 0; p < 
s->nb_planes; p++) {                                         \
 
        const 
type *xf0 = (
const type *)(
a->data[p] + slice_start * 
a->linesize[p]); \
 
        const 
type *xf1 = (
const type *)(
b->data[p] + slice_start * 
b->linesize[p]); \
 
        type *dst = (
type *)(
out->data[p] + slice_start * 
out->linesize[p]);         
\ 
            for (
int x = 0; x < 
out->width; x++) {                                   \
 
                dst[x] = 
mix(xf0[x], xf1[x], 
powf(progress, 1.
f +                    \
 
                                                  logf(2.
f-
FFABS(xf0[x]-xf1[x])*imax)\
 
                                                  ));                                \
            }                                                                        \
                                                                                     \
            dst += 
out->linesize[p] / div;                                           \
 
            xf0 += 
a->linesize[p] / div;                                             \
 
            xf1 += 
b->linesize[p] / div;                                             \
 
        }                                                                            \
    }                                                                                \
}
 
Definition at line 1709 of file vf_xfade.c.
 
 
◆ XFadeTransitions
| Enumerator | 
|---|
| CUSTOM  |  | 
| FADE  |  | 
| WIPELEFT  |  | 
| WIPERIGHT  |  | 
| WIPEUP  |  | 
| WIPEDOWN  |  | 
| SLIDELEFT  |  | 
| SLIDERIGHT  |  | 
| SLIDEUP  |  | 
| SLIDEDOWN  |  | 
| CIRCLECROP  |  | 
| RECTCROP  |  | 
| DISTANCE  |  | 
| FADEBLACK  |  | 
| FADEWHITE  |  | 
| RADIAL  |  | 
| SMOOTHLEFT  |  | 
| SMOOTHRIGHT  |  | 
| SMOOTHUP  |  | 
| SMOOTHDOWN  |  | 
| CIRCLEOPEN  |  | 
| CIRCLECLOSE  |  | 
| VERTOPEN  |  | 
| VERTCLOSE  |  | 
| HORZOPEN  |  | 
| HORZCLOSE  |  | 
| DISSOLVE  |  | 
| PIXELIZE  |  | 
| DIAGTL  |  | 
| DIAGTR  |  | 
| DIAGBL  |  | 
| DIAGBR  |  | 
| HLSLICE  |  | 
| HRSLICE  |  | 
| VUSLICE  |  | 
| VDSLICE  |  | 
| HBLUR  |  | 
| FADEGRAYS  |  | 
| WIPETL  |  | 
| WIPETR  |  | 
| WIPEBL  |  | 
| WIPEBR  |  | 
| SQUEEZEH  |  | 
| SQUEEZEV  |  | 
| ZOOMIN  |  | 
| FADEFAST  |  | 
| FADESLOW  |  | 
| NB_TRANSITIONS  |  | 
| CUSTOM  |  | 
| FADE  |  | 
| WIPELEFT  |  | 
| WIPERIGHT  |  | 
| WIPEUP  |  | 
| WIPEDOWN  |  | 
| SLIDELEFT  |  | 
| SLIDERIGHT  |  | 
| SLIDEUP  |  | 
| SLIDEDOWN  |  | 
| NB_TRANSITIONS  |  | 
Definition at line 31 of file vf_xfade.c.
 
 
◆ anonymous enum
| Enumerator | 
|---|
| VAR_X  |  | 
| VAR_Y  |  | 
| VAR_W  |  | 
| VAR_H  |  | 
| VAR_A  |  | 
| VAR_B  |  | 
| VAR_PLANE  |  | 
| VAR_PROGRESS  |  | 
| VAR_VARS_NB  |  | 
Definition at line 114 of file vf_xfade.c.
 
 
◆ uninit()
◆ AVFILTER_DEFINE_CLASS()
      
        
          | AVFILTER_DEFINE_CLASS  | 
          ( | 
          xfade  | 
           | ) | 
           | 
        
      
 
 
◆ mix()
◆ fract()
◆ smoothstep()
◆ frand()
◆ zoom()
◆ getpix()
◆ a0()
◆ a1()
◆ a2()
◆ a3()
◆ b0()
Definition at line 1770 of file vf_xfade.c.
Referenced by av_rescale_rnd(), biquad_process(), calc_lowcomp(), calc_lowcomp1(), cavs_idct8_add_c(), checkasm_check_synth_filter(), colorcontrast_slice16(), colorcontrast_slice16p(), colorcontrast_slice8(), colorcontrast_slice8p(), config_output(), extract_color(), ff_add_pixels_clamped_lasx(), ff_h264_idct8_add(), ff_ivi_recompose_haar(), ff_put_no_rnd_pixels_l2_msa(), ff_put_pixels_clamped_lasx(), ff_put_signed_pixels_clamped_lasx(), ff_simple_idct_add_lasx(), ff_simple_idct_lasx(), ff_simple_idct_put_lasx(), filter_channels(), filter_frame(), filter_horizontally(), filter_samples(), generate_noise(), horizontal_compose_daub97i_TMPL(), idct_col(), idct_row(), idctRowCondDC(), idctSparseCol(), idctSparseColAdd(), idctSparseColPut(), kaiser_beta(), set_ap(), set_highshelf_rbj(), set_hp(), set_lp(), set_params(), set_tf1s(), snow_vertical_compose97i(), spatial_compose53i_dy(), spatial_compose53i_dy_buffered(), spatial_compose97i_dy(), spatial_compose97i_dy_buffered(), spatial_compose_haari_dy_TMPL(), spatial_decompose53i(), spatial_decompose97i(), vb_stereo(), vertical_compose53iH0(), vertical_compose53iL0(), vertical_compose53iL0_TMPL(), vertical_compose97iH0(), vertical_compose97iH1(), vertical_compose97iL0(), vertical_compose97iL1(), vertical_compose_daub97iH0_TMPL(), vertical_compose_daub97iH1_TMPL(), vertical_compose_daub97iL0_TMPL(), vertical_compose_daub97iL1_TMPL(), vertical_compose_dd137iL0_TMPL(), vertical_compose_dd97iH0_TMPL(), vertical_compose_dirac53iH0_TMPL(), vertical_compose_fidelityiH0_TMPL(), vertical_compose_fidelityiL0_TMPL(), vertical_compose_haar_TMPL(), vertical_decompose53iH0(), vertical_decompose53iL0(), vertical_decompose97iH0(), vertical_decompose97iH1(), vertical_decompose97iL0(), and vertical_decompose97iL1().
 
 
◆ b1()
Definition at line 1771 of file vf_xfade.c.
Referenced by av_adler32_update(), av_rescale_rnd(), biquad_process(), calc_lowcomp(), calc_lowcomp1(), cavs_idct8_add_c(), checkasm_check_synth_filter(), colorcontrast_slice16(), colorcontrast_slice16p(), colorcontrast_slice8(), colorcontrast_slice8p(), config_input(), config_output(), dct4x4(), decode_dlta(), decode_hq_slice(), decode_move(), decode_predictor_coeffs(), decode_subband(), extract_color(), ff_add_pixels_clamped_lasx(), ff_eval_coefs(), ff_h264_idct8_add(), ff_ivi_recompose_haar(), ff_put_no_rnd_pixels_l2_msa(), ff_put_pixels_clamped_lasx(), ff_put_signed_pixels_clamped_lasx(), ff_simple_idct_add_lasx(), ff_simple_idct_lasx(), ff_simple_idct_put_lasx(), ff_vp8_luma_dc_wht_msa(), filter_channels(), filter_frame(), filter_horizontally(), filter_samples(), horizontal_compose_daub97i_TMPL(), idct_col(), idct_row(), idctRowCondDC(), idctSparseCol(), idctSparseColAdd(), idctSparseColPut(), kaiser_beta(), parse_chunk_headers(), residue_encode(), rgb24_to_yuv420p(), run_test(), search_for_ms(), set_ap(), set_hp(), set_lp(), set_params(), set_tf1s(), snow_vertical_compose97i(), spatial_compose53i_dy(), spatial_compose53i_dy_buffered(), spatial_compose97i_dy(), spatial_compose97i_dy_buffered(), spatial_compose_haari_dy_TMPL(), spatial_decompose53i(), spatial_decompose97i(), vb_stereo(), vertical_compose53iH0(), vertical_compose53iL0(), vertical_compose53iL0_TMPL(), vertical_compose97iH0(), vertical_compose97iH1(), vertical_compose97iL0(), vertical_compose97iL1(), vertical_compose_daub97iH0_TMPL(), vertical_compose_daub97iH1_TMPL(), vertical_compose_daub97iL0_TMPL(), vertical_compose_daub97iL1_TMPL(), vertical_compose_dd137iL0_TMPL(), vertical_compose_dd97iH0_TMPL(), vertical_compose_dirac53iH0_TMPL(), vertical_compose_fidelityiH0_TMPL(), vertical_compose_fidelityiL0_TMPL(), vertical_compose_haar_TMPL(), vertical_decompose53iH0(), vertical_decompose53iL0(), vertical_decompose97iH0(), vertical_decompose97iH1(), vertical_decompose97iL0(), vertical_decompose97iL1(), and wht4x4().
 
 
◆ b2()
Definition at line 1772 of file vf_xfade.c.
Referenced by av_adler32_update(), biquad_process(), cavs_idct8_add_c(), colorcontrast_slice16(), colorcontrast_slice16p(), colorcontrast_slice8(), colorcontrast_slice8p(), compare_by_prob(), config_input(), config_output(), decode_dlta(), decode_move(), decode_predictor_coeffs(), decode_subband(), ff_add_pixels_clamped_lasx(), ff_eval_coefs(), ff_h264_idct8_add(), ff_ivi_recompose_haar(), ff_put_no_rnd_pixels_l2_msa(), ff_put_pixels_clamped_lasx(), ff_put_signed_pixels_clamped_lasx(), ff_simple_idct_add_lasx(), ff_simple_idct_lasx(), ff_simple_idct_put_lasx(), filter_channels(), filter_frame(), filter_samples(), horizontal_compose_daub97i_TMPL(), idct_col(), idct_row(), idctRowCondDC(), idctSparseCol(), idctSparseColAdd(), idctSparseColPut(), parse_chunk_headers(), qoi_decode_frame(), qpel_motion_search(), residue_encode(), run_test(), search_for_ms(), set_ap(), set_hp(), set_lp(), set_params(), snow_vertical_compose97i(), spatial_compose53i_dy(), spatial_compose53i_dy_buffered(), spatial_compose97i_dy(), spatial_compose97i_dy_buffered(), spatial_decompose53i(), spatial_decompose97i(), vertical_compose53iH0(), vertical_compose53iL0(), vertical_compose53iL0_TMPL(), vertical_compose97iH0(), vertical_compose97iH1(), vertical_compose97iL0(), vertical_compose97iL1(), vertical_compose_daub97iH0_TMPL(), vertical_compose_daub97iH1_TMPL(), vertical_compose_daub97iL0_TMPL(), vertical_compose_daub97iL1_TMPL(), vertical_compose_dd137iL0_TMPL(), vertical_compose_dd97iH0_TMPL(), vertical_compose_dirac53iH0_TMPL(), vertical_compose_fidelityiH0_TMPL(), vertical_compose_fidelityiL0_TMPL(), vertical_decompose53iH0(), vertical_decompose53iL0(), vertical_decompose97iH0(), vertical_decompose97iH1(), vertical_decompose97iL0(), and vertical_decompose97iL1().
 
 
◆ b3()
Definition at line 1773 of file vf_xfade.c.
Referenced by cavs_idct8_add_c(), config_output(), ff_add_pixels_clamped_lasx(), ff_h264_idct8_add(), ff_ivi_recompose_haar(), ff_put_no_rnd_pixels_l2_msa(), ff_put_pixels_clamped_lasx(), ff_put_signed_pixels_clamped_lasx(), ff_simple_idct_add_lasx(), ff_simple_idct_lasx(), ff_simple_idct_put_lasx(), idct_col(), idct_row(), idctRowCondDC(), idctSparseCol(), idctSparseColAdd(), idctSparseColPut(), search_for_ms(), snow_vertical_compose97i(), spatial_compose53i_dy(), spatial_compose53i_dy_buffered(), spatial_compose97i_dy(), spatial_compose97i_dy_buffered(), spatial_decompose53i(), spatial_decompose97i(), vertical_compose_dd137iL0_TMPL(), vertical_compose_dd97iH0_TMPL(), vertical_compose_fidelityiH0_TMPL(), and vertical_compose_fidelityiL0_TMPL().
 
 
◆ config_output()
◆ xfade_slice()
◆ xfade_frame()
◆ xfade_activate()
◆ var_names
  
  
      
        
          | const char* const var_names[] = { "X", "Y", "W", "H", "A", "B", "PLANE", "P", NULL } | 
         
       
   | 
  
static   | 
  
 
 
◆ pix_fmts
◆ xfade_options
◆ xfade_inputs
Initial value:= {
    {
        .name          = "main",
    },
    {
        .name          = "xfade",
    },
}
 
Definition at line 2045 of file vf_xfade.c.
 
 
◆ xfade_outputs
Initial value:= {
    {
        .name          = "default",
    },
}
 
Definition at line 2056 of file vf_xfade.c.
 
 
◆ ff_vf_xfade
Initial value:= {
    .name          = "xfade",
    .priv_class    = &xfade_class,
}
 
Definition at line 2064 of file vf_xfade.c.
 
 
 
static enum AVPixelFormat pix_fmts[]
 
#define AV_PIX_FMT_GBRAP16
 
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
 
static int xfade_activate(AVFilterContext *ctx)
 
#define FILTER_PIXFMTS_ARRAY(array)
 
static __device__ float floorf(float a)
 
This structure describes decoded (raw) audio or video data.
 
static float mix(float a, float b, float mix)
 
static __device__ float ceilf(float a)
 
#define AV_PIX_FMT_GBRP14
 
@ AV_PIX_FMT_GBRAP
planar GBRA 4:4:4:4 32bpp
 
#define AV_PIX_FMT_GBRP10
 
#define AV_PIX_FMT_YUVA444P16
 
static double val(void *priv, double ch)
 
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
 
#define AV_PIX_FMT_GRAY16
 
#define ss(width, name, subs,...)
 
static __device__ float fabsf(float a)
 
#define AV_PIX_FMT_YUV444P10
 
#define AV_PIX_FMT_GBRAP10
 
#define AV_PIX_FMT_GBRAP12
 
#define AV_PIX_FMT_YUV444P16
 
static float smoothstep(float edge0, float edge1, float x)
 
static int slice_end(AVCodecContext *avctx, AVFrame *pict)
Handle slice ends.
 
float fminf(float, float)
 
#define AV_PIX_FMT_YUVA444P12
 
#define FILTER_INPUTS(array)
 
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
 
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
 
#define AV_PIX_FMT_GRAY10
 
#define AV_PIX_FMT_GBRP16
 
filter_frame For filters that do not use the activate() callback
 
static __device__ float sqrtf(float a)
 
static const AVFilterPad xfade_inputs[]
 
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
 
static const AVFilterPad xfade_outputs[]
 
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
 
static av_cold void uninit(AVFilterContext *ctx)
 
#define AV_PIX_FMT_YUV444P12
 
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
 
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
 
#define AV_PIX_FMT_YUVA444P10
 
static float frand(int x, int y)
 
static int config_output(AVFilterLink *outlink)
 
#define AV_PIX_FMT_GBRP12
 
static void fade(uint8_t *dst, ptrdiff_t dst_linesize, const uint8_t *src, ptrdiff_t src_linesize, int width, int height, int alpha, int beta)
 
static float fract(float a)
 
#define AV_PIX_FMT_YUVA444P9
 
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
 
@ AV_PIX_FMT_GBRP
planar GBR 4:4:4 24bpp
 
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
 
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifo *values)
 
#define FILTER_OUTPUTS(array)
 
static float distance(float x, float y, int band)
 
#define AV_PIX_FMT_YUV444P14
 
#define AV_PIX_FMT_GRAY12