From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id D863D4DADA for ; Tue, 23 Dec 2025 18:41:19 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'mT/VLu567XB2Og2EsWBQggIGx8ZaS0oepNv49+HiKyc=', expected b'bGY6KObXURtzWbO2uQr7g1l0RO0ruNY+AdTvo70eX04=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1766515268; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=mT/VLu567XB2Og2EsWBQggIGx8ZaS0oepNv49+HiKyc=; b=E76HSLcSTX08Pm1Ws0DfwGVX1n15fvxPYIERmvqCkVp7UPab81p3dtH6CrDsvbO9Lw+/z +zd7Ix1ph+a5wIjKR24o0rUtyHqCgvv1Gnj4R/EwkzAIDYNERVFOpD5ysgz5zHEutfu4hD4 oXxaV4ZxIX18r53XafjULqmoBnj1eDmsrzessI3ln8HBTxjLDI7pb5pgpTzqGNoEaW1goC/ FR9VddR5NIxQgBL2NPabfLXOYSAjZ7eMJGh9Loz5JVF0wszmtLGO5yxdcIn6S/rjAWu1Wgf lTVO6t3/Wt5Xw5n4CXLSwe+R0UBsUjM/mhKxHWDTrEQCo9E95IZn39dwwSXg== Received: from [172.20.0.2] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 41EA7690AE5; Tue, 23 Dec 2025 20:41:08 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1766515261; b=darbSNHZFCz7yj/3A/2kLmju1rtrEA6xRwFjxlPhqS9aVyaD0ZnyC8jqjiNICfz6MDhCY BX/dMqw5O4RW76n3egxOfwX61OyeiBFhzDf0t1WtGoRZTNSHkOaARLMvrVkTFAU67A3pjKt iDYg4PRhHeJc20CILhqabNEUemtBUc3+rM8e3RF/WnGFzOlBtAxx8RNdE4GjXsQrF3x5FDx sYsO3V7VpUeDbl8P6L6HKgstV1cSa4QuCbK3NkJazyPH+usp713dHmi/31S/m6cG6+7eO39 haIZGruGzQf195usJ4c6Hm8Qh5Vds1YAgErDyRf9wOow9vF4hgB08EO9jOig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1766515261; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=xJtNBWhi5EA15FjlHLGhH2Pb3C1JiQANxsqzvc6Wiq4=; b=LOEFnLxoLBnN5SdO1dJnjewmhxhRjX7qES8lQRlzoBkd8q3QvwIMf40MQg0yU7zbWO4Su xDP+xZ03O++LMQTnTgh/T3GjHAwX8PxsqKPYrWc0e9kT8h2UIHZngkeJQETy8BfDRvyYqbH gjGC4yupoLHvKRGy3sqSJLCJE29gg1umh/wxwwZCVinmO4SSv3MVg/P4AAyY6Ags4jJWdqu BpwtmIoBuQsBOHky8rffmclFBwD+bGiv/SN5OKGaXokuDUMFEeNglE0HPCSn2iV9BcYHo8E FnRtbZ3m+0CTH6DzZmlFRWk+Cz4VZ2090cYGRbLFgZmASdURnnrIpGVw6AqQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1766515253; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=bGY6KObXURtzWbO2uQr7g1l0RO0ruNY+AdTvo70eX04=; b=k0fmYs/UYNQBP4/fD8uayYA5OqSSQ5wBS1l+d6lP4rqelE0L5KMPoHDgskdYBeva77c4T K377rggx3oImatPf+iR3nj0uUtVV7Epyy51LDmCZrwmsQExvQeeVTcV0pJ5RK+iVDTBOSZ/ lVHPdOuWHUPb0o3VvzEvVWScd4zjXHu8zBMO+SsVd0KKPHIfyxDS87Ok1UEoMXFnchepXAe fHbXEa2ZOw9ZjprCJddngeJKTrAYI+sNrKhDROKgYluhW5yB2hCGHrkpRGSEJQAaL/1Va+z eSAgEXe2l6UhsYnO/lqWJxfCVxthgXrHJlfXopZRuehWhEbZ/cHKcadwvtVA== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 521D1690AEB for ; Tue, 23 Dec 2025 20:40:53 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 23 Dec 2025 18:40:53 -0000 Message-ID: <176651525345.60.5786558013778350676@2cb04c0e5124> Message-ID-Hash: 7YTDZLMCC74OVHROWNPLH2LTBVWOGGSX X-Message-ID-Hash: 7YTDZLMCC74OVHROWNPLH2LTBVWOGGSX X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] swscale/tests/sws_ops: add optional -src and -dst parameters (PR #21283) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Ramiro Polla via ffmpeg-devel Cc: Ramiro Polla Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21283 opened by Ramiro Polla (ramiro) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21283 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21283.patch This is helpful for debugging specific input/output combinations. >>From 040e15ca6b3af80332ee28a2afc31146b4f2c880 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Tue, 23 Dec 2025 17:18:19 +0100 Subject: [PATCH] swscale/tests/sws_ops: add optional -src and -dst parameters --- libswscale/tests/sws_ops.c | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/libswscale/tests/sws_ops.c b/libswscale/tests/sws_ops.c index 1c17cf24a0..69852fc1e0 100644 --- a/libswscale/tests/sws_ops.c +++ b/libswscale/tests/sws_ops.c @@ -76,12 +76,50 @@ static void log_stdout(void *avcl, int level, const char *fmt, va_list vl) int main(int argc, char **argv) { + enum AVPixelFormat src_fmt_min = 0; + enum AVPixelFormat dst_fmt_min = 0; + enum AVPixelFormat src_fmt_max = AV_PIX_FMT_NB - 1; + enum AVPixelFormat dst_fmt_max = AV_PIX_FMT_NB - 1; int ret = 1; #ifdef _WIN32 _setmode(_fileno(stdout), _O_BINARY); #endif + for (int i = 1; i < argc; i += 2) { + if (!strcmp(argv[i], "-help") || !strcmp(argv[i], "--help")) { + fprintf(stderr, + "sws_ops [options...]\n" + " -help\n" + " This text\n" + " -dst \n" + " Only test the specified destination pixel format\n" + " -src \n" + " Only test the specified source pixel format\n" + ); + return 0; + } + if (argv[i][0] != '-' || i + 1 == argc) + goto bad_option; + if (!strcmp(argv[i], "-src")) { + src_fmt_min = src_fmt_max = av_get_pix_fmt(argv[i + 1]); + if (src_fmt_min == AV_PIX_FMT_NONE) { + fprintf(stderr, "invalid pixel format %s\n", argv[i + 1]); + goto error; + } + } else if (!strcmp(argv[i], "-dst")) { + dst_fmt_min = dst_fmt_max = av_get_pix_fmt(argv[i + 1]); + if (dst_fmt_min == AV_PIX_FMT_NONE) { + fprintf(stderr, "invalid pixel format %s\n", argv[i + 1]); + goto error; + } + } else { +bad_option: + fprintf(stderr, "bad option or argument missing (%s) see -help\n", argv[i]); + goto error; + } + } + SwsContext *ctx = sws_alloc_context(); AVFrame *frame = av_frame_alloc(); if (!ctx || !frame) @@ -90,7 +128,13 @@ int main(int argc, char **argv) av_log_set_callback(log_stdout); for (const AVPixFmtDescriptor *src = NULL; (src = av_pix_fmt_desc_next(src));) { + enum AVPixelFormat src_fmt = av_pix_fmt_desc_get_id(src); + if (src_fmt < src_fmt_min || src_fmt > src_fmt_max) + continue; for (const AVPixFmtDescriptor *dst = NULL; (dst = av_pix_fmt_desc_next(dst));) { + enum AVPixelFormat dst_fmt = av_pix_fmt_desc_get_id(dst); + if (dst_fmt < dst_fmt_min || dst_fmt > dst_fmt_max) + continue; int err = run_test(ctx, frame, src, dst); if (err < 0) goto fail; @@ -102,4 +146,7 @@ fail: av_frame_free(&frame); sws_free_context(&ctx); return ret; + +error: + return AVERROR(EINVAL); } -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org