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,9 +280,12 @@ static int request_frame(AVFilterLink *outlink)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (s->current_frame >= s->nb_frames) {
 | 
					    if (s->current_frame >= s->nb_frames) {
 | 
				
			||||||
        s->x = dx;
 | 
					        if (dx != -1)
 | 
				
			||||||
        s->y = dy;
 | 
					            s->x = dx;
 | 
				
			||||||
        s->prev_zoom = zoom;
 | 
					        if (dy != -1)
 | 
				
			||||||
 | 
					            s->y = dy;
 | 
				
			||||||
 | 
					        if (zoom != -1)
 | 
				
			||||||
 | 
					            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;
 | 
				
			||||||
        s->current_frame = 0;
 | 
					        s->current_frame = 0;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user