NvDecoding UDP input with high resolution 4k gives Decoding error

Hi nvidia,

Nvdecoder with UDP input for 2k resolution works fine but for 4k UDP input with bitrate 23mbps gives almost every frame Decoder error and generated .yuv output file has distortion or green patches in frame.

and same udp multicast input plays fine in vlc player(another instance in same or different computer), but while decoding using Nvdecoder give decoder error with alternate frames

Note:
UDP multicast generated from vlc player

Hi meRaza,

Could you share the following information?

  1. GPU being used
  2. Operating System
  3. Driver version
  4. Could you share the content that reproduce the corruption on one of the samples in the SDK (preferably AppDec?). You can send it to video-sdk-feedback@nvidia.com

Thanks,
Ryan Park

Hi Ryan Park ,

I have shared the content from google drive link via mail .and also attached the code changes .
SDK version Video_Codec_SDK_8.2.16 , cuda tool kit version 10.0

1 Ans
Graphic Card (GPU)
GPU #2 Type NVIDIA GeForce GTX 1070
GPU #2 Brand GIGABYTE Technology
GPU #2 Specs GP104-200 / Process: 16nm / Transistors: 7200M / Die Size: 314 mm² / TDP: 150W

2 Ans.
Windows Version
Microsoft Windows 10 (10.0) Professional 64-bit
Windows Subver.
Build 17134

3.Ans
Driver version 416.34

4.Ans
share to the mail

5.ANs
code changes
AVFormatContext CreateFormatContext(stSrcData pstSrcData)
{
m_pstSrcData = pstSrcData;
av_register_all();
avformat_network_init();

	AVFormatContext *ctx = NULL;
	if (!(ctx = avformat_alloc_context())) {
		LOG(ERROR) << "FFmpeg error: " << __FILE__ << " " << __LINE__;
		return NULL;
	}

	ctx->use_wallclock_as_timestamps = 1;
	ctx->start_time_realtime = 0;
	ctx->packet_size = 1316;

	ck(avformat_open_input(&ctx, (const char*)pstSrcData->SrcDataAddress, NULL, NULL));
	/* dump input information to stderr */
	av_dump_format(ctx, 0, (const char*)pstSrcData->SrcDataAddress, 0);

	//av_log_set_level(AV_LOG_DEBUG); //AV_LOG_WARNING
	return ctx;
}

ORIGINAL
AVFormatContext *CreateFormatContext(const char *szFilePath) {
av_register_all();
avformat_network_init();
//av_log_set_level(AV_LOG_DEBUG);

    AVFormatContext *ctx = NULL;

	FIleTemp = szFilePath;

	if (!(ctx = avformat_alloc_context())) {
		LOG(ERROR) << "FFmpeg error: " << __FILE__ << " " << __LINE__;
		return NULL;
	}

	ctx->packet_size = 9000000;
    ck(avformat_open_input(&ctx, szFilePath, NULL, NULL));
	/* dump input information to stderr */
	av_dump_format(ctx, 0, szFilePath, 0);
    return ctx;
}

Regards,
Aasim
+91 8197948544
Attachments area

Hi Aasim,

  1. All the samples are validated using CUDA SDK 8.0 Does the issue repro if you use CUDA 8.0?
  2. Does the issue repro with the orignal code present inside the sample?

Thanks,
Ryan Park