From patchwork Fri Feb 3 06:34:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xiang, Haihao" X-Patchwork-Id: 40234 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:5494:b0:bf:7b3a:fd32 with SMTP id i20csp955309pzk; Thu, 2 Feb 2023 22:35:26 -0800 (PST) X-Google-Smtp-Source: AK7set/pJY14XfoEBsZy1K9O8V7JDSTnRvaXEW1d8tj9yuc9EPzmS03vL0L/VcDEen1aRAWEIAbP X-Received: by 2002:a17:907:1186:b0:88a:724:244c with SMTP id uz6-20020a170907118600b0088a0724244cmr9169767ejb.71.1675406126746; Thu, 02 Feb 2023 22:35:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675406126; cv=none; d=google.com; s=arc-20160816; b=nFLXqQJD9ojCAXB1Dj4A6rTKVhbXnJ5LwVSHmbI2mZGcvGg2U8sam0PwZS1f4dTYmn HRYrPyQRYFpykFs36dLjAFaefpOxg07obkj8JqPlnwd6CHr4ndCvtIf2if4GEHusUn4R tv2R95HhuBdpKmML/gQnYQkbnPkvZ4MSvzqYYBSebuAeh2JaJ79+VKryug3SqbdN3upi HLO2pDsE68+O8sDsbvWnu/lcSbK403nYNEgn9lmHVTramphfKdgqFw/CasjRrJepzOdH 30FIPZ5kcB8hJ4SImJ50FnC+/AoSnsw10NgEANfVSILxQmUhCd0ZuFtAsgIElfDjNB+n 2JxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=p1fKOYfjkFfIqGnglk4vfBZ08OSEF5EFqk/8ZDq+vU4=; b=WJNkg+8ncEVnlLavQxlKqr2Mtw/GJKzBArG1tJm+ji4qUJ4Axl+uvoKoXoGr8etGj/ 59ooH0P/tT0rxQEiWGMWm3ZCQxM58/v3a9/EeJCRg3vmP93RTodReQWHLI4dbNgtzaCn AktZgcuutFPBIJSxZ4anDvsHx7NhPboDb6KsEtRToHD7o4TM2iZCxW8awgeEXGIRDsmS 9ykhy0Zhx0yJtE8NkzaqQnktcZd/ANdaEZ2doGY3KRwOm24W+aeB5Z6UV+wPufdyYutD EuKoKk3yFaZIWXtjFWV1sYkjYwQyW5DDUecaM4DzJwBJF27QkxxgK4I2qF22pQWVoU1x o04Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=Hy8+DfOa; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h17-20020a17090791d100b0088596ab0416si1900789ejz.567.2023.02.02.22.35.26; Thu, 02 Feb 2023 22:35:26 -0800 (PST) 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=@intel.com header.s=Intel header.b=Hy8+DfOa; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DA04668BAA0; Fri, 3 Feb 2023 08:35:17 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B552E68BC2A for ; Fri, 3 Feb 2023 08:35:10 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675406115; x=1706942115; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=3IEvqeu+DqvMuLpaG0UEbV8boku+YQECHf1ZUY7fYdU=; b=Hy8+DfOaZttItKWyHe5mcH9pOnppR/i7ZPGkqcUc+lXhxoPP5In9ZP0Z 3PuA6HM77K5Uo6cZM+DzUeYPhMf8kgOmPogu+vzyUT7g1D34zCvjVtCyv y3nzh0EexfQhpytY0awB40XOGdxocBrJrjx/O33eReM+S8rFfMlscQdlp QRb3mgcR5GbkKqPrrmcFKoWXQCP0GJv2cYqbFp8A+5EF/NKjnC8OO9oe4 0GCd1Wt8+c7B0UbDcGDhyNpL9iUcDNeg6gU+O76lSS8VpJ+Oxz3W9CTrA Nol+67q5m76giXqOmG42G1bwLuKvwIeo6D6k8qbhuNjbt8J5xYd/9N0HD g==; X-IronPort-AV: E=McAfee;i="6500,9779,10609"; a="326367546" X-IronPort-AV: E=Sophos;i="5.97,269,1669104000"; d="scan'208";a="326367546" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2023 22:35:02 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10609"; a="615596577" X-IronPort-AV: E=Sophos;i="5.97,269,1669104000"; d="scan'208";a="615596577" Received: from xhh-dg164.sh.intel.com ([10.238.5.169]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2023 22:35:01 -0800 From: "Xiang, Haihao" To: ffmpeg-devel@ffmpeg.org Date: Fri, 3 Feb 2023 14:34:48 +0800 Message-Id: <20230203063448.4440-2-haihao.xiang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230203063448.4440-1-haihao.xiang@intel.com> References: <20230203063448.4440-1-haihao.xiang@intel.com> Subject: [FFmpeg-devel] [PATCH 2/2] lavfi/vf_vpp_qsv: support UYVY in system memory 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: Haihao Xiang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 0cPGItjozp1N From: Haihao Xiang It only works on Linux $ ffmpeg -loglevel verbose -init_hw_device qsv=intel -f lavfi -i \ yuvtestsrc -vf "format=uyvy422,vpp_qsv=format=nv12" -f null - Signed-off-by: Haihao Xiang --- libavfilter/qsvvpp.c | 9 +++++++++ libavfilter/vf_vpp_qsv.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index 7e64944f2c..e181e7b584 100644 --- a/libavfilter/qsvvpp.c +++ b/libavfilter/qsvvpp.c @@ -247,6 +247,10 @@ static int pix_fmt_to_mfx_fourcc(int format) return MFX_FOURCC_RGB4; case AV_PIX_FMT_P010: return MFX_FOURCC_P010; +#if CONFIG_VAAPI + case AV_PIX_FMT_UYVY422: + return MFX_FOURCC_UYVY; +#endif } return MFX_FOURCC_NV12; @@ -276,6 +280,11 @@ static int map_frame_to_surface(AVFrame *frame, mfxFrameSurface1 *surface) surface->Data.R = frame->data[0] + 2; surface->Data.A = frame->data[0] + 3; break; + case AV_PIX_FMT_UYVY422: + surface->Data.Y = frame->data[0] + 1; + surface->Data.U = frame->data[0]; + surface->Data.V = frame->data[0] + 2; + break; default: return MFX_ERR_UNSUPPORTED; } diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c index 010b69943a..65484fa091 100644 --- a/libavfilter/vf_vpp_qsv.c +++ b/libavfilter/vf_vpp_qsv.c @@ -703,6 +703,9 @@ static int vpp_query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUYV422, AV_PIX_FMT_RGB32, AV_PIX_FMT_P010, +#if CONFIG_VAAPI + AV_PIX_FMT_UYVY422, +#endif AV_PIX_FMT_QSV, AV_PIX_FMT_NONE };