From patchwork Fri Jun 28 02:29:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Fu, Linjie" X-Patchwork-Id: 13730 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 509404469B2 for ; Thu, 27 Jun 2019 17:31:10 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 32D6B68A983; Thu, 27 Jun 2019 17:31:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AF838689FCE for ; Thu, 27 Jun 2019 17:31:02 +0300 (EEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Jun 2019 07:31:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,424,1557212400"; d="scan'208";a="164354090" Received: from icl-dev.sh.intel.com ([10.239.158.32]) by fmsmga007.fm.intel.com with ESMTP; 27 Jun 2019 07:31:00 -0700 From: Linjie Fu To: ffmpeg-devel@ffmpeg.org Date: Thu, 27 Jun 2019 22:29:01 -0400 Message-Id: <1561688941-972-1-git-send-email-linjie.fu@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH 4/5] lavc/qsvdec: add ChromaFormat support for YUV422/YUV444 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Linjie Fu MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Currently, ChromaFormat passed to libmfx is set to YUV42O by default. Modify to choose ChromaFormat according to fourCC. Signed-off-by: Linjie Fu --- libavcodec/qsvdec.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 46aa2d6..7650325 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -40,6 +40,7 @@ #include "qsv.h" #include "qsv_internal.h" #include "qsvdec.h" +#include const AVCodecHWConfigInternal *ff_qsv_hw_configs[] = { &(const AVCodecHWConfigInternal) { @@ -211,7 +212,24 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q) param.mfx.FrameInfo.FourCC = q->fourcc; param.mfx.FrameInfo.Width = frame_width; param.mfx.FrameInfo.Height = frame_height; - param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; + + switch (q->fourcc) { + case VA_FOURCC_YUY2: +#ifdef VA_FOURCC_Y210 + case VA_FOURCC_Y210: +#endif + param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV422; + break; + case VA_FOURCC_AYUV: +#ifdef VA_FOURCC_Y410 + case VA_FOURCC_Y410: +#endif + param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV444; + break; + default: + param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; + break; + } switch (avctx->field_order) { case AV_FIELD_PROGRESSIVE: