From patchwork Mon Jan 2 01:00:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Koshevoy X-Patchwork-Id: 2019 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.89.21 with SMTP id n21csp3772071vsb; Sun, 1 Jan 2017 17:01:29 -0800 (PST) X-Received: by 10.28.71.14 with SMTP id u14mr45003531wma.52.1483318889309; Sun, 01 Jan 2017 17:01:29 -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 i7si71196698wjl.146.2017.01.01.17.01.28; Sun, 01 Jan 2017 17:01:29 -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=@gmail.com; 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 dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 30012689B49; Mon, 2 Jan 2017 03:01:22 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 48F3668921F for ; Mon, 2 Jan 2017 03:01:15 +0200 (EET) Received: by mail-pg0-f68.google.com with SMTP id i5so28938224pgh.2 for ; Sun, 01 Jan 2017 17:01:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=pzQjhyU1xErGJ3OgM6rX5yNVFgZt2LTgeDWbQkYBg4s=; b=It2v0oqGKJTpmLGp7Z+imJMgl2B0m4UjyQpxRl4+YNI7XlF51uDNzrX95emdnHYfqz c5f8ulx1qeYQN4agoFJDqte7kigjk/dEk+/0JB/PtPc9Ep+efy+8sioQLEdTnIjLKvWp XtITKhxQfxb0/xs/XMaCWRyJjqZx2nXT0qr98M4f3L4e0VNlFO74H9+xw76oa7hW7feR iErxgwaG5X0JpSzjVUAW1OLRL72cTCK4ffnhHXAZns0H7UZCRAXqUr8t7/BOmKXIL/rw tFkDiFGtTrAM7cTFedLnu1ZVbJ9v0BO6ExZJDbaT9aKqTYpn35la/goIPk2ORKVEj0nS Go0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=pzQjhyU1xErGJ3OgM6rX5yNVFgZt2LTgeDWbQkYBg4s=; b=uh+YakFPHcTbLt9HlhBxhHNb+XfEO4ZPF2sHo+5UugCsCXGTBXMQrgOwJzKPM3iBmW HJdxAdVMR78Iqe6NH0U6xGJGEZjhK4pkFHcQHmpPvAZCBQ6axamGXzBGpiDhJht5Wxih LI+Ygpu1Bucg3QOG7KtL6DK/SlKrodj2FiwEuyBN6mv6C7kPcxqDlgqf7CHanMZtqYmw EYboHAEhj2p/VeiD4wdMvg6BNB1/gKRIQTNUZC5oa3MpBjKxMkPpnBxZV/JDzQJIdVua ukyXVH2HKVDvterZX0ayK6gvZqq3W6DQzkQBzWUEXw7tdmB5KkErYoC8WXC6xSzGvu3a Wgtw== X-Gm-Message-State: AIkVDXL4MSAajJ6DFKtg3vrZAcByCKvjekk0HQ1gO1UYUAu4FEj2YFj2RLIFanQZ/Kmv0Q== X-Received: by 10.98.16.7 with SMTP id y7mr51791591pfi.55.1483318877525; Sun, 01 Jan 2017 17:01:17 -0800 (PST) Received: from homestead.aragog.com ([136.60.170.51]) by smtp.gmail.com with ESMTPSA id o24sm76858762pfj.78.2017.01.01.17.01.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 01 Jan 2017 17:01:16 -0800 (PST) From: pkoshevoy@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sun, 1 Jan 2017 18:00:59 -0700 Message-Id: <1483318859-13482-1-git-send-email-pkoshevoy@gmail.com> X-Mailer: git-send-email 2.6.6 Subject: [FFmpeg-devel] [PATCH] lavc/cuvid: fail early if GPU can't handle given video resolution X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Pavel Koshevoy MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Pavel Koshevoy NVDEC (CUVID) does not support unlimited video resolutions, so if the resolution of the source is known it can be used during avcodec_open2 call to fail early, rather than failing later during avcodec_send_packet call. This problem surfaced when trying to decode 5120x2700 h246 video on Geforce GT 730 -- avcodec_open2 succeeded but decoding failed. --- libavcodec/cuvid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/cuvid.c b/libavcodec/cuvid.c index 8fc713d..2e70b62 100644 --- a/libavcodec/cuvid.c +++ b/libavcodec/cuvid.c @@ -625,8 +625,8 @@ static int cuvid_test_dummy_decoder(AVCodecContext *avctx, CUVIDPARSERPARAMS *cu cuinfo.ChromaFormat = cudaVideoChromaFormat_420; cuinfo.OutputFormat = cudaVideoSurfaceFormat_NV12; - cuinfo.ulWidth = 1280; - cuinfo.ulHeight = 720; + cuinfo.ulWidth = avctx->coded_width ? avctx->coded_width : 1280; + cuinfo.ulHeight = avctx->coded_height ? avctx->coded_height : 720; cuinfo.ulTargetWidth = cuinfo.ulWidth; cuinfo.ulTargetHeight = cuinfo.ulHeight;