nareshmlx/opencv-pr huggingface dataset:
**File:** modules/videoio/src/cap_obsensor_capture.cpp
**Change Type:** modified
**Context:** PR #24877: Orbbec Camera supports MacOS，Gemini2 and Gemini2L support Y16 format - note: 1.Gemini2 and Gemini2L must use the latest firmware -- https:/...

**Code Changes:**
```diff
@@ -23,7 +23,8 @@
 
 #include "cap_obsensor_capture.hpp"
 #include "cap_obsensor/obsensor_stream_channel_interface.hpp"
-#ifdef HAVE_OBSENSOR
+
+#if defined(HAVE_OBSENSOR) && !defined(HAVE_OBSENSOR_ORBBEC_SDK)
 namespace cv {
 Ptr<IVideoCapture> create_obsensor_capture(int index)
 {
```

Review comment:
I propose to introduce named constant and add description with link, if possible.
**File:** CMakeLists.txt
**Change Type:** modified
**Context:** PR #24877: Orbbec Camera supports MacOS，Gemini2 and Gemini2L support Y16 format - note: 1.Gemini2 and Gemini2L must use the latest firmware -- https:/...

**Code Changes:**
```diff
@@ -474,9 +474,11 @@ OCV_OPTION(WITH_ONNX "Include Microsoft ONNX Runtime support" OFF
 OCV_OPTION(WITH_TIMVX "Include Tim-VX support" OFF
   VISIBLE_IF TRUE
   VERIFY HAVE_TIMVX)
-# attention: Astra2, Gemini2, and Gemini2L cameras currently only support Windows and Linux kernel versions no higher than 4.15, and higher versions of Linux kernel may have exceptions.
-OCV_OPTION(WITH_OBSENSOR "Include obsensor support (Orbbec RGB-D modules: Astra+/Femto)" ON
-  VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT AND NOT MINGW) OR ( UNIX AND NOT APPLE AND NOT ANDROID)
+# Attention when OBSENSOR_USE_ORBBEC_SDK set to off:
+#   Astra2 cameras currently only support Windows and Linux kernel versions no higher than 4.15, and higher versions of Linux kernel may have exceptions.
+OCV_OPTION(OBSENSOR_USE_ORBBEC_SDK "Use Orbbec SDK as backend to support more camera models and platforms (force to ON on MacOS)" OFF)
```

Review comment:
I have corrected this issue.
**File:** modules/videoio/src/cap_obsensor_capture.cpp
**Change Type:** modified
**Context:** PR #24877: Orbbec Camera supports MacOS，Gemini2 and Gemini2L support Y16 format - note: 1.Gemini2 and Gemini2L must use the latest firmware -- https:/...

**Code Changes:**
```diff
@@ -23,7 +23,8 @@
 
 #include "cap_obsensor_capture.hpp"
 #include "cap_obsensor/obsensor_stream_channel_interface.hpp"
-#ifdef HAVE_OBSENSOR
+
+#if defined(HAVE_OBSENSOR) && !defined(HAVE_OBSENSOR_ORBBEC_SDK)
 namespace cv {
 Ptr<IVideoCapture> create_obsensor_capture(int index)
 {
```

Review comment:
> I propose to introduce named constant and add description with link, if possible. I have changed the variable to a constant. Sorry, this information belongs to the company's private information and cannot be described too much.
**File:** modules/videoio/src/cap_obsensor/obsensor_uvc_stream_channel.cpp
**Change Type:** modified
**Context:** PR #24877: Orbbec Camera supports MacOS，Gemini2 and Gemini2L support Y16 format - note: 1.Gemini2 and Gemini2L must use the latest firmware -- https:/...

**Code Changes:**
```diff
@@ -316,14 +316,14 @@ bool IUvcStreamChannel::getProperty(int propId, uint8_t* recvData, uint32_t* rec
         if(OBSENSOR_GEMINI2_PID == devInfo_.pid){
             // return default param
             CameraParam param;
-            param.p0[0] = 516.652f;
-            param.p0[1] = 516.692f;
-            param.p0[2] = 322.988f;
-            param.p0[3] = 235.787f;
-            param.p1[0] = 516.652f;
-            param.p1[1] = 516.692f;
```

