0

I am trying to understand the Open-vx object node for one of my requirement.I have gone through the specification but not able to understand the exact difference between an API vxRemoveNode() and vxReleaseNode(). Spec says vxReleaseNode :

"Releases a reference to a Node object. The object may not be garbage collected until its total reference count is zero."

I don't get the second point in the above statement.

Regrading the vxRemoveNode as per my understanding it completely removes the node from the graph.

In the post condition after calling both the APIs,In the specs they mentioned:

"After returning from this function the reference is zeroed"

Please help me to understand the exact difference between these APIs.

Hemant
  • 123
  • 10

1 Answers1

0

Never used OpenVX. This is what I understand from the documentation:

Catree
  • 2,477
  • 1
  • 17
  • 24
  • Thanks for the reply, You mean to say the if I removed node using vxRemoveNode then I can use it in some other graph but if I release that node using vxReleaseNode then I have to recreate the node. – Hemant Jul 06 '17 at 12:42
  • @Hemant I understand the "opposite": `vxReleaseNode` will only remove / release the current reference whereas `vxRemoveNode` will completely remove the node from the graph. But you should better try yourself. – Catree Jul 06 '17 at 16:15