From patchwork Wed Jul 26 10:33:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugues FRUCHET X-Patchwork-Id: 9864557 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 006D660382 for ; Wed, 26 Jul 2017 10:34:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C683828665 for ; Wed, 26 Jul 2017 10:34:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BB4202868D; Wed, 26 Jul 2017 10:34:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B99CB28665 for ; Wed, 26 Jul 2017 10:34:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751759AbdGZKeA (ORCPT ); Wed, 26 Jul 2017 06:34:00 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:61639 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751682AbdGZKd7 (ORCPT ); Wed, 26 Jul 2017 06:33:59 -0400 Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx08-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v6QAXrj7005136; Wed, 26 Jul 2017 12:33:54 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-.pphosted.com with ESMTP id 2buuu55h6b-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 26 Jul 2017 12:33:54 +0200 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 7ACAF34; Wed, 26 Jul 2017 10:33:53 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas23.st.com [10.75.90.46]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 632B31605; Wed, 26 Jul 2017 10:33:53 +0000 (GMT) Received: from SAFEX1HUBCAS24.st.com (10.75.90.95) by SAFEX1HUBCAS23.st.com (10.75.90.46) with Microsoft SMTP Server (TLS) id 14.3.339.0; Wed, 26 Jul 2017 12:33:53 +0200 Received: from localhost (10.201.23.73) by webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.339.0; Wed, 26 Jul 2017 12:33:53 +0200 From: Hugues Fruchet To: Hans Verkuil , Mauro Carvalho Chehab CC: , Gregor Jasny , Christophe Priouzeau , Benjamin Gaignard , Hugues Fruchet Subject: [PATCH v1] Build libv4lconvert helper support only when fork() is available Date: Wed, 26 Jul 2017 12:33:36 +0200 Message-ID: <1501065216-1636-2-git-send-email-hugues.fruchet@st.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1501065216-1636-1-git-send-email-hugues.fruchet@st.com> References: <1501065216-1636-1-git-send-email-hugues.fruchet@st.com> MIME-Version: 1.0 X-Originating-IP: [10.201.23.73] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-07-26_04:, , signatures=0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Thomas Petazzoni Signed-off-by: Hugues Fruchet --- configure.ac | 3 +++ lib/libv4lconvert/Makefile.am | 7 ++++++- lib/libv4lconvert/libv4lconvert.c | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index ae8f2e2..72c9421 100644 --- a/configure.ac +++ b/configure.ac @@ -299,6 +299,9 @@ argp_saved_libs=$LIBS AC_SUBST([ARGP_LIBS]) LIBS=$argp_saved_libs +AC_CHECK_FUNCS([fork], AC_DEFINE([HAVE_LIBV4LCONVERT_HELPERS],[1],[whether to use libv4lconvert helpers])) +AM_CONDITIONAL([HAVE_LIBV4LCONVERT_HELPERS], [test x$ac_cv_func_fork = xyes]) + AC_CHECK_HEADER([linux/i2c-dev.h], [linux_i2c_dev=yes], [linux_i2c_dev=no]) AM_CONDITIONAL([HAVE_LINUX_I2C_DEV], [test x$linux_i2c_dev = xyes]) diff --git a/lib/libv4lconvert/Makefile.am b/lib/libv4lconvert/Makefile.am index 4f332fa..f266f3e 100644 --- a/lib/libv4lconvert/Makefile.am +++ b/lib/libv4lconvert/Makefile.am @@ -1,6 +1,8 @@ if WITH_DYN_LIBV4L lib_LTLIBRARIES = libv4lconvert.la +if HAVE_LIBV4LCONVERT_HELPERS libv4lconvertpriv_PROGRAMS = ov511-decomp ov518-decomp +endif include_HEADERS = ../include/libv4lconvert.h pkgconfig_DATA = libv4lconvert.pc LIBV4LCONVERT_VERSION = -version-info 0 @@ -16,11 +18,14 @@ libv4lconvert_la_SOURCES = \ control/libv4lcontrol.c control/libv4lcontrol.h control/libv4lcontrol-priv.h \ processing/libv4lprocessing.c processing/whitebalance.c processing/autogain.c \ processing/gamma.c processing/libv4lprocessing.h processing/libv4lprocessing-priv.h \ - helper.c helper-funcs.h libv4lconvert-priv.h libv4lsyscall-priv.h \ + helper-funcs.h libv4lconvert-priv.h libv4lsyscall-priv.h \ tinyjpeg.h tinyjpeg-internal.h if HAVE_JPEG libv4lconvert_la_SOURCES += jpeg_memsrcdest.c jpeg_memsrcdest.h endif +if HAVE_LIBV4LCONVERT_HELPERS +libv4lconvert_la_SOURCES += helper.c +endif libv4lconvert_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC) libv4lconvert_la_LDFLAGS = $(LIBV4LCONVERT_VERSION) -lrt -lm $(JPEG_LIBS) $(ENFORCE_LIBV4L_STATIC) diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c index d60774e..1a5ccec 100644 --- a/lib/libv4lconvert/libv4lconvert.c +++ b/lib/libv4lconvert/libv4lconvert.c @@ -122,8 +122,10 @@ static const struct v4lconvert_pixfmt supported_src_pixfmts[] = { { V4L2_PIX_FMT_JPEG, 0, 7, 7, 0 }, { V4L2_PIX_FMT_PJPG, 0, 7, 7, 1 }, { V4L2_PIX_FMT_JPGL, 0, 7, 7, 1 }, +#ifdef HAVE_LIBV4LCONVERT_HELPERS { V4L2_PIX_FMT_OV511, 0, 7, 7, 1 }, { V4L2_PIX_FMT_OV518, 0, 7, 7, 1 }, +#endif /* uncompressed bayer */ { V4L2_PIX_FMT_SBGGR8, 8, 8, 8, 0 }, { V4L2_PIX_FMT_SGBRG8, 8, 8, 8, 0 }, @@ -278,7 +280,9 @@ void v4lconvert_destroy(struct v4lconvert_data *data) if (data->cinfo_initialized) jpeg_destroy_decompress(&data->cinfo); #endif // HAVE_JPEG +#ifdef HAVE_LIBV4LCONVERT_HELPERS v4lconvert_helper_cleanup(data); +#endif free(data->convert1_buf); free(data->convert2_buf); free(data->rotate90_buf); @@ -833,6 +837,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, return -1; } break; +#ifdef HAVE_LIBV4LCONVERT_HELPERS case V4L2_PIX_FMT_OV511: if (v4lconvert_helper_decompress(data, LIBV4LCONVERT_PRIV_DIR "/ov511-decomp", src, src_size, d, d_size, width, height, yvu)) { @@ -849,6 +854,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, return -1; } break; +#endif } switch (dest_pix_fmt) {