Giter VIP home page Giter VIP logo

openvx-registry's Introduction

OpenVX-Registry

The OpenVX-Registry repository contains the OpenVX API and Extension Registry, including specifications.

It is also used as a backing store for the web view of the registry at https://www.khronos.org/registry/OpenVX/ ; commits to the main branch of this repository will be reflected there.

NOTE: as of 2021-08-09, the default branch of this repository has been renamed from 'master' to 'main'.

Please do not file issues against the OpenVX API, extensions, or headers in this repository. Such issues should be filed in the separate https://github.com/KhronosGroup/OpenVX-api-docs repository. The only issues appropriate for this repository are regarding technical problems such as broken links, missing content, etc.

In the past, the OpenVX registry was maintained in a public Subversion repository. The history in that repository has not been imported to github, but it is still available at https://cvs.khronos.org/svn/repos/registry/trunk/public/vx/ .

Interesting files in this repository include:

  • index.php - toplevel index page for the web view. This relies on PHP include files found elsewhere on www.khronos.org and so is not very useful in isolation.
  • api/ - OpenVX header files
  • extensions/ - OpenVX extension specifications, grouped into vendor-specific subdirectories.
  • sample/ - OpenVX sample implementations.
  • schema/ - OpenVX XML Schema
  • specs/ - OpenVX specification documents.

Adding Extension Specifications

Extension specification documents can be added by proposing a pull request adding the specification HTML files under extensions/extension_name/ . You must also:

  • Add a link from the extensions section of index.php to the extension document, so it shows up in the web view.

License

The license terms and conditions for Khronos specifications, including all the specifications in this registry, can be found at https://www.khronos.org/legal/Khronos_Specification_Copyright_License_Header

openvx-registry's People

Contributors

fbrill3 avatar jessegv avatar kiritigowda avatar oddhack avatar outofcontrol avatar rgiduthuri avatar schtomerintel avatar tlepley-cadence avatar xwang-git avatar ylx-lance avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openvx-registry's Issues

Visual Studio build failure for OpenVX 1.2 sample implementation

OpenVX 1.2 sample implementation doesn't build with Visual Studio 2017.
Did anyone try to build it for Visual Studio?
As one can see from the output below, errors refer to

  • doing pointer arithmetic with void*
  • using arrays of variable size.

Severity Code Description Project File Line Suppression State
Error C2133 'ptr': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_copy.c 401
Error C2133 'space_weight': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 34
Error C2133 'space_weight': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 94
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 67
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 68
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 75
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 127
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 128
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 135
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_matchtemplate.c 287
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_matchtemplate.c 299
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_tensor_lut.c 34
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_tensor_lut.c 35
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_tensor_lut.c 45
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_tensor_lut.c 46
Error C2036 'void *': unknown size openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_tensor_transpose.c 56
Error C2466 cannot allocate an array of constant size 0 openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 34
Error C2466 cannot allocate an array of constant size 0 openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 94
Error C2466 cannot allocate an array of constant size 0 openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_copy.c 401
Error LNK1181 cannot open input file '......\kernels\c_model\Debug\openvx-c_model-lib.lib' openvx-c_model C:\openvx_sampleBIN\sample\targets\c_model\LINK 1
Error C2057 expected constant expression openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 34
Error C2057 expected constant expression openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_bilateral_filter.c 94
Error C2057 expected constant expression openvx-c_model-lib C:\openvx_sample\kernels\c_model\c_copy.c 401

ECCN for openvx

Hi, For documentation purpose and project release process we need the Export control classification number(ECCN) for openvx if it applies. Can you please let me know the ECCN ?

Katex parsing error and broken link in OpenVX 1.3 Provisional Spec HTML

Accumulate Node creates Loop.

The definition of the Graph object says the it "Does Not loop back" Does a Accumulate node not loop back to it's input?

Error 404 - missing html files

The following files appear to be missing from the OpenVX Register on khronos.org:

