From patchwork Tue Feb 14 02:45:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 40391 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:5494:b0:bf:7b3a:fd32 with SMTP id i20csp3974483pzk; Mon, 13 Feb 2023 18:49:42 -0800 (PST) X-Google-Smtp-Source: AK7set9eBYNhL9Mtvryy+/nGa9tbPTwinVsvPOqy8tN1imh3JV2jI8kvp54jQh+ZQFJ1AIcOxJ4b X-Received: by 2002:a17:906:5a62:b0:878:702e:9dff with SMTP id my34-20020a1709065a6200b00878702e9dffmr1145160ejc.41.1676342982375; Mon, 13 Feb 2023 18:49:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676342982; cv=none; d=google.com; s=arc-20160816; b=t/13WyJxuo9nPf6pk6CbZ16vePu33Q+rqDz6D/6Mxjf3zMt1WZDQcFpHxy+EJujqx9 yz9K5UehAwXg58dLkS+g6mMBNOZ0ZKAbgUI64WJu06FDzsJFmZTIbG8XwCuj7pH5Akfl Js7hb58xjMg7RLxXlTsAICthWRianA19N59+N5uXvLmcacOOevrBS3kSQr0wUrhidZll SRLWgAJeY5R1iNjFtU5sBTagWO4whSpU5kcoR7zYCSuSnMlNBWR4Mo7WNN89DUhRwFDt ZtxvVv5TcNMgVZPchVrCvNBs4ee+5MHwy6IqJKwMG2JiRE6fTUX8IHIBuUSFwlEie2WX gBug== 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=LFz784zdAdLw+mG44NYY1F/cjyabo7RMeKV1y708UMA=; b=Le4wQRbeMZkJ53U1WJE/IsP2eqfYypl4eFhEU0qMOLj8KroLTeg63TfrDEqHvlqT9m XX8R6k++M2jaVfWz6884KPxMiFIMlPjQNJCSPQG6jGOG+K1DzfLu8R/t884oRtkjQ7YL JQbDw/fLvXEQxWFDlLpoSG/t98U5xTzfltNtCNEGEL7Slr+YSnxDvjKyLuby+hxikqmX EHHj5FJL0HIsl3kz7Uqv7RVcYJEtHD1awVxBai0yLr/xHDvRVXKlm3Iy1iYlQkL7ZmMx pIGrVef/5CMQdgXbehVDC4H7OXRKqd82bB3ysN10VapRSenT0nat5eM2k/mhXP51cxEL ulYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=DvKcLSiu; 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 5-20020a170906208500b0088cf6cf0669si21260522ejq.78.2023.02.13.18.49.42; Mon, 13 Feb 2023 18:49:42 -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=DvKcLSiu; 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 0CBE268BE96; Tue, 14 Feb 2023 04:49:23 +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 62E0F68BE25 for ; Tue, 14 Feb 2023 04:49:16 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676342961; x=1707878961; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=51soOrITBWHgU5Pfa95rLPYwnHqCpkyIXK1zraDQyfk=; b=DvKcLSiuF1kUEeCFQ4CriD7FhrDtXSmgtzw4LBpML00Uf1Qqzc5Sx3Ys BrTx/lQCoQXUuCCIij+TCmaj1UnE9r1CiK8YpYJEeQZqj4pZqH3ibSROW +7Vr60oDxAkzaG96yB2V2S5SnAzYdlmIaLGVvthLBYXptgJzFZz1pK+uh jr5Ib/ulxVcX3YYeZ9o0hKiPZnyVR7tCOD6q1GrbsbtT+eiaRzcy3hWC+ N7Dks3/6ZK1FsjML4SWfWcTA43xYWf3nD6+DNymRF5/KNHhiBDeIJ6adw 2pBu1LbKeW2578csDesYHyQSa8sg6Tfb458CpR6dP2OWe5yOY5CXGlW5k g==; X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="328770407" X-IronPort-AV: E=Sophos;i="5.97,294,1669104000"; d="scan'208";a="328770407" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2023 18:49:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="843000688" X-IronPort-AV: E=Sophos;i="5.97,294,1669104000"; d="scan'208";a="843000688" Received: from desktop-qn7n0nf.sh.intel.com (HELO localhost.localdomain) ([10.239.160.59]) by orsmga005.jf.intel.com with ESMTP; 13 Feb 2023 18:49:09 -0800 From: Tong Wu To: ffmpeg-devel@ffmpeg.org Date: Tue, 14 Feb 2023 10:45:59 +0800 Message-Id: <20230214024559.1272-3-tong1.wu@intel.com> X-Mailer: git-send-email 2.39.1.windows.1 In-Reply-To: <20230214024559.1272-1-tong1.wu@intel.com> References: <20230214024559.1272-1-tong1.wu@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 3/3] qsv: remove CONFIG_VAAPI for mutiple formats 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: Tong Wu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FMuCGv+vcTEs Remove CONFIG_VAAPI for VUYX, YUYV422, Y210, XV30, Y212, XV36. Make 8-bit, 10-bit, 12-bit YUV 4:2:2 video sources as well as YUV 4:4:4 video sources supported by d3d11va and dxva2 just like what VAAPI does. Sign-off-by: Tong Wu --- libavcodec/qsv.c | 4 ---- libavutil/hwcontext_qsv.c | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index 7af154202c..8eabf46b45 100644 --- a/libavcodec/qsv.c +++ b/libavcodec/qsv.c @@ -208,7 +208,6 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc) case MFX_FOURCC_P8: return AV_PIX_FMT_PAL8; case MFX_FOURCC_A2RGB10: return AV_PIX_FMT_X2RGB10; case MFX_FOURCC_RGB4: return AV_PIX_FMT_BGRA; -#if CONFIG_VAAPI case MFX_FOURCC_YUY2: return AV_PIX_FMT_YUYV422; case MFX_FOURCC_Y210: return AV_PIX_FMT_Y210; case MFX_FOURCC_AYUV: return AV_PIX_FMT_VUYX; @@ -217,7 +216,6 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc) case MFX_FOURCC_P016: return AV_PIX_FMT_P012; case MFX_FOURCC_Y216: return AV_PIX_FMT_Y212; case MFX_FOURCC_Y416: return AV_PIX_FMT_XV36; -#endif #endif } return AV_PIX_FMT_NONE; @@ -245,7 +243,6 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc, uint16_t *shi *fourcc = MFX_FOURCC_RGB4; *shift = 0; return AV_PIX_FMT_BGRA; -#if CONFIG_VAAPI case AV_PIX_FMT_YUV422P: case AV_PIX_FMT_YUYV422: *fourcc = MFX_FOURCC_YUY2; @@ -277,7 +274,6 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc, uint16_t *shi *fourcc = MFX_FOURCC_Y416; *shift = 1; return AV_PIX_FMT_XV36; -#endif #endif default: return AVERROR(ENOSYS); diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index 42851d4fd5..6780428875 100644 --- a/libavutil/hwcontext_qsv.c +++ b/libavutil/hwcontext_qsv.c @@ -115,11 +115,12 @@ static const struct { { AV_PIX_FMT_BGRA, MFX_FOURCC_RGB4, 0 }, { AV_PIX_FMT_P010, MFX_FOURCC_P010, 1 }, { AV_PIX_FMT_PAL8, MFX_FOURCC_P8, 0 }, -#if CONFIG_VAAPI { AV_PIX_FMT_YUYV422, MFX_FOURCC_YUY2, 0 }, +#if CONFIG_VAAPI { AV_PIX_FMT_UYVY422, MFX_FOURCC_UYVY, 0 }, +#endif { AV_PIX_FMT_Y210, MFX_FOURCC_Y210, 1 }, // VUYX is used for VAAPI child device, @@ -144,7 +145,6 @@ static const struct { { AV_PIX_FMT_XV36, MFX_FOURCC_Y416, 1 }, #endif -#endif }; extern int ff_qsv_get_surface_base_handle(mfxFrameSurface1 *surf, @@ -1526,7 +1526,6 @@ static int map_frame_to_surface(const AVFrame *frame, mfxFrameSurface1 *surface) surface->Data.R = frame->data[0] + 2; surface->Data.A = frame->data[0] + 3; break; -#if CONFIG_VAAPI case AV_PIX_FMT_YUYV422: surface->Data.Y = frame->data[0]; surface->Data.U = frame->data[0] + 1; @@ -1558,6 +1557,7 @@ static int map_frame_to_surface(const AVFrame *frame, mfxFrameSurface1 *surface) // use the value from the frame. surface->Data.A = frame->data[0] + 6; break; +#if CONFIG_VAAPI case AV_PIX_FMT_UYVY422: surface->Data.Y = frame->data[0] + 1; surface->Data.U = frame->data[0];