Review comment:
Not related change.
**File:** CMakeLists.txt
**Change Type:** modified
**Context:** PR #24877: Orbbec Camera supports MacOS，Gemini2 and Gemini2L support Y16 format - note: 1.Gemini2 and Gemini2L must use the latest firmware -- https:/...

**Code Changes:**
```diff
@@ -474,9 +474,11 @@ OCV_OPTION(WITH_ONNX "Include Microsoft ONNX Runtime support" OFF
 OCV_OPTION(WITH_TIMVX "Include Tim-VX support" OFF
   VISIBLE_IF TRUE
   VERIFY HAVE_TIMVX)
-# attention: Astra2, Gemini2, and Gemini2L cameras currently only support Windows and Linux kernel versions no higher than 4.15, and higher versions of Linux kernel may have exceptions.
-OCV_OPTION(WITH_OBSENSOR "Include obsensor support (Orbbec RGB-D modules: Astra+/Femto)" ON
-  VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT AND NOT MINGW) OR ( UNIX AND NOT APPLE AND NOT ANDROID)
+# Attention when OBSENSOR_USE_ORBBEC_SDK set to off:
+#   Astra2 cameras currently only support Windows and Linux kernel versions no higher than 4.15, and higher versions of Linux kernel may have exceptions.
+OCV_OPTION(OBSENSOR_USE_ORBBEC_SDK "Use Orbbec SDK as backend to support more camera models and platforms (force to ON on MacOS)" OFF)
```

Review comment:
`APPLE AND AARCH64 AND NOT IOS` is enough. `AND NOT X86_64 AND NOT X86` is redundant.
**File:** CMakeLists.txt
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...

**Code Changes:**
```diff
@@ -473,9 +473,11 @@ OCV_OPTION(WITH_ONNX "Include Microsoft ONNX Runtime support" OFF
 OCV_OPTION(WITH_TIMVX "Include Tim-VX support" OFF
   VISIBLE_IF TRUE
   VERIFY HAVE_TIMVX)
-# attention: Astra2, Gemini2, and Gemini2L cameras currently only support Windows and Linux kernel versions no higher than 4.15, and higher versions of Linux kernel may have exceptions.
-OCV_OPTION(WITH_OBSENSOR "Include obsensor support (Orbbec RGB-D modules: Astra+/Femto)" ON
-  VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT AND NOT MINGW) OR ( UNIX AND NOT APPLE AND NOT ANDROID)
+# Attention when OBSENSOR_USE_ORBBEC_SDK set to off:
+#   Astra2 cameras currently only support Windows and Linux kernel versions no higher than 4.15, and higher versions of Linux kernel may have exceptions.
+OCV_OPTION(OBSENSOR_USE_ORBBEC_SDK "Use Orbbec SDK as backend to support more camera models and platforms (force to ON on MacOS)" OFF)
```

Review comment:
OpenVX has been removed in 4.x.
**File:** modules/core/include/opencv2/core/cvdef.h
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...
**Review Line:** 901

**Code Changes:**
```diff
@@ -898,25 +898,43 @@ class float16_t
     #endif
     }
 
-    static float16_t fromBits(ushort b)
+    static hfloat zero()
     {
-        float16_t result;
-        result.w = b;
-        return result;
-    }
```

Review comment:
These methods has been removed from this class.
**File:** CMakeLists.txt
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...
**Review Line:** 577

