mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avfilter/vf_delogo: unbreak fate
It is not clear what was real intention of previous commit to this filter. It was not working correctly, hopefully this is fixed now. It never checked that new x/y/w/h are actually valid, hopeffully this is fixed now. It uses named variables in expressions that are never set, still not fixed. It does not set named variables that uses actual frame widht/height, making actual expressions less usable for our users, still now fixed.
This commit is contained in:
parent
e0fab59624
commit
6b09030756
@ -318,6 +318,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
|
||||
int direct = 0;
|
||||
int plane;
|
||||
AVRational sar;
|
||||
int ret;
|
||||
|
||||
s->var_values[VAR_N] = inlink->frame_count_out;
|
||||
s->var_values[VAR_T] = TS2T(in->pts, inlink->time_base);
|
||||
@ -326,6 +327,17 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
|
||||
s->w = av_expr_eval(s->w_pexpr, s->var_values, s);
|
||||
s->h = av_expr_eval(s->h_pexpr, s->var_values, s);
|
||||
|
||||
ret = config_input(inlink);
|
||||
if (ret < 0) {
|
||||
av_frame_free(&in);
|
||||
return ret;
|
||||
}
|
||||
|
||||
s->w += s->band*2;
|
||||
s->h += s->band*2;
|
||||
s->x -= s->band;
|
||||
s->y -= s->band;
|
||||
|
||||
if (av_frame_is_writable(in)) {
|
||||
direct = 1;
|
||||
out = in;
|
||||
|
Loading…
Reference in New Issue
Block a user