message: CV_ColorCvtBaseTest: added methods for 8u implementations
diff: @@ -68,6 +68,14 @@ protected:
  // called from default implementation of convert_backward
  virtual void convert_row_abc2bgr_32f_c3( const float* src_row, float* dst_row, int n );
  + // called from default implementation of convert_backward
  + // for cases of bit-exact functions
  + virtual int convert_row_abc2bgr_8u_c3( const uchar* src_row, uchar* dst_row, int n );
  +
  + // called from default implementation of convert_forward
  + // for cases of bit-exact functions
  + virtual int convert_row_bgr2abc_8u_c3(const uchar *src_row, uchar *dst_row, int n );
  +
  const char* fwd_code_str;
  const char* inv_code_str;
  @@ -226,6 +234,9 @@ void CV_ColorCvtBaseTest::convert_forward( const Mat& src, Mat& dst )
  const uchar* src_row = src.ptr(i);
  uchar* dst_row = dst.ptr(i);
  + int processed = convert_row_bgr2abc_8u_c3( src_row, dst_row, cols );
  + if(processed != cols)
  + {
  for( j = 0; j < cols; j++ )
  {
  src_buf[j*3] = src_row[j*cn + blue_idx]*c8u;
  @@ -241,6 +252,7 @@ void CV_ColorCvtBaseTest::convert_forward( const Mat& src, Mat& dst )
  dst_row[j] = saturate_cast<uchar>(t);
  }
  }
  + }
  break;
  case CV_16U:
  {
  @@ -297,6 +309,19 @@ void CV_ColorCvtBaseTest::convert_row_abc2bgr_32f_c3( const float* /*src_row*/,
  }
  +int CV_ColorCvtBaseTest::convert_row_abc2bgr_8u_c3(const uchar * /*src_row*/,
  + uchar * /*dst_row*/, int /*n*/ )
  +{
  + return 0;
  +}
  +
  +
  +int CV_ColorCvtBaseTest::convert_row_bgr2abc_8u_c3( const uchar* /*src_row*/,
  + uchar* /*dst_row*/, int /*n*/ )
  +{
  + return 0;
  +}
  +
  void CV_ColorCvtBaseTest::convert_backward( const Mat& src, const Mat& dst, Mat& dst2 )
  {
  if( custom_inv_transform )
  @@ -321,6 +346,10 @@ void CV_ColorCvtBaseTest::convert_backward( const Mat& src, const Mat& dst, Mat&
  const uchar* src_row = dst.ptr(i);
  uchar* dst_row = dst2.ptr(i);
  + int processed = convert_row_abc2bgr_8u_c3(src_row, dst_row, dst_cols);
  +
  + if(processed != dst_cols)
  + {
  for( j = 0; j < cols_n; j++ )
  src_buf[j] = src_row[j];
  @@ -338,6 +367,7 @@ void CV_ColorCvtBaseTest::convert_backward( const Mat& src, const Mat& dst, Mat&
  dst_row[j*cn + 3] = 255;
  }
  }
  + }
  break;
  case CV_16U:
  {
  