**Code Changes:**
```diff
   add_definitions(-DOPENCV_HAVE_FILESYSTEM_SUPPORT=0)
 endif()
 
+# MathJax is used for math rendering by both Doxygen HTML and JavaDoc, so
+# this var have to be defined before "modules" AND "doc" are processed
+set(OPENCV_MATHJAX_RELPATH "https://cdn.jsdelivr.net/npm/mathjax@3.0.1" CACHE STRING "URI to a MathJax installation")
+
 # ----------------------------------------------------------------------------
 #  Get actual OpenCV version number from sources
 # ----------------------------------------------------------------------------
```

Review comment:
Merge mistake: missing removal of this variable from `doc/CMakeLists.txt`
**File:** modules/calib/src/calibinit.cpp
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...
**Review Line:** 582

**Code Changes:**
```diff
@@ -582,8 +582,10 @@ bool findChessboardCorners(InputArray image_, Size pattern_size,
         }
         //if flag CALIB_CB_ADAPTIVE_THRESH is not set it doesn't make sense to iterate over k
         int max_k = useAdaptive ? 6 : 1;
+        Mat prev_thresh_img;
         for (int k = 0; k < max_k && !found; k++)
         {
```

Review comment:
Missing change https://github.com/opencv/opencv/blob/84b32fa0c3f74028a1e07db8f6777c7677cd9960/modules/calib/include/opencv2/calib.hpp#L397
**File:** modules/dnn/test/test_layers.cpp
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...

**Code Changes:**
```diff
@@ -1764,6 +1764,48 @@ INSTANTIATE_TEST_CASE_P(/**/, Layer_Test_ShuffleChannel, Combine(
 /*group*/        Values(1, 2, 3, 6), dnnBackendsAndTargets(/*with IE*/ false)
 ));
 
+TEST(Layer_Test_ReduceMean, accuracy_input_0)
+{
+    vector<int> szData = { 2, 1, 2, 1 ,2 };
+    std::vector<float> initData = { 0, 1, 2, 3, 4, 5, 6, 7 };
+    Mat inpInitA(szData, CV_32FC1, Mat(initData).data);
+    std::vector<float> resAxes0 = { 2, 3, 4, 5 };
```

Review comment:
Unused variable `a`.
**File:** modules/imgproc/test/test_boundingrect.cpp
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...

**Code Changes:**
```diff
@@ -140,4 +140,20 @@ void CV_BoundingRectTest::run(int)
 
 TEST (Imgproc_BoundingRect, accuracy) { CV_BoundingRectTest test; test.safe_run(); }
 
+TEST (Imgproc_BoundingRect, bug_24217)
+{
+    for (int image_width = 3; image_width < 20; image_width++)
+    {
+        for (int image_height = 1; image_height < 15; image_height++)
+        {
```

Review comment:
Such changes should not be a part of merge PRs. We don't need this one more merge conflict - fix should be done on 4.x branch first. 4.x: https://github.com/opencv/opencv/blob/99cacaaad60a730e565339a6d828e91bce267fef/modules/imgproc/test/test_boundingrect.cpp#L154
**File:** CMakeLists.txt
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...
**Review Line:** 577

**Code Changes:**
```diff
   add_definitions(-DOPENCV_HAVE_FILESYSTEM_SUPPORT=0)
 endif()
 
+# MathJax is used for math rendering by both Doxygen HTML and JavaDoc, so
+# this var have to be defined before "modules" AND "doc" are processed
+set(OPENCV_MATHJAX_RELPATH "https://cdn.jsdelivr.net/npm/mathjax@3.0.1" CACHE STRING "URI to a MathJax installation")
+
 # ----------------------------------------------------------------------------
 #  Get actual OpenCV version number from sources
 # ----------------------------------------------------------------------------
```

Review comment:
Dropped redundant OPENCV_MATHJAX_RELPATH setting.
**File:** modules/calib/src/calibinit.cpp
**Change Type:** modified
**Context:** PR #25305: 5.x merge 4.x - Contrib: https://github.com/opencv/opencv_contrib/pull/3710 Extra: https://github.com/opencv/opencv_extra/pull/1164 #24415 ...
**Review Line:** 582

