Browse Source

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@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
tags/n3.2
Philip Langdale Timo Rothenpieler 9 years ago
parent
commit
ee88dcb2b0
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavcodec/cuvid.c

+ 6
- 0
libavcodec/cuvid.c View File

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



Loading…
Cancel
Save