{"id":2284,"url":"https://patchwork.libcamera.org/api/1.1/covers/2284/?format=json","web_url":"https://patchwork.libcamera.org/cover/2284/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20191028110208.15751-1-laurent.pinchart@ideasonboard.com>","date":"2019-10-28T11:02:01","name":"[libcamera-devel,v2,0/7] libcamera: Introduce a PixelFormat type","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/2284/mbox/","series":[{"id":564,"url":"https://patchwork.libcamera.org/api/1.1/series/564/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=564","date":"2019-10-28T11:02:01","name":"libcamera: Introduce a PixelFormat type","version":2,"mbox":"https://patchwork.libcamera.org/series/564/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/2284/comments/","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A70CA6017F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 12:02:19 +0100 (CET)","from pendragon.ideasonboard.com (unknown [91.217.168.176])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 50939325\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 12:02:19 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1572260539;\n\tbh=WMHsLisep86+QZdT2aPaTmT3fikfiw5eU7tZd+Nqdag=;\n\th=From:To:Subject:Date:From;\n\tb=CXeF4nYvmCEN3ArAxI2X33K1n+411We5PUGyf9B7KzPt0g6TmfwWZBLwEHo5eM1Tx\n\t9n0kceFaU1rs/SDajlZ7qd/6Irae8jtH5g9Ur2sHQ8kXHrbtF4ul9e6JkvUROzgMqi\n\tXacmG+7r0Nv1Xddc+J2r/ptT80ocgBAIRK4AAdzQ=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Mon, 28 Oct 2019 13:02:01 +0200","Message-Id":"<20191028110208.15751-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.23.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 0/7] libcamera: Introduce a PixelFormat\n\ttype","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 28 Oct 2019 11:02:19 -0000"},"content":"Hello,\n\nThis series is a second version of Jacopo's work on pixel format support\nin libcamera.\n\nThe goal is to consistently use a dedicated PixelFormat type to describe\nimage pixel formats in the libcamera public API and, by extension,\nthrough the code. This increases type safety and will ease extending\nformat descriptions.\n\nThe series starts by importing a new version of the kernel headers, and\nadding a (for now) local DRM_FORMAT_MJPEG FourCC. Patch 4/7 and 5/7 then\nintroduce the new PixelFormat type and use it through the code. Patches\n6/7 and 7/7 finally switch the PixelFormat numerical value to use DRM\nFourCC instead of V4L2 FourCC.\n\nThank you Jacopo for your initial work.\n\nJacopo Mondi (7):\n  include: linux: Update headers to Linux v5.2\n  include: linux: Import DRM/KMS headers from Linux v5.2\n  include: drm_fourcc: Add Motion-JPEG FourCC\n  libcamera: Define a PixelFormat type for application-facing formats\n  libcamera: stream: Use the newly defined PixelFormat\n  libcamera: v4l2_videodevice: Add PixelFormat conversion\n  libcamera: Switch PixelFormat to DRM FourCC values\n\n include/libcamera/meson.build            |    1 +\n include/libcamera/pixelformats.h         |   18 +\n include/libcamera/stream.h               |   13 +-\n include/linux/drm.h                      | 1042 ++++++++++++++++++++++\n include/linux/drm_fourcc.h               |  765 ++++++++++++++++\n include/linux/drm_mode.h                 | 1032 +++++++++++++++++++++\n include/linux/media-bus-format.h         |    4 +-\n include/linux/media.h                    |   27 +-\n include/linux/v4l2-controls.h            |   29 +\n include/linux/videodev2.h                |   31 +-\n src/libcamera/include/v4l2_videodevice.h |    5 +\n src/libcamera/meson.build                |    1 +\n src/libcamera/pipeline/ipu3/ipu3.cpp     |    7 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp |   25 +-\n src/libcamera/pipeline/uvcvideo.cpp      |    4 +-\n src/libcamera/pipeline/vimc.cpp          |   15 +-\n src/libcamera/pixelformats.cpp           |   28 +\n src/libcamera/stream.cpp                 |   17 +-\n src/libcamera/v4l2_videodevice.cpp       |  141 +++\n src/qcam/format_converter.cpp            |   30 +-\n test/camera/buffer_import.cpp            |   17 +-\n 21 files changed, 3177 insertions(+), 75 deletions(-)\n create mode 100644 include/libcamera/pixelformats.h\n create mode 100644 include/linux/drm.h\n create mode 100644 include/linux/drm_fourcc.h\n create mode 100644 include/linux/drm_mode.h\n create mode 100644 src/libcamera/pixelformats.cpp"}