**Code Changes:**
```diff
@@ -582,8 +582,10 @@ bool findChessboardCorners(InputArray image_, Size pattern_size,
         }
         //if flag CALIB_CB_ADAPTIVE_THRESH is not set it doesn't make sense to iterate over k
         int max_k = useAdaptive ? 6 : 1;
+        Mat prev_thresh_img;
         for (int k = 0; k < max_k && !found; k++)
         {
```

Review comment:
Removed the line.
**File:** modules/imgcodecs/test/test_jpeg.cpp
**Change Type:** modified
**Context:** PR #25280: imgcodecs: jpeg: re-support to read CMYK Jpeg

**Code Changes:**
```diff
@@ -178,6 +178,44 @@ TEST(Imgcodecs_Jpeg, encode_decode_rst_jpeg)
     EXPECT_EQ(0, remove(output_normal.c_str()));
 }
 
+// See https://github.com/opencv/opencv/issues/25274
+typedef testing::TestWithParam<int> Imgcodecs_Jpeg_decode_cmyk;
+TEST_P(Imgcodecs_Jpeg_decode_cmyk, regression25274)
+{
+    const int imread_flag = GetParam();
+
```

Review comment:
The check is very weak. I propose to use at least countNonZero to check the image content. Original image in non-CMYK format is the best for reference.
**File:** modules/calib3d/src/calibinit.cpp
**Change Type:** modified
**Context:** PR #25177: Speed up adaptive threshold in findChessboardCorners

**Code Changes:**
```diff
@@ -583,8 +583,10 @@ bool findChessboardCorners(InputArray image_, Size pattern_size,
         }
         //if flag CALIB_CB_ADAPTIVE_THRESH is not set it doesn't make sense to iterate over k
         int max_k = useAdaptive ? 6 : 1;
+        Mat prev_thresh_img;
         for (int k = 0; k < max_k && !found; k++)
         {
+            int prev_block_size = -1;
             for (int dilations = min_dilations; dilations <= max_dilations; dilations++)
             {
```

Review comment:
``` else if (dilations > 0) { dilate( prev_thresh_img, prev_thresh_img, Mat(), Point(-1, -1), 1 ); prev_thresh_img.copyTo(thresh_img); } ```
**File:** modules/calib3d/test/test_chesscorners.cpp
**Change Type:** modified
**Context:** PR #25258: Fix detect rotated SYMMETRIC_GRID

**Code Changes:**
```diff
@@ -792,5 +792,42 @@ TEST(Calib3d_AsymmetricCirclesPatternDetector, regression_19498)
     EXPECT_FALSE(res);
 }
 
+TEST(Calib3d_RotatedCirclesPatternDetector, issue_24964)
+{
+    string path = cvtest::findDataFile("cv/cameracalibration/circles/circles_24964.png");
+    Mat image = cv::imread(path);
+    ASSERT_FALSE(image.empty()) << "Can't read image: " << path;
+
```

Review comment:
`bool found = findCirclesGrid(image, parrernSize, centers, CALIB_CB_SYMMETRIC_GRID);`
**File:** modules/calib3d/test/test_chesscorners.cpp
**Change Type:** modified
**Context:** PR #25258: Fix detect rotated SYMMETRIC_GRID
**Review Line:** 798

**Code Changes:**
```diff
 }
 
+TEST(Calib3d_RotatedCirclesPatternDetector, issue_24964)
+{
+    string path = cvtest::findDataFile("cv/cameracalibration/circles/circles_24964.png");
+    Mat image = cv::imread(path);
+    ASSERT_FALSE(image.empty()) << "Can't read image: " << path;
+
+    vector<Point2f> centers;
+    Size parrernSize(7, 6);
+    Mat goldCenters(parrernSize.height, parrernSize.width, CV_32FC2);
```

Review comment:
Check if image is not empty.
**File:** modules/calib3d/src/circlesgrid.cpp
**Change Type:** modified
**Context:** PR #25258: Fix detect rotated SYMMETRIC_GRID

