avfilter/vf_zoompan: fix pzoom usage
This commit is contained in:
parent
b93e223315
commit
ac18114b96
@ -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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user