So, this is more of a pet project, and it does require a custom version of ffmpeg, so I dont expect support to go upstream until the nvmpi decoders are actually pushed upstream for ffmpeg, which might never happen.
Here is the issue..... unfortunatly, you have to force the correct decoder, this can be done here fairly easily: https://github.com/videolan/vlc/blob/master/modules/codec/avcodec/avcodec.c#L282
so place before that line:
Code: Select all
switch (i_codec_id)
{
case AV_CODEC_ID_H264: //h264
p_codec = avcodec_find_decoder_by_name("h264_nvmpi");
break;
case AV_CODEC_ID_HEVC: //hevc
p_codec = avcodec_find_decoder_by_name("hevc_nvmpi");
break;
case AV_CODEC_ID_VP9: //vp9
p_codec = avcodec_find_decoder_by_name("vp9_nvmpi");
break;
case AV_CODEC_ID_MPEG4: //MPEG4
p_codec = avcodec_find_decoder_by_name("mpeg4_nvmpi");
break;
case AV_CODEC_ID_MPEG2VIDEO: //MPEG2
p_codec = avcodec_find_decoder_by_name("mpeg2_nvmpi");
break;
}
Code: Select all
[0000007f64c21590] main decoder error: buffer deadlock prevented
[h264_nvmpi @ 0x7f67d3a4f0] video_get_buffer: image parameters invalid
[h264_nvmpi @ 0x7f67d3a4f0] get_buffer() failed
[0000007f64c21590] avcodec decoder error: avcodec_send_packet critical error