diff options
author | Paul B Mahol <onemda@gmail.com> | 2016-08-15 09:31:09 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2016-08-15 09:55:36 +0200 |
commit | ac18114b96fb59056d78b00b73b991007cd7bcd2 (patch) | |
tree | cf298c3b10e825c6835f154c518eed4f1c900f7a | |
parent | b93e2233155e6c1f0a074cad4135a70d9d2934d3 (diff) | |
download | ffmpeg-ac18114b96fb59056d78b00b73b991007cd7bcd2.tar.gz |
avfilter/vf_zoompan: fix pzoom usage
-rw-r--r-- | libavfilter/vf_zoompan.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libavfilter/vf_zoompan.c b/libavfilter/vf_zoompan.c index 471e143e69..7a71503168 100644 --- a/libavfilter/vf_zoompan.c +++ b/libavfilter/vf_zoompan.c @@ -143,6 +143,10 @@ static int output_single_frame(AVFilterContext *ctx, AVFrame *in, double *var_va int px[4], py[4]; AVFrame *out; + var_values[VAR_PX] = s->x; + var_values[VAR_PY] = s->y; + var_values[VAR_PZOOM] = s->prev_zoom; + var_values[VAR_PDURATION] = s->prev_nb_frames; var_values[VAR_TIME] = pts * av_q2d(outlink->time_base); var_values[VAR_FRAME] = i; var_values[VAR_ON] = outlink->frame_count + 1; @@ -265,7 +269,7 @@ static int request_frame(AVFilterLink *outlink) AVFilterContext *ctx = outlink->src; ZPContext *s = ctx->priv; AVFrame *in = s->in; - double zoom=1, dx=0, dy=0; + double zoom=-1, dx=-1, dy=-1; int ret = -1; if (in) { @@ -276,9 +280,12 @@ static int request_frame(AVFilterLink *outlink) } if (s->current_frame >= s->nb_frames) { - s->x = dx; - s->y = dy; - s->prev_zoom = zoom; + if (dx != -1) + s->x = dx; + if (dy != -1) + s->y = dy; + if (zoom != -1) + s->prev_zoom = zoom; s->prev_nb_frames = s->nb_frames; s->nb_frames = 0; s->current_frame = 0; |