Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2097235rda; Tue, 24 Oct 2023 12:11:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFCFOA5KxexlOon8ZsrKKphfOBCVb9bUa2b1xxM2b4qL4dNc2Ju/k/vDu+fOMfNgTpV+gR4 X-Received: by 2002:a17:902:cec6:b0:1c5:cbfb:c16f with SMTP id d6-20020a170902cec600b001c5cbfbc16fmr12085947plg.25.1698174673852; Tue, 24 Oct 2023 12:11:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698174673; cv=none; d=google.com; s=arc-20160816; b=UamDex5dUS3lozNMoMQHtpeOTCO97iRu2S3hrXEPSphElErlQdUxnVxiT54tJ7uvSZ e19J/jpDu5YoFanWxivJ9xUiFJOFIoYPSO3QFt5MGyDRPKKSRuAhQsnNwrKIrgbyyVRZ uOua2KpvWSJEVrr5zzQtidisnimiaF7OdlDXx+6qx6gGWDNTtNOWa01id0CsLxBREBz9 LSWgztToKePTtqyd+00VVZwOO/OEt4eHoybtQvJ05iqrlbdIfOp9kmx6yzDI2cDdGkFg kgXY5Sa3sTMKjFlOddSJIk069fN2u1wrozQ7iGWJ2PDA+V1YlL40HR8Gq2MAiUugpHtB kTZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hXKLZ2tuXvaY9XQY6cN6kjT7xrnt7Le/uEVrEnwPCO8=; fh=GOsa8F24+MtjXStpkMMOXboEdQI7NAG5aXV0YSmfysM=; b=omfQ8aKUIwowtgv0F0xXN8941Iap5SLa5GjR6o1U7GtmRs4ENy2+R/x8Kmg2m4CXsI EmAgkPGpFqOhJlxVPd99ScKpZ47nGWo8XxeGGV4uPPSyBX2miTqYYtCJP7ZZRllPkxhL kn6DPWft5hf1mIzbtbZ8el/RstKMjtpscH9+0oSoPWKJHxEWgKIzyh9afM3CnSMTF/ip pC33ehUDWUKhdoHgtRNEKfLPcbK+Q7OV6dsVylVpQXJaEEj4KlwYpMFnEdIvhf3EOz5U 6uW8r+dxMY5a1S/nLiWXRPrJa9Im4FukQBxnt7D2AundJghkLqkn3ndShsYrmhB/rKtb 3WJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=iP0GJvzR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id a6-20020a170902ee8600b001c9c566b847si8637958pld.84.2023.10.24.12.11.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Oct 2023 12:11:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=iP0GJvzR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 1D5CC80782A9; Tue, 24 Oct 2023 12:10:51 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344236AbjJXTKe (ORCPT + 99 others); Tue, 24 Oct 2023 15:10:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344221AbjJXTK0 (ORCPT ); Tue, 24 Oct 2023 15:10:26 -0400 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 780CF10CC; Tue, 24 Oct 2023 12:10:24 -0700 (PDT) Received: from arisu.hitronhub.home (unknown [23.233.251.139]) (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: detlev) by madras.collabora.co.uk (Postfix) with ESMTPSA id 72F816607341; Tue, 24 Oct 2023 20:10:22 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1698174623; bh=QRNnyfDPh/PXwX0PmkSFtoq3caKA5wE007wFtnoCkZA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iP0GJvzRyYxX85+iT4X7KbeUUy4WlRX1Mk22rzyRKFAzjIQDDAlp8lkaStrVjzBSc 02dDlU9qASwSsZku2fP1+RNPRX3rtE7XwgFYz4xxybzbUA0j827viQkc2nYVkIUuSu z53RZfyrr2jzzAXO3cfv0KBjzIlMoTf6lkNFyi0T3A4GlDtI/TfGpXBabYCB6/YwjW GEmc/EOFFOEiF4On8CVK7DXH40PlfV/a6AA45y9dypZe9Kz5BRMw1rSD6ITo5ebC95 Q+jUxH/oVLQHzxwfKEdHo4AbdZx5ib14kwxSP0EEsn32sB0/j6aGIXWDTcbl6T7t6c LzEIclzlh1HTA== From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: linux-media@vger.kernel.org, Daniel Almeida , Mauro Carvalho Chehab , Detlev Casanova Subject: [PATCH v2 4/5] visl: Add a codec specific variability parameter Date: Tue, 24 Oct 2023 15:09:49 -0400 Message-ID: <20231024191027.305622-5-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231024191027.305622-1-detlev.casanova@collabora.com> References: <20231024191027.305622-1-detlev.casanova@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 24 Oct 2023 12:10:51 -0700 (PDT) When running tests with different input data, the stable output frames could be too similar and hide possible issues. This commit adds variation by using some codec specific parameters. Only HEVC and H.264 support this. Reviewed-by: Daniel Almeida Signed-off-by: Detlev Casanova --- drivers/media/test-drivers/visl/visl-core.c | 5 ++++ drivers/media/test-drivers/visl/visl-dec.c | 27 +++++++++++++++++++++ drivers/media/test-drivers/visl/visl.h | 1 + 3 files changed, 33 insertions(+) diff --git a/drivers/media/test-drivers/visl/visl-core.c b/drivers/media/test-drivers/visl/visl-core.c index d28d50afec02..e7466f6a91e1 100644 --- a/drivers/media/test-drivers/visl/visl-core.c +++ b/drivers/media/test-drivers/visl/visl-core.c @@ -93,6 +93,11 @@ module_param(stable_output, bool, 0644); MODULE_PARM_DESC(stable_output, " only write stable data for a given input on the output frames"); +bool codec_variability; +module_param(codec_variability, bool, 0644); +MODULE_PARM_DESC(codec_variability, + " add codec specific variability data to generate more unique frames. (Only h.264 and hevc)"); + static const struct visl_ctrl_desc visl_fwht_ctrl_descs[] = { { .cfg.id = V4L2_CID_STATELESS_FWHT_PARAMS, diff --git a/drivers/media/test-drivers/visl/visl-dec.c b/drivers/media/test-drivers/visl/visl-dec.c index 61cfca49ead9..002d5e3b0ea4 100644 --- a/drivers/media/test-drivers/visl/visl-dec.c +++ b/drivers/media/test-drivers/visl/visl-dec.c @@ -223,6 +223,26 @@ static void visl_tpg_fill_sequence(struct visl_ctx *ctx, } } +static bool visl_tpg_fill_codec_specific(struct visl_ctx *ctx, + struct visl_run *run, + char buf[], size_t bufsz) +{ + switch (ctx->current_codec) { + case VISL_CODEC_H264: + scnprintf(buf, bufsz, + "H264: %u", run->h264.dpram->pic_order_cnt_lsb); + break; + case VISL_CODEC_HEVC: + scnprintf(buf, bufsz, + "HEVC: %d", run->hevc.dpram->pic_order_cnt_val); + break; + default: + return false; + } + + return true; +} + static void visl_tpg_fill(struct visl_ctx *ctx, struct visl_run *run) { u8 *basep[TPG_MAX_PLANES][2]; @@ -255,6 +275,13 @@ static void visl_tpg_fill(struct visl_ctx *ctx, struct visl_run *run) frame_dprintk(ctx->dev, run->dst->sequence, ""); line++; + if (codec_variability && visl_tpg_fill_codec_specific(ctx, run, buf, TPG_STR_BUF_SZ)) { + tpg_gen_text(&ctx->tpg, basep, line++ * line_height, 16, buf); + frame_dprintk(ctx->dev, run->dst->sequence, "%s\n", buf); + frame_dprintk(ctx->dev, run->dst->sequence, ""); + line++; + } + if (!stable_output) { visl_get_ref_frames(ctx, buf, TPG_STR_BUF_SZ, run); diff --git a/drivers/media/test-drivers/visl/visl.h b/drivers/media/test-drivers/visl/visl.h index 5a81b493f121..4ac2d1783020 100644 --- a/drivers/media/test-drivers/visl/visl.h +++ b/drivers/media/test-drivers/visl/visl.h @@ -86,6 +86,7 @@ extern bool keep_bitstream_buffers; extern int bitstream_trace_frame_start; extern unsigned int bitstream_trace_nframes; extern bool stable_output; +extern bool codec_variability; #define frame_dprintk(dev, current, fmt, arg...) \ do { \ -- 2.41.0