Feeding the GPU header and video separately

As far as I can see the function:
bool Decode(const uint8_t *pData, int nSize, uint8_t ***pppFrame, int *pnFrameReturned, uint32_t flags = 0, int64_t **ppTimestamp = NULL, int64_t timestamp = 0, CUstream stream = 0);

gets the header and the video data inside the pData var. However, in my app I receive the video header and the video data separately. Thus, I would like to be able to feed the decoder these setting separately, to save myself of doing the recombining of the data. Is this possible?

I tried to feed the decoder the header data and video data one by one, but this resulted in a crash as the decoder had 0 size video data (as far as I understand).

In addition, I couldn’t find where this function documentation is located, or in general where the documentation for the Nvidia decoder sdk function are documented.

Hi liron,

  1. Inside the Decode(..) the parser(cuvidParseVideoData) is called.
  2. The NVIDIA video parser needs both bitstream and header. If you are using NVIDIA parser then you need to combine the data.
  3. We have the documentation for the NVDECODE APIs available. Please refer to ..\doc\ NVDEC_VideoDecoder_API_ProgGuide.pdf. We suggest going through this document first(if you have not).
  4. The function Decode(..) you mentioned above just provides a wrapper around the exposed NVDECODEAPIs.
  5. There is no documentation for the SDK samples as such. Let us know if you need more clarification.

Ryan Park