We are trying to implement and video encoding pipeline using NVIDIA hardware encoders. The video stream comes from an FPGA camera via PCIe in YUV422 10bit interleaved format. We have a couple of questions regarding the implementation. This is for Nvidia Jetson TX2 platform with latest Jetpack. We want to achieve 4K at 60 FPS. The plan is to use Nvidia multi media APIs and not gstreamer plugins.
We see that the Nvidia hardware encoders do not support interfleaved format. Is it possible to use Nvidia hardware video converter APIs to convert from YUV422 10 bit interleaved to YUV420 10 bit semi planar that can be fed to the hardware encoder?
Does Nvidia hardware encoder APIs support h264 encoding of 10 bit YUV420 stream in baseline, main, high and MVC profiles?
I am using the sample /usr/src/jetson_multimedia_api/samples/07_video_convert for video format conversion using the hardware.
When i tried the sample application with 10bit to 8bit conversion, i get the error “unsupported pixel formats” from NvBuffer::fill_buffer_plane_format() in NvBuffer.cpp.
No 10bit formats were listed in the fill_buffer_plane_format().
Does the converter using Tegra Multimedia API supports 10 bit to 8 bit conversion ( NV12_10LE to NV12 )?
NOTE: I had an experiment with Gstreamer for hardware format conversion using nvvidconv plugin, where it seems to support 10bit to 8bit format conversion.
One more query related to Gstreamer, does the nvoverlaysink support any 10bit formats as input ?