**Code Changes:**
```diff
@@ -701,22 +701,26 @@ bool CirclesGridFinder::isDetectionCorrect()
   {
     case CirclesGridFinderParameters::SYMMETRIC_GRID:
     {
-      if (holes.size() != patternSize.height)
+      rotatedGrid = holes.size() != patternSize.height && holes.size() == patternSize.width;
+      if (holes.size() != patternSize.height && holes.size() != patternSize.width)
         return false;
 
-      std::set<size_t> vertices;
```

Review comment:
The condition looks very strange. looks like `rotatedGrid` is redundant.
**File:** modules/calib3d/test/test_chesscorners.cpp
**Change Type:** modified
**Context:** PR #25258: Fix detect rotated SYMMETRIC_GRID
**Review Line:** 798

**Code Changes:**
```diff
 }
 
+TEST(Calib3d_RotatedCirclesPatternDetector, issue_24964)
+{
+    string path = cvtest::findDataFile("cv/cameracalibration/circles/circles_24964.png");
+    Mat image = cv::imread(path);
+    ASSERT_FALSE(image.empty()) << "Can't read image: " << path;
+
+    vector<Point2f> centers;
+    Size parrernSize(7, 6);
+    Mat goldCenters(parrernSize.height, parrernSize.width, CV_32FC2);
```

Review comment:
added: `ASSERT_FALSE(image.empty()) << "Can't read image: " << path;`
**File:** modules/calib3d/src/circlesgrid.cpp
**Change Type:** modified
**Context:** PR #25258: Fix detect rotated SYMMETRIC_GRID

**Code Changes:**
```diff
@@ -701,22 +701,26 @@ bool CirclesGridFinder::isDetectionCorrect()
   {
     case CirclesGridFinderParameters::SYMMETRIC_GRID:
     {
-      if (holes.size() != patternSize.height)
+      rotatedGrid = holes.size() != patternSize.height && holes.size() == patternSize.width;
+      if (holes.size() != patternSize.height && holes.size() != patternSize.width)
         return false;
 
-      std::set<size_t> vertices;
```

Review comment:
split condition to 2 if: ``` if (holes[i].size() != patternSize.width && rotatedGrid == false) { return false; } else if (holes[i].size() != patternSize.height && rotatedGrid == true) { rotatedGrid = false; return false; } ```
**File:** modules/dnn/src/cuda4dnn/primitives/layer_norm.hpp
**Change Type:** modified
**Context:** PR #25238: dnn: avoid const layer forwarding in layer norm layer and attention layer

**Code Changes:**
```diff
@@ -28,11 +28,20 @@ namespace cv { namespace dnn { namespace cuda4dnn {
      public:
         using wrapper_type = GetCUDABackendWrapperType<T>;
 
-        LayerNormOp(csl::Stream stream_, int normalized_axis, float epsilon_, size_t loops)
+        LayerNormOp(csl::Stream stream_, const Mat &scale, const Mat &bias, int normalized_axis, float epsilon_, size_t loops)
             : stream(std::move(stream_)), epsilon(epsilon_) {
             CV_CheckGE(normalized_axis, 0, "LayerNorm/CUDA: axis needs to be normalized");
             axis = static_cast<size_t>(normalized_axis);
 
```

Review comment:
m.b. `inputs.size() >= 3` is safer here.
**File:** modules/dnn/src/layers/layer_norm.cpp
**Change Type:** modified
**Context:** PR #25238: dnn: avoid const layer forwarding in layer norm layer and attention layer

**Code Changes:**
```diff
@@ -31,6 +31,10 @@ namespace cv { namespace dnn {
 // https://github.com/onnx/onnx/blob/main/docs/Operators.md#LayerNormalization
 class LayerNormLayerImpl CV_FINAL : public LayerNormLayer
 {
+#ifdef HAVE_OPENCL
+    UMat weight_umat, bias_umat;
+#endif
+
 public:
     LayerNormLayerImpl(const LayerParams& params)
```

