diff options
Diffstat (limited to 'chromium/third_party/ffmpeg/libavfilter/vf_frei0r.c')
-rw-r--r-- | chromium/third_party/ffmpeg/libavfilter/vf_frei0r.c | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/chromium/third_party/ffmpeg/libavfilter/vf_frei0r.c b/chromium/third_party/ffmpeg/libavfilter/vf_frei0r.c index a070eb4726f..9f868383eee 100644 --- a/chromium/third_party/ffmpeg/libavfilter/vf_frei0r.c +++ b/chromium/third_party/ffmpeg/libavfilter/vf_frei0r.c @@ -29,6 +29,7 @@ #include <stdlib.h> #include "config.h" #include "libavutil/avstring.h" +#include "libavutil/common.h" #include "libavutil/imgutils.h" #include "libavutil/internal.h" #include "libavutil/mathematics.h" @@ -80,7 +81,7 @@ static void *load_sym(AVFilterContext *ctx, const char *sym_name) Frei0rContext *s = ctx->priv; void *sym = dlsym(s->dl_handle, sym_name); if (!sym) - av_log(ctx, AV_LOG_ERROR, "Could not find symbol '%s' in loaded module\n", sym_name); + av_log(ctx, AV_LOG_ERROR, "Could not find symbol '%s' in loaded module.\n", sym_name); return sym; } @@ -128,7 +129,7 @@ static int set_param(AVFilterContext *ctx, f0r_param_info_t info, int index, cha return 0; fail: - av_log(ctx, AV_LOG_ERROR, "Invalid value '%s' for parameter '%s'\n", + av_log(ctx, AV_LOG_ERROR, "Invalid value '%s' for parameter '%s'.\n", param, info.name); return AVERROR(EINVAL); } @@ -201,11 +202,11 @@ static int set_params(AVFilterContext *ctx, const char *params) default: /* F0R_PARAM_STRING */ v = s; s->get_param_value(s->instance, v, i); - av_log(ctx, AV_LOG_DEBUG, "'%s'\n", s); + av_log(ctx, AV_LOG_DEBUG, "'%s'", s); break; } #endif - av_log(ctx, AV_LOG_VERBOSE, "\n"); + av_log(ctx, AV_LOG_VERBOSE, ".\n"); } return 0; @@ -216,7 +217,7 @@ static int load_path(AVFilterContext *ctx, void **handle_ptr, const char *prefix char *path = av_asprintf("%s%s%s", prefix, name, SLIBSUF); if (!path) return AVERROR(ENOMEM); - av_log(ctx, AV_LOG_DEBUG, "Looking for frei0r effect in '%s'\n", path); + av_log(ctx, AV_LOG_DEBUG, "Looking for frei0r effect in '%s'.\n", path); *handle_ptr = dlopen(path, RTLD_NOW|RTLD_LOCAL); av_free(path); return 0; @@ -231,6 +232,13 @@ static av_cold int frei0r_init(AVFilterContext *ctx, f0r_plugin_info_t *pi; char *path; int ret = 0; + int i; + static const char* const frei0r_pathlist[] = { + "/usr/local/lib/frei0r-1/", + "/usr/lib/frei0r-1/", + "/usr/local/lib64/frei0r-1/", + "/usr/lib64/frei0r-1/" + }; if (!dl_name) { av_log(ctx, AV_LOG_ERROR, "No filter name provided.\n"); @@ -274,18 +282,13 @@ static av_cold int frei0r_init(AVFilterContext *ctx, if (ret < 0) return ret; } - if (!s->dl_handle) { - ret = load_path(ctx, &s->dl_handle, "/usr/local/lib/frei0r-1/", dl_name); - if (ret < 0) - return ret; - } - if (!s->dl_handle) { - ret = load_path(ctx, &s->dl_handle, "/usr/lib/frei0r-1/", dl_name); + for (i = 0; !s->dl_handle && i < FF_ARRAY_ELEMS(frei0r_pathlist); i++) { + ret = load_path(ctx, &s->dl_handle, frei0r_pathlist[i], dl_name); if (ret < 0) return ret; } if (!s->dl_handle) { - av_log(ctx, AV_LOG_ERROR, "Could not find module '%s'\n", dl_name); + av_log(ctx, AV_LOG_ERROR, "Could not find module '%s'.\n", dl_name); return AVERROR(EINVAL); } @@ -301,7 +304,7 @@ static av_cold int frei0r_init(AVFilterContext *ctx, return AVERROR(EINVAL); if (f0r_init() < 0) { - av_log(ctx, AV_LOG_ERROR, "Could not init the frei0r module\n"); + av_log(ctx, AV_LOG_ERROR, "Could not init the frei0r module.\n"); return AVERROR(EINVAL); } @@ -309,7 +312,7 @@ static av_cold int frei0r_init(AVFilterContext *ctx, pi = &s->plugin_info; if (pi->plugin_type != type) { av_log(ctx, AV_LOG_ERROR, - "Invalid type '%s' for the plugin\n", + "Invalid type '%s' for this plugin\n", pi->plugin_type == F0R_PLUGIN_TYPE_FILTER ? "filter" : pi->plugin_type == F0R_PLUGIN_TYPE_SOURCE ? "source" : pi->plugin_type == F0R_PLUGIN_TYPE_MIXER2 ? "mixer2" : @@ -356,7 +359,7 @@ static int config_input_props(AVFilterLink *inlink) if (s->destruct && s->instance) s->destruct(s->instance); if (!(s->instance = s->construct(inlink->w, inlink->h))) { - av_log(ctx, AV_LOG_ERROR, "Impossible to load frei0r instance\n"); + av_log(ctx, AV_LOG_ERROR, "Impossible to load frei0r instance.\n"); return AVERROR(EINVAL); } @@ -473,7 +476,11 @@ static int source_config_props(AVFilterLink *outlink) if (s->destruct && s->instance) s->destruct(s->instance); if (!(s->instance = s->construct(outlink->w, outlink->h))) { - av_log(ctx, AV_LOG_ERROR, "Impossible to load frei0r instance\n"); + av_log(ctx, AV_LOG_ERROR, "Impossible to load frei0r instance.\n"); + return AVERROR(EINVAL); + } + if (!s->params) { + av_log(ctx, AV_LOG_ERROR, "frei0r filter parameters not set.\n"); return AVERROR(EINVAL); } |