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.
Unified · Split
| @@ -137,6 +137,12 @@ static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* form · 136 unmodified lines | ||
| 137 | 137 | return 0; |
| 138 | 138 | } |
| 139 | 139 | |
| 140 | + if (format->chroma_format != cudaVideoChromaFormat_420) { | |
| 141 | + av_log(avctx, AV_LOG_ERROR, "Chroma formats other than 420 are not supported\n"); | |
| 142 | + ctx->internal_error = AVERROR(EINVAL); | |
| 143 | + return 0; | |
| 144 | + } | |
| 145 | + | |
| 140 | 146 | avctx->coded_width = format->coded_width; |
| 141 | 147 | avctx->coded_height = format->coded_height; |
| 142 | 148 | |