Cover Letter Detail
Show a cover letter.
GET /api/covers/9474/?format=api
{ "id": 9474, "url": "https://patchwork.libcamera.org/api/covers/9474/?format=api", "web_url": "https://patchwork.libcamera.org/cover/9474/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20200903163216.6359-1-email@uajain.com>", "date": "2020-09-03T16:32:14", "name": "[libcamera-devel,v5,0/2] Initial EXIF metadata support", "submitter": { "id": 1, "url": "https://patchwork.libcamera.org/api/people/1/?format=api", "name": "Umang Jain", "email": "email@uajain.com" }, "mbox": "https://patchwork.libcamera.org/cover/9474/mbox/", "series": [ { "id": 1260, "url": "https://patchwork.libcamera.org/api/series/1260/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1260", "date": "2020-09-03T16:32:14", "name": "Initial EXIF metadata support", "version": 5, "mbox": "https://patchwork.libcamera.org/series/1260/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/9474/comments/", "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 2F1FABF019\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 3 Sep 2020 16:32:24 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9701D62931;\n\tThu, 3 Sep 2020 18:32:23 +0200 (CEST)", "from mail.uajain.com (static.126.159.217.95.clients.your-server.de\n\t[95.217.159.126])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7EEC062901\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 3 Sep 2020 18:32:21 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=uajain.com header.i=@uajain.com\n\theader.b=\"Xgp4xz1h\"; dkim-atps=neutral", "From": "Umang Jain <email@uajain.com>", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=uajain.com; s=mail;\n\tt=1599150740; bh=GDcAfIVWQ+qwiqMEcBeRY2qy2mZYdcoV69QxhCqqySM=;\n\th=From:To:Cc:Subject;\n\tb=Xgp4xz1hEax32UXQHPcboiLB1Taj9845M55WWhtDYlIgoYJCWFRvEKZuB8VX6RbE1\n\ta7SpxvJ0a2CSV3Uby8V6QdhFHVwLUyCMqFpEOkpQgBfNWCi4PwljL8ro6VpgIJLXKQ\n\tMs9H4oXCHHJaXYaglvyJ19CjkZkp6eev+iYQX/biGUOuBGXrm962WDEK74PP+BY2DP\n\tzUte06jbIlSbY39uxHc1kVFxZ+nQyip+WLiam3lte/f2zDSBH7USxC3UKSHE6gPI8w\n\t/j6naedgvbUmfZgCzpSWEPr3G81THLfIfimslaXOBLxCfSYfm2kCLE1DRnDA0UY5fZ\n\tQoAS9NiYnthmQ==", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 3 Sep 2020 22:02:14 +0530", "Message-Id": "<20200903163216.6359-1-email@uajain.com>", "Mime-Version": "1.0", "Subject": "[libcamera-devel] [PATCH v5 0/2] Initial EXIF metadata support", "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>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Changes in v5:\n- Drop return type 'int' of setString, setShort, setLong\n helpers because of improved error handling and exif\n validity check in createEntry().\n- Check if EXIF instance is acutally valid before generate().\n- Document API usage briefly.\n\nChanges in v4:\n - No major changes expect few alphabetically sort fixes,\n commit amend, fix coding/variable style etc.\n\nChanges in v3:\n- setTimestamp() now follows the EXIF standard format\n \"YYYY:MM:DD hh:mm:ss\"\n- Strip re-use of EXIF object for every frame.\n A new EXIF object is created and each tag is set for it,\n for each frame while encoding.\n- Exif::generate() returns a int code and Exif::data() will\n now return a const libcamera::Span of { exif_data_, size_ }.\n- Null terminate strings in Exif::setString().\n- Make setLong, setShort, setString etc. helpers private.\n\nChanges in v2:\n- Patch 2/3 and 3/3 in v1 are merged.\n- We ignore the Frame Metadata timestamp, instead use the 'time of\n encoding' as the frame timestamp for EXIF data. Since the resolution\n is only 1s, this seems to be fine (consensus over IRC).\n- EXIF data placeholder is now wrapper inside CameraStream.\n This prevents setting static metadata repeatedly in v1, like\n Make/Model etc.\n- Jpeg Encoder encodes the EXIF generated Span<> directly into the\n image. This avoids JPEG encoder dealing with EXIF specifics inside\n itself. \n- Orientation tag value is rectified and is similar to how it's done\n in Chrome HAL.\n- Exif::setWidth() and Exif::setHeight() are merged to achieve common\n Exif::setSize(libcamera::Size) for setting frame sizes.\n\nKieran Bingham (1):\n libcamera: android: Add EXIF infrastructure\n\nUmang Jain (1):\n android: jpeg: Support an initial set of EXIF metadata tags\n\n src/android/camera_device.cpp | 18 +-\n src/android/jpeg/encoder.h | 3 +-\n src/android/jpeg/encoder_libjpeg.cpp | 9 +-\n src/android/jpeg/encoder_libjpeg.h | 3 +-\n src/android/jpeg/exif.cpp | 235 +++++++++++++++++++++++++++\n src/android/jpeg/exif.h | 54 ++++++\n src/android/meson.build | 2 +\n 7 files changed, 320 insertions(+), 4 deletions(-)\n create mode 100644 src/android/jpeg/exif.cpp\n create mode 100644 src/android/jpeg/exif.h" }