63 enum {VF_FADE_WAITING=0, VF_FADE_FADING, VF_FADE_DONE} fade_state;
81 "type:%s start_frame:%d nb_frames:%d alpha:%d\n",
87 "type:%s start_time:%f duration:%f alpha:%d\n",
146 int slice_start = (frame->
height * jobnr ) / nb_jobs;
150 for (i = slice_start; i <
slice_end; i++) {
152 for (j = 0; j < frame->
width * s->
bpp; j++) {
172 int slice_start = (height * jobnr ) / nb_jobs;
173 int slice_end = (height * (jobnr+1)) / nb_jobs;
175 for (plane = 1; plane < 3; plane++) {
176 for (i = slice_start; i <
slice_end; i++) {
178 for (j = 0; j <
width; j++) {
182 *p = ((*p - 128) * s->
factor + 8421367) >> 16;
197 int slice_start = (frame->
height * jobnr ) / nb_jobs;
201 for (i = slice_start; i <
slice_end; i++) {
204 for (j = 0; j < frame->
width; j++) {
232 s->
start_time = frame_timestamp*(double)AV_TIME_BASE;
270 if (s->
factor < UINT16_MAX) {
279 if (frame->
data[1] && frame->
data[2]) {
293 #define OFFSET(x) offsetof(FadeContext, x)
294 #define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
301 {
"start_frame",
"Number of the first frame to which to apply the effect.",
303 {
"s",
"Number of the first frame to which to apply the effect.",
305 {
"nb_frames",
"Number of frames to which the effect should be applied.",
307 {
"n",
"Number of frames to which the effect should be applied.",
310 {
"start_time",
"Number of seconds of the beginning of the effect.",
312 {
"st",
"Number of seconds of the beginning of the effect.",
314 {
"duration",
"Duration of the effect in seconds.",
316 {
"d",
"Duration of the effect in seconds.",
347 .priv_class = &fade_class,
349 .
inputs = avfilter_vf_fade_inputs,
350 .
outputs = avfilter_vf_fade_outputs,