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 982A041230 for ; Fri, 18 Mar 2022 07:40:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7BF2B68B0E0; Fri, 18 Mar 2022 09:40:33 +0200 (EET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2055.outbound.protection.outlook.com [40.92.41.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 29BF168AA3E for ; Fri, 18 Mar 2022 09:40:27 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CmPTtD1I4EXAZJ+t2iCX1k75Pl3sGWHLydzWdHDpnLYQgO6vlx2QZRLH6ZZpN6ceC0pRca1rXpsJfH28RlYqAA82ZTNIDpYVZcjvXNLn8TSizEvrvwoQI4iZUCPkmHsMZN4wiDd7wMFrCUXoWdN/znv57iwj/JBAlEF8qZIFTRBtBqBda6aOuEFZsY13ylpxqwrqTpU1vPrhtw/U3u7IwNiCkCM/sCoj6pjvfEOVvlr8cMHkaTzRIctQCZMYXya98KfqmQft8+WbOjNOlYXbP+11ma2w/KQRX+/cwNvzprdqCCET20iAKpq6QqEeDca5SWquCE5SqgSvv+dGjSuFbg== 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=NOEpHt/N4uPuJReYHlIhyKnyusZwDNJ4tQSAzTmq2UI=; b=n5UdGb3AKS0fXBWtKYuOtSmsYLpFTYfFcnH3plcNl1r/iCpmE31FHnZlSQAKltVfFdKBC5+C9kMtR1kLWYv9JAY3H249briFuhW5VXW6uwIdxpCq/vMqHM/zm7i1i3YBCBrtV+I8LyP343wyjndkz4Nd1o+EnVxsh6JWGMli9dHeOnkFnPwL0bjupykgmXWAeOAla99XAV1cJBI4HhyhV+B46OnhRsRTTEve8vnWBMr9MrQv4XAC1PniitSjYK3K9gk6LyIECfrqRX/cRrJDU2GzD2W98xeG0Ps6L/UEQ5ZwEw1jWhslqZhnuLmPtyb0llbTJY2dZfWCnWIA0DqVlw== 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=NOEpHt/N4uPuJReYHlIhyKnyusZwDNJ4tQSAzTmq2UI=; b=AZdiiFiD+OSrkDrILDnnENbB/t5b+BrjpCwUv/vOqpRg+vrhejeHvdlDiZC6uWMAYrBO/MNeR5NFTNC81XvB+e6hWLX7iUg3dTfEbNRaQfu25loPdKSjsMalwQJMhmILJaNspJ29EN3f2NeaaZzd91zHnV9GHD+PnrBe71kVkOnM9LpdHCzTScFjOrfw3/3I/7LaxZsGYYAUtGdP4zkneu6qlGGZBdCa949dg2ZkPVDtldE+0oHvND4bFRKJjYHuhdfLOQ4OVJkkOo8N3wKZd9bHPlY1j84UNQGlleSwCKnNsV1BHJuDDH1dzx3is5hM8fdIpza/RNfwYxbzmuTGTw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0159.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.15; Fri, 18 Mar 2022 07:40:24 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::3e:16b5:48d3:6834]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::3e:16b5:48d3:6834%9]) with mapi id 15.20.5081.018; Fri, 18 Mar 2022 07:40:24 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2 3/3] libavcodec/qsvdec: using suggested num to set init_pool_size Thread-Index: AQHYOpERTRAzOkp4O0+SIIpImB0YzKzEwOAA Date: Fri, 18 Mar 2022 07:40:24 +0000 Message-ID: References: <20220318062511.382951-1-wenbin.chen@intel.com> <20220318062511.382951-3-wenbin.chen@intel.com> In-Reply-To: <20220318062511.382951-3-wenbin.chen@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [+rUwYYLyos7O4OUczCiiRs34A6Z81sRU] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4a8c2c92-4cb1-4c13-1e46-08da08b29038 x-ms-traffictypediagnostic: DM8P223MB0159:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rvqYvUG/dCRWKdJguEFMOyDrRQbEbyfuofOulIwVkAqb2U71ona8RIWKTXVmIq6rPwPZFE1hKmzay+zedBDdqv4bVw0laIL/Tm/4gYhOBfL4RoKDgXyOYCcwRtnqeusoBlHwqkY18v3UwMix5TRvTFQjE0dP7wCIppumNHpGj1dwDBUU934hgVUhu8f1ySbXjFO/bJaR81KFIhyk3nGBs/muZ6iiEQXbk6RWT+Kg9kzXj13YI6/vprzW7A8Di3jdqqQbVdiswD9gIf3y5amexksdDqK3mgfaOkmRusAIsq90+UuF3JxC2N7DvKTWjju4OHP/85puxKR+/rRA20kqiVLN8QeqUwnhlooFoaU6FRemJ36XXftD+vkSulLG6zX3g4aA/es/bVl2/XElob2+oeXteRakLUeBHcmqnJgsPAKPzYAukBXpsup4Ea+xU7Fqv5IHHihq6yHWIeEMPnPGnVl9FimUT73X3i98M2RbtTrxDX4A5yOiNuHvBbEU88DKjwPzWiARbJ11oSTqKmR5jU1/MybZE92Pn0g2x7trV9vLsiWkrNlD7F7mn7/pXEqNzhsEXTlFaI8jXoJUOZ8pxA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RnpRaVBlUVVKSEhSTHZvNHNtU2N4RG9vd0UxTG0xM3RlUDcvREQ5blZrRDRv?= =?utf-8?B?ekFlaVJrbTZFdXI1ampQYjBIN2xRa0tFOG5oeTQxNnlhejJFcFBaZmdMVHJV?= =?utf-8?B?QWlPNHBXamg0WTU4NlFtTlU2UXFRYUVpUXU5enNBWFN5WG5wQ3J0M2pQbUZW?= =?utf-8?B?eUZxQTNEZ2tyOURpaTVzZWVWb1VGdWhORC81MzRjMGxic01uT215bUV3OFlk?= =?utf-8?B?VmhDcGMydktqbHRBRm1TRlFFOW5MU1oxbGMxMXJyd2NOTDRCeHVna3c0Qjlt?= =?utf-8?B?Ny9PQVp6VzdhQkc0ejhWTXJ4ZzZUT1l3VVdPK3k3Rjhscm03L0c1Sml0dmFy?= =?utf-8?B?WDhldGY4Y3A5dkZzcDNFNVFaNnlFVmhZZHdMTUNFWWdjRUswNUx4dFpxZ3ZS?= =?utf-8?B?SUREbmY3Vm1CRlZ3ZE9haFRJWENHN3JKZUpjeG5XbHA4cUlUUGVvU2ZRUldB?= =?utf-8?B?WHhDYVVDRlI5bVJpTWR1cEdGbGlFSzRYV1ppZTlXS1dob0hwT1hvYzVRcDJr?= =?utf-8?B?Wkc5WGMxT2Q3Yjg2MThQTGEyVTBIdFNMNjFQMlJDQTNTSktJVWNwRkVuUTJV?= =?utf-8?B?VXFscXhITjBaZDlnM1JCSy9HR0Y0ZVh1V0V0amlONEJ3RUlFZjhqZjRVMjR5?= =?utf-8?B?cWhBNXA3ZFR4UHV1MDVqUlgyR2Y3NERMRGFYMlUzVjB1ZzRuVi9rSjBrL3Nu?= =?utf-8?B?TitsSlFjQTNkcit5b3NxTlJBb2dlOUJJQnhheDNPMk84QkwwaXpsWGR1RHFV?= =?utf-8?B?eGJWbFZMT0FNR25KNkhnS1FqTXdIVzc1VEVIUEFCSDZVaW0xU0ZSTEh1ejVI?= =?utf-8?B?ODNJK2lteGVRYXNjejA5NkIzVEZPUnNNK3hSRENHaERPTVhXN1NIY24wK0Nn?= =?utf-8?B?OGtyWkgvNFlSUmc2MTVJeHpzU1VyWUNEMVpDVlpNVEhCVnpuSHJiZy8ySi93?= =?utf-8?B?a3BGclJJbXhrNDBnQnQ4ZE5IaHZZZG5SZTJBVC9HRXM1SmJndHlyTnh6S1I3?= =?utf-8?B?NzdmRlc1TE55Mkg2UWUvRmI4UjlqYXBab3ZQTFBvYVk3a3R5akNRYmNtejZ0?= =?utf-8?B?QTB2NlJnblR5S2pkWFdDNzV1ajFneDBvamRwQU8xRnIxZzNJZ2F4UkgxSm0z?= =?utf-8?B?SndYZWVPVTFBc3N6TmZkOGNHN3JJTUYzYVYvWHdHNi82M01xRlIxQ0FWYUMr?= =?utf-8?B?bWZ0eVJYVzRETWpYWTBkY0x5VlB1am4xempDTFZyOGZvbEF5d3JyWS80bXpI?= =?utf-8?B?KzdnN2lja1VUcy9mbWxqQjRhZmhJbmZIbURwa1IzWnFsemN6b21CZ0NONjhH?= =?utf-8?B?cGhYUlJuRUtnZjJSck5iNEcwMENVanFGQVJsTGlyNXBnUUk2L2E5NngyUlc3?= =?utf-8?B?T2Q4YWJCS0VKOFBxSHhKM0VFUFVWRHVKbGorQmRVdm5WN2VNQUE2L3N4eWE0?= =?utf-8?B?Yk1HdytFeWZrWUdtSHpTSktBNWUzTXh5QWQ1WEM2RmFDdnNuWHBDUTZPWUdX?= =?utf-8?B?L1VEZ29WMW5NOVBINmlRMnJ6ZnRGcDE0anRyM0RXaG9CNnJjWG1oZ3ordU00?= =?utf-8?B?SnhZZz09?= 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: 4a8c2c92-4cb1-4c13-1e46-08da08b29038 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2022 07:40:24.2675 (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: DM8P223MB0159 Subject: Re: [FFmpeg-devel] [PATCH v2 3/3] libavcodec/qsvdec: using suggested num to set init_pool_size 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: ffmpeg-devel On Behalf Of > Wenbin Chen > Sent: Friday, March 18, 2022 7:25 AM > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH v2 3/3] libavcodec/qsvdec: using > suggested num to set init_pool_size > > The init_pool_size is set to be 64 and it is too many. > Use IOSurfQuery to get NumFrameSuggest which is the suggested > number of frame that needed to be allocated when initializing the > decoder. > Considering that the hevc_qsv encoder uses the most frame buffer, > async is 4 (default) and max_b_frames is 8 (default) and decoder > may followed by VPP, use NumFrameSuggest + 16 to set init_pool_size. > > Signed-off-by: Wenbin Chen > Signed-off-by: Guangxin Xu > --- > libavcodec/qsvdec.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c > index 210bd0c1d5..9875d3d632 100644 > --- a/libavcodec/qsvdec.c > +++ b/libavcodec/qsvdec.c > @@ -88,7 +88,7 @@ typedef struct QSVContext { > uint32_t fourcc; > mfxFrameInfo frame_info; > AVBufferPool *pool; > - > + int suggest_pool_size; > int initialized; > > // options set by the caller > @@ -275,7 +275,7 @@ static int qsv_decode_preinit(AVCodecContext > *avctx, QSVContext *q, enum AVPixel > hwframes_ctx->height = FFALIGN(avctx- > >coded_height, 32); > hwframes_ctx->format = AV_PIX_FMT_QSV; > hwframes_ctx->sw_format = avctx->sw_pix_fmt; > - hwframes_ctx->initial_pool_size = 64 + avctx- > >extra_hw_frames; > + hwframes_ctx->initial_pool_size = q->suggest_pool_size + 16 + > avctx->extra_hw_frames; > frames_hwctx->frame_type = > MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET; > > ret = av_hwframe_ctx_init(avctx->hw_frames_ctx); > @@ -793,6 +793,9 @@ static int qsv_process_data(AVCodecContext *avctx, > QSVContext *q, > } > > if (q->reinit_flag || !q->session || !q->initialized) { > + mfxFrameAllocRequest request; > + memset(&request, 0, sizeof(request)); > + > q->reinit_flag = 0; > ret = qsv_decode_header(avctx, q, pkt, pix_fmt, ¶m); > if (ret < 0) { > @@ -802,12 +805,19 @@ static int qsv_process_data(AVCodecContext > *avctx, QSVContext *q, > av_log(avctx, AV_LOG_ERROR, "Error decoding > header\n"); > goto reinit_fail; > } > + param.IOPattern = q->iopattern; > > q->orig_pix_fmt = avctx->pix_fmt = pix_fmt = > ff_qsv_map_fourcc(param.mfx.FrameInfo.FourCC); > > avctx->coded_width = param.mfx.FrameInfo.Width; > avctx->coded_height = param.mfx.FrameInfo.Height; > > + ret = MFXVideoDECODE_QueryIOSurf(q->session, ¶m, > &request); > + if (ret < 0) > + return ff_qsv_print_error(avctx, ret, "Error querying IO > surface"); > + > + q->suggest_pool_size = request.NumFrameSuggested; > + > ret = qsv_decode_preinit(avctx, q, pix_fmt, ¶m); > if (ret < 0) > goto reinit_fail; > -- Thanks for the patch! I have that on my list for quite a while. Will look at it shortly. softworkz _______________________________________________ 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".