From patchwork Fri Dec 3 07:58:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 31903 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp346108iog; Thu, 2 Dec 2021 23:58:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJwoDhnpK4HBj34/j0/rs9JruFqz+Xmhs6nc3OLcRfPRLWH1Vx9R8Wys+wiz/RZbwjS1aWPf X-Received: by 2002:a05:6402:3496:: with SMTP id v22mr24142151edc.177.1638518323606; Thu, 02 Dec 2021 23:58:43 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g10si2939091edr.52.2021.12.02.23.58.43; Thu, 02 Dec 2021 23:58:43 -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=@hotmail.com header.s=selector1 header.b=CxYRC7l7; arc=fail (body hash mismatch); 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2E88068AE46; Fri, 3 Dec 2021 09:58:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08olkn2020.outbound.protection.outlook.com [40.92.47.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C4E868A78A for ; Fri, 3 Dec 2021 09:58:33 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rr3Rqet4swwaHCqPFBgFfwCv02oUplwsHeR9DJ33Ab931Sghvtox/sMvKfDQ79Cp+w/dC56h7+PpugRtY5Bij3Q2FeWJdVHdtbUUZq5XVOuTeeThmwkhdzoQ1bF0iyH9Fv7yIGj2S4wz2wSK/wTs1pBvtsDaCJXAwzOPRoFAdsz5xrX4VR7gy+EpyTgWeaSePjJahTWF0At5ATB7PnOIZu9jn5NY8Wvf2adO5Z0FuWsihQLuNPPQ2DVp9xErr7Hvql6aff/V9a+U1Oywmff/K4aEiKEsNzKNoDlLi49AnQhRdkZdxPetUGYkxiASVGG8UcYjBsTI4+EYpsLdg49juw== 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=FlWmBpdJYA5Ug7szoiMpvoisQZvshVCeuwP6yUAKfxY=; b=bbQ79sPkZ6p+dqUrB6OaPaDugEeIw1F0AQBFCunH0SJTheUn1owNxjFvLhVR5yvuvd2XDYGp82nqVVM87ZZJjRz+ZMHG97OnkdD+Jm8EONn0xlDdJvpA/AM8cMu2idg5MEX/I+Mfht77+yyxmMeK2EBChUVoCAfYx2VP8a1eRBC7/jh2m9G66PMA52gciCBjiUv0+AKG1seNNwJBWCoqWoe28Rt6Fh1deXoP7PaG0wcDuP1TSdQcsr+zrFZMciT8BgPDiCWp9kEK7B/N6UWxUtfRhoISf6rv0l/v/jFrsuuG0XEQjIRKZ5JvGkXMD1cdy19MI12w96ekJFirCoJ0ZA== 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=FlWmBpdJYA5Ug7szoiMpvoisQZvshVCeuwP6yUAKfxY=; b=CxYRC7l7F8TKfPGYM/nUys/bCrDNaFSGSw307PpCAr4l31rvVLYXuhB2cB+jIREFMGShmJ6bfp/wh3NsTBgdqmp/DsrWMAloftJ3oHRC+qurtPxKw7upWr7rPQc4M6O9ndCa1lTZNbjBq9dzWu+z/O9ccCDXXYWxj6RWvMnJXixsUrhXGvlUK++VFtTxLtG0CQZ8fDIXV+NP/V0jUxuGXCTr17cQDGjynTaoKvFx0kLWRGdQ6YeFOUOJGE8ndX83HQYo5sjw9R/cHl0NZiwcWVEplgBL/Ae0+O7tsPZPZ6e3ULBCkKmChgsd+ytfCeRBgT+Ny12hiVxb/EgU0HxqrQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0160.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.28; Fri, 3 Dec 2021 07:58:31 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::9c8d:fc63:9488:9775]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::9c8d:fc63:9488:9775%8]) with mapi id 15.20.4755.016; Fri, 3 Dec 2021 07:58:31 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v3 2/2] avcodec/vpp_qsv: Copy side data from input to output frame Thread-Index: AQHX6BuQbB2dT3kT/EWHYPlkZWo3UA== Date: Fri, 3 Dec 2021 07:58:31 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [Ax6lQAMKfWswka7VEB7tqb8LQ1z99a1I] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aa558882-f6a3-4528-e488-08d9b632b31c x-ms-traffictypediagnostic: DM8P223MB0160: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hzVaugoFsEVLOPfGqQPV8Yh8qB5L/ricNZTNiA47tkvBaph9v7lvLzH9/ALXOR4Cwn6sfUHPXt+1+NP4MwWW93a4uvhNeNOnbvczPTNnP2AX5cfRFIZVEL+aBkgmKqF4pt+QRdl6Yi3GPxrcK5hChYLe95ys8Led1LlZKvs+y1qLVBrztYgKXIGNxlMXIgJT/4hKsIqLDZ3LwJSxnVmwolMfpADI9UzoELCA8IoJTflJbCGspqSb0NOk/gQl5wmHxN+sj6uRszG5+hYhZLMQEI6mU5EZGhNTLcPWlc/bPKRP+VSFpbqW9T640+7yN9DvvY/wkqlh/sRnIPv6GMKZb0vuoqwERh6rKL+1ZqqCkxBWScn+cUJ3LtxDeqow5oGpsSUxqjns4b/JREf8eOyNVU4dpvtSnLQk/Pu2DircmLqgUK61/EC/nJ8ZjBQH6Vd8p/hjf772orGv9ETcKPRBr0dPmAbYN2U3YT7HZVo94v/wZbMaZF3ZCD0msNH9YZt13S0CUoBK2911Gx7xwNHD6XEe1dxzf3ILdMrreyPKAvKV0Gvme82/Rvxj6GAzwpTMEwPGsFjVat84/5e8hxO6/w== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?3HHNPG0uTx+kLiQKz437NeNZSuO/?= =?utf-8?q?e9ht4cXt689o9MO8q8BiyzcdLrD2BDHNrHyO3YJGwmsyjRVk8fOjxr62hfXDTqTO9?= =?utf-8?q?4+eUHFDEFjytCh2XWlo2zA3pfcpwwbFDGrGM71LfCcndpUCuWb9JqIV06C4rutNfl?= =?utf-8?q?+m/fWxV0gYPXu/gXEDlBos3jMiWKso1ctFCuAZltj+zY278qNN1kEYorqDqbjPN42?= =?utf-8?q?x96D9nILGnuP1jrRSxyMQtrkj7nq+Da+NPQXjsEgNw7eAPa0cR3a3MZegEEF7Pvlz?= =?utf-8?q?+xf2O+F+L+EoetZqkS+JL6vxzkXR1qxBhT91M4xpEPKtDuzHqMuJwM1B/udWUaK2j?= =?utf-8?q?jmR8msKnCURpESmq4BAyQLRCmvFbcjV2f+IR2FvUq+g9bOPbmQdmwqTxWCg/wjteR?= =?utf-8?q?i6nbmdeRwNbrloxzfuzSdSKw8UnwNmvqRhhPzFYEws5e3LpxuJcRaaS9Zdl8Lq7ij?= =?utf-8?q?r/t1Ai5Iq357zdUfM47hW00RdBs5BbgGL2gEN3ZkyK3WNyRSLq4gQGtaZfiu1BvMg?= =?utf-8?q?D13YJv9RbEpxfCl7LNkLWpxppSr8Q60nXnIitJ0Z5E/CQo9oaPuZ6ZFMwcXU4B1HF?= =?utf-8?q?TmBWr2EmFhq3XLbwIl/x5hpVSRrkHiFCbZ+2L7zV2nz82t/EmXhfzQj0do3W9dIFr?= =?utf-8?q?+HfBK3G46ZESBsVyPG6qAFeIGvSf6Tjv2Nbg8B0S7GN4hLrw4SDyNGUaUG/SmrMQ0?= =?utf-8?q?wFWS0rB5KhG/nvEsxgGrS7UzvZ8vWrUSOCwZhp4XiG4hxqo07/21dn/HnTPg/n1zR?= =?utf-8?q?Y9gy59Bb2+yjBJ1e6IhnhQEqpxwujnHvw0qIsSTMqESk/emIW5kWtFKv3xdaQ7dXk?= =?utf-8?q?HCCaXcmAMCKAN5hmtXCI5xAPs2eUaCoNOUC/7+yZFCBRoqU0+KcTb9jH1di/IIleP?= =?utf-8?q?ib89P10sz+s0+yRd6aSF7WFJvVghejot4ErAARtzJo/A=3D=3D?= 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: aa558882-f6a3-4528-e488-08d9b632b31c X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Dec 2021 07:58:31.8574 (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: DM8P223MB0160 Subject: [FFmpeg-devel] [PATCH v3 2/2] avcodec/vpp_qsv: Copy side data from input to output frame 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: gJxVLyFbsl5L Signed-off-by: softworkz --- libavfilter/qsvvpp.c | 5 +++++ libavfilter/vf_overlay_qsv.c | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index d1218355c7..b291216292 100644 --- a/libavfilter/qsvvpp.c +++ b/libavfilter/qsvvpp.c @@ -849,6 +849,11 @@ int ff_qsvvpp_filter_frame(QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picr return AVERROR(EAGAIN); break; } + + ret = av_frame_copy_side_data(out_frame->frame, in_frame->frame, 0); + if (ret < 0) + return ret; + out_frame->frame->pts = av_rescale_q(out_frame->surface.Data.TimeStamp, default_tb, outlink->time_base); diff --git a/libavfilter/vf_overlay_qsv.c b/libavfilter/vf_overlay_qsv.c index 7e76b39aa9..02518e020c 100644 --- a/libavfilter/vf_overlay_qsv.c +++ b/libavfilter/vf_overlay_qsv.c @@ -231,13 +231,24 @@ static int process_frame(FFFrameSync *fs) { AVFilterContext *ctx = fs->parent; QSVOverlayContext *s = fs->opaque; + AVFrame *frame0 = NULL; AVFrame *frame = NULL; - int ret = 0, i; + int ret = 0; - for (i = 0; i < ctx->nb_inputs; i++) { + for (unsigned i = 0; i < ctx->nb_inputs; i++) { ret = ff_framesync_get_frame(fs, i, &frame, 0); - if (ret == 0) - ret = ff_qsvvpp_filter_frame(s->qsv, ctx->inputs[i], frame); + + if (ret == 0) { + AVFrame *temp; + + if (i == 0) + frame0 = frame; + else + ret = av_frame_copy_side_data(frame, frame0, 0); + + ret = ret < 0 ? ret : ff_qsvvpp_filter_frame(s->qsv, ctx->inputs[i], frame); + } + if (ret < 0 && ret != AVERROR(EAGAIN)) break; }