From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 7094747793 for ; Sun, 22 Oct 2023 14:56:33 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CA59468C9CC; Sun, 22 Oct 2023 17:56:31 +0300 (EEST) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9240068BD6B for ; Sun, 22 Oct 2023 17:56:24 +0300 (EEST) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-40837ebba42so18097395e9.0 for ; Sun, 22 Oct 2023 07:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1697986584; x=1698591384; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=2DZPU0AWAyXVj9IQOlLMItxgF2xuPRYE/pFHnuOdc/s=; b=FxRBCGFM3SaaStGY31MA4sUV30XWrM8O3scH6QHFuV8dOL3EMHJ8hkVQu5+tGwLHEi v1S3IR/PQCU8E+oeBcPf4mFYAO1ByzvzdW98XcZKUuOWGZldbLVVc3AdDykh8ZVkiNW5 WuCP5YfWnswbHZrClotLYIcr7wXqA2VC6+vGWqM2k8JoiR7xq0+EBsYwq7f8nEfp1n3s vyWMf5Q2CDLUTy2IcuJHD58C6ibGKLkbvjK95yloz/kK01M5z4/6V1sNzrGLELvqmPJ5 TrKD7XiKJgmxdGlVuPP1YkwBbu9PbEtDyZcCqXO3ox+7aRjaKyNdvNKgRw4x9liPfBUE J/sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697986584; x=1698591384; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2DZPU0AWAyXVj9IQOlLMItxgF2xuPRYE/pFHnuOdc/s=; b=JxgT/kFkXZgvLQKQ0wRxEoKFiYj4lHQ4tEAT2Kvv1Z0DHDVqoohw48beFo9x+7HzGW AdsB90rbi8ALhQc1fnrFu+tSkKNVgEmIq1M2nYManWS4+qornIHwwD4oDgBCRgm0dMOj r3aNdnOIfSH4cDoQ+GUCMvMvvIrPPCg6Dravo+Ng2DvqNwtG7Wtp491oVHUgjBjGCYjD Ae+f5vbEdRUv2UBBn4bSqkbyarUBRBGH2Jx2OAZmbl2ib0p+F8juaapKAlNbTWj8WSuv f4llFiU5BYzbjWH6o1otFyftzrqIJm2/PQL4ge1l3/tp+Z75GA5XYzjoHpb0wNMXj/N0 HefQ== X-Gm-Message-State: AOJu0Yy/WTVRx1a0dtxco77MI8r9nNEYp4vH3X8b2+3MNils9q4MlKQS w1V6uOsU6BlYLFsNCD81VV9hrodeMAK8hMiAKXk= X-Google-Smtp-Source: AGHT+IHEGFykCpCZQIagx2l2NggK77CayApC8+QEjGEZIhj72XR+ND+N0NGytdIe6MUEZs5JLPsTTg== X-Received: by 2002:a05:600c:198a:b0:408:40e2:773b with SMTP id t10-20020a05600c198a00b0040840e2773bmr5226265wmq.34.1697986583850; Sun, 22 Oct 2023 07:56:23 -0700 (PDT) Received: from [192.168.0.15] (cpc92320-cmbg19-2-0-cust383.5-4.cable.virginm.net. [82.13.65.128]) by smtp.gmail.com with ESMTPSA id p11-20020a5d68cb000000b003247d3e5d99sm5797349wrw.55.2023.10.22.07.56.23 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 22 Oct 2023 07:56:23 -0700 (PDT) Message-ID: Date: Sun, 22 Oct 2023 15:56:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: <90f15b31-bfc5-4152-a38c-ec58d444e59b@jkqxz.net> In-Reply-To: <90f15b31-bfc5-4152-a38c-ec58d444e59b@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 2/2] lavfi/ddagrab: Fix 8-bit BGR output to not advertise an alpha component X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: There is never an alpha component here, so the actual format is BGR0 rather than BGRA. This fixes cases which maintain the alpha component and therefore generate unexpected results. --- E.g. fixes download and encode with PNG to make an RGB PNG as expected, rather than an RGBA PNG with nothing in the alpha channel. (Previously this was relying on the user to realise that the alpha channel contained nothing and ignore it.) doc/filters.texi | 2 +- libavfilter/vsrc_ddagrab.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index f5032ddf74..550f9a6ecc 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -28183,7 +28183,7 @@ It accepts the following values: @item auto Passes all supported output formats to DDA and returns what DDA decides to use. @item 8bit -@item bgra +@item bgrx 8 Bit formats always work, and DDA will convert to them if neccesary. @item 10bit @item x2bgr10 diff --git a/libavfilter/vsrc_ddagrab.c b/libavfilter/vsrc_ddagrab.c index 9c59faf53e..8ff3c97959 100644 --- a/libavfilter/vsrc_ddagrab.c +++ b/libavfilter/vsrc_ddagrab.c @@ -115,14 +115,14 @@ static const AVOption ddagrab_options[] = { { "output_fmt", "desired output format", OFFSET(out_fmt), AV_OPT_TYPE_INT, { .i64 = DXGI_FORMAT_B8G8R8A8_UNORM }, 0, INT_MAX, FLAGS, "output_fmt" }, { "auto", "let dda pick its preferred format", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, INT_MAX, FLAGS, "output_fmt" }, { "8bit", "only output default 8 Bit format", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_B8G8R8A8_UNORM }, 0, INT_MAX, FLAGS, "output_fmt" }, - { "bgra", "only output 8 Bit BGRA", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_B8G8R8A8_UNORM }, 0, INT_MAX, FLAGS, "output_fmt" }, + { "bgrx", "only output 8 Bit BGRX", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_B8G8R8A8_UNORM }, 0, INT_MAX, FLAGS, "output_fmt" }, { "10bit", "only output default 10 Bit format", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_R10G10B10A2_UNORM }, 0, INT_MAX, FLAGS, "output_fmt" }, { "x2bgr10", "only output 10 Bit X2BGR10", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_R10G10B10A2_UNORM }, 0, INT_MAX, FLAGS, "output_fmt" }, { "16bit", "only output default 16 Bit format", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_R16G16B16A16_FLOAT },0, INT_MAX, FLAGS, "output_fmt" }, { "rgbaf16", "only output 16 Bit RGBAF16", 0, AV_OPT_TYPE_CONST, { .i64 = DXGI_FORMAT_R16G16B16A16_FLOAT },0, INT_MAX, FLAGS, "output_fmt" }, { "allow_fallback", "don't error on fallback to default 8 Bit format", OFFSET(allow_fallback), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS }, - { "force_fmt", "exclude BGRA from format list (experimental, discouraged by Microsoft)", + { "force_fmt", "exclude BGRX from format list (experimental, discouraged by Microsoft)", OFFSET(force_fmt), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS }, { NULL } }; @@ -775,7 +775,7 @@ static av_cold int init_hwframes_ctx(AVFilterContext *avctx) switch (dda->raw_format) { case DXGI_FORMAT_B8G8R8A8_UNORM: av_log(avctx, AV_LOG_VERBOSE, "Probed 8 bit RGB frame format\n"); - dda->frames_ctx->sw_format = AV_PIX_FMT_BGRA; + dda->frames_ctx->sw_format = AV_PIX_FMT_BGR0; break; case DXGI_FORMAT_R10G10B10A2_UNORM: av_log(avctx, AV_LOG_VERBOSE, "Probed 10 bit RGB frame format\n"); -- 2.39.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".