Generic H.264 Decoder for NVIDIA Platforms

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
1.9.3.10904
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Hello NVIDIA community,

I am currently working on a project where I need to decode an H.264 stream that is stored in memory (an array uint8_t* input). The goal is to create a generic decoder that can handle H.264 streams encoded by any source, not limited to NVIDIA encoders.

Specifically, I am looking for guidance on how to utilize the NVIDIA platform for decoding, considering that the input stream is in memory rather than a file. My objective is to decode the H.264 stream from the input array into another array (uint8_t* output), and the decoded output can be in various formats such as NV12, YUV, RGB, etc.

I looked into the sample replay code but it is more of reading parameters and data from the file and it can only decode Nvidia encoded video.

Please consider exploring the possibility of utilizing the fmemopen() function in your scenario.

I think you didn’t understand my question properly. I am following camera replay and found parameters setting from video file (h264) which was generated by nvidia encoder. The question for the encoder is posted here. I have the following questions.

  • Why camera replay is only decoding nvidia encoded videos?
  • How can I set parameters manually if I have video in the memory rather then in a file?
  • How can I decode multiple videos in parallel? (maybe pthread or with rig file).
  • Why nvidia encoder is producing a different h264 video then other general encoders?
  • What is the actual throughput of decoder. I don’t like the term upto. It shows that nvidia also didn’t test properly because the numbers mentioned for encoders are completely wrong. Maybe numbers for decoders are also wrong.

I would appreciate for a better reply from expert than just a short message.

What specific videos are you trying to decode? Could you provide more details about the issue?

I’m still not clear on the issue you’ve encounter. Could you provide more details?

I believe no problem because one of DriveWorks camera samples can replay multiple virtual cameras.

The difference in H.264 video output could be due to various factors such as encoding settings, compression algorithms, or optimizations specific to NVIDIA’s encoder. Could you provide more details or specific examples for further analysis?

Please point out which information you’re referring to. Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.