From patchwork Tue Aug 16 04:36:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Langdale X-Patchwork-Id: 34787 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3d0d:b0:8d:a68e:8a0e with SMTP id y13csp1652036pzi; Mon, 15 Aug 2022 21:37:10 -0700 (PDT) X-Google-Smtp-Source: AA6agR58SryAUUM5IIiRTMzfKzC+6R9ffDr2qiakFHQo8RGBylyaQ6Mqh3X3tpiWsWKAFfY4RXNo X-Received: by 2002:a17:907:2bf9:b0:730:7a66:71a3 with SMTP id gv57-20020a1709072bf900b007307a6671a3mr12104628ejc.623.1660624630456; Mon, 15 Aug 2022 21:37:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660624630; cv=none; d=google.com; s=arc-20160816; b=c/Yy50K/QuIiZKYEb2l7xlaOxpPGQHvfLjrjUIrRKHoqI2xxYAp1Una6bq5AhvU8Dm SyOfdvZWTQ1bh8lWuN5yw1vZStKBg8fteQel/dxm0PX5AO77TCbh8g2iBer/cFQ2t7Le vbXSD0sn6Sw+wSxRoc66IcWoQ0KitP5IiUZ6olI5uIH9vK0RIxk9XbMa4BjQQdiqIjGi bFHKUi+GlZgUDFTwuuW0pGnbOJgN7kV70euE3onc2CjTEQqRB4pp0ytBpafwhkXu2vqL 4Fz3hhQDyJIsfy4dQJdtq1AfHXJmvQXOibONaQRml1+9EqCXknfF44yfak1CuLpc65lC CoUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=FkkZJ/Y4s4dtcZz6qKcpQx+10mmg//2S4/aPivi5hOw=; b=1HitMwzgHirN049n3VL6ipP1p59NGT+udFLiX9/dXlpZMiPflrQ8Xi7KnqnZhJSk7j iLUWd8ZkhnVzM2dC1vk+Xy3wq/91idmuqPrGEzwEl5s/AomaRJfoShr+y51PtQ8CcNNk u6WiL4N4GKx4HY+QF4oT16L3GchyZUoE7WpjZea59Ber3KQ0eSlUYzh8FJEkOylR+Gw7 lxAXkO1RiEVy3CjVlDoQRKo7rZDqE8MRbe1qYjc4YYVLx4rYGjfhvmVNUjwnraSz7ba5 r3oGy5dbkQ92DjjimqlWFs+0YnAgxvTE6Mh+iedoMw2SJ1pA2EYpkUN6qva1bjfATr6B oLBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b=PQKrlsDJ; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=overt.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dt20-20020a170907729400b007317d093e6csi10118242ejc.808.2022.08.15.21.37.09; Mon, 15 Aug 2022 21:37:10 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b=PQKrlsDJ; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=overt.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D474A68B895; Tue, 16 Aug 2022 07:37:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail.overt.org (mail.overt.org [157.230.92.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C8C6968B830 for ; Tue, 16 Aug 2022 07:36:59 +0300 (EEST) Received: from authenticated-user (mail.overt.org [157.230.92.47]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mail.overt.org (Postfix) with ESMTPSA id 738033F71E; Mon, 15 Aug 2022 23:36:57 -0500 (CDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=overt.org; s=mail; t=1660624617; bh=WsZsWVV5+Clx9QflxA069lVwQbx9Aeb0CaENxa3Qh0g=; h=From:To:Cc:Subject:Date:From; b=PQKrlsDJG9L9J5ojUROd/lwfP9xKx3ED6ef5ancRWwtEj0lcvxkzmdj4Fu9z3tYx2 bUfNW/7TYpKDmFtFGEIwSj4xj+lhmNd6ZAiGgA6u18VCqcRhhaUdMRroH1vzB9UqyA iq0LJuezv0RvEHlqRgagg1CM9Xfy1jvF6MAjm0Dofv2T17J6z5FZS7s7Zslh0SbzAJ TeQQ8OcEgn6eXgimO1tndAq5Q9kMsgm01YDmrMHAotV6VKgsyLVblrQdWO1A/G49Z0 Ysgemf1rZ0igTaQjClU5hCBJF5ydZcC9zesFB82Xn6YwVPuMSQMTIxxAXUM+1nE8dH ZnLxsoiaqt8PQ== From: Philip Langdale To: ffmpeg-devel@ffmpeg.org Date: Mon, 15 Aug 2022 21:36:38 -0700 Message-Id: <20220816043641.41521-1-philipl@overt.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/3] V3: VAAPI: Add high bit depth encode/decode support 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 Cc: Philip Langdale Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VNXt2gIF9vV+ This changeset fills in support for the remaining high bit depth formats the VAAPI exposes. This requires adding more weird Microsoft pixel formats and then mapping them in the VAAPI code. I've also enabled hw mapping between VAAPI and vulkan for sufficiently simple formats. * Updated to use explicit 12bit pixel formats after I learned that the driver supports them and doesn't force the use of 16bit formats. Philip Langdale (3): lavu/pixfmt: Add P012, Y212, Y410, and Y412 formats lavc/vaapi: Add support for remaining 10/12bit profiles lavu/hwcontext_[vaapi|vulkan]: support mapping VUYA, P012, and Y412 libavcodec/hevcdec.c | 8 +++ libavcodec/vaapi_decode.c | 13 ++++ libavcodec/vaapi_encode.c | 10 ++- libavcodec/vaapi_encode_h265.c | 6 +- libavcodec/vaapi_encode_vp9.c | 4 +- libavcodec/vaapi_hevc.c | 11 +++- libavcodec/vp9.c | 2 + libavutil/hwcontext_vaapi.c | 21 +++++++ libavutil/hwcontext_vulkan.c | 10 +++ libavutil/pixdesc.c | 101 ++++++++++++++++++++++++++++++- libavutil/pixfmt.h | 16 +++++ tests/ref/fate/imgutils | 8 +++ tests/ref/fate/sws-pixdesc-query | 42 +++++++++++++ 13 files changed, 246 insertions(+), 6 deletions(-)