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 2EFF7411A3 for ; Tue, 4 Jan 2022 02:42:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A15BD68B217; Tue, 4 Jan 2022 04:42:19 +0200 (EET) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam07olkn2091.outbound.protection.outlook.com [40.92.15.91]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6E49968B005 for ; Tue, 4 Jan 2022 04:42:13 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lrDCeGBZ8rtU+ECqU6N8dHYbZWFxP2vUPsDy8JbpvQyDtwg0sJqbWikRXk3uRy5l9FH+3BsWjqYSCRDXsxGCKFT50uR+3Juv/y+OAI5ijI7FMquL7kTxt9Besx6/Mddoe7Qpmh1ivSriEgE2KnjRo8u9sJEeCbour0gSUVclXIpvO+6XXk5iQ+tLWhQC7kX01QbItgZZCrUKCtCIke7buxNRUVZsIEZ0MAxT45s1HtrBDYv5oH3zlCQdXQYG5wGxO7WDGBACt2VG9eMIm+LQrrTnf0yYEueayCxyC/f8it3d2QgAhwNRX+3VeSgUcMV8MAHdjwLL0UTaKL9uvoUHoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PPxBi5M4d25VluFl1Uwc7zCYSNgN8qFgXEjCCE/4cqU=; b=bPPxK/ZPl2+QDEYArgodPAyTLqi8BpbFRFuj447O8MapocIk+QEVDsqAi+UTqPRuLafBWXLBpIxOh2iRIM9nyhjhpM1dr84kS22K8FKeymgD+3tqaiEg9jupeCSY720osGZRqlkUI+A6MDiJAHwX08QtduuinnuK8VsvRe00VMSUFUsxVkGbfH4iWUiBaKctwTYssbLcIQlu5LEuxhAi4cfNEpp7ozOYs5utweCuE+d098Mab3bcAq+90svna2srsDUyDodUT/4cZm9RXvbcaimYwM4dlPCabOo+LovcqrKgEnbZnHaFtvKyIPgvv24kzOgrbMWvEKAIYXfSLd03Jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PPxBi5M4d25VluFl1Uwc7zCYSNgN8qFgXEjCCE/4cqU=; b=OhoLAQmIZcDVKm3gsMlGrqr59C8cvZTexrg97L6EpT/NLjIMTrnzpyeaXkO9Q022XZuPxrbByP7K9L4nc+qyNCJpgeZB0waSOaU3lC0usOqFp1gHEJc9SCTi9HJaKEZ0e6nmwtUNEXLqGQPybQ07fPzCNwJEpt+iU/kib57mmQDWuNhCNIpG+qa3RJ37EEQb2x8pcQW9kZRy7OJcJw2yr5NySPJvOnEG8lQpjr1YJF28Fz/FExJWFPmACS+I3RqQTYMbbTIuAqx3hEi26rTW3r1k1f5j3xdOQ3YNbPwilYDuYr8jJ41KRYvZBi+IBT4/tYgw3uHU0Si/bkaWHQhoBA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0240.NAMP223.PROD.OUTLOOK.COM (2603:10b6:5:316::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Tue, 4 Jan 2022 02:42:10 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::54ae:66eb:e304:96d6]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::54ae:66eb:e304:96d6%5]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022 02:42:10 +0000 From: Soft Works To: "Xiang, Haihao" , "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v2] avfilter/vpp_qsv: fix regression on older api versions (e.g. 1.11) Thread-Index: AQHX/4quk+HYoqrLg0uqNzgLvyKpAaxSIvcAgAAA3QCAAAUDAIAAAFwg Date: Tue, 4 Jan 2022 02:42:10 +0000 Message-ID: References: <56d6ca16679da102a94bd5d330777324cc0a200a.camel@intel.com> <0502a94957a712f4a4e79f1e85423fe962653f24.camel@intel.com> In-Reply-To: <0502a94957a712f4a4e79f1e85423fe962653f24.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [2tQRehPVgSk+FMiw99CFqXzadZFs3+2I] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bc27f257-381c-4f55-23c2-08d9cf2bce85 x-ms-traffictypediagnostic: DM8P223MB0240:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KraMXUSQdpuLMfIatfF8DsFCcmr37OzlUzrOU8mtCzDwAkS+0l+P7p7b/NVfIYyA6e3fHhIwPxE3uU0bkruTuVizeCW4NlNR+9KPEfpgdzrkU8DIhBo2ntDY+ZfJ2C2T/Q4fmGi7Bw1gt3CZiXZ8pIT4EnqQad7JnAGCT5MpZG/tPlsRipPNZZdi0vgxBAdxyxS+mebe0dgcGj9nbI1rQNN+W0F8bsgXGSSiX+jMzwn6M/2ZlJvhDYeB8obOg9MoWEREq1oGumYQIi7VkDeywINo0SJuDR8ZaiA8jnQjrJQm5ijkw8qjDTO5tmHwT2tpqvq5kIqauWN+fsN7+9oRcf0l06bLHHnwGw6pX6huX7Ex93HVvuTlpNLmPTOPYfWdLITS1XHlVuhT71cwMGwofeR25ualnpjzRkQ2P4MZZtj2doQ4Q7qFzNb+KZ2385Zl+DcFk6HJcC87IxYcl/1jV+aKCaZR8sK5qDWXsGuhIh6f2pUp8wBuFqu/BwWozr+w7Bysh6H4Qr4BwEGAK97Ngwk5R5FbdFx50sTMlSGGznG7bz8RE4V98OP+9P/4V/djNA/hlMcflPoncz5eI/6Vxg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: iDkjWCYcqNC0SUOA8k2r1wNQ+wH/8lFv1vulQjyAty7NCf/g0n29EMWMcMFwyt1bRgO+Qf8TtrXLucItSfHuXVVVdZqvmLUTnNPduyVmu4NgnqCOyFkRPT96eaRWSDX0+ot/rQP3ZwKRSzs6iNWxf2BVAd7laHGslW7Kss7rmlwkBLmy8Bhfo+ehJW6nBq73xij/pkE9MMk88EwXstep/UIXEcuuIbWqdQ08y6QnMJUrPgOqL773YKDEs1SMKHQHwcVNQR7PUINiiTEKPqDw22kpa6mM0WwaCD93qI7S5rUbZvqWPPu9iGVs0zoJEV8cZY3FZTXGQeN1oPgCn7bsT8ip4bYF83ucbEHeu8wEVh6zgi3XDwhKGrhiyVwn898oepea58Fp6XkOZiodGeUJxk1nQnJinVsYnAIlX6vhyvI1v1mntUwr5Op1/ZlhtNR7enO3RP5CqAfOjjqBpHj0qRuZvoKYoEXQCWtUtFl10nJryT1SSoTkiFb4ZaW9Z10Lj3V3hGJYF8uFktYpkgHuB7dQKmsL5LZKejG3zixuD9HmRsyCXjPzS4vrwa+bIGkpr7aAqCM/JOJP92SOSWIlPts7WEL1LB3iz1vmAw6mQCPmfyzUCgqvTq7qCIQdpKVH9wclM9+bUETwiH5IXf2Kim7xuLOT4mMYAy7FOxXWLBdBcsYj0hH0ucikagh9azqVd3YPijdX+y82HB9QaUB/uuSEgsVMAaoEfbjO+mCkYzOuUxVZTJheXUrz7q63WROVOT7m2ll86XOumoFkPPWP3YtuKas8qqYP8hucCzOTIubxJG+WVDuCWm4TxRyTabnCoX8FMrrrkUvkAzH5MOoEAqXcL/eOawFC/G20ghYEdrEAQGxE3ow1OBjVdAG+tvdi6bLnSuiYbaL854PkWP4EHxtJ9uUqBYVfFbWTEzMQepn0kYQOJM4icM1Umq5LazOH MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: bc27f257-381c-4f55-23c2-08d9cf2bce85 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2022 02:42:10.4386 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8P223MB0240 Subject: Re: [FFmpeg-devel] [PATCH v2] avfilter/vpp_qsv: fix regression on older api versions (e.g. 1.11) 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > -----Original Message----- > From: Xiang, Haihao > Sent: Tuesday, January 4, 2022 3:37 AM > To: ffmpeg-devel@ffmpeg.org; softworkz@hotmail.com > Subject: Re: [FFmpeg-devel] [PATCH v2] avfilter/vpp_qsv: fix regression on > older api versions (e.g. 1.11) > > On Tue, 2022-01-04 at 02:25 +0000, Soft Works wrote: > > > -----Original Message----- > > > From: Xiang, Haihao > > > Sent: Tuesday, January 4, 2022 3:16 AM > > > To: ffmpeg-devel@ffmpeg.org > > > Cc: softworkz@hotmail.com > > > Subject: Re: [FFmpeg-devel] [PATCH v2] avfilter/vpp_qsv: fix regression > on > > > older api versions (e.g. 1.11) > > > > > > On Sun, 2022-01-02 at 03:41 +0000, ffmpegagent wrote: > > > > From: softworkz > > > > > > > > Commit 8b83dad82512a6948b63408f964463b063ad24c9 introduced a > > > > regression in a way that scaling via vpp_qsv doesn't work any longer > > > > for devices with an MSDK runtime version lower than 1.19. This is true > > > > for older CPUs which are stuck at 1.11. > > > > The commit added checks for the compile-sdk version but it didn't test > > > > for the runtime version. > > > > > > > > Signed-off-by: softworkz > > > > --- > > > > avfilter/vpp_qsv: fix regression on older api versions (e.g. 1.11) > > > > > > > > Fix a recently introduced regression when using QSV VPP. > > > > > > > > v2: Fixed commit message wrapping > > > > > > > > Published-As: > > > > https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging- > > > > > > 15%2Fsoftworkz%2Fqsv_vpp_regression-v2 > > > > Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr- > ffstaging- > > > > 15/softworkz/qsv_vpp_regression-v2 > > > > Pull-Request: https://github.com/ffstaging/FFmpeg/pull/15 > > > > > > > > Range-diff vs v1: > > > > > > > > 1: eea966f702 ! 1: ccede9d840 avfilter/vpp_qsv: fix regression on > older > > > > > > api > > > > versions (e.g. 1.11) > > > > @@ Metadata > > > > ## Commit message ## > > > > avfilter/vpp_qsv: fix regression on older api versions (e.g. > > > > > > 1.11) > > > > > > > > - Commit 8b83dad82512a6948b63408f964463b063ad24c9 introduced a > > > > regression in a way > > > > - that scaling via vpp_qsv didn't work any longer for devices > with > > > > > > an > > > > MSDK runtime > > > > - version lower than 1.19. This is true for older CPUs which > are > > > > > > stuck > > > > at 1.11. > > > > - The commit added checks for the compile-sdk version but it > > > > didn't > > > > test for the > > > > - runtime version. > > > > + Commit 8b83dad82512a6948b63408f964463b063ad24c9 introduced a > > > > + regression in a way that scaling via vpp_qsv doesn't work any > > > > > > longer > > > > + for devices with an MSDK runtime version lower than 1.19. > This > > > > is > > > > true > > > > + for older CPUs which are stuck at 1.11. > > > > + The commit added checks for the compile-sdk version but it > > > > didn't > > > > test > > > > + for the runtime version. > > > > > > > > Signed-off-by: softworkz > > > > > > > > > > > > > > > > libavfilter/vf_vpp_qsv.c | 32 ++++++++++++++++++++------------ > > > > 1 file changed, 20 insertions(+), 12 deletions(-) > > > > > > > > diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c > > > > index ab58a5777e..09590157e3 100644 > > > > --- a/libavfilter/vf_vpp_qsv.c > > > > +++ b/libavfilter/vf_vpp_qsv.c > > > > @@ -139,8 +139,9 @@ static const AVOption options[] = { > > > > { "height", "Output video height", OFFSET(oh), AV_OPT_TYPE_STRING, > { > > > > .str="w*ch/cw" }, 0, 255, .flags = FLAGS }, > > > > { "format", "Output pixel format", OFFSET(output_format_str), > > > > AV_OPT_TYPE_STRING, { .str = "same" }, .flags = FLAGS }, > > > > { "async_depth", "Internal parallelization depth, the higher the > > > > value > > > > the higher the latency.", OFFSET(async_depth), AV_OPT_TYPE_INT, { .i64 > = 0 > > > > > > }, > > > > 0, INT_MAX, .flags = FLAGS }, > > > > +#ifdef QSV_HAVE_SCALING_CONFIG > > > > { "scale_mode", "scale mode: 0=auto, 1=low power, 2=high quality", > > > > OFFSET(scale_mode), AV_OPT_TYPE_INT, { .i64 = MFX_SCALING_MODE_DEFAULT > }, > > > > MFX_SCALING_MODE_DEFAULT, MFX_SCALING_MODE_QUALITY, .flags = FLAGS, > "scale > > > > mode" }, > > > > - > > > > +#endif > > > > { NULL } > > > > }; > > > > > > > > @@ -304,6 +305,7 @@ static int config_output(AVFilterLink *outlink) > > > > QSVVPPParam param = { NULL }; > > > > QSVVPPCrop crop = { 0 }; > > > > mfxExtBuffer *ext_buf[ENH_FILTERS_COUNT]; > > > > + mfxVersion mfx_version; > > > > AVFilterLink *inlink = ctx->inputs[0]; > > > > enum AVPixelFormat in_format; > > > > > > > > @@ -317,6 +319,11 @@ static int config_output(AVFilterLink *outlink) > > > > param.ext_buf = ext_buf; > > > > param.async_depth = vpp->async_depth; > > > > > > > > + if (MFXQueryVersion(vpp->qsv->session, &mfx_version) < 0) { > > > > + av_log(ctx, AV_LOG_ERROR, "Failed to query mfx version.\n"); > > > > + return AVERROR(EINVAL); > > > > + } > > > > + > > > > if (inlink->format == AV_PIX_FMT_QSV) { > > > > if (!inlink->hw_frames_ctx || !inlink->hw_frames_ctx->data) > > > > return AVERROR(EINVAL); > > > > @@ -467,19 +474,20 @@ static int config_output(AVFilterLink *outlink) > > > > #endif > > > > } > > > > > > > > - if (inlink->w != outlink->w || inlink->h != outlink->h) { > > > > #ifdef QSV_HAVE_SCALING_CONFIG > > > > - memset(&vpp->scale_conf, 0, sizeof(mfxExtVPPScaling)); > > > > - vpp->scale_conf.Header.BufferId = MFX_EXTBUFF_VPP_SCALING; > > > > - vpp->scale_conf.Header.BufferSz = sizeof(mfxExtVPPScaling); > > > > - vpp->scale_conf.ScalingMode = vpp->scale_mode; > > > > - > > > > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > > > > scale_conf; > > > > -#else > > > > - av_log(ctx, AV_LOG_WARNING, "The QSV VPP Scale option is " > > > > - "not supported with this MSDK version.\n"); > > > > -#endif > > > > + if (inlink->w != outlink->w || inlink->h != outlink->h) { > > > > + if (QSV_RUNTIME_VERSION_ATLEAST(mfx_version, 1, 19)) { > > > > + memset(&vpp->scale_conf, 0, sizeof(mfxExtVPPScaling)); > > > > + vpp->scale_conf.Header.BufferId = > MFX_EXTBUFF_VPP_SCALING; > > > > + vpp->scale_conf.Header.BufferSz = > > > > sizeof(mfxExtVPPScaling); > > > > + vpp->scale_conf.ScalingMode = vpp->scale_mode; > > > > + > > > > + param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > > > > > scale_conf; > > > > > > > > + } else > > > > + av_log(ctx, AV_LOG_WARNING, "The QSV VPP Scale option is " > > > > + "not supported with this MSDK version.\n"); > > > > } > > > > +#endif > > > > > > > > if (vpp->use_frc || vpp->use_crop || vpp->deinterlace || vpp- > >denoise > > > > > > > > > > > > > vpp->detail || vpp->procamp || vpp->rotate || vpp->hflip || > > > > > > LGTM. I wonder whether you installed libmfx and msdk runtime from > > > different packages, so the mfx version is higher than the runtime > version? > > > > It's about a user with a Broadwell CPU on Windows. The latest drivers' MSDK > > version is 1.11 and our ffmpeg is compiled against MSDK 1.35. > > (a setup that is basically working fine, just the runtime checks are > missing > > at several places) > > Thanks for answer, I will apply your patch soon. Thanks - just wait what the others will say, whether they want to have it in 5.0 or not.. sw _______________________________________________ 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".