12bpc RGB video output!

Hi,
The existing usecase is HDR video playback. It is demonstrated in

/usr/src/jetson_multimedia_api/samples/08_video_dec_drm/

If you connect to a TV with HDR mode and has YUV420 10-bit Rec2020 HEVC stream, can run the command:

./video_dec_drm Chess_Short.hevc H265 --disable-ui

In this case, the output is in HDMI YUV422 12bpc. Looks like you need output in RGB 12bpc. We don’t support this case.

Hi,

Per discussed with internal team, adding 12bpc rgb output format can be done in future release but if input support is only for 10bit formats, we doubt this requirement can match your case. Please help confirm.

Hi Dane & Wayne,

Thank you for your replies!

  1. Correct, we need RGB 12bpc and YUV*** won’t work.
  2. There would be some custom “magic” steps involved to convert the output image from the decoder to RGB 12bpc, so we really need this functionality. Can you give any ETA on when could this be added, or maybe is there an option to get a patch to enable this?

Do you prefer any buffer format before it converted to 12bpc?

As for the ETA, we cannot give you it yet. Need to discuss with internal team.

Our intended pipeline is something like this:

  1. Decode HEVC stream. As I understand, HEVC decoder supports NV12_10LE output format and that should be fine.
  2. Convert to RGB 8bpc and save to offscreen 8bpc buffer.
  3. Create 12bpc output buffer and fill it with the results from previous step, expanding 8bpc image to 12bpc with some custom algorithm.

Create 12bpc output buffer and fill it with the results from previous step, expanding 8bpc image to 12bpc with some custom algorithm.

Actually the display controller has capability to convert between input and output format. Thus, generally you don’t need to do that by yourself. I will send your pipeline to internal team.

Thanks!

We need to do some “pixel manipulation” when converting so its not just a “dumb copy” from 8bpc to 12bpc. Ideally this would be done by a shader on the GPU.

Will your pipeline use any NV preferred tool/framework to achieve?

Just want to know how will you decode those HEVC stream and how you want to convert it to RGB 8 bpc.

Hello,

Any feedback here?

Hi Wayne,

Thank you for you interest and I apologize for the delayed response!

For data source we’re using NV Gamestream, and for proof of demonstration I’m currently putting together a pipeline using Jetson Multimedia API for decoding (V4L2 decoder) and output.

Could you give out all the data format in each component of your pipeline? Maybe drawing a block diagram could be a better option.

Our team wants to review the overall pipeline.

Hi vents.kanders,

Could you give out all the data format in each component of your pipeline?
Any update?