Maximum Encoding Capabilities of TX1

From the datasheet of TX1 is unclear to me that what is the encoding limit on TX1 chip.

Encode
H.265 (I and P frames) 2160p 30fps | 1080p 120fps
H.264: Baseline, Main, High 2160p 30fps | 1080p 120fps
H.264: MVC Stereo (per view) 1440p 30fps | 1080p 60fps
WEBM VP8 2160p 30fps | 1080p 120fps

I have tried one channel of 4K30 H265 + one channel of 4K30 H264 and I see both stream are running real-time. Is that really safe to use this X1 like this way?

Hello, dk1900:
Would you please paste the commands you are using?
We need more details to evaluate it.

br
ChenJian

Thenaks Jian.

See below GST pipeline. One 4K30 H265 will be written into a file and one 4K H264 will be streamed over network.

I do see the memory usage increasing over time but if I change the fileSink to fakesink, I can see the memory usage will reach a stable value so I assume it is SD speed issue instead of TX1 video processing issue.

From our tests, we can always only use one channel of H265, any additional H265 instance will be rejected by GST. I am a bit suprised that 4K30 H265 + 4K30 H264 get running in real-time (at least for more than 30mins). Please confirm TX indeed can handle this usecase. Thanks

gst-launch-1.0 -v nvcamerasrc fpsRange="30.0 30.0" ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! nvvidconv flip-method=2 ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)3840, height=(int)2160' ! queue max-size-buffers=10 ! tee name='t' ! omxh265enc iframeinterval=24 bitrate=1000000 !  h265parse ! queue name=queenc max-size-buffers=10 ! matroskamux name=mux ! filesink location=/home/ubuntu/Usecase3_4k.mkv t. ! queue max-size-buffers=10 ! omxh264enc bitrate=8000000 ! rtph264pay ! udpsink host=xxx.xxx.xxx.xxx port=xxxx  sync=false

Hello, dk1900:
That’s interesting.
1x 4K30FPS H265 encoding is supported in TX1 officially.

But in your case, have you ever confirmed 1xH265+1xH264 can really run in 30FPS in real time?

br
ChenJian

Thanks Jian for your reply.

I direct the sensor to a real-time timer and I checked the the H265 file on SD card and I have a client pipeline on my host to decode 4K30-H264 stream and surprisingly they are both running real-time.

Are you indicating this 4K30-H264 + 4K30-H265 are not 100% safe to use?

Hi dk1900,

We can commit the encoding capabilities as we list on the spec, such as only 1x H264 OR 1x H265 4K30fps encoding in real time supported.
For the case above the spec, it’s out of our QA testing scope, and not committed.

Thanks