From patchwork Thu Dec 1 09:27:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cheng-Hao Yang X-Patchwork-Id: 17922 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 0F54CBDE6B for ; Thu, 1 Dec 2022 09:27:45 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 3628E6333F; Thu, 1 Dec 2022 10:27:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1669886864; bh=P5p3ctoJdfJBiaqHfe69T3w3LIPlfqfqJylVFRZQj2Y=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=tZ8obtyig8wyN+WUYW23O5w6eL3qWvkU2gO8Cwxgg1ELfIVWr6u+pj8M5zwZt3Vx3 1NscDWq21/UtPQk22Vd/d1Vssz/Hc1DXu/9SqRAdd8DLi9C1PqpFywy4fabRSn3B2v S7Z1j5YzXrLXVIShwzTwXLc2pjpsQ7l1lXfb+13DMoxZWRIS6TNO7hVgNuGmnNDYE4 bsj8jJcuhD6L05+DEX2G6t8nEFgDFSdPy+IVrsmZDvZecD0UZMwJDWu7ha7xZs5BqK eD5rxgE/EZRfBld0YNmF1Ufnw0dB2ncd4fqYyyma/pehbYRLT+0LmLtjW0AVBZOAQ9 GHDKBxOz2RJDg== Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id CC81363326 for ; Thu, 1 Dec 2022 10:27:42 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="H9PcB6tJ"; dkim-atps=neutral Received: by mail-pg1-x52b.google.com with SMTP id h33so1154018pgm.9 for ; Thu, 01 Dec 2022 01:27:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=+YU7c3wFQWX9WM83Tw+zqMNXw1X+u7t246E+TgyNX78=; b=H9PcB6tJ8XF7ipjlNvxiI3dMZSzOejReQNUe0Y35CZLi7PO90eaLB+fLvCTPtT9ZxY hIrztE3vFXn6Rm4kX3PpVTkWl7ukbWPTsaqi7maqHCNCPJgyajD7VLVck+f2v1C6FI14 9Dg+ggobL0Jv0nqnXek28ZOp8o5ZkUiv8hraY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+YU7c3wFQWX9WM83Tw+zqMNXw1X+u7t246E+TgyNX78=; b=ebbE1fFm91E6hTejwJusJRVa8LkWbX+WT6taRbY9wH4Cna3LemnhnsBm4crY/+ix2Z /DS0jfxFLM3MQNcB3nhU9f/Y7qPTr4IHkr3gqO9KK0rZQtja0qpCThEbL61fgPpHjlZh r5yRlWyYvBOCdk0oAcRyWYNblJVuDmDqkJ6+yckOLZJaGqqAP8XP6TzDxz5UQhdF2dB8 nE7lJtNDz7QowZ0LLDmlXhwobbCvmeQLlEHX4fauWGhhQL+OTT9PJdVHmbn7GnAWMvtT VJI/xpR/vJiiPXaMdlJ/bgQq8uLhrfsivzusUWx5Jl0qkLaNLeFHNjY8i0NpSNP1ynWS gcYw== X-Gm-Message-State: ANoB5plMS/5hm7Tv85Gwtjmmg6qcmWac4IOmod9fnC0sExmDihUkaqm6 vMa3gKwQ6YlEXX3rYV9PE+e947n0JkT94Q== X-Google-Smtp-Source: AA0mqf4FPsP8YMAQqf/PJvb83X7ggeXDDfb/mT9BTleOF/IdgUrGXmMidlI5xXDPA8bJ1/zczzUbow== X-Received: by 2002:a63:b54:0:b0:434:911a:301 with SMTP id a20-20020a630b54000000b00434911a0301mr41863624pgl.50.1669886860926; Thu, 01 Dec 2022 01:27:40 -0800 (PST) Received: from chenghaoyang-low.c.googlers.com.com (46.165.189.35.bc.googleusercontent.com. [35.189.165.46]) by smtp.gmail.com with ESMTPSA id z9-20020a1709027e8900b00186b8752a78sm3108050pla.80.2022.12.01.01.27.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Dec 2022 01:27:40 -0800 (PST) X-Google-Original-From: Harvey Yang To: libcamera-devel@lists.libcamera.org Date: Thu, 1 Dec 2022 09:27:27 +0000 Message-Id: <20221201092733.2042078-1-chenghaoyang@google.com> X-Mailer: git-send-email 2.38.1.584.g0f3c55d4c2-goog MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v7 0/6] Add CrOS JEA implementation X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Harvey Yang via libcamera-devel From: Cheng-Hao Yang Reply-To: Harvey Yang Cc: Harvey Yang Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Rebased and fixed some merge conflicts on the master branch. Please check if it's ready to merge. Thanks! BR, Harvey Harvey Yang (6): Allow inheritance of FrameBuffer Add HALFrameBuffer and replace FrameBuffer in src/android Add meson.build in src/android/jpeg Move generateThumbnail from PostProcessorJpeg to Encoder Pass StreamBuffer to Encoder::encoder Add JEA implementation include/libcamera/framebuffer.h | 3 +- src/android/camera_device.cpp | 3 +- src/android/cros/camera3_hal.cpp | 2 + src/android/cros_mojo_token.h | 12 ++ src/android/frame_buffer_allocator.h | 7 +- src/android/hal_framebuffer.cpp | 22 +++ src/android/hal_framebuffer.h | 26 ++++ src/android/jpeg/encoder.h | 10 +- src/android/jpeg/encoder_jea.cpp | 93 ++++++++++++ src/android/jpeg/encoder_jea.h | 35 +++++ src/android/jpeg/encoder_libjpeg.cpp | 133 ++++++++++++++---- src/android/jpeg/encoder_libjpeg.h | 33 ++++- src/android/jpeg/meson.build | 16 +++ src/android/jpeg/post_processor_jpeg.cpp | 65 ++------- src/android/jpeg/post_processor_jpeg.h | 11 +- src/android/meson.build | 6 +- .../mm/cros_frame_buffer_allocator.cpp | 9 +- .../mm/generic_frame_buffer_allocator.cpp | 11 +- 18 files changed, 385 insertions(+), 112 deletions(-) create mode 100644 src/android/cros_mojo_token.h create mode 100644 src/android/hal_framebuffer.cpp create mode 100644 src/android/hal_framebuffer.h create mode 100644 src/android/jpeg/encoder_jea.cpp create mode 100644 src/android/jpeg/encoder_jea.h create mode 100644 src/android/jpeg/meson.build