summaryrefslogtreecommitdiff
path: root/libavfilter/vf_zoompan.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2016-08-15 09:31:09 +0200
committerPaul B Mahol <onemda@gmail.com>2016-08-15 09:55:36 +0200
commitac18114b96fb59056d78b00b73b991007cd7bcd2 (patch)
treecf298c3b10e825c6835f154c518eed4f1c900f7a /libavfilter/vf_zoompan.c
parentb93e2233155e6c1f0a074cad4135a70d9d2934d3 (diff)
downloadffmpeg-ac18114b96fb59056d78b00b73b991007cd7bcd2.tar.gz
avfilter/vf_zoompan: fix pzoom usage
Diffstat (limited to 'libavfilter/vf_zoompan.c')
-rw-r--r--libavfilter/vf_zoompan.c15
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;