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 ESMTPS id 9AB754AE9A for ; Thu, 20 Feb 2025 20:37:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D241568C5EB; Thu, 20 Feb 2025 22:37:42 +0200 (EET) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 89C1368C53C for ; Thu, 20 Feb 2025 22:37:36 +0200 (EET) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6e660740061so12314216d6.3 for ; Thu, 20 Feb 2025 12:37:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740083855; x=1740688655; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=KFS+p0jvtIUmj1I6pFXRqc2kSiSyV4xu/Ses+oTptDU=; b=KFRY8WAPAAiYQQbptUesSEZ0p/Q5jAyIUdEzXcnq6t5topu8CLLpfV9mvfryVhnN8W mwlDCoCSlQQvHDlCExntscAef2o7P5ppShFrIlA8CTVtbMzklGX63qq7g0ggpPVtUT8M ZLvfszp6r6VJbmc1I366T1cGvy03m/iv8MM1SJKtkSDmhXROP+bxCZO34avTjZuzS3HX wVaLstx9HQIEFS7txPI3TswFev37J/U/v6SeOYePHiynx33HFmVURUH/m6rYVoLVVpC4 f5m57v/TI1Sw9IUoZY+AqIT3/SQ8cZfyfP4yZKsL9mg9cDU0Cek0UUFiD1f6CR6048rC POew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740083855; x=1740688655; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KFS+p0jvtIUmj1I6pFXRqc2kSiSyV4xu/Ses+oTptDU=; b=Jcqh4JfatMsxAphvJBv43mBhiL58a5V5yIdcxgwmVS358fQd93pwwzxLvvPoTgpb72 C0Xoyvm/sN2n5T1E/LPfLEK4g0RCKtKv+PmMuIj10NK23ofwgxLGu7zxr25P1wohV3Op f/OXfe9nJTpSdRubKk2Qiw8Ia12O1e/aoQjK6dzcHUSufGyyd6Ll4qqMh9Zw7nEDIY85 HrznkyF8CCDVZrDCQdFhgoS5oL2pm6im6pMzkcQDN2n2884u//D0qb07r/eKLBoR8Cjc 16DzSgXpR05/CBHQAqFIcKMRa3o56zyhRv5dHThtQ5UOx2KQNdZ/uz8i3XnCg6thbfz9 r3vA== X-Gm-Message-State: AOJu0YxOq0r6XkIl8K2Yj5iAk9car5YoIeil5KPvDLhA5O2YWuznXqrB V0P3I3lJiDJwQrbYv2xm36LhiibQfzobNQ5ZL4SuvEio74EpDuIiAm1FaA== X-Gm-Gg: ASbGnct0VJW88vrXK53EhVTUgXSge/+O5lZb6DdluvjjeA3iab68AtXSIWqLaO+yg9+ DzGCAW0wh/Ryrw/qlDJ41yvkdLvyGUgam2e304uH02c0Wckqa3vhdfMvHRMjBVLLKwgjaBw2cXK /Fk6GfgMgS98URfkUbsidLytpHLIKawQLvZQ+tuO3yHEYqx2qwPhBa/9g0jW+NQWL7XTXgYuMNE F6P2Hb/CIlG+ziILCFOQ2EwyhSM4EP8HzSdWDTfqa8R00xxrJNQWmhZwIofgAJjc06Zl/BY5PMk D65DbWzSVXnBv/hP/KOzKzsmwyrbRmARQkocsG8EMuxDgSC2RFB89eg0cnAuoTsZk0A4A74A X-Google-Smtp-Source: AGHT+IHF0NUvrQOcNzQzrC2+8DZ64DGnqyPNQGEoYdYDWH93eg8SSHEwRFalg90V8GRV4kb/p2fIVA== X-Received: by 2002:a05:6214:d0b:b0:6e6:68d6:3932 with SMTP id 6a1803df08f44-6e6ae9bf220mr7447216d6.40.1740083854997; Thu, 20 Feb 2025 12:37:34 -0800 (PST) Received: from scott-desktop.. (pool-71-114-78-195.washdc.fios.verizon.net. [71.114.78.195]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e65dcf8739sm89766636d6.124.2025.02.20.12.37.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 12:37:34 -0800 (PST) From: Scott Theisen To: ffmpeg-devel@ffmpeg.org Date: Thu, 20 Feb 2025 15:37:24 -0500 Message-ID: <20250220203733.165702-1-scott.the.elm@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavcodec/cuviddec.c: increase CUVID_DEFAULT_NUM_SURFACES 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: The default value of CuvidContext::nb_surfaces was reduced from 25 to 5 (as (CUVID_MAX_DISPLAY_DELAY + 1)) in 402d98c9d467dff6931d906ebb732b9a00334e0b. In cuvid_is_buffer_full() delay can be 2 * CUVID_MAX_DISPLAY_DELAY with double rate deinterlacing. ctx->nb_surfaces is CUVID_DEFAULT_NUM_SURFACES = (CUVID_MAX_DISPLAY_DELAY + 1) by default, in which case cuvid_is_buffer_full() will always return true and cuvid_output_frame() will never read any data since it will not call ff_decode_get_packet(). --- I think part of the problem might be that cuvid_is_buffer_full() does not know how many frames are actually in the driver's queue and assumes it is the maximum, even if none have yet been added. This was preventing any frames from being decoded using NVDEC with MythTV for some streams. See https://github.com/MythTV/mythtv/issues/1039 --- libavcodec/cuviddec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c index 67076a1752..05dcafab6e 100644 --- a/libavcodec/cuviddec.c +++ b/libavcodec/cuviddec.c @@ -120,7 +120,7 @@ typedef struct CuvidParsedFrame #define CUVID_MAX_DISPLAY_DELAY (4) // Actual pool size will be determined by parser. -#define CUVID_DEFAULT_NUM_SURFACES (CUVID_MAX_DISPLAY_DELAY + 1) +#define CUVID_DEFAULT_NUM_SURFACES ((2 * CUVID_MAX_DISPLAY_DELAY) + 1) static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* format) { -- 2.43.0 _______________________________________________ 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".