diff options
Diffstat (limited to 'video/filter')
-rw-r--r-- | video/filter/vf.c | 24 | ||||
-rw-r--r-- | video/filter/vf.h | 4 |
2 files changed, 7 insertions, 21 deletions
diff --git a/video/filter/vf.c b/video/filter/vf.c index dd5b560df3..35de0f23a7 100644 --- a/video/filter/vf.c +++ b/video/filter/vf.c @@ -211,13 +211,8 @@ void vf_print_filter_chain(struct vf_chain *c, int msglevel, if (!mp_msg_test(c->log, msglevel)) return; - char b[128] = {0}; - - mp_snprintf_cat(b, sizeof(b), "%s", mp_image_params_to_str(&c->input_params)); - mp_msg(c->log, msglevel, " [vd] %s\n", b); - for (vf_instance_t *f = c->first; f; f = f->next) { - b[0] = '\0'; + char b[128] = {0}; mp_snprintf_cat(b, sizeof(b), " [%s] ", f->info->name); mp_snprintf_cat(b, sizeof(b), "%s", mp_image_params_to_str(&f->fmt_out)); if (f->autoinserted) @@ -392,7 +387,6 @@ int vf_filter_frame(struct vf_chain *c, struct mp_image *img) return -1; } assert(mp_image_params_equal(&img->params, &c->input_params)); - vf_fix_img_params(img, &c->override_params); return vf_do_filter(c->first, img); } @@ -585,10 +579,7 @@ static int vf_reconfig_wrapper(struct vf_instance *vf, return r; } -// override_params is used to forcibly change the parameters of input images, -// while params has to match the input images exactly. -int vf_reconfig(struct vf_chain *c, const struct mp_image_params *params, - const struct mp_image_params *override_params) +int vf_reconfig(struct vf_chain *c, const struct mp_image_params *params) { int r = 0; vf_seek_reset(c); @@ -599,9 +590,8 @@ int vf_reconfig(struct vf_chain *c, const struct mp_image_params *params, vf = next; } c->input_params = *params; - c->first->fmt_in = *override_params; - c->override_params = *override_params; - struct mp_image_params cur = c->override_params; + c->first->fmt_in = *params; + struct mp_image_params cur = *params; uint8_t unused[IMGFMT_END - IMGFMT_START]; update_formats(c, c->first, unused); @@ -621,10 +611,8 @@ int vf_reconfig(struct vf_chain *c, const struct mp_image_params *params, MP_ERR(c, "Image formats incompatible or invalid.\n"); mp_msg(c->log, loglevel, "Video filter chain:\n"); vf_print_filter_chain(c, loglevel, failing); - if (r < 0) { - c->input_params = c->override_params = c->output_params = - (struct mp_image_params){0}; - } + if (r < 0) + c->input_params = c->output_params = (struct mp_image_params){0}; return r; } diff --git a/video/filter/vf.h b/video/filter/vf.h index 2e253b88e3..f828d4e735 100644 --- a/video/filter/vf.h +++ b/video/filter/vf.h @@ -111,7 +111,6 @@ struct vf_chain { struct vf_instance *first, *last; struct mp_image_params input_params; - struct mp_image_params override_params; // input to first filter struct mp_image_params output_params; uint8_t allowed_output_formats[IMGFMT_END - IMGFMT_START]; @@ -149,8 +148,7 @@ enum vf_ctrl { struct vf_chain *vf_new(struct mpv_global *global); void vf_destroy(struct vf_chain *c); -int vf_reconfig(struct vf_chain *c, const struct mp_image_params *params, - const struct mp_image_params *override_params); +int vf_reconfig(struct vf_chain *c, const struct mp_image_params *params); int vf_control_any(struct vf_chain *c, int cmd, void *arg); int vf_control_by_label(struct vf_chain *c, int cmd, void *arg, bstr label); int vf_filter_frame(struct vf_chain *c, struct mp_image *img); |