https://www.khronos.org/registry/OpenVX/specs/1.0.1/html/d8/d69/d8/d69/group__group__node__callback.html
https://www.khronos.org/registry/OpenVX/specs/1.0.1/html/df/d09/df/d09/group__group__image.html
https://www.khronos.org/registry/OpenVX/specs/1.0/html/d8/d69/d8/d69/group__group__node__callback.html
https://www.khronos.org/registry/OpenVX/specs/1.0/html/df/d09/df/d09/group__group__image.html
https://www.khronos.org/registry/OpenVX/specs/1.1/html/d4/dae/db/dba/group__group__matrix.html
https://www.khronos.org/registry/OpenVX/specs/1.1/html/d6/d28/d6/d28/group__group__hint.html
https://www.khronos.org/registry/OpenVX/specs/1.1/html/d8/d69/d8/d69/group__group__node__callback.html
https://www.khronos.org/registry/OpenVX/specs/1.1/html/df/d09/df/d09/group__group__image.html
https://www.khronos.org/registry/OpenVX/specs/1.2/html/d0/de3/citelist.html
https://www.khronos.org/registry/OpenVX/specs/1.2/html/d4/dae/db/dba/group__group__matrix.html
https://www.khronos.org/registry/OpenVX/specs/1.2/html/d6/d28/d6/d28/group__group__hint.html
https://www.khronos.org/registry/OpenVX/specs/1.2/html/d8/d69/d8/d69/group__group__node__callback.html
https://www.khronos.org/registry/OpenVX/specs/1.2/html/df/d09/df/d09/group__group__image.html
https://www.khronos.org/registry/OpenVX/specs/1.3/OpenVX_Specification_1_3.html

BilateralFilter function

Problem

  1. The input tensor may have 2 or 3 dimensions.
    In case of 3 dimensions the size of the first dimension can be 1 or 2.
    Why it can be changed from 1 to 20 in CTS?
  2. According to documentation supported border mode shall be replicate or constant. Why it is set to undefined in CTS? Since it is undefined in CTS, then why the resulting values of borders are still checked?
  3. In case of 3 dimensions the first dimension is "radiometric" and the filtering goes by summing averaged weighted pixels in the window.
    Weight for every pixel in the window depends on the distance to the center of the window and on the difference in radiometric space between these two pixels.
    Why is radiometric space ignored in CTS?

Links

  1. Standard
  2. Conformance Tests

Renaming master -> main branch scheduled for 2021-08-09

@rgiduthuri @kiritigowda and other interested parties: heads-up that I propose to rename the default branch of this repository to 'main' on or after 2021-08-09, following emerging Khronos & github practice. This will have very little impact, although if you have a checked-out repository clone, you may want to follow the simple instructions github will pop up on the repository webpage describing how to do the same locally.

If there is a concern about this, please raise it here by 2021-08-06.

HOGFeatures function

Problem

  1. Why the third features' dimension aren't the same in CTS and in documentation? (therefore, the further formation of the output tensor is incorrect)

    e.g. in CTS for the size of the third features' dimension it's not enough multiplication by (cells_per_block_w * cells_per_block_h)

  2. In CTS TEST(HogFeatures, testNodeCreation): why bins_dims is passed instead of features' dimensions?

Links

  1. Standard
  2. Conformance Tests

Test case errors while running Example VxTest suite

Hi,
We downloaded the latest available openVx sample code (openvx_sample_1.2.tar.bz2), built the sample libraries and ran the generated unit test executable as listed in the README file (..\openvx_sample_1.2\openvx_sample\README) . Note that our environment is Linux. On running the executable, the log is as follows :

[VX_TEST] Kernels:64 Modules:1 Refs:92
[PASSED][00] Framework: Load XYZ Extension
[PASSED][01] Framework: Load Kernel Node
[FAILED][02] Framework: Copy, error = -12
[FAILED][03] Framework: Copy Virtual, error = -12
[FAILED][04] Framework: Heads, error = -12
[FAILED][05] Framework: Unvisited, error = -12
[FAILED][06] Framework: Virtual Image, error = -12
[vx_test_framework_delay_graph:876] Passed!
[FAILED][07] Framework: Delay, error = -12
[PASSED][08] Framework: Kernels
[FAILED][09] Direct: Copy Image, error = -12
[FAILED][10] Direct: Copy External Image, error = -12
[FAILED][11] Graph: ColorBars YUV, error = -12
Found 0 differences between images (status=0)
[FAILED][12] Graph: ColorBars RGB, error = -12
Min Value in AbsDiff = 0, at 285,40
Max Value in AbsDiff = 81, at 32,32
AbsDiff Mean = 43.941765
AbsDiff Stddev = 23.627544
histogram[0] = 2623
histogram[1] = 2589
histogram[2] = 2235
histogram[3] = 2371
histogram[4] = 2805
histogram[5] = 2685
histogram[6] = 2849
histogram[7] = 2938
histogram[8] = 2988
histogram[9] = 4863
histogram[10] = 4142
histogram[11] = 3359
histogram[12] = 3744
histogram[13] = 3776
histogram[14] = 3701
histogram[15] = 12332
[FAILED][13] Graph: bikegray, error = -12
Nodes[0] average exec: 0.034ms
Nodes[1] average exec: 14.983ms
Nodes[2] average exec: 1.871ms
Nodes[3] average exec: 3.625ms
Nodes[4] average exec: 4.208ms
Nodes[5] average exec: 3.390ms
Nodes[6] average exec: 1.457ms
Nodes[7] average exec: 2.159ms
Nodes[8] average exec: 12.929ms
Nodes[9] average exec: 0.798ms
Nodes[10] average exec: 1.702ms
Nodes[11] average exec: 0.064ms
Nodes[12] average exec: 0.076ms
Nodes[13] average exec: 0.067ms
Nodes[14] average exec: 0.118ms
Nodes[15] average exec: 0.125ms
Nodes[16] average exec: 0.110ms
Nodes[17] average exec: 0.068ms
Nodes[18] average exec: 0.051ms
Nodes[19] average exec: 0.067ms
Graph average exec: 47.911ms
[FAILED][14] Graph: Lena, error = -12
Multiple writers failed with -23!
[FAILED][15] Graph: Accumulates, error = -12
[FAILED][16] Graph: Bitwise, error = -12
[FAILED][17] Graph: Arithmetic, error = -12
There are 0 number of points in the harris array!
There are 482 number of points in the fast array!
Rectangle from Gaussian is {1, 1, 159, 119}
[FAILED][18] Graph: Corners, error = -12
[PASSED][19] Graph: Tracker
Passed 4 out of 20

                Note in the above failures list (all 16 of them) that the error status is always -12 (i.e VX_ERROR_INVALID_REFERENCE) . Can someone please throw some light on what could be leading to this error for the 16 example blocks? Your help is much appreciated.

