From patchwork Sat Aug 20 04:31:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Langdale X-Patchwork-Id: 37368 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp156464pzh; Fri, 19 Aug 2022 21:32:36 -0700 (PDT) X-Google-Smtp-Source: AA6agR5ni2h4ih780oRh+ZFu5VSiDGiolITN1qD7b6zKJ5Ts4dpv7fNFzPVEUBYLcYaA7lHrrgVR X-Received: by 2002:a05:6402:447:b0:440:d482:495f with SMTP id p7-20020a056402044700b00440d482495fmr8523275edw.264.1660969956114; Fri, 19 Aug 2022 21:32:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660969956; cv=none; d=google.com; s=arc-20160816; b=PEDVJTyaHd9CsgHEtmwNKcm2r0DXtqx93Jo0zeDm3kFEJGO8PPnjryeV0t54dbmb0k 5q/5DQuBUi3X2ywltEP8c8AhnYQO0xSypqXR5S81rRF+rdubhHCNVY/Wtv4anHJ1hvCP fFBR6ujqfCOeYkHJR8sA+IxE2T1NWAOQ2e8r3e0vupx0Yz06rvmBgaML9Uws7o2/SgMz d+Qfdoi8ziRu3cUA7wwmxvWbDuKW1I5p5oR0+a8gob9R5wRpOchlGaR4znhyuF/B6tQn 4A11UpCyrq6d3CbscWYw9Fvpe+G4HW4gOsmppo0Iq7vPztB3BZVq5z56OXgs+6pDBwBJ nQfg== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=nispg+EuPDZRZrIwV3DZR/749F0a/grADZg/mIjZaUY=; b=NbrCq0szJJQDBWoKZLfQrGYu+Ts0/s9Loec4MQHyWzMoW36+tlqt1WWNOzNKZFUv3H rLbXy3zzOCSP4Tx60FNNDj+n+rjnjqyGNoCfucy3ZTQCnxI5F4nN2KKikGTYBpOWFPxQ +SxyuvDWB1BYpRQ3E8myL+ayc9L5TwOjzbcOqJIBSdDzIq3fgHNpW6T49Py97kZdRX3G qZ9rslBZOUvpy/73hC6W6wjV1PKwPeaaH074849sA/+GN+T+7z7m8QS/78JGajyo2z0v LQG8QhmkCTlNikjTasg6MQSFU+nvzFW5ShfzOr5S0wzJqrM4BZ14BkPI17b+/uTIWffD u/yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b=on5fEcXC; 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 u1-20020a1709064ac100b00707ad2d64edsi3950485ejt.98.2022.08.19.21.32.35; Fri, 19 Aug 2022 21:32:36 -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=on5fEcXC; 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 AD03568B937; Sat, 20 Aug 2022 07:32:06 +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 B7A9E68B920 for ; Sat, 20 Aug 2022 07:31:57 +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 6F79D3F6B0; Fri, 19 Aug 2022 23:31:56 -0500 (CDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=overt.org; s=mail; t=1660969916; bh=MVyKh7RgkNqE849vTT+jyKd8/KQtRZIFrD3XSaQT2tk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=on5fEcXCwaWwDot3UfCPGpTi2v0pTRFYzbov7iuOleRSAdiHNYZJaw3AWI3wZ1ixM lBcFw3n9MSOv6eUTfN19JfdMDNT56ZQ9ZqULbZZXAF3zkR6qg0Xys3AgiHYW3Qupgo 7ZG+eQHptpFc3bBGniICxNjSm6Ov7vjrXPiYWdhpPK1OKEF5yEA+vueBnrfxHQTbTj +LyccYGGib65urAb2zSazZuzvr6Ko7Hg76CuXBOy0kEVgrarDOcTumby8g/aWJVMJW tWpipajxX3DC2aJuXA/zUgm/JaygjJE12f1fN/i+wI85cW4o7VcF7zg1Mj6hx4BKbo CK6clwRhLfNjg== From: Philip Langdale To: ffmpeg-devel@ffmpeg.org Date: Fri, 19 Aug 2022 21:31:46 -0700 Message-Id: <20220820043146.398996-4-philipl@overt.org> In-Reply-To: <20220820043146.398996-1-philipl@overt.org> References: <20220820043146.398996-1-philipl@overt.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] lavc/vaapi: Switch preferred 8bit 444 format to VUYX 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: 1wWi4eh/K8KN As vaapi doesn't actually do anything useful with the alpha channel, and we have an alphaless format available, let's use that instead. The changes here are mostly 1:1 switching, but do note the explicit change in the number of declared channels from 4 to 3 to reflect that the alpha is being ignored. Signed-off-by: Philip Langdale --- libavcodec/vaapi_decode.c | 4 +++- libavcodec/vaapi_encode.c | 2 +- libavcodec/vaapi_encode_h265.c | 3 +-- libavcodec/vaapi_encode_vp9.c | 3 +-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c index bc2d3ed803..8c13a4f098 100644 --- a/libavcodec/vaapi_decode.c +++ b/libavcodec/vaapi_decode.c @@ -267,7 +267,9 @@ static const struct { MAP(422V, YUV440P), // 4:4:4 MAP(444P, YUV444P), - MAP(AYUV, VUYA), +#ifdef VA_FOURCC_XYUV + MAP(XYUV, VUYX), +#endif // 4:2:0 10-bit #ifdef VA_FOURCC_P010 MAP(P010, P010), diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index f13daa5cff..2dc5c96f7b 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -1308,7 +1308,7 @@ static const VAAPIEncodeRTFormat vaapi_encode_rt_formats[] = { { "YUV422_10", VA_RT_FORMAT_YUV422_10, 10, 3, 1, 0 }, #endif { "YUV444", VA_RT_FORMAT_YUV444, 8, 3, 0, 0 }, - { "AYUV", VA_RT_FORMAT_YUV444, 8, 4, 0, 0 }, + { "XYUV", VA_RT_FORMAT_YUV444, 8, 3, 0, 0 }, { "YUV411", VA_RT_FORMAT_YUV411, 8, 3, 2, 0 }, #if VA_CHECK_VERSION(0, 38, 1) { "YUV420_10", VA_RT_FORMAT_YUV420_10BPP, 10, 3, 1, 1 }, diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index 1de323af78..967d71e998 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -1278,8 +1278,7 @@ static const VAAPIEncodeProfile vaapi_encode_h265_profiles[] = { #if VA_CHECK_VERSION(1, 2, 0) { FF_PROFILE_HEVC_REXT, 8, 3, 1, 0, VAProfileHEVCMain422_10 }, { FF_PROFILE_HEVC_REXT, 10, 3, 1, 0, VAProfileHEVCMain422_10 }, - // Four channels because this uses the AYUV format which has Alpha - { FF_PROFILE_HEVC_REXT, 8, 4, 0, 0, VAProfileHEVCMain444 }, + { FF_PROFILE_HEVC_REXT, 8, 3, 0, 0, VAProfileHEVCMain444 }, #endif { FF_PROFILE_UNKNOWN } }; diff --git a/libavcodec/vaapi_encode_vp9.c b/libavcodec/vaapi_encode_vp9.c index 9b455e10c9..9530b2f462 100644 --- a/libavcodec/vaapi_encode_vp9.c +++ b/libavcodec/vaapi_encode_vp9.c @@ -228,8 +228,7 @@ static av_cold int vaapi_encode_vp9_configure(AVCodecContext *avctx) static const VAAPIEncodeProfile vaapi_encode_vp9_profiles[] = { { FF_PROFILE_VP9_0, 8, 3, 1, 1, VAProfileVP9Profile0 }, - // Four channels because this uses the AYUV format which has Alpha - { FF_PROFILE_VP9_1, 8, 4, 0, 0, VAProfileVP9Profile1 }, + { FF_PROFILE_VP9_1, 8, 3, 0, 0, VAProfileVP9Profile1 }, { FF_PROFILE_VP9_2, 10, 3, 1, 1, VAProfileVP9Profile2 }, { FF_PROFILE_UNKNOWN } };