From patchwork Wed Sep 2 02:44:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rogozhkin, Dmitry V" X-Patchwork-Id: 22059 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 9321B44BA85 for ; Wed, 2 Sep 2020 05:47:03 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 71EBD68804B; Wed, 2 Sep 2020 05:47:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 928436806A5 for ; Wed, 2 Sep 2020 05:46:56 +0300 (EEST) IronPort-SDR: ohb4qsMa6KvoGo0FYy3e1pymWBKvWjBVwnj4iYfXFuWHmMyz3MaILCt5ad1ypYM47sQDcs7gEJ PEzKcQL+vcgA== X-IronPort-AV: E=McAfee;i="6000,8403,9731"; a="136824168" X-IronPort-AV: E=Sophos;i="5.76,381,1592895600"; d="scan'208";a="136824168" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Sep 2020 19:46:54 -0700 IronPort-SDR: DD7amDohNvFBbkXF7sQa9YNZXWdnPxhZm52I70wZ6PeOg1eFqy9JS0hOwln7bAkx9GiJrolroM VF9b6driWV8Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,381,1592895600"; d="scan'208";a="446364321" Received: from dvrscl.jf.intel.com ([10.54.72.26]) by orsmga004.jf.intel.com with ESMTP; 01 Sep 2020 19:46:54 -0700 From: Dmitry Rogozhkin To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Sep 2020 19:44:20 -0700 Message-Id: <1599014660-10719-1-git-send-email-dmitry.v.rogozhkin@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [FFmpeg-devel] [PATCH] lavc/qsvdec: allow qsv decoders to use initialized device 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: Dmitry Rogozhkin MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" qsv decoders did not allow to use devices explicitly initialized on the command line and actually were using default device. This starts to cause confusion with intel discrete GPUs since in this case decoder might run on default integrated GPU device (/dev/dri/renderD128) and encoder on the device specified on the command line (/dev/dri/renderD129). Example: ffmpeg -init_hw_device vaapi=va:/dev/dri/renderD129 -init_hw_device qsv=hw@va \ -c:v h264_qsv -i input.h264 -c:v hevc_qsv -y output.h264 Signed-off-by: Dmitry Rogozhkin --- libavcodec/qsvdec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index fc25dc7..f2fac17 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -47,7 +47,8 @@ const AVCodecHWConfigInternal *ff_qsv_hw_configs[] = { &(const AVCodecHWConfigInternal) { .public = { .pix_fmt = AV_PIX_FMT_QSV, - .methods = AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX | + .methods = AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX | + AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX | AV_CODEC_HW_CONFIG_METHOD_AD_HOC, .device_type = AV_HWDEVICE_TYPE_QSV, },