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 919D94796B for ; Wed, 27 Dec 2023 23:20:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8F41168C6F3; Thu, 28 Dec 2023 01:20:14 +0200 (EET) Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 856B568AF3B for ; Thu, 28 Dec 2023 01:20:08 +0200 (EET) Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2ccad57dadbso41486791fa.1 for ; Wed, 27 Dec 2023 15:20:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703719207; x=1704324007; darn=ffmpeg.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:to:from:date:from:to:cc:subject :date:message-id:reply-to; bh=vq53dXK5vMDy7ZqyLWVRPvXTDM2Hod5R+dVtZTnemOE=; b=kb0KTMoK5aVG1L6t8Qj8LVPEMzMgXGTusY2cb5RQDrx6X2x6RUv4IN4UGnMnFrbzVR qW1glAYdYq5+jfkqg3kUxOKrU2eU9E/LbH7wJE3jMl15rTh6e1dp/3LVwSPU7SaU1E3G d3MMKlDaXZncKyJTBai8QexIgtarloEICe4Aj3RsKKHcEbQiobsTAqOraDzkCzwrrSCA zvJkAXl/5SKUER8EwZuJm+p1vh4nY+xb43tIRKhcSUMqGL91jy2KVhUXB7M5jTRibJMB 7e54Gw7j0MnT/g9U2IaUFBhvG9TZAkzGct8ljJjC3+UW7wvHuHFG76fg90ovFGgoWyJW QIXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703719207; x=1704324007; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=vq53dXK5vMDy7ZqyLWVRPvXTDM2Hod5R+dVtZTnemOE=; b=MHmTc4bU3dWIg3reb2Zw1iibNJoYJb5LMkd8Jc39qGtAdnTLVqx2+VwMTXItKGhiW/ d4DoByV9HYA6fkwKhOSNVzKeMKmNw918zl0DbOr2yndmeBLEonI8tHuyzyMm/8UmBLqh mAWttjuI+akqzLiRPZEu6drvye34/fMLNB58YkgJ2snNi3DR7M8uFO3unkfNAb+b98Wr 4MAaZ8CpfvljxjrSiIWVvsZDh/j8zBdOkUr1hRNM+pXhKP+vXVYbQQGy6q167LJYSSmZ yMG4hobc3ZGcJkppoIzs3ZU1qoeK/Ej0mOL8s4ZfrFDWp0EbS9JoinJ1rM3vTHi0WeU3 mFfw== X-Gm-Message-State: AOJu0Yw+aUWokTy/Je9XDWZCQnhaaGAwI57qP6PZPDhWN+EPpXs+vgCJ qgO04pHT4KC48sNU69t+tH3nDiYkMpE= X-Google-Smtp-Source: AGHT+IF9n00tzDberFewFDz3f+3j8nbnwOd+0E40+lYomAgCVVlQsdLmPQ7phhA2BS5TEKnkjU4iaQ== X-Received: by 2002:a2e:ba0a:0:b0:2cc:31e9:745e with SMTP id p10-20020a2eba0a000000b002cc31e9745emr3231546lja.60.1703719207146; Wed, 27 Dec 2023 15:20:07 -0800 (PST) Received: from mariano (dynamic-adsl-84-220-189-10.clienti.tiscali.it. [84.220.189.10]) by smtp.gmail.com with ESMTPSA id g4-20020a056402428400b0055488484363sm6099486edc.84.2023.12.27.15.20.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Dec 2023 15:20:06 -0800 (PST) Received: by mariano (Postfix, from userid 1000) id 6033BBFCDC; Thu, 28 Dec 2023 00:20:05 +0100 (CET) Date: Thu, 28 Dec 2023 00:20:05 +0100 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches References: <20231226162033.782945-1-stefasab@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH] lavfi: add quirc filter 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On date Wednesday 2023-12-27 14:16:24 -0300, James Almer wrote: > On 12/27/2023 8:37 AM, Stefano Sabatini wrote: > > On date Tuesday 2023-12-26 22:33:36 -0300, James Almer wrote: > > > On 12/26/2023 10:25 PM, Stefano Sabatini wrote: > > > > On date Tuesday 2023-12-26 17:20:33 +0100, Stefano Sabatini wrote: > > > > > --- > > > > > Changelog | 1 + > > > > > configure | 4 + > > > > > doc/filters.texi | 35 ++++++++ > > > > > libavfilter/Makefile | 1 + > > > > > libavfilter/allfilters.c | 1 + > > > > > libavfilter/vf_quirc.c | 183 +++++++++++++++++++++++++++++++++++++++ > > > > > 6 files changed, 225 insertions(+) > > > > > create mode 100644 libavfilter/vf_quirc.c > > > > > > > > V2 with a few fixes and all corners put in the metadata (e.g. in case > > > > the QR code is rotated). > > > > > > > > Looking at the library, the license is very permissive and the code hasn't > > > been touched in many years. It is also pretty small, so why not just add it > > > as a native filter instead of requiring an external dependency for what > > > seems to be a relatively simple process? > > > > I see pros and cons, in total that would be about 3K lines of pretty > > clean code and data, and this would simplify integration for end-users > > (since they would not need to build the library, which seems not > > packaged by many distributions), and having the code would help to > > solve similar problems and probably could be generalized and optimized > > (e.g. to support other pixel formats). > > > > OTOH it would add to the maintenance burden since we would be owners > > of the code, which also means we would not benefit from fixes to the > > upstream project, in case they happen (last commit is from March > > 2023, so not very old): > > https://github.com/dlbeer/quirc/commit/542848dd6b9b0eaa9587bbf25b9bc67bd8a71fca > > That's a build system change, so not really relevant. Last real change was https://github.com/dlbeer/quirc/commit/cc673124335785d220dbb9057b21c51e4a87e0b2, > also from March 2023, but the one before it is from August 2021. > > I really think this should be ported as a native filter. It's not big and > complex like a scaler (sws, zscale) which should not live within > libavfilter. > Any change can be contributed back to libquirc This is not realistic, given that a reimplementation would be possibly completely refactored to fit into FFmpeg. > (A library > that's not going to be abandoned like it happened with libdcadec after it > was merged into lavc, OTOH, this library is quite outside the scope of the FFmpeg, so it makes sense to keep it as external dependency. This is a quite different use case than a decoder, a QR-decoder library can make sense outside of a multimedia library, for a decoder you would need a complete multimedia library anyway. I was checking the code, and porting would be a serious effort and comprise several thousands lines of code (against the moderate effort of wrapping it - which is already done), also some of the logic would not really fit into FFmpeg because it is quite specific to this application domain (QR code decoding), so it makes sense for it to live within an external library. Not to mention that this would be a duplication of effort. *Unless* someone is willing to port/reimplement the code, but this should not be a blocker for the wrapper and can be done as a separate step. _______________________________________________ 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".