vx.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * Copyright (c) 2012-2017 The Khronos Group Inc.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #ifndef _OPENVX_H_
  17. #define _OPENVX_H_
  18. /*!
  19. * \file
  20. * \brief The top level OpenVX Header.
  21. */
  22. /*! \brief Defines the length of the implementation name string, including the trailing zero.
  23. * \ingroup group_context
  24. */
  25. #define VX_MAX_IMPLEMENTATION_NAME (64)
  26. /*! \brief Defines the length of a kernel name string to be added to OpenVX, including the trailing zero.
  27. * \ingroup group_kernel
  28. */
  29. #define VX_MAX_KERNEL_NAME (256)
  30. /*! \brief Defines the length of a message buffer to copy from the log, including the trailing zero.
  31. * \ingroup group_basic_features
  32. */
  33. #define VX_MAX_LOG_MESSAGE_LEN (1024)
  34. /*! \brief Defines the length of the reference name string, including the trailing zero.
  35. * \ingroup group_reference
  36. * \see vxSetReferenceName
  37. */
  38. #define VX_MAX_REFERENCE_NAME (64)
  39. #include <VX/vx_vendors.h>
  40. #include <VX/vx_types.h>
  41. #include <VX/vx_kernels.h>
  42. #include <VX/vx_api.h>
  43. #include <VX/vx_nodes.h>
  44. /*! \brief Defines the major version number macro.
  45. * \ingroup group_basic_features
  46. */
  47. #define VX_VERSION_MAJOR(x) ((x & 0xFF) << 8)
  48. /*! \brief Defines the minor version number macro.
  49. * \ingroup group_basic_features
  50. */
  51. #define VX_VERSION_MINOR(x) ((x & 0xFF) << 0)
  52. /*! \brief Defines the predefined version number for 1.0.
  53. * \ingroup group_basic_features
  54. */
  55. #define VX_VERSION_1_0 (VX_VERSION_MAJOR(1) | VX_VERSION_MINOR(0))
  56. /*! \brief Defines the predefined version number for 1.1.
  57. * \ingroup group_basic_features
  58. */
  59. #define VX_VERSION_1_1 (VX_VERSION_MAJOR(1) | VX_VERSION_MINOR(1))
  60. /*! \brief Defines the predefined version number for 1.2.
  61. * \ingroup group_basic_features
  62. */
  63. #define VX_VERSION_1_2 (VX_VERSION_MAJOR(1) | VX_VERSION_MINOR(2))
  64. /*! \brief Defines the OpenVX Version Number.
  65. * \ingroup group_basic_features
  66. */
  67. #define VX_VERSION VX_VERSION_1_2
  68. #endif