Commit ac18114b authored by Paul B Mahol's avatar Paul B Mahol

avfilter/vf_zoompan: fix pzoom usage

parent b93e2233
...@@ -143,6 +143,10 @@ static int output_single_frame(AVFilterContext *ctx, AVFrame *in, double *var_va ...@@ -143,6 +143,10 @@ static int output_single_frame(AVFilterContext *ctx, AVFrame *in, double *var_va
int px[4], py[4]; int px[4], py[4];
AVFrame *out; 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_TIME] = pts * av_q2d(outlink->time_base);
var_values[VAR_FRAME] = i; var_values[VAR_FRAME] = i;
var_values[VAR_ON] = outlink->frame_count + 1; var_values[VAR_ON] = outlink->frame_count + 1;
...@@ -265,7 +269,7 @@ static int request_frame(AVFilterLink *outlink) ...@@ -265,7 +269,7 @@ static int request_frame(AVFilterLink *outlink)
AVFilterContext *ctx = outlink->src; AVFilterContext *ctx = outlink->src;
ZPContext *s = ctx->priv; ZPContext *s = ctx->priv;
AVFrame *in = s->in; AVFrame *in = s->in;
double zoom=1, dx=0, dy=0; double zoom=-1, dx=-1, dy=-1;
int ret = -1; int ret = -1;
if (in) { if (in) {
...@@ -276,8 +280,11 @@ static int request_frame(AVFilterLink *outlink) ...@@ -276,8 +280,11 @@ static int request_frame(AVFilterLink *outlink)
} }
if (s->current_frame >= s->nb_frames) { if (s->current_frame >= s->nb_frames) {
if (dx != -1)
s->x = dx; s->x = dx;
if (dy != -1)
s->y = dy; s->y = dy;
if (zoom != -1)
s->prev_zoom = zoom; s->prev_zoom = zoom;
s->prev_nb_frames = s->nb_frames; s->prev_nb_frames = s->nb_frames;
s->nb_frames = 0; s->nb_frames = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment