From patchwork Tue Jan 3 03:00:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chen, Wenbin" X-Patchwork-Id: 39833 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp7766126pzb; Mon, 2 Jan 2023 19:00:29 -0800 (PST) X-Google-Smtp-Source: AMrXdXuJjnxs2z6Omh9RNKAs3h/GnGERtoaqajUv2EU5YWAbAijmut1R+2sgbcVtiaRSgyMLpHvB X-Received: by 2002:a17:906:148a:b0:7cd:dbe8:e4f7 with SMTP id x10-20020a170906148a00b007cddbe8e4f7mr36955072ejc.77.1672714829460; Mon, 02 Jan 2023 19:00:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672714829; cv=none; d=google.com; s=arc-20160816; b=RKiiZBXzUzPWxyS9oterhmJEivoCPnHwLUk7cpdayymhlG+/0q44JSJdDXfRlcAVYa HPsIEZtLAJ5zUB/crywUHiSC7x7sLVNgzcLQPV5STQQ+hQTG3+wvtfgEIEHMiU/HkXmK 6sXJivspUKmTU6ZP8jUXFjqJZCWGJnUINaX9Xyx5J4sHQsOVb/JKcOPs3ompGVb48k7k l/mOtFpwq+H0YmgOCRKpZlwKNqG9mUORlihzoHHmzgAq2+ta4iVzNUutA+GyBmtrW3Df OcQkX35qDbgEizHfKILhdvDG6IP4ggy1nQ1SrPAAXnO4ny9Eb8LaktFCxTb3SRSQjSqm 4FcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding: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=hX4ChxlJJNuwz0pAN6M7ZylPvoZLPX6c/tNCxgqIZ3Q=; b=eBer0Yb62b77yweBtS+BERuvkA4Jb1p4XKCmbHzgnTVKdbFpG5t7pH3FtQdmjp/6Hq ybF4fGwM73/R6cWFigwlRP6G15DAX+ONRSHwc2UcY0sQfYXxYk8BdyPGloBuxuv6Bnv8 rYsXRPapmhHVVjx4AOlbnM3DTlM+Xn5tvyGPZ3WxJbyT5FM40QOhC8vZZuApkQJUoybs eqLaq036n5z6hyrOUaNLbdcRWVREf2rwzQev9qXcoQX69vE69H9rchVKq/c8C8cLlbmb xFwoMWtzGugC9DYZimLAbDRq+20jWknn9Ssx7EfbfZTOBRx1QIJ+Yehr768gVp784wVN R2Bg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=hQ0deKXW; 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 xa4-20020a170906fd8400b0080b2de32a19si25665944ejb.457.2023.01.02.19.00.28; Mon, 02 Jan 2023 19:00:29 -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=hQ0deKXW; 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 416EB68BCFB; Tue, 3 Jan 2023 05:00:25 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 00AB6680A4B for ; Tue, 3 Jan 2023 05:00:15 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672714823; x=1704250823; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=H7D/gT6uBJCfaDP3ikWqtb7UGEJ931g+PvvJNfrqOpE=; b=hQ0deKXWmqkZHCYMEqC02ordlaptK92UOO4zyiAHAvft2BJcg9L8w9sd Y8N8vjTgEgg7oHNdGVctxsCqjTmnNi5zkUEfkyqUW7Dj7W4laKMV9mD/5 l2NywOhrVVkH5/YpVA/Ba4t1uiZTeZU0t4u+SytPRNpl6U4YZen0O6a/+ xHLo2n6VJZAlB75n9oGGczrdXLuma6cknPy7ZGDZY3RopmyypjUUpFKE/ 5adZvU33NTonrIx+F5+rYd7RH3b+Nj3Op7cQ4V6HGgjxmuRMXw0pTnuoe g1T1OB3p4mZPip/yb4sM90Eh5RItDZ/K9uyA0ZJtlvet/xgr4MA6kp6vJ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="320285224" X-IronPort-AV: E=Sophos;i="5.96,295,1665471600"; d="scan'208";a="320285224" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jan 2023 19:00:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="632293011" X-IronPort-AV: E=Sophos;i="5.96,295,1665471600"; d="scan'208";a="632293011" Received: from wenbin-z390-aorus-ultra.sh.intel.com ([10.239.35.4]) by orsmga006.jf.intel.com with ESMTP; 02 Jan 2023 19:00:11 -0800 From: wenbin.chen-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Tue, 3 Jan 2023 11:00:10 +0800 Message-Id: <20230103030010.2413877-1-wenbin.chen@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavcodec/qsvenc: Enable 444 encoding for RGB input 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tDWpPwv64f1R From: Wenbin Chen MSDK/VPL uses 420 chroma format as default to encode RGB, and this is not a proper usage. Now enable 444 encoding for RGB input by default. RGB is encoded using 444 chroma format when user doesn't specify the profile or uses rext profile, otherwise, 420 is used. Signed-off-by: Wenbin Chen --- libavcodec/qsvenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 514a1e8148..150fc9c729 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -1088,6 +1088,10 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q) q->extco3.MaxFrameSizeI = q->max_frame_size_i; if (q->max_frame_size_p >= 0) q->extco3.MaxFrameSizeP = q->max_frame_size_p; + if (sw_format == AV_PIX_FMT_BGRA && + (q->profile == MFX_PROFILE_HEVC_REXT || + q->profile == MFX_PROFILE_UNKNOWN)) + q->extco3.TargetChromaFormatPlus1 = MFX_CHROMAFORMAT_YUV444 + 1; q->extco3.ScenarioInfo = q->scenario; }