And rescale timestamps.
Unified · Split
| @@ -240,6 +240,7 @@ static int config_output(AVFilterLink *outlink) · 239 unmodified lines | |||
| 240 | outlink->h = s->h; | 240 | outlink->h = s->h; |
| 241 | outlink->sample_aspect_ratio = (AVRational){1,1}; | 241 | outlink->sample_aspect_ratio = (AVRational){1,1}; |
| 242 | outlink->frame_rate = s->frame_rate; | 242 | outlink->frame_rate = s->frame_rate; |
| 243 | outlink->time_base = av_inv_q(outlink->frame_rate); | ||
| 243 | 244 | ||
| 244 | s->prev_x = s->hw = s->w / 2; | 245 | s->prev_x = s->hw = s->w / 2; |
| 245 | s->prev_y = s->hh = s->mode == POLAR ? s->h - 1 : s->h / 2; | 246 | s->prev_y = s->hh = s->mode == POLAR ? s->h - 1 : s->h / 2; |
| @@ -273,7 +274,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) · 27 unmodified lines | |||
| 273 | for (i = 0; i < outlink->h; i++) | 274 | for (i = 0; i < outlink->h; i++) |
| 274 | memset(s->outpicref->data[0] + i * s->outpicref->linesize[0], 0, outlink->w * 4); | 275 | memset(s->outpicref->data[0] + i * s->outpicref->linesize[0], 0, outlink->w * 4); |
| 275 | } | 276 | } |
| 276 | s->outpicref->pts = insamples->pts; | 277 | s->outpicref->pts = av_rescale_q(insamples->pts, inlink->time_base, outlink->time_base); |
| 277 | 278 | ||
| 278 | av_frame_make_writable(s->outpicref); | 279 | av_frame_make_writable(s->outpicref); |
| 279 | ff_filter_execute(ctx, fade, NULL, NULL, FFMIN(outlink->h, ff_filter_get_nb_threads(ctx))); | 280 | ff_filter_execute(ctx, fade, NULL, NULL, FFMIN(outlink->h, ff_filter_get_nb_threads(ctx))); |