Creating a new OpenVX* Application Project

Development of an OpenVX* application can be done by creating a regular C project, adding the required include directories and manual writing the setup and teardown of OpenVX* boilerplate code, such as OpenVX* context and graph creation.

Another option is to create an OpenVX* project. Creating an OpenVX* project automatically generates the OpenVX* boilerplate host side code and provide convenient way to create and modify OpenVX* graphs.

An OpenVX* project is a regular C project that consists of several directories and files, as described in this chapter. Some of these files are automatically generated by the tool.

Opening the New OpenVX* Project Wizard

To create a new OpenVX* project, you can use the New OpenVX* Project wizard. Use one of the available options to launch this wizard:

  • Click on the File menu and choose New -> Other… -> OpenVX -> OpenVX Project.
  • Right click anywhere in the Project Explorer and choose New -> Other… -> OpenVX -> OpenVX Project.
  • Click the New button () in the Tool bar and choose OpenVX -> OpenVX Project.

Using the New OpenVX* Project Wizard

In the New OpenVX* Project wizard window:

  • Enter the Project Name
  • Click on the Finish button to create the project

Viewing the Newly Created Project

The Project Explorer shows the newly created OpenVX* project.

The created project contains the following files:

  • main.c - Contains main function code including the setup and teardown of OpenVX* boilerplate host code such as OpenVX* context creation and graph verification.
  • common.c/h - Contains common functionality such as generic functions for keeping track of and releasing of OpenVX* primitives and other allocated objects.
  • Graphs folder - Contains OpenVX* graphs of the application. Each graph is represented by two files (.h and .c). When creating a new application, this folder contains hello_world.c and hello_world.h files for the sample "hello_world"  graph.

When creating an OpenVX* project, the following windows are displayed in the Eclipse main window:

  • Kernels List Window – Contains a list of all available kernels. When new OpenVX* project is created, all the available kernels for the selected OpenVX* runtime are enumerated in the Kernels List Window. The available set of kernels are categorized into sub sections based on the kernel namespaces
  • Graph Designer – Editor area for OpenVX* graph
  • Property Window – Presents the properties of a selected node.

  

Optimization Notice: 
For more complete information about compiler optimizations, see our Optimization Notice.