message: OpenJPEG: fixed compilation and warnings with VS
diff: @@ -34,7 +34,7 @@ String colorspaceName(COLOR_SPACE colorspace)
  case OPJ_CLRSPC_UNSPECIFIED:
  return "unspecified";
  default:
  - CV_Assert(!"Invalid colorspace");
  + CV_Error(Error::StsNotImplemented, "Invalid colorspace");
  }
  }
  @@ -141,7 +141,7 @@ public:
  return ChannelsIterator<Traits>(*this) += n;
  }
  - difference_type operator-(const ChannelsIterator<Traits>& other)
  + difference_type operator-(const ChannelsIterator<Traits>& other) const
  {
  return (ptr_ - other.ptr_) / step_;
  }
  @@ -214,7 +214,7 @@ void copyToMatImpl(std::vector<InT*>&& in, Mat& out, uint8_t shift)
  const auto first = in[c];
  const auto last = first + size.width;
  auto dOut = ChannelsIt(rowPtr, c, channelsCount);
  - std::transform(first, last, dOut, [shift](InT val) -> OutT { return val >> shift; });
  + std::transform(first, last, dOut, [shift](InT val) -> OutT { return static_cast<OutT>(val >> shift); });
  in[c] += size.width;
  }
  }
  @@ -229,7 +229,7 @@ void copyToMatImpl(std::vector<InT*>&& in, Mat& out, uint8_t shift)
  const auto first = in[c];
  const auto last = first + size.width;
  auto dOut = ChannelsIt(rowPtr, c, channelsCount);
  - std::copy(first, last, dOut);
  + std::transform(first, last, dOut, [](InT val) -> OutT { return static_cast<OutT>(val); });
  in[c] += size.width;
  }
  }
  @@ -558,8 +558,12 @@ bool Jpeg2KOpjDecoder::readHeader()
  CV_Error(Error::StsNotImplemented, cv::format("OpenJPEG2000: Component %d/%d is duplicate alpha channel", i, numcomps));
  }
  - hasAlpha |= comp.alpha;
  + hasAlpha |= (bool)comp.alpha;
  + if (comp.prec > 64)
  + {
  + CV_Error(Error::StsNotImplemented, "OpenJPEG2000: precision > 64 is not supported");
  + }
  m_maxPrec = std::max(m_maxPrec, comp.prec);
  }
  @@ -623,7 +627,7 @@ bool Jpeg2KOpjDecoder::readData( Mat& img )
  CV_Error(Error::StsNotImplemented,
  cv::format("OpenJPEG2000: output precision > 16 not supported: target depth %d", depth));
  }();
  - const uint8_t shift = outPrec > m_maxPrec ? 0 : m_maxPrec - outPrec;
  + const uint8_t shift = outPrec > m_maxPrec ? 0 : (uint8_t)(m_maxPrec - outPrec); // prec <= 64
  return decode(*image_, img, shift);
  }
  