From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 93B3240B4D for ; Mon, 27 Dec 2021 18:51:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CCB2E68AFEC; Mon, 27 Dec 2021 20:51:18 +0200 (EET) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6282668AE3E for ; Mon, 27 Dec 2021 20:51:12 +0200 (EET) Received: by mail-wr1-f54.google.com with SMTP id t26so33883512wrb.4 for ; Mon, 27 Dec 2021 10:51:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20210112.gappssmtp.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=DMQe4ie58vJ99le4mjzmuf5zv4p3WRM8cm+B/JHhtN4=; b=IWHAe+GxnZo294odELjJrEVy9RuaEp1P3SY8PxXfnDkbTDcMqGutRjs7QWyl5zwV0z tDxYF5NwFKoKMhWOgcZUxXgEqDSqom8aH89oxh0/teTF4BcYOgaezqRexpx8uR2U8aVZ 2vZ2U68drDTUm5uxEnvetuV2cXjg8aPqYKU7AVjpGPc1YHt8DDEg7NpbfR1USRAKTfud n1zPBjQO/wyZkSpLsOQ8OAqQh5OU0oY8r0PTDwSRcGl1QZ8a7hR3DZPk5sOh2krW5NgF umiUA5DDhIyucbVwfBznig24dx9GILAbF5dAWxiqPeaBc3CJpfBaBylWdcXhKOj9m5NV Oe9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=DMQe4ie58vJ99le4mjzmuf5zv4p3WRM8cm+B/JHhtN4=; b=54kXJwvLc3suZGI7K3J4FLWDwZIpRHyrw/HE16+TXnN0/EIMWPu5lJHMpza25bioXG MMatXXnl5yyKXwRDi7+GWfL0SUuSj4H0qo9n0QbNuooHa85jZq3AIvdRtXWx/laNiTr8 RIl5QuawRxgpplP0aMgkmgfistt/hY+o/97kMpI6sLRCQwoyYYVbOZ+jus8+gaCFBkYE DxqZNgG6CNcyZlebIvGZMzzbGwbNw/91NkVA4nyaBF0Gna7+uJUHap47Knot9efjkWEV wKBnHJmf2+fjD4avIDk8nNH05OqEEdbuUJY9RCvSw68hDlwHqynJObFoAeGa5P5Pz09Q tfQw== X-Gm-Message-State: AOAM532hnfjJ1t6sYMhbBUmJFSi9ZYxN0J7pxSSQnpJEa10Qd+WPkSaa 5c7MEOh045L2C3+eZhld3PBF9adzZaQgQg== X-Google-Smtp-Source: ABdhPJztD14RJijNRE1PZxnl5lddOsC1PkXQzkpjKO2vou2E1Di7gWvt8ZVrFkqVAZ8hAylrCDOsRQ== X-Received: by 2002:adf:e683:: with SMTP id r3mr13232109wrm.480.1640631071814; Mon, 27 Dec 2021 10:51:11 -0800 (PST) Received: from [192.168.0.3] (cpc91224-cmbg18-2-0-cust201.5-4.cable.virginm.net. [81.106.228.202]) by smtp.gmail.com with ESMTPSA id q1sm16378055wra.82.2021.12.27.10.51.11 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Dec 2021 10:51:11 -0800 (PST) Message-ID: <92735cd0-179b-cbf6-b191-e440be779b66@jkqxz.net> Date: Mon, 27 Dec 2021 18:51:11 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20211116081623.3081766-1-wenbin.chen@intel.com> <20211116081623.3081766-3-wenbin.chen@intel.com> From: Mark Thompson In-Reply-To: <20211116081623.3081766-3-wenbin.chen@intel.com> Subject: Re: [FFmpeg-devel] [PATCH 3/3] libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to opencl 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 16/11/2021 08:16, Wenbin Chen wrote: > From: nyanmisaka > > mfxHDLPair was added to qsv, so modify qsv->opencl map function as well. > Now the following commandline works: > > ffmpeg -v verbose -init_hw_device vaapi=va:/dev/dri/renderD128 \ > -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device ocl \ > -hwaccel qsv -hwaccel_output_format qsv -hwaccel_device qs -c:v h264_qsv \ > -i input.264 -vf "hwmap=derive_device=opencl,format=opencl,avgblur_opencl, \ > hwmap=derive_device=qsv:reverse=1:extra_hw_frames=32,format=qsv" \ > -c:v h264_qsv output.264 > > Signed-off-by: nyanmisaka > Signed-off-by: Wenbin Chen > --- > libavutil/hwcontext_opencl.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavutil/hwcontext_opencl.c b/libavutil/hwcontext_opencl.c > index 26a3a24593..4b6e74ff6f 100644 > --- a/libavutil/hwcontext_opencl.c > +++ b/libavutil/hwcontext_opencl.c > @@ -2249,7 +2249,8 @@ static int opencl_map_from_qsv(AVHWFramesContext *dst_fc, AVFrame *dst, > #if CONFIG_LIBMFX > if (src->format == AV_PIX_FMT_QSV) { > mfxFrameSurface1 *mfx_surface = (mfxFrameSurface1*)src->data[3]; > - va_surface = *(VASurfaceID*)mfx_surface->Data.MemId; > + mfxHDLPair *pair = (mfxHDLPair*)mfx_surface->Data.MemId; > + va_surface = *(VASurfaceID*)pair->first; > } else > #endif > if (src->format == AV_PIX_FMT_VAAPI) { Since these frames can be user-supplied, this implies that the user-facing API/ABI for AV_PIX_FMT_QSV has changed. It looks like this was broken by using HDLPairs when D3D11 was introduced, which silently changed the existing API for DXVA2 and VAAPI as well. Could someone related to that please document it properly (clearly not all possible valid mfxFrameSurface1s are allowed), and note in APIchanges when the API change happened? - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".