I want to composite 24 frames into a large frame. First I used this command:
gst-launch-1.0 -ev nvcompositor name=comp \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=320 sink_0::height=270 \
sink_1::xpos=0 sink_1::ypos=270 sink_1::width=320 sink_1::height=270 \
sink_2::xpos=0 sink_2::ypos=540 sink_2::width=320 sink_2::height=270 \
sink_3::xpos=0 sink_3::ypos=810 sink_3::width=320 sink_3::height=270 \
...
sink_20::xpos=1600 sink_20::ypos=0 sink_20::width=320 sink_20::height=270 \
sink_21::xpos=1600 sink_21::ypos=270 sink_21::width=320 sink_21::height=270 \
sink_22::xpos=1600 sink_22::ypos=540 sink_22::width=320 sink_22::height=270 \
sink_23::xpos=1600 sink_23::ypos=810 sink_23::width=320 sink_23::height=270 \
! 'video/x-raw(memory:NVMM),format=RGBA' ! nvvidconv ! video/x-raw ! xvimagesink sync=true \
...
v4l2src device=/dev/video23 ! 'video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)800' ! \
nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)RGBA' ! comp.sink_23
and I got the error:
/GstPipeline:pipeline0/GstNvCompositor:comp.GstAggregatorPad:src: caps = video/x-raw(memory:NVMM), format=(string)RGBA, width=(int)1600, height=(int)1080, framerate=(fraction)30/1, chroma-site=(string)NULL, colorimetry=(string)sRGB
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)RGBA, width=(int)1600, height=(int)1080, framerate=(fraction)30/1, chroma-site=(string)NULL, colorimetry=(string)sRGB
input_buffers count must not greater than MAX_COMPOSITE_FRAME
nvbuffer_composite Failed
Got EOS from element "pipeline0".
Then I found this topic:
from this topic, I know MAX_COMPOSITE_FRAME has hardware limitations.
However, I tried to split 24 to 12/12 frames and I found I could enable 12 frames into a large frame with 2 processes to realize to enable 24 frames at the same time.
Could anyone explain why it can be realized by 2 processes if there is a hardware limitation? What is the hardware limitation of the compositor? Is it possible to realize composite 24 frames into a large frame?