.. _program_listing_file__tmp_ws_src_vitis_common_include_common_xf_params.hpp: Program Listing for File xf_params.hpp ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/vitis_common/include/common/xf_params.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright 2019 Xilinx, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _XF_PARAMS_H_ #define _XF_PARAMS_H_ #ifndef __cplusplus #error C++ is needed to use this file! #endif #include "ap_int.h" #define __ABS(X) ((X) < 0 ? (-(X)) : (X)) // Channels of an image enum _channel_extract { XF_EXTRACT_CH_0, // Used by formats with unknown channel types XF_EXTRACT_CH_1, // Used by formats with unknown channel types XF_EXTRACT_CH_2, // Used by formats with unknown channel types XF_EXTRACT_CH_3, // Used by formats with unknown channel types XF_EXTRACT_CH_R, // Used to extract the RED channel XF_EXTRACT_CH_G, // Used to extract the GREEN channel XF_EXTRACT_CH_B, // Used to extract the BLUE channel XF_EXTRACT_CH_A, // Used to extract the ALPHA channel XF_EXTRACT_CH_Y, // Used to extract the LUMA channel XF_EXTRACT_CH_U, // Used to extract the Cb/U channel XF_EXTRACT_CH_V // Used to extract the Cr/V/Value channel }; typedef _channel_extract XF_channel_extract_e; // Conversion Policy for fixed point arithmetic enum _convert_policy { XF_CONVERT_POLICY_SATURATE, XF_CONVERT_POLICY_TRUNCATE }; typedef _convert_policy XF_convert_policy_e; // Bit-depth conversion types enum _convert_bit_depth { // Down-convert XF_CONVERT_16U_TO_8U, XF_CONVERT_16S_TO_8U, XF_CONVERT_32S_TO_8U, XF_CONVERT_32S_TO_16U, XF_CONVERT_32S_TO_16S, // Up-convert XF_CONVERT_8U_TO_16U, XF_CONVERT_8U_TO_16S, XF_CONVERT_8U_TO_32S, XF_CONVERT_16U_TO_32S, XF_CONVERT_16S_TO_32S }; typedef _convert_bit_depth XF_convert_bit_depth_e; // Thresholding types enum _threshold_type { XF_THRESHOLD_TYPE_BINARY = 0, XF_THRESHOLD_TYPE_BINARY_INV = 1, XF_THRESHOLD_TYPE_TRUNC = 2, XF_THRESHOLD_TYPE_TOZERO = 3, XF_THRESHOLD_TYPE_TOZERO_INV = 4, }; typedef _threshold_type XF_threshold_type_e; // Thresholding types enum _ccm_type { XF_CCM_bt2020_bt709 = 0, XF_CCM_bt709_bt2020 = 1, XF_CCM_rgb_yuv_601 = 2, XF_CCM_rgb_yuv_709 = 3, XF_CCM_rgb_yuv_2020 = 4, XF_CCM_yuv_rgb_601 = 5, XF_CCM_yuv_rgb_709 = 6, XF_CCM_yuv_rgb_2020 = 7, XF_CCM_full_from_16_235 = 8, XF_CCM_full_to_16_235 = 9, }; typedef _ccm_type XF_ccm_type_e; // Comparision types enum _comparison_op { XF_CMP_EQ = 0, XF_CMP_GT = 1, XF_CMP_GE = 2, XF_CMP_LT = 3, XF_CMP_LE = 4, XF_CMP_NE = 5 }; typedef _comparison_op _comparison_op_e; // Comparision types enum _reduction_op { REDUCE_SUM = 0, REDUCE_AVG = 1, REDUCE_MAX = 2, REDUCE_MIN = 3 }; typedef _reduction_op _reduction_op_e; // Pixel Per Cycle enum _pixel_per_cycle { XF_NPPC1 = 1, XF_NPPC2 = 2, XF_NPPC4 = 4, XF_NPPC8 = 8, XF_NPPC16 = 16, XF_NPPC32 = 32, XF_NPPC64 = 64 }; typedef _pixel_per_cycle XF_nppc_e; // Pixel types enum _pixel_type { XF_8UP = 0, XF_8SP = 1, XF_16UP = 2, XF_16SP = 3, XF_32UP = 4, XF_32SP = 5, XF_19SP = 6, XF_32FP = 7, XF_35SP = 8, XF_24SP = 9, XF_20SP = 10, XF_48SP = 11, XF_2UP = 12, XF_9SP = 13, XF_9UP = 14, XF_24UP = 15, XF_64UP = 16, XF_10UP = 17, XF_12UP = 18, XF_40UP = 19, XF_48UP = 20, XF_30UP = 21, XF_36UP = 22, XF_96FP = 23 }; typedef _pixel_type XF_pixel_type_e; // Word width enum _word_width { XF_2UW = 0, XF_8UW = 1, XF_9UW = 2, XF_10UW = 3, XF_12UW = 4, XF_16UW = 5, XF_19SW = 6, XF_20UW = 7, XF_22UW = 8, XF_24UW = 9, XF_24SW = 10, XF_30UW = 11, XF_32UW = 12, XF_32FW = 13, XF_35SW = 14, XF_36UW = 15, XF_40UW = 16, XF_48UW = 17, XF_48SW = 18, XF_60UW = 19, XF_64UW = 20, XF_72UW = 21, XF_80UW = 22, XF_96UW = 23, XF_96SW = 24, XF_120UW = 25, XF_128UW = 26, XF_144UW = 27, XF_152SW = 28, XF_160UW = 29, XF_160SW = 30, XF_176UW = 31, XF_192UW = 32, XF_192SW = 33, XF_240UW = 34, XF_256UW = 35, XF_280SW = 36, XF_288UW = 37, XF_304SW = 38, XF_320UW = 39, XF_352UW = 40, XF_384UW = 41, XF_384SW = 42, XF_512UW = 43, XF_560SW = 44, XF_576UW = 45, XF_96FW = 46, XF_192FW = 47, XF_384FW = 48, XF_768FW = 49, XF_1536FW = 50 }; typedef _word_width XF_word_width_e; // Filter size enum _filter_size { XF_FILTER_3X3 = 3, XF_FILTER_5X5 = 5, XF_FILTER_7X7 = 7 }; typedef _filter_size XF_filter_size_e; // Radius size for Non Maximum Suppression enum _nms_radius { XF_NMS_RADIUS_1 = 1, XF_NMS_RADIUS_2 = 2, XF_NMS_RADIUS_3 = 3 }; typedef _nms_radius XF_nms_radius_e; // Image Pyramid Parameters enum _image_pyramid_params { XF_PYRAMID_TYPE_GXFSSIAN = 0, XF_PYRAMID_TYPE_LAPLACIAN = 1, XF_PYRAMID_SCALE_HALF = 2, XF_PYRAMID_SCALE_ORB = 3, XF_PYRAMID_SCALE_DOUBLE = 4 }; typedef _image_pyramid_params XF_image_pyramid_params_e; // Magnitude computation enum _normalisation_params { XF_L1NORM = 0, XF_L2NORM = 1 }; typedef _normalisation_params XF_normalisation_params_e; enum _border_type { XF_BORDER_CONSTANT = 0, XF_BORDER_REPLICATE = 1, XF_BORDER_REFLECT = 2, XF_BORDER_WRAP = 3, XF_BORDER_REFLECT_101 = 4, XF_BORDER_TRANSPARENT = 5, XF_BORDER_REFLECT101 = XF_BORDER_REFLECT_101, XF_BORDER_DEFAULT = XF_BORDER_REFLECT_101, XF_BORDER_ISOLATED = 16, }; typedef _border_type XF_border_type_e; enum _structuring_element_shape { XF_SHAPE_RECT = 0, XF_SHAPE_ELLIPSE = 1, XF_SHAPE_CROSS = 2, }; enum _wb_type { XF_WB_GRAY = 0, XF_WB_SIMPLE = 1, }; // Phase computation enum _phase_params { XF_RADIANS = 0, XF_DEGREES = 1 }; typedef _phase_params XF_phase_params_e; // Types of Interpolaton techniques used in resize, affine and perspective enum _interpolation_types { XF_INTERPOLATION_NN = 0, XF_INTERPOLATION_BILINEAR = 1, XF_INTERPOLATION_AREA = 2 }; typedef _interpolation_types _interpolation_types_e; // loop dependent variables used in image pyramid enum _loop_dependent_vars { XF_GXFSSIANLOOP = 8, XF_BUFSIZE = 12 }; typedef _loop_dependent_vars loop_dependent_vars_e; // loop dependent variables used in image pyramid enum _image_size { XF_SDIMAGE = 0, XF_HDIMAGE = 1 }; typedef _image_size image_size_e; // enumerations for HOG feature descriptor enum _input_image_type { XF_GRAY = 1, XF_RGB = 3 }; typedef _input_image_type input_image_type_e; // enumerations for HOG feature descriptor enum _HOG_output_type { XF_HOG_RB = 0, XF_HOG_NRB = 1 }; typedef _HOG_output_type HOG_output_type_e; enum use_model { XF_STANDALONE = 0, XF_PIPELINE = 1 }; typedef use_model use_model_e; // enumerations for HOG feature descriptor enum _HOG_type { XF_DHOG = 0, XF_SHOG = 1 }; typedef _HOG_type HOG_type_e; // enumerations for Stereo BM enum XF_stereo_prefilter_type { XF_STEREO_PREFILTER_SOBEL_TYPE, XF_STEREO_PREFILTER_NORM_TYPE }; /****************************new************************/ // enumerations for Demosaicing enum XF_demosaicing { XF_BAYER_BG, XF_BAYER_GB, XF_BAYER_GR, XF_BAYER_RG, }; // typedef XF_stereo_prefilter_type XF_stereo_pre_filter_type_e; // enum _pixel_percycle //{ // XF_NPPC1 = 0, // XF_NPPC8 = 3, // XF_NPPC16 = 4 //}; // typedef _pixel_percycle XF_nppc_e; // enumerations for Architecture enum _ARCH_type { XF_STREAM = 0, XF_MEMORYMAPPED = 1 }; typedef _ARCH_type _ARCH_type_e; enum _pixeltype { XF_8UC1 = 0, XF_16UC1 = 1, XF_16SC1 = 2, XF_32UC1 = 3, XF_32FC1 = 4, XF_32SC1 = 5, XF_8UC2 = 6, XF_8UC4 = 7, XF_2UC1 = 8, XF_8UC3 = 9, XF_16UC3 = 10, XF_16SC3 = 11, XF_16UC4 = 12, XF_10UC1 = 13, XF_10UC4 = 14, XF_12UC1 = 15, XF_12UC4 = 16, XF_10UC3 = 17, XF_12UC3 = 18, XF_32FC3 = 19 }; typedef _pixeltype XF_npt_e; enum _ramtype { RAM_1P_BRAM = 0, RAM_1P_LUTRAM = 1, RAM_1P_URAM = 2, RAM_2P_BRAM = 3, RAM_2P_LUTRAM = 4, RAM_2P_URAM = 5, RAM_S2P_BRAM = 6, RAM_S2P_LUTRAM = 7, RAM_S2P_URAM = 8, RAM_T2P_BRAM = 9, RAM_T2P_URAM = 10 }; typedef _ramtype XF_ramtype_e; #endif //_XF_PARAMS_H_