From patchwork Fri May 20 19:01:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Curtin X-Patchwork-Id: 15995 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 D48FEC0F2A for ; Fri, 20 May 2022 19:02:03 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 329F061FB9; Fri, 20 May 2022 21:02:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1653073323; bh=lS83kmizViKvsLB77YecUcn9ihA1OXNKTZYFYkmXMTA=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=pbT6VfypyKu2iHVlMxmZ3Qf3CXJIYRJPo1Vsy/xHVNH92kg3ANYE4CRpo0uqpkAse LfaV0ceL9YiVOzvnMpjOVZQ9m+Eqhw+PN6IALa2rLMpJGQbXzQYqBcc6BTxojwfT0H Iyf5DRv/tiVUZOA7VQOJFsvwxeaAsZ2XU5CdWXQg13p+FOa1zg1W8E9DkT+GHATw3r Lb7k/1oKE/bpB8JP2i+EjDuQL4SjmBsWm/9OAk6p54m2PwpfFwNIa9GZb43HaZKmJR 86aCgrudyRIuYazqKZ+NbNsN56yAPlq3s4761IQh0lRhfOJRA1yuWMdn544xLByqoK mlM0fAZIx1ojg== Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 4027B60440 for ; Fri, 20 May 2022 21:02:01 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="gwwhjenG"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1653073319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QX787Ag6j1JSjJ0rdECyBq0C4zahV+cH9GWGupn+f80=; b=gwwhjenG7pDpFm95mtVyIA59utGIY/aMbJC88JuYr0Nei0GYAwdGUM7n7zjahg3423d0Nk UYwC1Vf4GfcKBDR+dX0Yz8vmxkOm6jQCPJO2x/Oz2iPwYBL/j9Z+9LrO0lsWGvC4yJjXuk ap2pV286tVadugWFhXbZH78i6NoUSeI= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-581-7MqM8C10NGK3h7pVvPz83w-1; Fri, 20 May 2022 15:01:58 -0400 X-MC-Unique: 7MqM8C10NGK3h7pVvPz83w-1 Received: by mail-wm1-f71.google.com with SMTP id h206-20020a1c21d7000000b003972daa86deso964043wmh.4 for ; Fri, 20 May 2022 12:01:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=QX787Ag6j1JSjJ0rdECyBq0C4zahV+cH9GWGupn+f80=; b=CjBC1agQOG/yY8FZ/SgrQI76C/qqt28229ldZvN5E/8Pq/C4C4KQR+pGGpBK4luscL 3qJLw3McFmROPwwU7eGUHq59X/ygDoSJRHZlqca/VhLBEhLucVlbkKb8p07v1szMi4Ik PA4Eslifgb2yGy2l6gA7O5fE+4JUqi9nZiPzKfZlxvJ5vaiMKDzx5YKPY4dU7NRvYOVM nxV0//k8kule4X+xd3VjVgnLkIn84dPlzj7AdWjT4/t79bIR5q1GesUDm/Mo1xN8ePr3 x2qLNbo9dhqD8rYa20O7HOe6l8X2dauH1Ct7nS1WFNiOk4VUtndXTXDRqnaO3viXIdOh rklA== X-Gm-Message-State: AOAM530evpiopmNb0LrsuZvmNVsDzzFg8FrhPvQ+Z0ojrupoqbJCR+DM Xs4agIvfRzaJHGToIGXrxLGlWvEIEHuRFl6ZCESmYX/bRFF5gDNtWomtsIqHc52FAVjpfGW/dsS 523tQSzKwvG4TaiDbD666BYaOnmOEU1rmKRoSAHP1+lfZiBwac21sn0I+H3FhClvkCmwXNqpM7f MjoUszocNI X-Received: by 2002:a05:600c:4ec9:b0:394:7d73:325e with SMTP id g9-20020a05600c4ec900b003947d73325emr9748239wmq.61.1653073317142; Fri, 20 May 2022 12:01:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwz23VWjZ8u220bjR2T7iRAPG73HsFQT6z3ZpBBW5yG6DFDSkdJDSHciMAtW9065foXVw3jKQ== X-Received: by 2002:a05:600c:4ec9:b0:394:7d73:325e with SMTP id g9-20020a05600c4ec900b003947d73325emr9748211wmq.61.1653073316713; Fri, 20 May 2022 12:01:56 -0700 (PDT) Received: from p1.Home ([2001:8a0:6724:4500:a69c:e66f:828e:b340]) by smtp.gmail.com with ESMTPSA id u30-20020adfa19e000000b0020d10a249eesm3337016wru.13.2022.05.20.12.01.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 May 2022 12:01:56 -0700 (PDT) To: libcamera-devel@lists.libcamera.org, laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com, jacopo@jmondi.org, javierm@redhat.com Date: Fri, 20 May 2022 20:01:02 +0100 Message-Id: <20220520190106.425386-1-ecurtin@redhat.com> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ecurtin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [libcamera-devel] [PATCH v9 0/4] Add SDL Sink 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: Eric Curtin via libcamera-devel From: Eric Curtin Reply-To: Eric Curtin Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Changes in v9: - Added some todo's - Changed includes, options, etc. to be in alphabetical order - Fixed meson build file to identify SDL and SDL_image dependancies correctly - Some commit message changes - chrono usage changes - clear events on EventLoop::exit - Function rename from addFDEvent -> addFdEvent - SDLTexture::destroy() is now moved to destructor - Removed sdl prefix from various variables - Added SPDX and copyright - Made ptr protected and added get - A NULL to nullptr change Eric Curtin (4): cam: event_loop: Rename addEvent to addFdEvent cam: event_loop: Add timer events to event loop cam: sdl_sink: Add SDL sink with initial YUYV support cam: sdl_sink: Add MJPG support to SDL sink src/cam/camera_session.cpp | 8 ++ src/cam/drm.cpp | 4 +- src/cam/event_loop.cpp | 31 +++++- src/cam/event_loop.h | 11 +- src/cam/main.cpp | 4 + src/cam/main.h | 1 + src/cam/meson.build | 21 ++++ src/cam/sdl_sink.cpp | 202 +++++++++++++++++++++++++++++++++++ src/cam/sdl_sink.h | 49 +++++++++ src/cam/sdl_texture.cpp | 37 +++++++ src/cam/sdl_texture.h | 29 +++++ src/cam/sdl_texture_mjpg.cpp | 25 +++++ src/cam/sdl_texture_mjpg.h | 17 +++ src/cam/sdl_texture_yuyv.cpp | 20 ++++ src/cam/sdl_texture_yuyv.h | 17 +++ 15 files changed, 469 insertions(+), 7 deletions(-) create mode 100644 src/cam/sdl_sink.cpp create mode 100644 src/cam/sdl_sink.h create mode 100644 src/cam/sdl_texture.cpp create mode 100644 src/cam/sdl_texture.h create mode 100644 src/cam/sdl_texture_mjpg.cpp create mode 100644 src/cam/sdl_texture_mjpg.h create mode 100644 src/cam/sdl_texture_yuyv.cpp create mode 100644 src/cam/sdl_texture_yuyv.h