From patchwork Fri Dec 1 00:46:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Deborah Brouwer X-Patchwork-Id: 97545 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from sy.mirrors.kernel.org ([147.75.48.161]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r8rgT-0063OQ-4F for patchwork@linuxtv.org; Fri, 01 Dec 2023 00:47:10 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 58B09B21245 for ; Fri, 1 Dec 2023 00:47:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 686AC63A; Fri, 1 Dec 2023 00:47:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="FQModiun" X-Original-To: linux-media@vger.kernel.org Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C17610E5 for ; Thu, 30 Nov 2023 16:46:58 -0800 (PST) Received: from mz550.lan (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dbrouwer) by madras.collabora.co.uk (Postfix) with ESMTPSA id 81BF9660737B; Fri, 1 Dec 2023 00:46:56 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701391617; bh=OmQfV+raKCbNQCwVGNMCv7AO1fDacjlICTczTOD/FsM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FQModiunXVwTvAHiCN9UjP3OpBz4O+LZmH6B+WYng8ElibF7BoynaHdqxbVU+ff04 6ySDSWONdebe3aA42oJ7RD2Ta5fcSJzOBTl9jgRopFbiVoatIWRJG3hgqwWlHGrkd/ VZIaoEo0UGjsleNh5YQGsYXuOIE2Rv6D1CGUQGeo+ZtwnnLmX/EHMirWgXWQi5lwZs u5N3EemVB6g+K9SJwp6QLUpR1bl+qEtxA1WLQyJ51Px42fBc5zBlq1JPQPpbCCDkLy qkLEZUPNZoueNDGLm44Oyj3okrXyjqW0Z+4CY5SoekTmLDfB9Y5ummgoiSNXm53XCr fKUak49JyGveA== From: Deborah Brouwer To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, Deborah Brouwer Subject: [PATCH 1/6] v4l2-tracer: look in more places for libv4l2tracer Date: Thu, 30 Nov 2023 16:46:29 -0800 Message-ID: <5498b213f40e99addd4e84ca1dbd9e1412b867eb.1701390439.git.deborah.brouwer@collabora.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=unavailable autolearn_force=no The v4l2-tracer already looks in the build and install directories for its library, but now it will also look in a truncated version of the LIBTRACER_PATH which is helpful if it was installed by a cross-build. If all else fails, it also allows the user to set a custom path using the LD_PRELOAD environment variable. Exit if the libv4l2tracer.so can’t be found. Signed-off-by: Deborah Brouwer --- utils/v4l2-tracer/v4l2-tracer.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/utils/v4l2-tracer/v4l2-tracer.cpp b/utils/v4l2-tracer/v4l2-tracer.cpp index a039f528..37e17eb6 100644 --- a/utils/v4l2-tracer/v4l2-tracer.cpp +++ b/utils/v4l2-tracer/v4l2-tracer.cpp @@ -306,13 +306,31 @@ int tracer(int argc, char *argv[], bool retrace) else idx++; - /* look for libv4l2tracer next to the executable */ libv4l2tracer_path = program.replace(program.begin() + idx, program.end(), "libv4l2tracer.so"); - /* otherwise, use the installation path */ - if (stat(libv4l2tracer_path.c_str(), &sb) == -1) + if (stat(libv4l2tracer_path.c_str(), &sb) == -1) { + /* If not found, get the libv4l2tracer library from the meson install path 'prefix' */ libv4l2tracer_path = std::string(LIBTRACER_PATH) + "/libv4l2tracer.so"; + /* Otherwise, guess where the library might be for a cross-build. */ + if (stat(libv4l2tracer_path.c_str(), &sb) == -1) { + std::size_t idx = libv4l2tracer_path.find("/home"); + libv4l2tracer_path = libv4l2tracer_path.substr(idx); + + /* Finally, check if the user set a custom path using LD_PRELOAD. */ + if (stat(libv4l2tracer_path.c_str(), &sb) == -1) { + if (getenv("LD_PRELOAD")) + libv4l2tracer_path = std::string(getenv("LD_PRELOAD")); + + if (stat(libv4l2tracer_path.c_str(), &sb) == -1) { + fprintf(stderr, "Exiting: can't find libv4l2tracer library\n"); + fprintf(stderr, "Set a custom libv4l2tracer library path using: LD_PRELOAD\n"); + exit(EXIT_FAILURE); + } + } + } + } + if (is_verbose()) fprintf(stderr, "Loading libv4l2tracer: %s\n", libv4l2tracer_path.c_str()); setenv("LD_PRELOAD", libv4l2tracer_path.c_str(), 0); @@ -355,6 +373,7 @@ int tracer(int argc, char *argv[], bool retrace) fprintf(stderr, "%s", trace_filename.c_str()); fprintf(stderr, "\n"); + unsetenv("LD_PRELOAD"); return exec_result; } From patchwork Fri Dec 1 00:46:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deborah Brouwer X-Patchwork-Id: 97546 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from sv.mirrors.kernel.org ([139.178.88.99]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r8rgT-0063Oc-4r for patchwork@linuxtv.org; Fri, 01 Dec 2023 00:47:10 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 00CD52818EF for ; Fri, 1 Dec 2023 00:47:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 209A463A; Fri, 1 Dec 2023 00:47:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="X9I371AK" X-Original-To: linux-media@vger.kernel.org Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E64BD7D for ; Thu, 30 Nov 2023 16:47:02 -0800 (PST) Received: from mz550.lan (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dbrouwer) by madras.collabora.co.uk (Postfix) with ESMTPSA id 2AD3B660737C; Fri, 1 Dec 2023 00:47:00 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701391621; bh=RCzUu3Jt91aS0g6/qPmYxjvXzvSFL1QpAsnRaTygKo4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=X9I371AK0po+h2Ayh7qbQORSSnwEOQuRFZp54pNHoCpWuLtLoXcoHKhq7/tgl+M1w GdH7YGCuv9JNc7lX9ltBQHOU6mFHp9YFYHjlNAIWCDmBg6mIJQzmUU50DEltazh9z/ 3ss3WwO0SN7DeaV+csXQM/CqcSiuE1gW6lTQ32yER3WNQ3tKvNCIP28Yz/L9p1KXki Ah5kZXvlxjqKB9PWr+2Pf9BBTdJ9g65erWNqUhGj11BbJxkOzvoj0ydb150CaWjEcu Tuk9pUlzE2+3NJ9DTgMc8wCecqqtVvjEDV3HFwX4aS3uMUz7tnt5itpYtobVjmpice E7GD2fT7Tklmg== From: Deborah Brouwer To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, Deborah Brouwer Subject: [PATCH 2/6] v4l2-tracer: ignore single line comments when parsing headers Date: Thu, 30 Nov 2023 16:46:30 -0800 Message-ID: <2d822e517357f697921dec4dc0005ceff5bb0707.1701390439.git.deborah.brouwer@collabora.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=unavailable autolearn_force=no Just in case there are single-line comments that start with '//', ignore them in the autogeneration script. Signed-off-by: Deborah Brouwer --- utils/v4l2-tracer/v4l2-tracer-gen.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/v4l2-tracer/v4l2-tracer-gen.pl b/utils/v4l2-tracer/v4l2-tracer-gen.pl index 1e4cadda..7b4f859b 100755 --- a/utils/v4l2-tracer/v4l2-tracer-gen.pl +++ b/utils/v4l2-tracer/v4l2-tracer-gen.pl @@ -151,7 +151,8 @@ sub clean_up_line { $line =~ s/^\s+//; # remove leading whitespace $line =~ s/.*\# define.*//; # zero out line if it has defines inside a structure (e.g. v4l2_jpegcompression) $line =~ s/^\s*\/?\s?\*.*//; # zero out line if it has comments where the line starts with start with /* / * or just * - $line =~ s/\s*\/\*.*//; # remove comments at the end of a line following a member + $line =~ s/\s*\/\*.*//; # remove comments /* */ at the end of a line following a member + $line =~ s/\s*\/\/.*//; # remove comments // at the end of a line following a member $line =~ s/\*\/$//; # zero out line if it has comments that begin without any slashs or asterisks but end with */ # zero out lines that don't have a ; or { because they are comments but without any identifying slashes or asteriks if ($line !~ /.*[\;|\{].*/) { From patchwork Fri Dec 1 00:46:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deborah Brouwer X-Patchwork-Id: 97547 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from sv.mirrors.kernel.org ([139.178.88.99]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r8rgW-0063Om-14 for patchwork@linuxtv.org; Fri, 01 Dec 2023 00:47:12 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id CBE2E2816C7 for ; Fri, 1 Dec 2023 00:47:08 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0AD9810E5; Fri, 1 Dec 2023 00:47:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="BlUKgCH9" X-Original-To: linux-media@vger.kernel.org Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48D1610D0 for ; Thu, 30 Nov 2023 16:47:04 -0800 (PST) Received: from mz550.lan (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dbrouwer) by madras.collabora.co.uk (Postfix) with ESMTPSA id 56D4D660737B; Fri, 1 Dec 2023 00:47:02 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701391623; bh=1R/f0e2ht5MPqjpB45jAhHpxK2agH/JF+zu5W9fc/Nw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BlUKgCH9BgFLnpTJwv7zdRjNWqKqxOMNS2OIWFi+Gcb4e0jD8HAe9oD6AFZhcs4kL TyJK+OF0x3ZYA+bCV4Xj/sAOQ0KYzM28mNL9iM4M/bMNemZ6nMgaD6z3dpy6LpSY9z jFHvT38F4BYsBp1m7aF1BUBF5coG5a21SIpTcsoauIeWj9RGQ2niDqn4tDXbbeYyuY sPJRYACKVCdfEq0YnutO2yV03CvZY1pBgnhl9L+nsYM1cC+7msh/r5O4YSLGVZvZte ZGZexz27/FF3YWXfG7kw3AKEIOevImGr6USBcb443cmaPirjCYy8PFG+dhAO9rsXpM VGR9464pz3O+Q== From: Deborah Brouwer To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, Deborah Brouwer Subject: [PATCH 3/6] v4l2-tracer: add re/tracing for MAX_NUM_BUFFERS Date: Thu, 30 Nov 2023 16:46:31 -0800 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=unavailable autolearn_force=no In the last sync of the kernel headers, the autogeneration script failed to pick up the new flag V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS, so add it. Signed-off-by: Deborah Brouwer --- utils/v4l2-tracer/v4l2-tracer-gen.pl | 2 +- utils/v4l2-tracer/v4l2-tracer-info-gen.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/v4l2-tracer/v4l2-tracer-gen.pl b/utils/v4l2-tracer/v4l2-tracer-gen.pl index 7b4f859b..b0ec9d6e 100755 --- a/utils/v4l2-tracer/v4l2-tracer-gen.pl +++ b/utils/v4l2-tracer/v4l2-tracer-gen.pl @@ -943,7 +943,7 @@ while (<>) { } if (grep {/^#define V4L2_BUF_CAP_SUPPORTS_MMAP\s+/} $_) { printf $fh_common_info_h "constexpr flag_def v4l2_buf_cap_flag_def[] = {\n"; - flag_def_gen("V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS"); + flag_def_gen("V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS"); next; } if (grep {/^#define V4L2_STD_PAL_B\s+/} $_) { diff --git a/utils/v4l2-tracer/v4l2-tracer-info-gen.h b/utils/v4l2-tracer/v4l2-tracer-info-gen.h index 332e271f..b103b9bd 100644 --- a/utils/v4l2-tracer/v4l2-tracer-info-gen.h +++ b/utils/v4l2-tracer/v4l2-tracer-info-gen.h @@ -1518,6 +1518,7 @@ constexpr flag_def v4l2_buf_cap_flag_def[] = { { V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS, "V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS" }, { V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF, "V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF" }, { V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS, "V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS" }, + { V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS, "V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS" }, { 0, "" } }; From patchwork Fri Dec 1 00:46:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deborah Brouwer X-Patchwork-Id: 97549 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from sy.mirrors.kernel.org ([147.75.48.161]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r8rgb-0063Pg-FL for patchwork@linuxtv.org; Fri, 01 Dec 2023 00:47:18 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id E2B9AB20EFD for ; Fri, 1 Dec 2023 00:47:12 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A899163A; Fri, 1 Dec 2023 00:47:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="lsjG8VY0" X-Original-To: linux-media@vger.kernel.org Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F69CD7D for ; Thu, 30 Nov 2023 16:47:06 -0800 (PST) Received: from mz550.lan (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dbrouwer) by madras.collabora.co.uk (Postfix) with ESMTPSA id 27D0F6607386; Fri, 1 Dec 2023 00:47:03 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701391625; bh=qkrn/uwMhQpYDmsD+sudypTb9zuOZoTsNYc7jo6Fm5I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lsjG8VY0p1CS1h/gNvMPjHdQXntkuSKkJrLNLYoO3CNri8JLXBBD5xJiOBt+EGu8v cf1/y1aOloEvUJa0D/K5b1TXLn6OPlsB1zfDYjJek2WBrNCkG/PNUKbi45P8xceC1Y hZXm34xdqVT7L6ScZSYE1/Hgvs3jA7osaTon1TVKUyRzEgQGJk5j3/QUXZUc0ydNAz hUg86pv0A0hHjxFBEK9W9rZEHg7tHXAcrEdJal3hwxpW3l8093YUq8RY5ONa08gLaM mPtaXkh1GmkM3/joLthjdZvJxqMRuZJJxhskO/+NSMmS6PSwca2+zpz51TkOVg8CAf cgDm/n/dB8TYg== From: Deborah Brouwer To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, Deborah Brouwer Subject: [PATCH 4/6] v4l2-tracer: add re/tracing for AV1 controls Date: Thu, 30 Nov 2023 16:46:32 -0800 Message-ID: <83f2b55175f869f1e992d01938c2bdd3b5385ab0.1701390439.git.deborah.brouwer@collabora.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=unavailable autolearn_force=no Hook up the existing autogenerated AV1 tracing and retracing functions so that they are called by the tracer and retracer. Signed-off-by: Deborah Brouwer --- utils/v4l2-tracer/retrace.cpp | 12 ++++++++++++ utils/v4l2-tracer/trace.cpp | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/utils/v4l2-tracer/retrace.cpp b/utils/v4l2-tracer/retrace.cpp index 03fe13f8..b8a1c8fb 100644 --- a/utils/v4l2-tracer/retrace.cpp +++ b/utils/v4l2-tracer/retrace.cpp @@ -876,6 +876,18 @@ struct v4l2_ext_control *retrace_v4l2_ext_control(json_object *parent_obj, int c case V4L2_CID_STATELESS_MPEG2_QUANTISATION: p->ptr = retrace_v4l2_ctrl_mpeg2_quantisation_gen(v4l2_ext_control_obj); break; + case V4L2_CID_STATELESS_AV1_SEQUENCE: + p->ptr = retrace_v4l2_ctrl_av1_sequence_gen(v4l2_ext_control_obj); + break; + case V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY: + p->ptr = retrace_v4l2_ctrl_av1_tile_group_entry_gen(v4l2_ext_control_obj); + break; + case V4L2_CID_STATELESS_AV1_FRAME: + p->ptr = retrace_v4l2_ctrl_av1_frame_gen(v4l2_ext_control_obj); + break; + case V4L2_CID_STATELESS_AV1_FILM_GRAIN: + p->ptr = retrace_v4l2_ctrl_av1_film_grain_gen(v4l2_ext_control_obj); + break; default: line_info("\n\tWarning: cannot retrace control: %s", val2s(p->id, control_val_def).c_str()); diff --git a/utils/v4l2-tracer/trace.cpp b/utils/v4l2-tracer/trace.cpp index c4fc1584..996fb043 100644 --- a/utils/v4l2-tracer/trace.cpp +++ b/utils/v4l2-tracer/trace.cpp @@ -412,6 +412,18 @@ void trace_v4l2_ext_control(void *arg, json_object *parent_obj, std::string key_ case V4L2_CID_PIXEL_RATE: json_object_object_add(v4l2_ext_control_obj, "value64", json_object_new_int64(p->value64)); break; + case V4L2_CID_STATELESS_AV1_SEQUENCE: + trace_v4l2_ctrl_av1_sequence_gen(p->p_av1_sequence, v4l2_ext_control_obj); + break; + case V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY: + trace_v4l2_ctrl_av1_tile_group_entry_gen(p->p_av1_tile_group_entry, v4l2_ext_control_obj); + break; + case V4L2_CID_STATELESS_AV1_FRAME: + trace_v4l2_ctrl_av1_frame_gen(p->p_av1_frame, v4l2_ext_control_obj); + break; + case V4L2_CID_STATELESS_AV1_FILM_GRAIN: + trace_v4l2_ctrl_av1_film_grain_gen(p->p_av1_film_grain, v4l2_ext_control_obj); + break; default: if (p->size) line_info("\n\tWarning: cannot trace control: %s", val2s(p->id, control_val_def).c_str()); From patchwork Fri Dec 1 00:46:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deborah Brouwer X-Patchwork-Id: 97548 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from sv.mirrors.kernel.org ([139.178.88.99]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r8rgb-0063Pl-O4 for patchwork@linuxtv.org; Fri, 01 Dec 2023 00:47:18 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7D1DC281A32 for ; Fri, 1 Dec 2023 00:47:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7FF5A10E6; Fri, 1 Dec 2023 00:47:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="mHXr9LGY" X-Original-To: linux-media@vger.kernel.org Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F3C1210E2 for ; Thu, 30 Nov 2023 16:47:07 -0800 (PST) Received: from mz550.lan (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dbrouwer) by madras.collabora.co.uk (Postfix) with ESMTPSA id 0C1FA660737B; Fri, 1 Dec 2023 00:47:05 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701391626; bh=4Hq/uWtQ8beTKXf9zNOJqH3Ehbv5sPy0kl/OgAh7sPU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mHXr9LGYIH16RfeaIrngUj4dp4+ejKxcn+9QRG8YcMCOwC7Zy+yywu5fs+LQn4JjN jNbGDuOTaq99KcaR525N+zqSKnU9DNIJiYvNSb7H4+AatgkRFjN3VYWYxmatzdwDft oM23hTvJw0CKa5k7CPr5FnkawQB/BvOcRCywwcKZhaIneJV4fl0ZcRkh72yM19cWSb cuMnwXgdgVFH3n8EF5ywAsr2sX4vitoce0iZfS67mqit8HhQQmlnFpiFxGPGo0khXK jt/HfU8OJpHaVgj1kkUzwEX2rSdjnXCUaaiDB8xRI0Cg9qtJZqP6zHa6EzmA3+mykI X5EEHOwc4Ut7Q== From: Deborah Brouwer To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, Deborah Brouwer Subject: [PATCH 5/6] v4l2-tracer: stop waiting to handle a signal Date: Thu, 30 Nov 2023 16:46:33 -0800 Message-ID: <2297fc0ea49ad201d213950c7f32d7ab5e998163.1701390439.git.deborah.brouwer@collabora.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=ham autolearn_force=no Usually the v4l2-tracer will wait for its tracee to handle a signal e.g. from ctrl+c before the v4l2-tracer exits, but if there is no tracee, then the v4l2-tracer waits forever. Exit gracefully by waiting only if a tracee exists. Signed-off-by: Deborah Brouwer --- utils/v4l2-tracer/v4l2-tracer.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/utils/v4l2-tracer/v4l2-tracer.cpp b/utils/v4l2-tracer/v4l2-tracer.cpp index 37e17eb6..05e5b368 100644 --- a/utils/v4l2-tracer/v4l2-tracer.cpp +++ b/utils/v4l2-tracer/v4l2-tracer.cpp @@ -16,9 +16,12 @@ pid_t tracee_pid = 0; void v4l2_tracer_sig_handler(int signum) { line_info("\n\tReceived signum: %d", signum); - kill(tracee_pid, signum); - /* Wait for tracee to handle the signal first before v4l2-tracer exits. */ - wait(nullptr); + + /* If there is a tracee, wait for it to handle the signal first before exiting. */ + if (tracee_pid) { + kill(tracee_pid, signum); + wait(nullptr); + } } enum Options { From patchwork Fri Dec 1 00:46:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deborah Brouwer X-Patchwork-Id: 97550 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from sy.mirrors.kernel.org ([147.75.48.161]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r8rgh-0063QP-57 for patchwork@linuxtv.org; Fri, 01 Dec 2023 00:47:23 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 8487CB21301 for ; Fri, 1 Dec 2023 00:47:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6FC8A63A; Fri, 1 Dec 2023 00:47:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="VzlbqIF8" X-Original-To: linux-media@vger.kernel.org Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 575ED10F0 for ; Thu, 30 Nov 2023 16:47:10 -0800 (PST) Received: from mz550.lan (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dbrouwer) by madras.collabora.co.uk (Postfix) with ESMTPSA id 641BC660738B; Fri, 1 Dec 2023 00:47:08 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701391629; bh=/h7AWDJb/3fCGWg8ghrRVRV0SW7CX+JZ25CLlUI8ySQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VzlbqIF8BdDeipy6q+0l8CrM0Ol7X0+04wUVaEW8Ndi81/w/HpLaPMauBHjhjfIVu uPEDujtIT0F04ostr6gY96uOmRQpriHZEikETiHtunZYOpAjcxKc1H+w1fgVsdDHQB cD1/5eu2dEnlIvN2nWlS3jBilwb0DtyjlAbgVxK71jYeBFTc/gdYeREY/tvqOugpEf OvW0OxJnJxIcXebbFbsWlhnacwKZ4OvdDqXk9+JX0NZlAkWsIT4SaZmLko06C2EX5Q ISUHdw3z6Q+GHoiLx2FGDuqQc/WmMVlsZ9sN31JNbE4Rl2wUBF10KzBaaOZ6UzlNxb UuUV2Izg2uBiA== From: Deborah Brouwer To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, Deborah Brouwer Subject: [PATCH 6/6] v4l2-tracer: use stat to verify that retrace file exists Date: Thu, 30 Nov 2023 16:46:34 -0800 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=unavailable autolearn_force=no Instead of opening and closing the file to see if it exists, just use stat. This avoids cluttering a trace with extra opens/closes. Also change the return value to give a better description of the failure to the calling function. Signed-off-by: Deborah Brouwer --- utils/v4l2-tracer/retrace.cpp | 7 +++---- utils/v4l2-tracer/v4l2-tracer-common.h | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/v4l2-tracer/retrace.cpp b/utils/v4l2-tracer/retrace.cpp index b8a1c8fb..60d64d8b 100644 --- a/utils/v4l2-tracer/retrace.cpp +++ b/utils/v4l2-tracer/retrace.cpp @@ -1537,12 +1537,11 @@ void retrace_array(json_object *root_array_obj) int retrace(std::string trace_filename) { - FILE *trace_file = fopen(trace_filename.c_str(), "r"); - if (trace_file == nullptr) { + struct stat sb; + if (stat(trace_filename.c_str(), &sb) == -1) { line_info("\n\tTrace file error: \'%s\'", trace_filename.c_str()); - return 1; + return -EINVAL; } - fclose(trace_file); fprintf(stderr, "Retracing: %s\n", trace_filename.c_str()); diff --git a/utils/v4l2-tracer/v4l2-tracer-common.h b/utils/v4l2-tracer/v4l2-tracer-common.h index c8b5dbd4..adb41218 100644 --- a/utils/v4l2-tracer/v4l2-tracer-common.h +++ b/utils/v4l2-tracer/v4l2-tracer-common.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include