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 AE39344FC6 for ; Tue, 14 Feb 2023 17:27:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 32E5068BD22; Tue, 14 Feb 2023 19:27:52 +0200 (EET) Received: from mx0a-00241e02.pphosted.com (mx0a-00241e02.pphosted.com [205.220.160.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA4AB68B7F1 for ; Tue, 14 Feb 2023 19:27:45 +0200 (EET) Received: from pps.filterd (m0182908.ppops.net [127.0.0.1]) by mx0a-00241e02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31EEJ384021780 for ; Tue, 14 Feb 2023 17:27:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=warnermedia.com; h=from : to : subject : date : message-id : content-type : mime-version; s=warnermedia; bh=ypX12WW9smaq7uW1vlaaDMGTdCtaPrnD5xcdE+SypDA=; b=IbQJQhcFBf2Nzjie3lYbR03zn541zWWruNlOQcZdoV+S53falFsLuIO1aHKWs99GigaG /rmbMXp67XfeC2OlOevith8FuHI5Je/QW9/cwvw3zLv7XNbTsyVv4ddw274aoEDlNMQ9 BDGZ4ySI+IV0UhUKyCc58g3Ek6kCozuBfkEey9HDQJPVAdx1Ys9+ear4odg/wtE0/zPI eK6Fm6eHimF6+LoWTMm+T/xUfXudOoZDAvDAUfBsIik0pomTr1XssGgR/AXpqUgcqWYe otbSA7MKyvl8OWjdiVE4e/nDMsY4aDAW4W2BerEhafo2hfOgxhQYj7GYQQha/AbmgFVK GA== Received: from mx0b-00241e03.pphosted.com (mx0b-00241e03.pphosted.com [205.220.174.90]) by mx0a-00241e02.pphosted.com (PPS) with ESMTPS id 3nrby0j6f9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 14 Feb 2023 17:27:42 +0000 Received: from pps.filterd (m0194597.ppops.net [127.0.0.1]) by mx0a-00241e03.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31E3Pm22018802 for ; Tue, 14 Feb 2023 17:27:41 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by mx0a-00241e03.pphosted.com (PPS) with ESMTPS id 3np1vvbdyb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 14 Feb 2023 17:27:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lUya2LvffhGB6NnOuWTs4H5pPL4em5YOzIs6TQPAc9ui4zlp/+sLWDUqR6zlPU1wNj8ejCsIHE8czNBWG72U0KxykxpAllR7XUhX/J22wpU4MxRGAhPUZpsx4jNG1fm1ZFrh+RyEYpMWVhW8enGoP9t+Nlq5uD1KQ180n1gucfgQaPwKTDx6u9kvxMwUgt2WxUdJutWVbxln+eBvV3BwvcuJcg3nmojebf8MA4GM/HZVlLrOE6CN2LDSzEqSlF4f6mh4B6cHdR0jTYB6jjMo4PhquJ+aYsNBS0A87iXulhHOmUIt4jVpDi1Zmun2Dbu9+ygQbWd8kzxUYdsVDx4oJw== 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=ypX12WW9smaq7uW1vlaaDMGTdCtaPrnD5xcdE+SypDA=; b=IC7N4i/BdzOLStgWlOBA/s/oSJ+4J3+tKSzdPgV4VspaF2Kp0EWGxlexfVk90W6kAHDod/SNCNF1OoE1dSFd8juN6O1pXlgTfGZ59Y0dwOybaxElK6hWYT/w2slD0dna04b4t1h/9Qp3/RtZ/Ku+7Bt2YyyUVNqEFIvldJphGaA0fREmcaNTePASaL2SbIp3Pe15yjwOqNXgUPxfJZ18Qld7yRatSM4r/GX1YGyc0lQ2q0m+E2R+3PdRghNfjFk8rBx0W282/29H+SYR9uiFFQQMrpFxXeFD+lwq7wVjYca6156IL9MHQ9vy6QvCgCw837YiZtAMgVf4xEpkdasVqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=warnermedia.com; dmarc=pass action=none header.from=warnermedia.com; dkim=pass header.d=warnermedia.com; arc=none Received: from SN6PR07MB7853.namprd07.prod.outlook.com (2603:10b6:805:ed::32) by SN6PR07MB5277.namprd07.prod.outlook.com (2603:10b6:805:71::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.24; Tue, 14 Feb 2023 17:27:39 +0000 Received: from SN6PR07MB7853.namprd07.prod.outlook.com ([fe80::8603:7aed:ac41:37e2]) by SN6PR07MB7853.namprd07.prod.outlook.com ([fe80::8603:7aed:ac41:37e2%3]) with mapi id 15.20.6086.026; Tue, 14 Feb 2023 17:27:39 +0000 From: "Miller, Adrian" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: Proposed change to NVDEC ulNumOutputSurfaces initialization Thread-Index: AQHZP9dOv4GnYcU/+U2XfI+k7kYFBQ== Date: Tue, 14 Feb 2023 17:27:39 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR07MB7853:EE_|SN6PR07MB5277:EE_ x-ms-office365-filtering-correlation-id: ee335d30-63bc-4c65-4cd3-08db0eb0c588 x-pp-secret: 7f76f97fcc39424497ca0445f56c1450 x-twx: true x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4vh+JHsYWrK7ub8spOFGxPKDl3CXsKfYQCCP8dhpKUzP3sT0kSha+DgbuE9c1CV1FymY3VzvQii2+/1wy80osBewYYFyCj5ldv/oMINlSP4CnxZk9jnm786rIMEdVKvRY8M5CV7lK/FNtdNkhRw67aYzDELyRnA2OE7xE+i9Vijil4nxqWHYqtt+nyLDCNzdifdAXmLoowO6EoJmlzSZPH0D2rDSBzar3Kr2Ugit0FMVds6XT4tVH/ivg/C0iSUkwkX15BL+mYhKoxfBjZAlhgTepBzAquN+YNhBEv7+KX0lUNv9l8aFWNMZi03VjVPATaycI4cKs43WnSIkFRj3gkvC3EkwyMetgjQUMqtAeHk5zYNt1QFQxGbZrJ+s94M9cKF9cR5SnKswoHMdO7IgjzE2hIAaIXQUKU1ogM/MuqpR+IYknLaRP4NJMDxD72OtEEffG0x3eSL/0eqCSyqTiqCuk8Np64x98ob8qCOtHXCjvsrzEnVNjT0agAcJS5KeSgibK2b2MJGAg/V4+OJz0fFzsnxQftGmTuZsTk8nXbg8ofjO/nXvxhZk9hz/I0Bj0emThGIdmA19pkJqF/CYe5icbxUFXI6dLl55rM7Hwvc8vQ4A2rTqfjU9WSfAtGc6p0M22+9LrLOt5QcQeLyep9s3QahFt9Ijxhk57IMjasFcOX4oM4+yscMpeqgYCU9y8eMBAfeP1rls/ToV4imb+aP9NtACwUE7X3ZZx14qkZ4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR07MB7853.namprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(396003)(376002)(136003)(366004)(346002)(39860400002)(451199018)(52536014)(2906002)(19627405001)(5660300002)(8936002)(41300700001)(66946007)(91956017)(66556008)(66446008)(66476007)(64756008)(76116006)(6916009)(8676002)(55016003)(316002)(6506007)(26005)(478600001)(9686003)(71200400001)(186003)(122000001)(83380400001)(38100700002)(86362001)(33656002)(82960400001)(38070700005)(7696005)(145543001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?NY/9QrcfOq1a87pG4u0FAH2+5O4LvD+UMnmm0khfw7c0Mn3BOBpWvrY7ty?= =?iso-8859-1?Q?2dNAhUzwxInfC9jeoWv6YjHpN+xbIAGYz69PQqb3AEnVwfMHK0CIt9whRk?= =?iso-8859-1?Q?L+pOdMqUzSDXz6r9N5gPgwLEHbeTlv7GTdo1pBr93IQoLPhrmsnrx6S9yF?= =?iso-8859-1?Q?i9KcUsEqfsxT0F2i3+pf5mRitkbEUtmwXhzKNjnwXj/QC8ly2U93r368BB?= =?iso-8859-1?Q?Fvfx9a7e+6fxkUje8FBNtogMHY643F81uGi2e7QuRGhr9t7NgfyRLhPGB6?= =?iso-8859-1?Q?8Fq0aX9JMlL7Yoodg66za+qqXvHOqdGcVe4Z3MXWKUlF0P2kmCwOQ+bFLe?= =?iso-8859-1?Q?Lq4zOaFkRNO483GAaY83xMI1+v+XX8sDHYq1zZR/WPL95+KSwXxzqxC9z0?= =?iso-8859-1?Q?PXv4zxLpuneAo2GfBhuVeWS/nFl1/TVsDaE8zeR2nvytnmGToFml2JnYX/?= =?iso-8859-1?Q?bNPmGMDaumK5RpJwAG01F9cZoA4XFCKlSmMvInGCTEOdlCkgO0rdmmJQf+?= =?iso-8859-1?Q?NctTa/YbJKrKU4dmib+PRG92f3rZT8WCa7WRvnGsMoKzdplzsdZT+ZtcQG?= =?iso-8859-1?Q?lVSFwUlpxL/ODAqKPQ3D8yXDKpKvLYQJu7sTlM97wO20Kul06bdUVQ8fMx?= =?iso-8859-1?Q?6YwnZJgsQtTyAoV6hzdVDNSMqpNXeiqVgl8ksQBICsK4HzaUeOeyWybFAp?= =?iso-8859-1?Q?bGXeFrCxYMWUS6nk5Eu0VHxyk+9Kj8ELIAOGXb1On653wYMMdeU8teMRO5?= =?iso-8859-1?Q?XNTN9zO7gqrq1x0+9Epvs3w8Y9AZEKLFX/BA0k2UdH7UeiX12H1l5y1nyw?= =?iso-8859-1?Q?vQE5rmIlcg0nKib5pGYu4EC+XI1d9MSUbI7ZBvbUXCynHPR9vz3MY1B/v+?= =?iso-8859-1?Q?CMJbhGuwJt/fsIT72Kk3dW73reIylddVnN/eCHKrukZ2pDOq0ryEDq2YCa?= =?iso-8859-1?Q?uz6F68snM7SAEDwBNpBCZABg4MmYy4PAKfdq3qlQyNFbQg4l7SZgxkPrXs?= =?iso-8859-1?Q?ej+v4zTUXvGm8r8iyc2KC9QHGAXDlpPqDYvSpA3q0/l4eBX0mnr2Cx1t6z?= =?iso-8859-1?Q?VCxJF7wc1QcfxRDGh39VwobU+/CFXLnehg3KUKdCd3aqEq3ANgGA/q584z?= =?iso-8859-1?Q?SKd/aN8Z9/kSMoqyIMLi4qnp1Psg9K0gHZRo7ysgEp43RTMqoEtAJw4A0p?= =?iso-8859-1?Q?mZCGJKDIEoKu7bd1rksT3v9BeRDwVFnX5h/0zHnHIVaP5g+D4SaqXEp7bB?= =?iso-8859-1?Q?Kal026Sf0qL3i8ArXycYBY34TD7nRbO9c4/zGsr+lC1xNHBBXcOu278v4o?= =?iso-8859-1?Q?eimJ85a5SpX13QQHUcFe/9OhAHK2UjzIpmVG0Xk/sZZo+CFDOJeGxIVoMn?= =?iso-8859-1?Q?URvr5wucJ0E3kvGuth/qB8Qd1M4mYq9VZI8qoKoTdDkN94P64lLy+5If16?= =?iso-8859-1?Q?Sm8eW7q/Dlk+qZIqL7lALpYAly8iVEjrHcjPESRbC0n42v3UZEjm1xM2xp?= =?iso-8859-1?Q?Advwu/126UX7L0qI3R9tjgcmVXdHUMQLJyfrDXcL1BzWpB9FTaDO4gDjz5?= =?iso-8859-1?Q?GTGCG7i4+qiKViayo9MVdiQU5171bosy43oId6ABdCVIkYrqBH4sS3bnks?= =?iso-8859-1?Q?yqP4Vl6v90G2DpC+s0sKSDCOJ1Q+Y2KvZsuCSM9n0nmJVI1QRHH6uiqg?= =?iso-8859-1?Q?=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: warnermedia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR07MB7853.namprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee335d30-63bc-4c65-4cd3-08db0eb0c588 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2023 17:27:39.3977 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0eb48825-e871-4459-bc72-d0ecd68f1f39 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YOk/GYl+r0F4EysbSnNRLrmoDuxOjyIblcSYj+kge3nhapwMcm5rPpHASlFyOPmcvXHeUAeG7g/t6JeAylsk+LqgufWBf5FBALfTTX/C2kQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR07MB5277 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-14_12,2023-02-14_01,2023-02-09_01 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-14_12,2023-02-14_01,2023-02-09_01 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] Proposed change to NVDEC ulNumOutputSurfaces initialization 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: Hi, I'm considering a proposing a change to libavcodec/nvdec.c but wanted to run it by you first as I'm new to FFmpeg development to make sure I've gotten things right (this is not a patch). We use the NVDEC decoder as part of our live transcoder. This means that new decoders may be spun up to accommodate switching sources but the frames_ctx->initial_pool_size is calculated based on values from the source's initial SPS and the decoder's "extra_hw_frames" option, so it's possible that a new source will result in an SPS+extra_hw_frames value greater than the max supported by the NVDEC decoder, 32. The current behavior is to return if the NVDEC decoder fails to initialize and return a warning (nvdec.c:413). I'm sure this is fine in the interactive use case where the user can simply provide a smaller value for extra_hw_frames and try again. In the unattended case this isn't possible, and our application fails. I was thinking something along the lines of in nvdec.c to handle this case: - params.ulNumDecodeSurfaces = frames_ctx->initial_pool_size; - params.ulNumOutputSurfaces = frames_ctx->initial_pool_size; + const int kMaxSurfaces = 32; + params.ulNumDecodeSurfaces = (frames_ctx->initial_pool_size <= kMaxSurfaces) ? frames_ctx->initial_pool_size : kMaxSurfaces; + params.ulNumOutputSurfaces = params.ulNumDecodeSurfaces; + if (frames_ctx->initial_pool_size > kMaxSurfaces) { + av_log(avctx, AV_LOG_WARNING, "Requested %d decode surfaces, which is more than %d. Condifuring decoder with %d surfaces.\n", + (int)frames_ctx->initial_pool_size, kMaxSurfaces, (int)params.ulNumDecodeSurfaces); + } Plus, probably rewording the original warning that handles the case where the decoder still fails. Thoughts? If this seems like a reasonable approach I'll put together a formal patch email after going through the rest of your submission process and the stuff I have to do for my employer. Thanks, Ade Miller _______________________________________________ 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".