Thanks,
Srinivas

enum values VX_CONTEXT_TARGETS and VX_CONTEXT_IMMEDIATE_BORDER_POLICY are equal

Issue in openvx_sample_1.1.tar.bz2
VX_CONTEXT_TARGETS defined at openvx_sample/include/VX/vx_ext_target.h, line 57 as :
VX_CONTEXT_TARGETS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xC

VX_CONTEXT_TARGETS defined at openvx_sample/include/VX/vx_types.h, line 806 as :
VX_CONTEXT_IMMEDIATE_BORDER_POLICY = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xC

Fix:
VX_CONTEXT_TARGETS defined at openvx_sample/include/VX/vx_ext_target.h, line 57 should be :
VX_CONTEXT_TARGETS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_TARGET) + 0xC

Typo error in OpenVX_Specification_1_2_1 "2.8.6. Graph Formalisms"

Below text should be changed to as "Input typing - Every input edge (Dx,Ny) requires Type(Ny, Name(Dx,Ny)) in {INPUT} or {INOUT}"

https://www.khronos.org/registry/OpenVX/specs/1.2.1/OpenVX_Specification_1_2_1.html#sec_data_virtual
2.8.6. Graph Formalisms
Output typing - Every output edge (Nx,Dy) requires Type(Nx, Name(Nx,Dy)) in {OUTPUT, INOUT}
Input typing - Every input edge (Nx,Dy) requires Type(Ny, Name(Dx,Ny)) in {INPUT} or {INOUT}

MatchTemplate function

Problem:

Error in the dimensions of the output map in CTS(OpenVX Conformance Test Suite).

Quote from standard:

The output of the template matching node is a comparison map. The output comparison map should be the same size as the input image.

Why in CTS the output map has following dimensions:

result_width = source_width - template_width + 1 ,
result_height = source_height - template_height + 1

instead of (source_width, source_height) ?

Links:

  1. Standard
  2. Conformance Tests

Convert C code to OpenVX

Hi all,
Please guide me in converting a C/ C++ code to OpenVX 1.1 format. I am a newbie to this and any insight regarding this will be helpful.
@rgiduthuri
Thanks,
Padmasree N.

Size of laplacian pyramid?

Hello everyone,
I have a question about the size of the laplacian pyramid.
According to the specification of the khronos, the Laplacian level Li is computed as:

Li = Gi - UpSample(Gi+1). (1)

UpSample(I) is computed by injecting even zero rows and columns and then convolves the result with the Gaussian 5x5 filter multiplied by 4.

After upsample, size of image is 2 times the original size. But to create Gi+1 we need to downsample using VX_INTERPOLATION_NEAREST_NEIGHBOR. After downsample, size of downsample image is ceil(size of prev image * scale).

For example, i have an image 9x9:

  • Apply gaussian and downsample: ceil(9x9 * 0.5) = 5x5
  • Apply laplacian: 5x5 *2 = 10x10.

In fomula 1, Gi has size 9x9, upsample(gi+1) has size 10x10
so how much will Li have? (9x9 or 10x10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.