Review comment:
m.b. `num_inputs >= 3` is safer here.
**File:** modules/dnn/src/layers/layer_norm.cpp
**Change Type:** modified
**Context:** PR #25238: dnn: avoid const layer forwarding in layer norm layer and attention layer

**Code Changes:**
```diff
@@ -31,6 +31,10 @@ namespace cv { namespace dnn {
 // https://github.com/onnx/onnx/blob/main/docs/Operators.md#LayerNormalization
 class LayerNormLayerImpl CV_FINAL : public LayerNormLayer
 {
+#ifdef HAVE_OPENCL
+    UMat weight_umat, bias_umat;
+#endif
+
 public:
     LayerNormLayerImpl(const LayerParams& params)
```

Review comment:
There is `blobs.empty()` check at line 264. I propose to merge the conditions.
**File:** modules/dnn/test/test_layers_1d.cpp
**Change Type:** modified
**Context:** PR #25205: 0D test for split layer

**Code Changes:**
```diff
@@ -271,4 +271,40 @@ TEST(Layer_Reshape_Test, Accuracy)
     normAssert(output_ref, outputs[0]);
 }
 
+typedef testing::TestWithParam<tuple<std::vector<int>>> Layer_Split_Test;
+TEST_P(Layer_Split_Test, Accuracy_01D)
+{
+    LayerParams lp;
+    lp.type = "Split";
+    lp.name = "SplitLayer";
```

Review comment:
I think it's critical here to add 1D but with multiple values (see https://github.com/opencv/opencv/pull/25074#discussion_r1522654268). Even with `{2}` to check that Split will really split 1D vector to two parts.
**File:** modules/dnn/test/test_layers_1d.cpp
**Change Type:** modified
**Context:** PR #25205: 0D test for split layer

**Code Changes:**
```diff
@@ -271,4 +271,40 @@ TEST(Layer_Reshape_Test, Accuracy)
     normAssert(output_ref, outputs[0]);
 }
 
+typedef testing::TestWithParam<tuple<std::vector<int>>> Layer_Split_Test;
+TEST_P(Layer_Split_Test, Accuracy_01D)
+{
+    LayerParams lp;
+    lp.type = "Split";
+    lp.name = "SplitLayer";
```

