From acd9a9e13aeb53f54aff2c1d40af71beb399e619 Mon Sep 17 00:00:00 2001 From: SDA USR <1391+sdausr@users.noreply.gitenterprise.xilinx.com> Date: Thu, 19 Oct 2023 09:58:02 +0800 Subject: [PATCH] Squashed 'vision' changes from 63ab88e..b1c2f1c (#972) b1c2f1c Removed compare, compareS tests 7b3be51 Update releasenotesxfopencv.rst 386de98 Merge pull request #644 from mounikk/next 5ce5940 created compare and compareS test cases 8a020a6 Merge pull request #643 from yuanqian/add_stacksize_1 2e30063 try to fix Software emulation of compute unit(s) exited unexpectedly 805a939 Moved aie-ml tests to aie_dev2 branch aa01097 Merge pull request #573 from turrahma/rgba2grey 671266d Merge pull request #575 from turrahma/pixelwise 3597e08 Merge pull request #641 from mounikk/next 089e8fc udpated doc 7c68f11 udpated doc f3115cc clang format applied 632c5c6 updated ltm constructor 9b24c67 udpated doc file 6507025 Added pixelwise select with background pl case 70f441c Added pixelwise select no background pl case 7e9da9b Updated test names in GMIO cases 230b188 Clang formatting applied 3fec785 Updated description.json 31fbe6c Added pixelwise select gmio test with background 24b7f5c Added pixelwise select gmio test and kernel 75c2c1e clanfg formatted 66b1f96 Clang formatted. 70964e1 Removed print statements 6247c08 added rgba2grey for aie-ml Co-authored-by: sdausr --- .../aie-ml/imgproc/xf_pixelwise_select.hpp | 153 +++++++++ .../include/aie-ml/imgproc/xf_rgba2gray.hpp | 136 ++++++++ vision/L1/include/imgproc/xf_ltm.hpp | 20 ++ .../isp_24bit_decompand/description.json | 1 + vision/docs/src/api-reference.rst | 309 ++++++++++-------- vision/docs/src/releasenotesxfopencv.rst | 7 +- 6 files changed, 488 insertions(+), 138 deletions(-) create mode 100644 vision/L1/include/aie-ml/imgproc/xf_pixelwise_select.hpp create mode 100644 vision/L1/include/aie-ml/imgproc/xf_rgba2gray.hpp diff --git a/vision/L1/include/aie-ml/imgproc/xf_pixelwise_select.hpp b/vision/L1/include/aie-ml/imgproc/xf_pixelwise_select.hpp new file mode 100644 index 0000000000..632ccbf762 --- /dev/null +++ b/vision/L1/include/aie-ml/imgproc/xf_pixelwise_select.hpp @@ -0,0 +1,153 @@ +/* + * Copyright 2021 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_PIXELWISE_SELECT_ +#define __XF_PIXELWISE_SELECT_ + +#include +#include +#include +#include + +#include + +namespace xf { +namespace cv { +namespace aie { + +class PixelwiseSelect { + public: + void runImpl(adf::input_buffer& frame, + adf::input_buffer& mask, + adf::output_buffer& output); + void runImpl(adf::input_buffer& in_frame, + adf::input_buffer& mask, + adf::input_buffer& bg_frame, + adf::output_buffer& output); + void xf_pixel_wise_select(uint8_t* frame, uint8_t* mask, int16 height, int16 width, uint8_t* output); + void xf_pixel_wise_select( + uint8_t* in_frame, uint8_t* mask, uint8_t* bg_frame, int16 height, int16 width, uint8_t* output); +}; + +__attribute__((noinline)) void PixelwiseSelect::xf_pixel_wise_select( + uint8_t* frame, uint8_t* mask, int16 height, int16 width, uint8_t* output) { + const int16 image_width = width; + const int16 image_height = height; + + uint8_t* restrict _frame = (uint8_t*)(frame); + uint8_t* restrict _mask = (uint8_t*)(mask); + uint8_t* restrict _output = (uint8_t*)(output); + int16_t num_vectors = image_width >> 5; + + ::aie::vector vec_x; + ::aie::vector vec_x1; + ::aie::vector ones = ::aie::broadcast(1); + ::aie::vector t1; + + ::aie::accum acc_x; + + for (int i = 0; i < image_height * num_vectors; i++) chess_prepare_for_pipelining chess_loop_range(1, ) { + vec_x = ::aie::load_v<32>(_frame); + vec_x1 = ::aie::load_v<32>(_mask); + acc_x = ::aie::mul(vec_x, vec_x1); + ::aie::store_v(_output, acc_x.template to_vector(0)); + _frame += 32; + _mask += 32; + _output += 32; + } +} + +__attribute__((noinline)) void PixelwiseSelect::xf_pixel_wise_select( + uint8_t* in_frame, uint8_t* mask, uint8_t* bg_frame, int16 height, int16 width, uint8_t* output) { + const int16 image_width = width; + const int16 image_height = height; + + uint8_t* restrict _in_frame = (uint8_t*)(in_frame); + uint8_t* restrict _bg_frame = (uint8_t*)(bg_frame); + uint8_t* restrict _mask = (uint8_t*)(mask); + uint8_t* restrict _output = (uint8_t*)(output); + int16_t num_vectors = image_width >> 5; + + ::aie::vector vec_in; + ::aie::vector vec_bg; + ::aie::vector vec_m; + ::aie::vector vec_out; + + for (int i = 0; i < image_height * num_vectors; i++) chess_prepare_for_pipelining chess_loop_range(1, ) { + vec_in = ::aie::load_v<32>(_in_frame); + vec_bg = ::aie::load_v<32>(_bg_frame); + vec_m = ::aie::load_v<32>(_mask); + auto mask_val = ::aie::gt(vec_m, (uint8_t)0); + vec_out = ::aie::select(vec_bg, vec_in, mask_val); + ::aie::store_v(_output, vec_out); + _in_frame += 32; + _bg_frame += 32; + _mask += 32; + _output += 32; + } +} + +void PixelwiseSelect::runImpl(adf::input_buffer& frame, + adf::input_buffer& mask, + adf::output_buffer& output) { + uint8_t* f = (uint8_t*)::aie::begin(frame); + uint8_t* m = (uint8_t*)::aie::begin(mask); + uint8_t* o = (uint8_t*)::aie::begin(output); + + int height = xfGetTileHeight(f); + int width = xfGetTileWidth(f); + + xfCopyMetaData(f, o); + + uint8_t* f_ptr = (uint8_t*)xfGetImgDataPtr(f); + uint8_t* m_ptr = (uint8_t*)xfGetImgDataPtr(m); + uint8_t* o_ptr = (uint8_t*)xfGetImgDataPtr(o); + + ::aie::vector vv = ::aie::broadcast(width); + ::aie::print(vv, true, "width:"); + + vv = ::aie::broadcast(height); + ::aie::print(vv, true, "height:"); + xf_pixel_wise_select(f_ptr, m_ptr, height, width, o_ptr); +} + +void PixelwiseSelect::runImpl(adf::input_buffer& in_frame, + adf::input_buffer& mask, + adf::input_buffer& bg_frame, + adf::output_buffer& output) { + uint8_t* f = (uint8_t*)::aie::begin(in_frame); + uint8_t* m = (uint8_t*)::aie::begin(mask); + uint8_t* b = (uint8_t*)::aie::begin(bg_frame); + uint8_t* o = (uint8_t*)::aie::begin(output); + + int height = xfGetTileHeight(f); + int width = xfGetTileWidth(f); + + xfCopyMetaData(f, o); + + uint8_t* f_ptr = (uint8_t*)xfGetImgDataPtr(f); + uint8_t* m_ptr = (uint8_t*)xfGetImgDataPtr(m); + uint8_t* b_ptr = (uint8_t*)xfGetImgDataPtr(b); + uint8_t* o_ptr = (uint8_t*)xfGetImgDataPtr(o); + + xf_pixel_wise_select(f_ptr, m_ptr, b_ptr, height, width, o_ptr); +} + +} // namespace aie +} // namespace cv +} // namespace xf + +#endif \ No newline at end of file diff --git a/vision/L1/include/aie-ml/imgproc/xf_rgba2gray.hpp b/vision/L1/include/aie-ml/imgproc/xf_rgba2gray.hpp new file mode 100644 index 0000000000..1c80c650ce --- /dev/null +++ b/vision/L1/include/aie-ml/imgproc/xf_rgba2gray.hpp @@ -0,0 +1,136 @@ +/* + * Copyright 2022 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. + */ + +#include +#include +#include +#include +//#include +// #include +// #include + +#ifndef __XF_RGBA2GRAY__HPP__ +#define __XF_RGBA2GRAY__HPP__ + +namespace xf { +namespace cv { +namespace aie { + +class Rgba2Gray { + private: + static constexpr int VECTORIZATION_FACTOR = 32; + + public: + void runImpl(adf::input_buffer& in, adf::output_buffer& out); + void xf_rgba2gray(uint8_t* ptr1, uint8_t* out_ptr, uint16_t tile_width, uint16_t tile_height); +}; + +__attribute__((noinline)) void Rgba2Gray::xf_rgba2gray(uint8_t* restrict ptr1, + uint8_t* restrict ptr_out, + uint16_t tile_width, + uint16_t tile_height) { + ::aie::vector wt(77, 150, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + ::aie::vector wt_blue = ::aie::broadcast(29); + ::aie::vector rgba_channel0, rgba_channel1, rgba_channel3, rgba_channel2; + ::aie::vector r, g, b, gray; + ::aie::accum acc; + uint16_t more_pixels = 0, loop_count; + loop_count = (tile_height * tile_width) >> 5; // Divide by VECTORIZATION-FACTOR - ASSUMING VEC-FACT = 32* + + for (int j = 0; j < loop_count; j += 1) { + // READ 32-bit RGBA channels of 32 pixels. Total 1024 bits. + rgba_channel0 = ::aie::load_v<32>(ptr1); + ptr1 += 32; + rgba_channel1 = ::aie::load_v<32>(ptr1); + ptr1 += 32; + rgba_channel2 = ::aie::load_v<32>(ptr1); + ptr1 += 32; + rgba_channel3 = ::aie::load_v<32>(ptr1); + ptr1 += 32; + + // Unzip the interleaved channels + auto[rg_temp, ba_temp] = ::aie::interleave_unzip(::aie::concat(rgba_channel0, rgba_channel1), + ::aie::concat(rgba_channel2, rgba_channel3), 2); + r = ::aie::filter_even(rg_temp, 1); + g = ::aie::filter_odd(rg_temp, 1); + b = ::aie::filter_even(ba_temp, 1); + + // MAC operations and store + acc = ::aie::mul(b, wt_blue); + acc = ::aie::accumulate(acc, wt, 0, r, g); + gray = acc.template to_vector(8); + ::aie::store_v((uint8_t*)ptr_out, gray); + ptr_out = ptr_out + VECTORIZATION_FACTOR; + } + + // Check if more pixels to be processed? // No. of more pixels to be processed + more_pixels = (tile_height * tile_width) - (loop_count * VECTORIZATION_FACTOR); + + // If more pixels to be processed, then move the pointers back so that we have 32 pixels to process + if (more_pixels != 0) { + // Find the pixel-shift requried to process 32 pixels at once + more_pixels = VECTORIZATION_FACTOR - more_pixels; + + // Each input pixel is 32 bit (4 uint8_t). So pointer moved back with (pixel-shift*4) + ptr1 = ptr1 - (more_pixels << 2); + + // Each output pixel is 8 bit (1 uint8_t). So pointer moved back with (pixel-shift*1) + ptr_out = ptr_out - more_pixels; + + // Repeat as above loop + rgba_channel0 = ::aie::load_unaligned_v<32>(ptr1); + ptr1 += 32; + rgba_channel1 = ::aie::load_unaligned_v<32>(ptr1); + ptr1 += 32; + rgba_channel2 = ::aie::load_unaligned_v<32>(ptr1); + ptr1 += 32; + rgba_channel3 = ::aie::load_unaligned_v<32>(ptr1); + auto[rg_temp, ba_temp] = ::aie::interleave_unzip(::aie::concat(rgba_channel0, rgba_channel1), + ::aie::concat(rgba_channel2, rgba_channel3), 2); + r = ::aie::filter_even(rg_temp, 1); + g = ::aie::filter_odd(rg_temp, 1); + b = ::aie::filter_even(ba_temp, 1); + + acc = ::aie::mul(b, wt_blue); + acc = ::aie::accumulate(acc, wt, 0, r, g); + gray = acc.template to_vector(8); + ::aie::store_unaligned_v((uint8_t*)ptr_out, gray); + } +} + +void Rgba2Gray::runImpl(adf::input_buffer& in, adf::output_buffer& out) { + uint8_t* img_in = (uint8_t*)::aie::begin(in); + uint8_t* img_out = (uint8_t*)::aie::begin(out); + + int16_t tile_width = xfGetTileWidth(img_in); + int16_t tile_height = xfGetTileHeight(img_in); + + if (tile_width == 0 || tile_height == 0) return; + + xfCopyMetaData(img_in, img_out); + xfSetTileWidth(img_out, tile_width); + + xfUnsignedSaturation(img_out); + + uint8_t* in_ptr = (uint8_t*)xfGetImgDataPtr(img_in); + uint8_t* out_ptr = (uint8_t*)xfGetImgDataPtr(img_out); + + xf_rgba2gray(in_ptr, out_ptr, tile_width, tile_height); +} +} // aie +} // cv +} // xf +#endif diff --git a/vision/L1/include/imgproc/xf_ltm.hpp b/vision/L1/include/imgproc/xf_ltm.hpp index e9f1239e3c..9e8ded1581 100644 --- a/vision/L1/include/imgproc/xf_ltm.hpp +++ b/vision/L1/include/imgproc/xf_ltm.hpp @@ -218,6 +218,26 @@ class LTM { LTM() { assert(!is_floating_point::value); } + LTM(xf::cv::Mat& in, + XF_CTUNAME(IN_TYPE, NPC) omin_r[MinMaxVArrSize][MinMaxHArrSize], + XF_CTUNAME(IN_TYPE, NPC) omax_r[MinMaxVArrSize][MinMaxHArrSize], + XF_CTUNAME(IN_TYPE, NPC) omin_w[MinMaxVArrSize][MinMaxHArrSize], + XF_CTUNAME(IN_TYPE, NPC) omax_w[MinMaxVArrSize][MinMaxHArrSize], + xf::cv::Mat& out) { + process(in, omin_r, omax_r, omin_w, omax_w, out); + } + + LTM(xf::cv::Mat& in, + int block_rows, + int block_cols, + XF_CTUNAME(IN_TYPE, NPC) omin_r[MinMaxVArrSize][MinMaxHArrSize], + XF_CTUNAME(IN_TYPE, NPC) omax_r[MinMaxVArrSize][MinMaxHArrSize], + XF_CTUNAME(IN_TYPE, NPC) omin_w[MinMaxVArrSize][MinMaxHArrSize], + XF_CTUNAME(IN_TYPE, NPC) omax_w[MinMaxVArrSize][MinMaxHArrSize], + xf::cv::Mat& out) { + process(in, block_rows, block_cols, omin_r, omax_r, omin_w, omax_w, out); + } + // Limit implementation SFINAE principal [[ template ::value>::type* = nullptr> static constexpr XF_CTUNAME(IN_TYPE, NPC) LOW() { diff --git a/vision/L3/examples/isp_24bit_decompand/description.json b/vision/L3/examples/isp_24bit_decompand/description.json index 8ff7a71308..8aa918f49e 100755 --- a/vision/L3/examples/isp_24bit_decompand/description.json +++ b/vision/L3/examples/isp_24bit_decompand/description.json @@ -182,6 +182,7 @@ ], "testinfo": { "disable": false, + "stacksize": 16384, "jobs": [ { "index": 0, diff --git a/vision/docs/src/api-reference.rst b/vision/docs/src/api-reference.rst index 527821c493..13183f838f 100644 --- a/vision/docs/src/api-reference.rst +++ b/vision/docs/src/api-reference.rst @@ -832,8 +832,9 @@ The following table describes the template and the function parameters. | | using a multiple of 8, for an 8-pixel operation. | +-----------------+----------------------------------------------------+ | NPC | Number of pixels to be processed per cycle; | - | | possible options are XF_NPPC1 and XF_NPPC8 for 1 | - | | pixel and 8 pixel operations respectively. | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixels operations respectively. | +-----------------+----------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image | +-----------------+----------------------------------------------------+ @@ -968,9 +969,10 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image (must be | | | multiple of 8, for 8-pixel operation) | +-----------------+--------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixels and 8 pixel operations respectively. | +-----------------+--------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image | +-----------------+--------------------------------------------------------+ @@ -1105,9 +1107,10 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image. Recommend | | | multiples of 8, for an 8-pixel operation. | +-----------------+--------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------+--------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image | +-----------------+--------------------------------------------------------+ @@ -1231,8 +1234,8 @@ The following table describes the template and the function parameters. | | XF_CONVERT_POLICY_SATURATE or | | | XF_CONVERT_POLICY_TRUNCATE. | +----------------+------------------------------------------------------+ - | SRC_T | Input pixel type. 8-bit, unsigned, 1 channel is | - | | supported (XF_8UC1). | + | SRC_T | Pixel type. Options are XF_8UC1, XF_8UC3, XF_16SC3 | + | | , and XF_16SC1. | +----------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +----------------+------------------------------------------------------+ @@ -1335,20 +1338,21 @@ The following table describes the template and the function parameters. +-----------------+------------------------------------------------------+ | Parameter | Description | +=================+======================================================+ - | SRC_T | Input Pixel Type. 8-bit, unsigned,1 channel is | - | | supported (XF_8UC1) | + | SRC_T | Input Pixel Type. XF_8UC1,XF_8UC3 are | + | | supported | +-----------------+------------------------------------------------------+ - | DST_T | Output Pixel Type. 8-bit, unsigned,1 channel is | - | | supported (XF_8UC1) | + | DST_T | Output Pixel Type. XF_8UC1,XF_8UC3 are | + | | supported | +-----------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image | +-----------------+------------------------------------------------------+ | COLS | Maximum width of input and output image. In case of | | | N-pixel parallelism, width should be multiple of N | +-----------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------+------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image | +-----------------+------------------------------------------------------+ @@ -1448,11 +1452,11 @@ The following table describes template parameters and arguments of the function. +------------------+------------------------------------------------------+ | Parameter | Description | +==================+======================================================+ - | SRC_T | Input pixel type. 8-bit unsigned 3 channel is | - | | supported (XF_8UC3). | + | SRC_T | Input pixel type. XF_8UC3 ,XF_16UC3 are | + | | supported | +------------------+------------------------------------------------------+ - | DST_T | Output pixel type. 8-bit unsigned 3 channel is | - | | supported (XF_8UC3). | + | DST_T | Output pixel type. XF_8UC3 ,XF_16UC3 are | + | | supported | +------------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image | +------------------+------------------------------------------------------+ @@ -1461,8 +1465,12 @@ The following table describes template parameters and arguments of the function. +------------------+------------------------------------------------------+ | SIN_CHANNEL_TYPE | Single channel type. should be XF_8UC1 | +------------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options is XF_NPPC1, XF_NPPC2 AND so on | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | + +------------------+------------------------------------------------------+ + | USE_URAM | Enable to map storage structures to UltraRAM. | +------------------+------------------------------------------------------+ | XFCVDEPTH_IN | Depth of input image | +------------------+------------------------------------------------------+ @@ -1579,20 +1587,22 @@ The following table describes the template and the function parameters. +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Description | +=================+==============================================================================================================================+ - | SRC_T | Input Pixel Type. | + | SRC_T | Input Pixel Type.XF_8UC3,XF_16UC3 are supported | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ - | DST_T | Output Pixel Type. | + | DST_T | Output Pixel Type.XF_8UC3,XF_16UC3 are supported | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | ROWS | Maximum height of input and output image (Must be multiple of NPC) | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | COLS | Maximum width of input and output image (Must be multiple of NPC) | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ - | NPC | Number of Pixels to be processed per cycle. | + | NPC | Number of Pixels to be processed per cycle.XF_NPPC1,XF_NPPC2,XF_NPPC4 and XF_NPPC8. | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | WB_TYPE | White balance type. Supported types are Gray world and simple. | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | HIST_SIZE | Histogram size. | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ + | USE_URAM | Enable to map storage structures to UltraRAM. | + +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +-----------------+------------------------------------------------------------------------------------------------------------------------------+ | XFCVDEPTH_OUT_1 | Depth of output image | @@ -1680,13 +1690,14 @@ The following table describes the template and the function parameters. +-------------------+-----------------------------------------------------------------------+ | Parameter | Description | +===================+=======================================================================+ - | TYPE | Input and Output Pixel Type. | + | TYPE | Input and Output Pixel Type.XF_8UC1,XF_16UC1 are supported | +-------------------+-----------------------------------------------------------------------+ | ROWS | Maximum height of input and output image (Must be multiple of NPPC) | +-------------------+-----------------------------------------------------------------------+ | COLS | Maximum width of input and output image (Must be multiple of NPPC) | +-------------------+-----------------------------------------------------------------------+ - | NPPC | Number of Pixels to be processed per cycle. | + | NPPC | Number of Pixels to be processed per cycle.XF_NPPC1,XF_NPPC2 | + | | ,XF_NPPC4 and XF_NPPC8. | +-------------------+-----------------------------------------------------------------------+ | BORDER_T | Border Type supported is XF_BORDER_CONSTANT | +-------------------+-----------------------------------------------------------------------+ @@ -1877,7 +1888,7 @@ The following table describes the template and the function parameters. +----------------------+-----------------------------------------------+ | Parameter | Description | +======================+===============================================+ - | FILTER_SIZE | Filter size. Filter size of 3 | + | WINDOW_SIZE | Filter size. Filter size of 3 | | | (XF_FILTER_3X3), 5 (XF_FILTER_5X5) and 7 | | | (XF_FILTER_7X7) are supported | +----------------------+-----------------------------------------------+ @@ -2178,16 +2189,17 @@ The following table describes the template and the function parameters. | Parameter | Description | +=================+=========================================================+ | SRC_T | Input and output pixel type. Supports 1 channel and 3 | - | | channels (XF_8UC1 and XF_8UC3) | + | | channels (XF_8UC1,XF_16SC1,XF_16SC3 and XF_8UC3) | +-----------------+---------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +-----------------+---------------------------------------------------------+ | COLS | Maximum width of input and output image (must be a | | | multiple of 8, for 8 pixel mode) | +-----------------+---------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations, respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------+---------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image | +-----------------+---------------------------------------------------------+ @@ -2300,16 +2312,17 @@ The following table describes the template and the function parameters. | Parameter | Description | +======================+=======================================================+ | SRC_T | Input and output pixel type. Supports 1 channel and 3 | - | | channels (XF_8UC1 and XF_8UC3). | + | | channels (XF_8UC1,XF_16SC1,XF_16SC3 and XF_8UC3) | +----------------------+-------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +----------------------+-------------------------------------------------------+ - | COLS | Maximum width of input and output image. Must be a | - | | multiple of 8 for 8 pixel mode. | + | COLS | Maximum width of input and output image (must be a | + | | multiple of 8, for 8 pixel mode) | +----------------------+-------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations, respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +----------------------+-------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +----------------------+-------------------------------------------------------+ @@ -2417,16 +2430,17 @@ The following table describes the template and the function parameters. | Parameter | Description | +==================+========================================================+ | SRC_T | Input and output pixel type. Supports 1 channel and 3 | - | | channels (XF_8UC1 and XF_8UC3). | + | | channels (XF_8UC1,XF_16SC1,XF_16SC3 and XF_8UC3) | +------------------+--------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +------------------+--------------------------------------------------------+ - | COLS | Maximum width of input and output image. Must be | - | | multiple of 8, for 8 pixel mode. | + | COLS | Maximum width of input and output image (must be a | + | | multiple of 8, for 8 pixel mode) | +------------------+--------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +------------------+--------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image | +------------------+--------------------------------------------------------+ @@ -2533,33 +2547,34 @@ The following table describes the template and the function parameters. .. table:: Table 53. bitwise_xor Parameter Description - +-------------------+--------------------------------------------------+ - | Parameter | Description | - +===================+==================================================+ - | SRC_T | Input and output pixel type. Supports 1 channel | - | | and 3 channels (XF_8UC1 and XF_8UC3). | - +-------------------+--------------------------------------------------+ - | ROWS | Maximum height of input and output image. | - +-------------------+--------------------------------------------------+ - | COLS | Maximum width of input and output image. Must be | - | | multiple of 8, for 8 pixel mode. | - +-------------------+--------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; | - | | possible options are XF_NPPC1 and XF_NPPC8 for 1 | - | | pixel and 8 pixel operations respectively. | - +-------------------+--------------------------------------------------+ - | XFCVDEPTH_IN_1 | Depth of the input image | - +-------------------+--------------------------------------------------+ - | XFCVDEPTH_IN_2 | Depth of the input image | - +-------------------+--------------------------------------------------+ - | XFCVDEPTH_OUT_1 | Depth of the output image | - +-------------------+--------------------------------------------------+ - | src1 | Input image | - +-------------------+--------------------------------------------------+ - | src2 | Input image | - +-------------------+--------------------------------------------------+ - | dst | Output image | - +-------------------+--------------------------------------------------+ + +-------------------+---------------------------------------------------------+ + | Parameter | Description | + +===================+=========================================================+ + | SRC_T | Input and output pixel type. Supports 1 channel and 3 | + | | channels (XF_8UC1,XF_16SC1,XF_16SC3 and XF_8UC3) | + +-------------------+---------------------------------------------------------+ + | ROWS | Maximum height of input and output image. | + +-------------------+---------------------------------------------------------+ + | COLS | Maximum width of input and output image (must be a | + | | multiple of 8, for 8 pixel mode) | + +-------------------+---------------------------------------------------------+ + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | + +-------------------+---------------------------------------------------------+ + | XFCVDEPTH_IN_1 | Depth of the input image | + +-------------------+---------------------------------------------------------+ + | XFCVDEPTH_IN_2 | Depth of the input image | + +-------------------+---------------------------------------------------------+ + | XFCVDEPTH_OUT_1 | Depth of the output image | + +-------------------+---------------------------------------------------------+ + | src1 | Input image | + +-------------------+---------------------------------------------------------+ + | src2 | Input image | + +-------------------+---------------------------------------------------------+ + | dst | Output image | + +-------------------+---------------------------------------------------------+ .. rubric:: Resource Utilization @@ -2657,9 +2672,6 @@ The following table describes the template and the function parameters. | SRC_T | Input pixel type. 8/10/12/16-bit unsigned 1 channel | | | are supported (XF_8UC1, XF_10UC1, XF_12UC1, XF_16UC1). | +-----------------+-----------------------------------------------------------+ - | DST_T | Output pixel type. 8/10/12/16-bit unsigned 1 channel are | - | | supported (XF_8UC1, XF_10UC1, XF_12UC1, XF_16UC1). | - +-----------------+-----------------------------------------------------------+ | MAX_ROWS | Maximum height of input and output image. | +-----------------+-----------------------------------------------------------+ | MAX_COLS | Maximum width of input and output image. In case of | @@ -2752,7 +2764,7 @@ The following table describes the template and the function parameters. +-----------------+-----------------------------------------------------+ | SRC_T | Input and output pixel type. 8-bit, unsigned, | | | 16-bit unsigned and 16-bit signed, 1 channel is | - | | supported (XF_8UC1) | + | | supported (XF_8UC1,XF_16UC1,XF_16SC1) | +-----------------+-----------------------------------------------------+ | ROWS | Maximum height of input and output image. | +-----------------+-----------------------------------------------------+ @@ -2890,8 +2902,8 @@ The following table describes the template and the function parameters. | Parameter | Description | +===================+==================================================+ | SRC_T | Input pixel Type. Only 8-bit, unsigned, 1 | - | | channel and 3 channel is supported | - | | (XF_8UC1,XF_8UC3). | + | | channel and 4 channel is supported | + | | (XF_8UC1,XF_8UC4). | +-------------------+--------------------------------------------------+ | ROWS | Maximum height of input and output image. | +-------------------+--------------------------------------------------+ @@ -3248,8 +3260,10 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image. Must be multiple | | | of 8 for 8 pixel mode. | +-----------------------+-----------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 for 1 pixel operation. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------------+-----------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +-----------------------+-----------------------------------------------------------+ @@ -3372,11 +3386,9 @@ The following table describes the template and the function parameters. | Paramete | Description | | r | | +=======================+===========================================================+ - | SRC_T | Input pixel type. Only 8-bit, unsigned, 4channel is | - | | supported (XF_8UC4) | + | SRC_T | Input pixel type. XF_8UC3, XF_8UC4, XF_16UC3, XF_16UC4. | +-----------------------+-----------------------------------------------------------+ - | DST_T | Output pixel type. Only 8-bit, unsigned, 1 channel is | - | | supported (XF_8UC1) | + | DST_T | Output pixel type. XF_8UC3, XF_16UC3 are supported | +-----------------------+-----------------------------------------------------------+ | ROWS | Maximum height of input and output image | +-----------------------+-----------------------------------------------------------+ @@ -3384,7 +3396,7 @@ The following table describes the template and the function parameters. | | of 8 for 8 pixel mode | +-----------------------+-----------------------------------------------------------+ | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 for 1 pixel operation. | + | | options are XF_NPPC1,XF_NPPC2,XF_NPPC4 and XF_NPPC8. | +-----------------------+-----------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +-----------------------+-----------------------------------------------------------+ @@ -7927,17 +7939,18 @@ The following table describes the template and the function parameters. | CMP_OP | The flag that specify the relation between the | | | elements needs to be checked | +------------------------+------------------------------------------------------+ - | SRC_T | Input Pixel Type. 8-bit, unsigned, 1 channel is | - | | supported (XF_8UC1) | + | SRC_T | Input and output pixel type. Supports 1 channel and | + | | 3 channels (XF_8UC1,XF_16SC1,XF_16SC3 and XF_8UC3) | +------------------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +------------------------+------------------------------------------------------+ - | COLS | Maximum width of input and output image. In case of | - | | N-pixel parallelism, width should be multiple of N | + | COLS | Maximum width of input and output image (must be a | + | | multiple of 8, for 8 pixel mode) | +------------------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +------------------------+------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +------------------------+------------------------------------------------------+ @@ -8034,7 +8047,7 @@ is set to 255, else it is set to 0. .. code:: c template - void compareS(xf::cv::Mat & _src1, unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], xf::cv::Mat & _dst) + void compare(xf::cv::Mat & _src1, unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], xf::cv::Mat & _dst) .. rubric:: Parameter Descriptions @@ -8050,18 +8063,18 @@ The following table describes the template and the function parameters. | CMP_OP | The flag that specifying the relation between the | | | elements to be checked | +-----------------------+------------------------------------------------------+ - | SRC_T | Input pixel type. 8-bit, unsigned, 1 channel is | - | | supported (XF_8UC1). | + | SRC_T | Input and output pixel type. Supports 1 channel and | + | | 3 channels (XF_8UC1,XF_16SC1,XF_16SC3 and XF_8UC3) | +-----------------------+------------------------------------------------------+ - | ROWS | Maximum height of input and output image | + | ROWS | Maximum height of input and output image. | +-----------------------+------------------------------------------------------+ - | COLS | Maximum width of input and output image. In case of | - | | N-pixel parallelism, the width should be a multiple | - | | of N | + | COLS | Maximum width of input and output image (must be a | + | | multiple of 8, for 8 pixel mode) | +-----------------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixels operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------------+------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +-----------------------+------------------------------------------------------+ @@ -8167,9 +8180,10 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image. In case of | | | N-pixel parallelism, width should be multiple of N. | +-----------------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle; possible | - | | options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 | - | | pixel operations respectively. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------------+------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of input image | +-----------------------+------------------------------------------------------+ @@ -8273,8 +8287,8 @@ The following table describes the template and the function parameters. +-----------------------+------------------------------------------------------+ | Parameter | Description | +=======================+======================================================+ - | SRC_T | Input pixel type. Only 8-bit, unsigned, 1 and 3 | - | | channels are supported (XF_8UC1 and XF_8UC3). | + | SRC_T | Input pixel type. Only 8-bit, unsigned, 1 and 4 | + | | channels are supported (XF_8UC1 and XF_8UC4). | +-----------------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +-----------------------+------------------------------------------------------+ @@ -9430,13 +9444,16 @@ The following table describes the template and the function parameters. +=======================+====================================================================+ | BFORMAT | Input Bayer pattern. | +-----------------------+--------------------------------------------------------------------+ - | SRC_T | Input and Output Pixel Type. | + | SRC_T | Input and Output Pixel Type. (XF_8UC1, XF_16UC1) are supported | +-----------------------+--------------------------------------------------------------------+ | ROWS | Maximum height of input and output image (Must be multiple of NPC) | +-----------------------+--------------------------------------------------------------------+ | COLS | Maximum width of input and output image (Must be multiple of NPC) | +-----------------------+--------------------------------------------------------------------+ - | NPC | Number of Pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------------------+--------------------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image. | +-----------------------+--------------------------------------------------------------------+ @@ -9517,6 +9534,8 @@ The following table describes the template and the function parameters. +-----------------------+--------------------------------------------------------------------+ | N_ROWS | Number of Digital overlap rows between SEF and LEF | +-----------------------+--------------------------------------------------------------------+ + | N_COLS | Number of Digital overlap cols between SEF and LEF | + +-----------------------+--------------------------------------------------------------------+ | MAX_ROWS | Maximum height of input and output image (Must be multiple of NPC) | +-----------------------+--------------------------------------------------------------------+ | MAX_COLS | Maximum width of input and output image (Must be multiple of NPC) | @@ -9602,13 +9621,17 @@ The following table describes the template and the function parameters. +===========+====================================================================+ | PTR_WIDTH | Pixel Width of Input and Output Pointer | +-----------+--------------------------------------------------------------------+ - | TYPE | Input and Output Pixel type | + | TYPE | Input pixel type. XF_8UC1 ,XF_8UC3 are | + | | supported | +-----------+--------------------------------------------------------------------+ | ROWS | Maximum height of input and output image (Must be multiple of NPC) | +-----------+--------------------------------------------------------------------+ | COLS | Maximum width of input and output image (Must be multiple of NPC) | +-----------+--------------------------------------------------------------------+ - | NPC | Number of Pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +-----------+--------------------------------------------------------------------+ | SrcPtr | Input Image pointer. | +-----------+--------------------------------------------------------------------+ @@ -9721,15 +9744,18 @@ The following table describes the template and the function parameters. +------------------+--------------------------------------------------------------------+ | Parameter | Description | +==================+====================================================================+ - | SRC_T | Input Pixel Type. | + | SRC_T | Input Pixel Type. XF_8UC3 is supported. | +------------------+--------------------------------------------------------------------+ - | DST_T | Output Pixel Type. | + | DST_T | Output Pixel Type.XF_8UC3 is supported. | +------------------+--------------------------------------------------------------------+ | ROWS | Maximum height of input and output image (Must be multiple of NPC) | +------------------+--------------------------------------------------------------------+ | COLS | Maximum width of input and output image (Must be multiple of NPC) | +------------------+--------------------------------------------------------------------+ - | NPC | Number of Pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | +------------------+--------------------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image. | +------------------+--------------------------------------------------------------------+ @@ -9825,19 +9851,26 @@ The following table describes the template and the function parameters. +----------------------+--------------------------------------------------------------------+ | Parameter | Description | +======================+====================================================================+ - | SRC_T | Input Pixel Type. | + | SRC_T | Input pixel type. XF_8UC1 ,XF_8UC3 are | + | | supported | +----------------------+--------------------------------------------------------------------+ - | DST_T | Output Pixel Type. | + | DST_T | Input pixel type. XF_8UC1 ,XF_8UC3 are | + | | supported | +----------------------+--------------------------------------------------------------------+ | ROWS | Maximum height of input and output image (Must be multiple of NPC) | +----------------------+--------------------------------------------------------------------+ | COLS | Maximum width of input and output image (Must be multiple of NPC) | +----------------------+--------------------------------------------------------------------+ - | NPC | Number of Pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle; | + | | possible options are XF_NPPC1,XF_NPPC2,XF_NPPC4 | + | | and XF_NPPC8 for 1,2,4 | + | | pixel and 8 pixel operations respectively. | + +----------------------+--------------------------------------------------------------------+ + | NO_EXPS | Number exposure frames to be merged in the module."2" is supported | +----------------------+--------------------------------------------------------------------+ - | NO_EXPS | Number exposure frames to be merged in the module | + | W_SIZE | W_SIZE should be 2 power pixel width. | +----------------------+--------------------------------------------------------------------+ - | W_SIZE | W_SIZE is should be 2 power pixel width. | + | USE_URAM | Enable to map storage structures to UltraRAM. | +----------------------+--------------------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image. | +----------------------+--------------------------------------------------------------------+ @@ -11366,7 +11399,8 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image (must be | | | multiple of 8, for 8-pixel operation) | +----------------+----------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle | + | NPC | Number of pixels to be processed per cycle XF_NPPC1 | + | | XF_NPPC8 are supported | +----------------+----------------------------------------------------------+ | XFCVDEPTH_IN | Depth of the input image. | +----------------+----------------------------------------------------------+ @@ -11493,7 +11527,8 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image (must be a | | | multiple of 8, for 8-pixel operation) | +----------------+---------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle | + | NPC | Number of pixels to be processed per cycle XF_NPPC1 | + | | XF_NPPC8 are supported | +----------------+---------------------------------------------------------+ | XFCVDEPTH_IN | Depth of the input image. | +----------------+---------------------------------------------------------+ @@ -14413,7 +14448,7 @@ MinS The MinS function calculates the minimum elements between src and given scalar value scl and stores the result in dst. -dst(x,y)=minS( src(x,y) ,scl ) +dst(x,y)=min( src(x,y) ,scl ) .. rubric:: API Syntax @@ -14422,7 +14457,7 @@ dst(x,y)=minS( src(x,y) ,scl ) .. code:: c template< int SRC_T , int ROWS, int COLS, int NPC=1> - void minS(xf::cv::Mat & _src1, unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], xf::cv::Mat & _dst) + void min(xf::cv::Mat & _src1, unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], xf::cv::Mat & _dst) .. rubric:: Parameter Descriptions @@ -14778,7 +14813,7 @@ The following table describes the template and the function parameters. +--------------+-------------------------------------------------------+ | NPC | Number of pixels to be processed in parallel. Options | | | are XF_NPPC1 (for 1 pixel processing per clock), | - | | XF_NPPC8 (for 8 pixel processing per clock | + | | XF_NPPC8 (for 8 pixel processing per clock) | +--------------+-------------------------------------------------------+ | XFCVDEPTH_IN | Depth of the input image. | +--------------+-------------------------------------------------------+ @@ -16226,15 +16261,16 @@ The following table describes the template and the function parameters. +------------------+------------------------------------------------------+ | Parameter | Description | +==================+======================================================+ - | SRC_T | Input pixel type. 8-bit, unsigned, 1 channel is | - | | supported (XF_8UC1). | + | SRC_T | Input pixel type. 8-bit, unsigned 1 and 3 channels | + | | are supported (XF_8UC1,XF_8UC3). | +------------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image | +------------------+------------------------------------------------------+ | COLS | Maximum width of input and output image. Must be | | | multiple of 8, for 8-pixel operation. | +------------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle XF_NPPC1 | + | | XF_NPPC8 are supported | +------------------+------------------------------------------------------+ | XFCVDEPTH_IN_1 | Depth of the input image. | +------------------+------------------------------------------------------+ @@ -16821,6 +16857,9 @@ The following table describes the template and the function parameters. +------------------+------------------------------------------------------+ | Parameter | Description | +==================+======================================================+ + | POLICY_TYPE | Conversion Policy for fixed point arithmetic. | + | | (XF_CONVERT_POLICY_SATURATE) | + +------------------+------------------------------------------------------+ | SRC_T | Input Pixel Type. 8-bit, unsigned, 1 channel is | | | supported (XF_8UC1). | +------------------+------------------------------------------------------+ @@ -17025,15 +17064,16 @@ The following table describes the template and the function parameters. +---------------+------------------------------------------------------+ | Parameter | Description | +===============+======================================================+ - | SRC_T | Input pixel type. 8-bit, unsigned, 1 channel is | - | | supported (XF_8UC1). | + | SRC_T | Input pixel type. 8-bit, unsigned 1 and 3 channels | + | | are supported (XF_8UC1,XF_8UC3). | +---------------+------------------------------------------------------+ | ROWS | Maximum height of input and output image. | +---------------+------------------------------------------------------+ | COLS | Maximum width of input and output image (must be | | | multiple of 8). | +---------------+------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle XF_NPPC1 | + | | XF_NPPC8 are supported | +---------------+------------------------------------------------------+ | XFCVDEPTH_IN | Depth of the input image. | +---------------+------------------------------------------------------+ @@ -17353,8 +17393,10 @@ The following table describes the template and the function parameters. +--------------+-------------------------------------------------------+ | Parameter | Description | +==============+=======================================================+ - | THRESHOLD_TY | Type of thresholding. | - | PE | | + | THRESHOLD_TY | Type of thresholding. (XF_THRESHOLD_TYPE_BINARY | + | PE | ,XF_THRESHOLD_TYPE_BINARY_INV,XF_THRESHOLD_TYPE_TRUNC | + | | ,XF_THRESHOLD_TYPE_TOZERO | + | | ,XF_THRESHOLD_TYPE_TOZERO_INV) | +--------------+-------------------------------------------------------+ | SRC_T | Input pixel type. Only 8-bit, unsigned, 1 channel is | | | supported (XF_8UC1). | @@ -17364,7 +17406,8 @@ The following table describes the template and the function parameters. | COLS | Maximum width of input and output image. Must be | | | multiple of 8, for 8-pixel operation. | +--------------+-------------------------------------------------------+ - | NPC | Number of pixels to be processed per cycle. | + | NPC | Number of pixels to be processed per cycle XF_NPPC1 | + | | XF_NPPC8 are supported | +--------------+-------------------------------------------------------+ | XFCVDEPTH_IN | Depth of the input image. | +--------------+-------------------------------------------------------+ diff --git a/vision/docs/src/releasenotesxfopencv.rst b/vision/docs/src/releasenotesxfopencv.rst index 2b1569e33e..719a103af5 100755 --- a/vision/docs/src/releasenotesxfopencv.rst +++ b/vision/docs/src/releasenotesxfopencv.rst @@ -13,9 +13,11 @@ Release notes The below section explains the new features added and also changes in the existing library along with the known issues. + - `New features and functions <#pl-new>`_ - `Known issues <#known-issues>`_ + .. _pl-new: New features and functions @@ -23,11 +25,6 @@ New features and functions **PL additions/enhancements**: - • New functions: - • Added 24 bits-per-channel L3 ISP pipeline - • Added all-in-one L3 ISP pipeline - • Pin-cushion, Barrel distortion support added in L1, L2 Remap testbench. - • Updates: • Added reference functions for extractExposureFrames, autoexposurecorrection_sin, LTM, bgr2yuyv. • Added reference function for all-in-one L3 ISP pipeline.