From patchwork Wed Feb 17 12:27:50 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary Bisson X-Patchwork-Id: 584114 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id EFC94140C3E for ; Wed, 17 Feb 2016 23:28:09 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=boundarydevices-com.20150623.gappssmtp.com header.i=@boundarydevices-com.20150623.gappssmtp.com header.b=y2wI5ke3; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 3FA919235B; Wed, 17 Feb 2016 12:28:09 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G6o64WrCNMGh; Wed, 17 Feb 2016 12:28:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 07ACB922D8; Wed, 17 Feb 2016 12:28:05 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 4D1A81C1209 for ; Wed, 17 Feb 2016 12:28:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 487D5922CC for ; Wed, 17 Feb 2016 12:28:00 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0FRK4zhkj0Zd for ; Wed, 17 Feb 2016 12:27:59 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by whitealder.osuosl.org (Postfix) with ESMTPS id 410B9922A5 for ; Wed, 17 Feb 2016 12:27:59 +0000 (UTC) Received: by mail-wm0-f43.google.com with SMTP id g62so157341241wme.1 for ; Wed, 17 Feb 2016 04:27:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boundarydevices-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=4khllolXeewEHGji6sJ0yZZPqA9pXB28skAG+zKb2Z4=; b=y2wI5ke3+yS2wBkvTTJKmpIyjVwV3g5zvj9Tbpc7haIARapJZc5ctwr53HTviczfgt sR1qNSOy5/mcTq+wE7mmhNmMHkhgMcmS1OqGGL+jlcEoW5WkIX9GuOzfdhI4QIHw3214 4mJC6V36tLst6217WUvwgKWCbg5QA//xbSTglR4HmjFEkT5dQU1GseDL0TyPr5zzNeca nq0xtnq6anDhBKH9vODu6LRMGGNbObfy43TyOXmPW6mPQZNhECDnvah/KOg9d45aBqw5 hUlT5Yi9nQvJxdaVVLIZLrb4MUH1OPCoUzbGnCduuel8XonWC74p/qjSM6Od72XgExUT 8DOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=4khllolXeewEHGji6sJ0yZZPqA9pXB28skAG+zKb2Z4=; b=QVFgsjfKPd/leQoHvXLEwrgyQ1CldXnGLVfB0j1Xm9nN8GtSfpimYJFS3YHPbVBqTE vnwFAQPesv4xZPOISf5tCAu86BodTaclRbzwqTz1sq6ikbS2VPPFu9/hmRgukiAz04dV QM7zOL4p+inJQmbYF4UVIgWL31Ux4vMVk2k5ps5A0XWTdTR/xWq/1a+xeYB+C0qxlngR UALvLJQ6GXqDXEwKUUw52qqrUAuboFjq00yOjyebzxLgvDKlqseswT8ExhHUG8YYwdzC d9wjNGC1S2WzKlq8NkHGOBX1odEWksNIM0E70H3btZycqe22RXuZyHiXXymTV5wNnOCT Cy2w== X-Gm-Message-State: AG10YORzFUWv0JH5HgWXod0UDluzGM6JtDo8mndrkbsaEURiLRydfYAuLbAfvYr30fIKtg== X-Received: by 10.28.111.91 with SMTP id k88mr3201021wmc.86.1455712077974; Wed, 17 Feb 2016 04:27:57 -0800 (PST) Received: from t450s.lan (89-92-156-188.hfc.dyn.abo.bbox.fr. [89.92.156.188]) by smtp.googlemail.com with ESMTPSA id v2sm2872905wmd.24.2016.02.17.04.27.57 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 17 Feb 2016 04:27:57 -0800 (PST) From: Gary Bisson To: buildroot@busybox.net Date: Wed, 17 Feb 2016 13:27:50 +0100 Message-Id: <1455712071-14629-2-git-send-email-gary.bisson@boundarydevices.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1455712071-14629-1-git-send-email-gary.bisson@boundarydevices.com> References: <1455712071-14629-1-git-send-email-gary.bisson@boundarydevices.com> Cc: thomas.petazzoni@free-electrons.com, ps.report@gmx.net Subject: [Buildroot] [PATCH v4 1/2] libimxvpuapi: add new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" This is a library for using the i.MX6 VPU. It is an alternative to libfslvpuwrap, hosted on Github, and has an API that features several improvements over libfslvpuwrap, which include: * User-defined context information associated with input frames, which is passed on to corresponding output frames (to be able to identify which input frame produced which output frame) * Groundwork for future DMA-BUF/BMM/ION/CMA allocator integration, using file descriptors instead of physical addresses * Indicators for when it is safe to try to decode frames, which is critical in multi-threaded playback cases * Simplified, higher-level JPEG en/decoding API, based on the VPU MJPEG codec; useful for picture viewing without the extra boilerplate for VPU-based en/decoding Changelog 0.10.0 -> 0.10.1: - add debian packaging files - update waf to version 1.8.16 - add workaround in wscript to prevent stale pkg-config .pc files - fix memory leak by adding missing IOFreeVirtMem() call in vpulib backend This patch is based on the Yocto equivalent: https://github.com/Freescale/meta-fsl-arm/commit/e519d6c https://github.com/Freescale/meta-fsl-arm/commit/1dd6a5b This package has been implicitely tested through gstreamer as the plugins rely on it for vpu decoding: # gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm Tested-by: Peter Seiderer Signed-off-by: Gary Bisson --- Changes v1->v2: - add hash file - add upstream URL - change license to LGPLv2.1+ Changes v2->v3: - none Changes v3->v4: - integrated Peter's libdir fix http://lists.busybox.net/pipermail/buildroot/2016-February/152814.html - added Tested-by from Peter Thanks, Gary --- package/Config.in | 1 + package/libimxvpuapi/Config.in | 12 ++++++++++++ package/libimxvpuapi/libimxvpuapi.hash | 2 ++ package/libimxvpuapi/libimxvpuapi.mk | 35 ++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 package/libimxvpuapi/Config.in create mode 100644 package/libimxvpuapi/libimxvpuapi.hash create mode 100644 package/libimxvpuapi/libimxvpuapi.mk diff --git a/package/Config.in b/package/Config.in index 529ad33..7236865 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1040,6 +1040,7 @@ menu "Multimedia" source "package/libfslparser/Config.in" source "package/libfslvpuwrap/Config.in" source "package/libhdhomerun/Config.in" + source "package/libimxvpuapi/Config.in" source "package/libmatroska/Config.in" source "package/libmms/Config.in" source "package/libmpeg2/Config.in" diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in new file mode 100644 index 0000000..a48e441 --- /dev/null +++ b/package/libimxvpuapi/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBIMXVPUAPI + bool "libimxvpuapi" + depends on BR2_arm # Only relevant for i.MX + select BR2_PACKAGE_FREESCALE_IMX + select BR2_PACKAGE_IMX_VPU + help + This library provides an API for using the iMX6 VPU video engine. It + is an alternative to Freescale's VPU wrapper. Both the wrapper and + this library are layered on top of imx-vpu, the low-level iMX6 VPU + interface. + + https://github.com/Freescale/libimxvpuapi diff --git a/package/libimxvpuapi/libimxvpuapi.hash b/package/libimxvpuapi/libimxvpuapi.hash new file mode 100644 index 0000000..fd90a20 --- /dev/null +++ b/package/libimxvpuapi/libimxvpuapi.hash @@ -0,0 +1,2 @@ +# locally computed hash +sha256 8d7aeed88c06fda44318cef9565ae47b86461bd309908b1103a7974ed0822a8d libimxvpuapi-0.10.1.tar.gz diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk new file mode 100644 index 0000000..e0d8cc9 --- /dev/null +++ b/package/libimxvpuapi/libimxvpuapi.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# libimxvpuapi +# +################################################################################ + +LIBIMXVPUAPI_VERSION = 0.10.1 +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) +LIBIMXVPUAPI_LICENSE = LGPLv2.1+ +LIBIMXVPUAPI_LICENSE_FILES = LICENSE +LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu +LIBIMXVPUAPI_INSTALL_STAGING = YES + +define LIBIMXVPUAPI_CONFIGURE_CMDS + cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \ + --prefix=/usr --libdir=/usr/lib +endef + +define LIBIMXVPUAPI_BUILD_CMDS + cd $(@D); \ + $(HOST_DIR)/usr/bin/python2 ./waf build -j $(PARALLEL_JOBS) +endef + +define LIBIMXVPUAPI_INSTALL_STAGING_CMDS + cd $(@D); \ + $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(STAGING_DIR) install +endef + +define LIBIMXVPUAPI_INSTALL_TARGET_CMDS + cd $(@D); \ + $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(TARGET_DIR) install +endef + +$(eval $(generic-package))