From patchwork Sat Aug 20 01:24:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Langdale X-Patchwork-Id: 37362 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp100410pzh; Fri, 19 Aug 2022 18:25:01 -0700 (PDT) X-Google-Smtp-Source: AA6agR4LnGnmqYaxmAZVxd0uuwJmiN5Znv/7Gx6nZybCyQ8ivgKNXXNuNsKUAdxWENlPsvH9WJnY X-Received: by 2002:a17:907:1688:b0:730:b3ae:347 with SMTP id hc8-20020a170907168800b00730b3ae0347mr6443889ejc.756.1660958701306; Fri, 19 Aug 2022 18:25:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660958701; cv=none; d=google.com; s=arc-20160816; b=EJtb7HJX12u56XK5oAuEg3EZSktPeWaT0/ns0Ptd/sF1KaDTaBpbpx951Gv5tDcXgU kpvA0x9Eimk7JmVBtBo2JxzNQj3z14Cqk7/tDw9GyH/7e/VO7aezgCjys3a5vnSBgxEF c7Mtiho+1CM5MiZmz35NallI9C5koBqwdJmXOPfiY3JJEX/9uByoZwKp1AOSM1aUFD+o 39YSU+XwMNWpvpVpoJHC97PnE7Y/ULdkAT3BQMdwbP2+tjHhYRX1RkPknXR9TG3TMMg0 r9nPG8C1aNxDvLKz51bMBxMqU2dp+x0uOE58reE84cCj8trYvCdQ4ebaPnrV3XwyeNR6 3xXA== 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=tkPIow+boApUWlR0G1al2Gj8w7v5IkfkQ/WaLSifL9vqdjbFJ6tkwfvpO9lEQo/Mm6 AbDEeRivbUU7OzFpO2UrqpHSl13cZAbaiMnHNgjhduh5xLnGvx6SiS8Y+1zfMF3nKq6N RITVuM1/9S59HjVMvpMIX+/M7Lw0qHhSrMuCZcUjQjLXh10nybwr6lBDQuZKkUhBLck4 1fG4fcTXoXcuyoloMlIg8u3QAVePvHzZHHOxLlKrzOH9D1uN2PAgCl3X1hxrCm9pT7d+ 8rDPW6V25Rq/MG9L/zh3Ce7waHxEuZ1pQNzVro3jx7DhrD1RXj5DJUMtodQgeQs0yPTV eJQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b=LOJUP6qU; 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 g18-20020aa7d1d2000000b0043c436a8d48si3649029edp.582.2022.08.19.18.25.00; Fri, 19 Aug 2022 18:25:01 -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=LOJUP6qU; 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 A683268B998; Sat, 20 Aug 2022 04:24:27 +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 25FAA68B96D for ; Sat, 20 Aug 2022 04:24:18 +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 D07D63F89D; Fri, 19 Aug 2022 20:24:16 -0500 (CDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=overt.org; s=mail; t=1660958657; bh=MVyKh7RgkNqE849vTT+jyKd8/KQtRZIFrD3XSaQT2tk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LOJUP6qUFyfVJZ0t/wunG5t2b+21SH7mwDvqf0pvM6QjaLYWwgiV9agjY2GXofHhx Z/Mw4oW4QzYBl+VXKWSDnQh5CLDUiNILnO2nW7/V0CBrYZ7i7sJViEsfjIltRadF/7 vavahsyYGwrj8xSl7bI5/JtV8yXm5/cwu/XZUPsvmok5hOHX65LtOGI8AmS95nbSvc CIlOx5L/RsGsFACrhKfWEBzpGMBlCO5WCZXJAD2mh0n4NhUQETUeVFjBfyJ5Pqjv0j dzCHFgXNgN6UiC1Ix9XXXRqKJoin8Qp4EuCM75SDBN5cda4yTzC0v90+CnkhMZizq3 vtyFIvO6MlH/Q== From: Philip Langdale To: ffmpeg-devel@ffmpeg.org Date: Fri, 19 Aug 2022 18:24:04 -0700 Message-Id: <20220820012404.932086-4-philipl@overt.org> In-Reply-To: <20220820012404.932086-1-philipl@overt.org> References: <20220820012404.932086-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: MQSzSDSRIgP+ 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 } };