Review comment:
`Split` later just copies one tensor into multiple([see](https://github.com/opencv/opencv/blob/60ca3d259eff77bf6287c07bc8db66078d5c6cd3/modules/dnn/src/layers/split_layer.cpp#L94C5-L105C7)). The one you mention is a `slice`.
**File:** modules/dnn/test/test_layers_1d.cpp
**Change Type:** modified
**Context:** PR #25205: 0D test for split layer

**Code Changes:**
```diff
@@ -271,4 +271,40 @@ TEST(Layer_Reshape_Test, Accuracy)
     normAssert(output_ref, outputs[0]);
 }
 
+typedef testing::TestWithParam<tuple<std::vector<int>>> Layer_Split_Test;
+TEST_P(Layer_Split_Test, Accuracy_01D)
+{
+    LayerParams lp;
+    lp.type = "Split";
+    lp.name = "SplitLayer";
```

Review comment:
No thing is wrong. I have changed initialization scheme.
**File:** modules/dnn/test/test_layers_1d.cpp
**Change Type:** modified
**Context:** PR #25205: 0D test for split layer

**Code Changes:**
```diff
@@ -271,4 +271,40 @@ TEST(Layer_Reshape_Test, Accuracy)
     normAssert(output_ref, outputs[0]);
 }
 
+typedef testing::TestWithParam<tuple<std::vector<int>>> Layer_Split_Test;
+TEST_P(Layer_Split_Test, Accuracy_01D)
+{
+    LayerParams lp;
+    lp.type = "Split";
+    lp.name = "SplitLayer";
```

Review comment:
make sense to add `{4, 5}`
**File:** modules/dnn/test/test_layers_1d.cpp
**Change Type:** modified
**Context:** PR #25205: 0D test for split layer
**Review Line:** 302

**Code Changes:**
```diff
+        normAssert(output_ref, outputs[i]);
+    }
+}
+INSTANTIATE_TEST_CASE_P(/*nothting*/, Layer_Split_Test,
+                        testing::Values(
+                            std::vector<int>({}),
+                            std::vector<int>({1}),
+                            std::vector<int>({1, 4}),
+                            std::vector<int>({1, 5}),
+                            std::vector<int>({4, 1}),
+                            std::vector<int>({4, 5})
```

Review comment:
Got it. Let's discuss it on Friday call. I'll a bit out-of-context now.
**File:** platforms/js/build_js.py
**Change Type:** modified
**Context:** PR #25197: Remove OpenVX - resolves https://github.com/opencv/opencv/issues/24995 OpenCV cleanup https://github.com/opencv/opencv/issues/25007

**Code Changes:**
```diff
@@ -103,7 +103,6 @@ def get_cmake_cmd(self):
                "-DWITH_WEBP=OFF",
                "-DWITH_OPENEXR=OFF",
                "-DWITH_OPENGL=OFF",
-               "-DWITH_OPENVX=OFF",
                "-DWITH_OPENNI=OFF",
                "-DWITH_OPENNI2=OFF",
                "-DWITH_PNG=OFF",
```

Review comment:
Feel free to remove, not comment
**File:** modules/core/include/opencv2/core/utils/trace.hpp
**Change Type:** modified
**Context:** PR #25197: Remove OpenVX - resolves https://github.com/opencv/opencv/issues/24995 OpenCV cleanup https://github.com/opencv/opencv/issues/25007

**Code Changes:**
```diff
@@ -106,7 +106,6 @@ enum RegionLocationFlag {
 
     REGION_FLAG_IMPL_IPP = (1 << 16),            ///< region is part of IPP code path
     REGION_FLAG_IMPL_OPENCL = (2 << 16),         ///< region is part of OpenCL code path
-    REGION_FLAG_IMPL_OPENVX = (3 << 16),         ///< region is part of OpenVX code path
 
     REGION_FLAG_IMPL_MASK = (15 << 16),
 
```

Review comment:
I think we can remove it. Since it is 5.x we can break compatibility.
**File:** samples/CMakeLists.txt
**Change Type:** modified
**Context:** PR #25197: Remove OpenVX - resolves https://github.com/opencv/opencv/issues/24995 OpenCV cleanup https://github.com/opencv/opencv/issues/25007
**Review Line:** 37

**Code Changes:**
```diff
 endif()
-if(HAVE_OPENVX)
-  add_subdirectory(openvx)
-endif()
 if(UNIX AND NOT ANDROID AND HAVE_VA)
   add_subdirectory(va_intel)
 endif()
@@ -131,7 +128,6 @@ add_subdirectory(dnn)
 add_subdirectory(opencl)
 add_subdirectory(sycl)
 # add_subdirectory(opengl)
```

Review comment:
Sanity check still shows OpenVX reference on the line 131: ``` $ grep -Rni openvx ./ ```
**File:** doc/CMakeLists.txt
**Change Type:** modified
**Context:** PR #25042: Documentation transition to fresh Doxygen - * current Doxygen version is 1.10, but we will use 1.9.8 for now due to issue with snippets (ht...

**Code Changes:**
```diff
@@ -16,6 +16,10 @@ endif()
 
 find_package(Doxygen)
 if(DOXYGEN_FOUND)
+  if (DOXYGEN_VERSION VERSION_LESS 1.9.8)
+    message(WARNING "Found doxygen ${DOXYGEN_VERSION}, version 1.9.8 is used for testing, there is
+                     a chance your documentation will look different or have some limitations.")
+  endif()
   add_custom_target(doxygen)
 
```

Review comment:
It make sense to add link to Doxygen issue here or some discussion.