From: Pavel Koshevoy <pkoshe...@gmail.com>

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;
 
-- 
2.9.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to