Hi,
in Isaac ROS (x86, RTX 4090 GPU, Docker container) I’m successfully decoding h.264 CompressedImage using nvidia::isaac_ros::h264_decoder::DecoderNode from isaac_ros_h264_decoder package, as long as they don’t exceed the image input resolution 1920x1200 (or equivalent max. pixel count)
Is there any way to decode larger image resolutions?
At the moment, the decoder will terminate with the following error message (based on an example resolution 1920x1400):
[...]
[component_container_mt-1] [INFO] [1755086928.879266236] [decoder]: [NitrosNode] Node was started
[component_container_mt-1] 2025-08-13 12:08:49.108 ERROR gxf/std/block_memory_pool.cpp@125: Requested 8064000 bytes of memory in a pool with block size 6912000
[component_container_mt-1] 2025-08-13 12:08:49.108 ERROR ./gxf/std/memory_buffer.hpp@79: pool Failed to allocate 8064000 size of memory of type 1. Error code: GXF_ARGUMENT_INVALID
[component_container_mt-1] 2025-08-13 12:08:49.108 ERROR ./gxf/extensions/tensorops/components/detail/ImageAdapterVideoBufferImpl.hpp@197: custom resize VideoBuffer failed.
[component_container_mt-1] 2025-08-13 12:08:49.108 ERROR ./gxf/extensions/tensorops/components/TensorOperator.cpp@233: operation failed.
[component_container_mt-1] 2025-08-13 12:08:49.108 ERROR gxf/std/entity_executor.cpp@596: Failed to tick codelet color_converter_operator in entity: ILCOGIALXE_color_converter code: GXF_FAILURE
[component_container_mt-1] 2025-08-13 12:08:49.108 WARN gxf/std/multi_thread_scheduler.cpp@343: Error while executing entity E121 named 'ILCOGIALXE_color_converter': GXF_FAILURE
[component_container_mt-1] 2025-08-13 12:08:49.879 ERROR gxf/std/entity_executor.cpp@212: Entity with eid 110 not found!
[...]
So, I assume I would like to increase the pool size or block size that’s allocated by the decoder but I don’t see how this can be achieved using ros2 node parameters.
Note that the logs indicate the creation of a NitrosNode YAML graph, that seems to contain relevant settings for the executed GFX graph. However, there’s no way of manipulating these, and it’s not clear if this is actually going to have an impact.
[...]
[component_container_mt-1] [INFO] [1755086928.775465946] [decoder]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/ILCOGIALXE/ILCOGIALXE.yaml"
[...]
$ grep block /tmp/isaac_ros_nitros/graphs/ILCOGIALXE/ILCOGIALXE.yaml
block_size: 6912000
num_blocks: 40
min_blocks: 1
block_size: 6912000
num_blocks: 40
min_blocks: 1
I’d also be interested in unsupported work-arounds or experiment suggestions (such as modifying the NitrosNode..)
Thanks for your help.