From patchwork Mon Mar 8 10:41:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: you74674@gmail.com X-Patchwork-Id: 26252 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 92C3D44A529 for ; Mon, 8 Mar 2021 12:42:44 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6CB4A688038; Mon, 8 Mar 2021 12:42:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 604CB6809AC for ; Mon, 8 Mar 2021 12:42:38 +0200 (EET) Received: by mail-pg1-f173.google.com with SMTP id a4so6150313pgc.11 for ; Mon, 08 Mar 2021 02:42:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=63Nr+QoKXL/mcwwuaDlTnNMx+LaL7a6mv9LB/NZeBV8=; b=U0Yue6Njo+OuYBwM7xaZbqFs7xUcjEaTBF5k3uOjX0iUs1u8u5l05lDw9pgGOZAzoE g593wRjvUoWVuiGnDunCPIFrnYH651YZtz5veT12bWh2Hj9bsT9pN6b07qClapwiyjM/ /T7Jm9LGpYM27wNLJgr9XTXoqgdjUIojRYhddQ3ltMSLHBKEdZ82NRAQnR6rPsxTdRfG ObdZLKEzWgIKT3Irv3xsscR7y9HiKv8PoFsosMv5lyDoOZ7lKTBNWBN2hgdFxJA0Vkmr wYsImi8iY12tpIcz7CeAFCzuoUWkHcs/5GfwBaROi304ZktQDqiQu8Fpx+bO/GZ4+8IK 761g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=63Nr+QoKXL/mcwwuaDlTnNMx+LaL7a6mv9LB/NZeBV8=; b=jPEBw7Z0YOO+rFmlUulPZFHgWWbQxGgejUDKX6gp008qPhMTL9IhlslM+AjW5o1ZLU hZ9+CTqQbnnTC49oFn1aqyQENPLsrARdLiRQ6EOztZAVuD/p7kKwBwscbOvN91DLdViU GBlrMLJgg2ZOfIVrnhBXysXwbQgwcMXzZtOfMS560m3BGi24wQy4SYj8LyieW3rwiSBI oIIP1BsR8zBlYDn5/S7TEdLrbQI2qzMb1q4gb/rnckL9d/SkQwDwEEENX716mTTtsmbi GNiCJBj5Tjqn4tFfdSnT0gGviizvb+NB7yqBGEnkFcgdQWWutk6Wz/9wKRgeoNBFmM8q vV3w== X-Gm-Message-State: AOAM533rYqRZdM66woH3LSclqm8tei8XejVdiZPEwkshcKvlfAElok15 /M2YqMetPoG4yfPbPSVJQLhHnYkxoF0dCw== X-Google-Smtp-Source: ABdhPJwXP9AzZwik+oxrUnjye9y3IqaNArIlLbOEdDGqGDSDT8/YQN+HEFGIXCfoDeU8Rg5zdY8uGQ== X-Received: by 2002:aa7:91d2:0:b029:1ed:b10b:5a7 with SMTP id z18-20020aa791d20000b02901edb10b05a7mr20835468pfa.2.1615200156048; Mon, 08 Mar 2021 02:42:36 -0800 (PST) Received: from localhost.localdomain (2001-b011-2007-f24b-e45b-aa9f-a368-2fad.dynamic-ip6.hinet.net. [2001:b011:2007:f24b:e45b:aa9f:a368:2fad]) by smtp.gmail.com with ESMTPSA id 8sm10562290pfp.171.2021.03.08.02.42.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 02:42:35 -0800 (PST) From: you74674@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Mar 2021 18:41:52 +0800 Message-Id: <20210308104152.541-1-you74674@gmail.com> X-Mailer: git-send-email 2.28.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/hwcontext_d3d11va: Support DXGI_FORMAT_B8G8R8A8_UNORM encoding X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: you74674 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: you74674 Support using DXGI_FORMAT_B8G8R8A8_UNORM format ID3D11Texture2D texture as AVCodecContext->hw_frames_ctx for encoding. AV_PIX_FMT_0RGB32 is used here because in libavcodec/nvenc.c, it is mapped to NV_ENC_BUFFER_FORMAT_ARGB, which is mapped to DXGI_FORMAT_B8G8R8A8_UNORM in sample code from NvCodec. --- libavutil/hwcontext_d3d11va.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c index c8ae58f908..14c2fe562e 100644 --- a/libavutil/hwcontext_d3d11va.c +++ b/libavutil/hwcontext_d3d11va.c @@ -88,6 +88,7 @@ static const struct { // Special opaque formats. The pix_fmt is merely a place holder, as the // opaque format cannot be accessed directly. { DXGI_FORMAT_420_OPAQUE, AV_PIX_FMT_YUV420P }, + { DXGI_FORMAT_B8G8R8A8_UNORM, AV_PIX_FMT_0RGB32 } }; static void d3d11va_default_lock(void *ctx)