[FFmpeg-cvslog] avcodec/cuvid: Check for non 420 chroma formats - they aren't supported
Philip Langdale
git at videolan.org
Sat Sep 17 15:10:46 EEST 2016
ffmpeg | branch: master | Philip Langdale <philipl at overt.org> | Wed Sep 14 19:56:08 2016 -0700| [ee88dcb2b0fefb42b0761ddb105c71daf604d791] | committer: Timo Rothenpieler
avcodec/cuvid: Check for non 420 chroma formats - they aren't supported
Despite the video parser seeming to correctly handle 422 and 444
chroma formats, the video decoder fails miserably to actually
decode frames - even though no errors are ever returned; you just
get frames showing unintialized garbage.
Signed-off-by: Philip Langdale <philipl at overt.org>
Signed-off-by: Timo Rothenpieler <timo at rothenpieler.org>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ee88dcb2b0fefb42b0761ddb105c71daf604d791
---
libavcodec/cuvid.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libavcodec/cuvid.c b/libavcodec/cuvid.c
index 1310005..540f2b7 100644
--- a/libavcodec/cuvid.c
+++ b/libavcodec/cuvid.c
@@ -137,6 +137,12 @@ static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* form
return 0;
}
+ if (format->chroma_format != cudaVideoChromaFormat_420) {
+ av_log(avctx, AV_LOG_ERROR, "Chroma formats other than 420 are not supported\n");
+ ctx->internal_error = AVERROR(EINVAL);
+ return 0;
+ }
+
avctx->coded_width = format->coded_width;
avctx->coded_height = format->coded_height;
More information about the ffmpeg-cvslog
mailing list