From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A584640DD9 for ; Sun, 10 Apr 2022 17:45:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9026268B344; Sun, 10 Apr 2022 20:45:33 +0300 (EEST) Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BED5D68AEC1 for ; Sun, 10 Apr 2022 20:45:27 +0300 (EEST) Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:105:465:1:3:0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4Kbzsf54PGz9sSx for ; Sun, 10 Apr 2022 19:45:26 +0200 (CEST) Message-ID: Date: Sun, 10 Apr 2022 23:15:06 +0530 MIME-Version: 1.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220410060622.1734-1-ffmpeg@gyani.pro> From: Gyan Doshi In-Reply-To: <20220410060622.1734-1-ffmpeg@gyani.pro> Subject: Re: [FFmpeg-devel] [PATCH] avfilter/lensfun: add option db_path X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Plan to push tomorrow. On 2022-04-10 11:36 am, Gyan Doshi wrote: > The lensfun filter, at present, loads its database from a path hardcoded > at build time. This may not be known or available to end users. > > Added option db_path allows custom path. > --- > doc/filters.texi | 4 ++++ > libavfilter/vf_lensfun.c | 8 +++++--- > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/doc/filters.texi b/doc/filters.texi > index 6a66b0ed11..9861f43c07 100644 > --- a/doc/filters.texi > +++ b/doc/filters.texi > @@ -14693,6 +14693,10 @@ required. > The model of the lens (for example, "Canon EF-S 18-55mm f/3.5-5.6 IS STM"). This > option is required. > > +@item db_path > +The full path to the lens database folder. If not set, the filter will attempt to > +load the database from the install path when the library was built. Default is unset. > + > @item mode > The type of correction to apply. The following values are valid options: > > diff --git a/libavfilter/vf_lensfun.c b/libavfilter/vf_lensfun.c > index 596daed104..35c522a723 100644 > --- a/libavfilter/vf_lensfun.c > +++ b/libavfilter/vf_lensfun.c > @@ -73,7 +73,7 @@ typedef struct DistortionCorrectionThreadData { > > typedef struct LensfunContext { > const AVClass *class; > - const char *make, *model, *lens_model; > + const char *make, *model, *lens_model, *db_path; > int mode; > float focal_length; > float aperture; > @@ -97,6 +97,7 @@ static const AVOption lensfun_options[] = { > { "make", "set camera maker", OFFSET(make), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, > { "model", "set camera model", OFFSET(model), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, > { "lens_model", "set lens model", OFFSET(lens_model), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, > + { "db_path", "set path to database", OFFSET(db_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, > { "mode", "set mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64=GEOMETRY_DISTORTION}, 0, VIGNETTING | GEOMETRY_DISTORTION | SUBPIXEL_DISTORTION, FLAGS, "mode" }, > { "vignetting", "fix lens vignetting", 0, AV_OPT_TYPE_CONST, {.i64=VIGNETTING}, 0, 0, FLAGS, "mode" }, > { "geometry", "correct geometry distortion", 0, AV_OPT_TYPE_CONST, {.i64=GEOMETRY_DISTORTION}, 0, 0, FLAGS, "mode" }, > @@ -136,9 +137,10 @@ static av_cold int init(AVFilterContext *ctx) > const lfLens **lenses; > > db = lf_db_create(); > - if (lf_db_load(db) != LF_NO_ERROR) { > + if ((lensfun->db_path ? lf_db_load_path(db, lensfun->db_path) : lf_db_load(db)) != LF_NO_ERROR) { > lf_db_destroy(db); > - av_log(ctx, AV_LOG_FATAL, "Failed to load lensfun database\n"); > + av_log(ctx, AV_LOG_FATAL, "Failed to load lensfun database from %s path\n", > + lensfun->db_path ? lensfun->db_path : "default"); > return AVERROR_INVALIDDATA; > } > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".