I’m creating a video parser with cuvidCreateVideoParser and feed it a H264 UDP stream from VLC and it does everything that it’s supposed to do. It calls all the handlers that in turn calls the decoder which in turn renders the frame to a Direct3D (ID3D10Texture2D*) texture. The only problem is the texture is just random noise. If I send the parser data from file it is completely fine. Only if I stream it. I’ve even used live555 and sent the parser the data it gets from rtsp with even less luck, the CUvideoparser doesn’t even acknowledge it’s video data. I know I must be missing something simple here I just can’t see it
Did you check the UDP data? Is it raw UDP, that is NAL units? As far as I know, and I built a software rendering h264 sent via RTP/UDP, the parser expects complete NAL units.
Do you know wether the stream contains SPS/PPS data?
I used ffmpeg to send the h264 stream via udp and it works fine. The hardware encoder that I bought that I’m streaming from behaves the same as when I used VLC to send the stream. The stream does contain SPS/PPS data after examining the stream so I’m wondering what I’m missing. If you could please let me know how you extracted the stream from the RTP/UDP I’d be so indebted to you. I also tried just dropping the header off of the RTP and that had no effect.