@@ -38,21 +38,17 @@ struct Size {
struct SizeRange {
SizeRange()
- : SizeRange(0, 0, 0, 0)
{
}
SizeRange(unsigned int minW, unsigned int minH,
unsigned int maxW, unsigned int maxH)
- : minWidth(minW), minHeight(minH), maxWidth(maxW),
- maxHeight(maxH)
+ : min(minW, minH), max(maxW, maxH)
{
}
- unsigned int minWidth;
- unsigned int minHeight;
- unsigned int maxWidth;
- unsigned int maxHeight;
+ Size min;
+ Size max;
};
} /* namespace libcamera */
@@ -93,11 +93,11 @@ const std::string Rectangle::toString() const
/**
* \struct SizeRange
- * \brief Describe a range of image sizes
+ * \brief Describe a range of sizes
*
- * SizeRange describes a range of image sizes included in the (minWidth,
- * minHeight) - (maxWidth, maxHeight) interval. If the minimum and
- * maximum sizes are identical it represents a single image resolution.
+ * SizeRange describes a range of sizes included in the [min, max]
+ * interval for both the width and the height. If the minimum and
+ * maximum sizes are identical it represents a single size.
*/
/**
@@ -115,23 +115,13 @@ const std::string Rectangle::toString() const
*/
/**
- * \var SizeRange::minWidth
- * \brief The minimum image width
+ * \var SizeRange::min
+ * \brief The minimum size
*/
/**
- * \var SizeRange::minHeight
- * \brief The minimum image height
- */
-
-/**
- * \var SizeRange::maxWidth
- * \brief The maximum image width
- */
-
-/**
- * \var SizeRange::maxHeight
- * \brief The maximum image height
+ * \var SizeRange::max
+ * \brief The maximum size
*/
} /* namespace libcamera */
@@ -1047,10 +1047,9 @@ int CIO2Device::init(const MediaDevice *media, unsigned int index)
continue;
for (const SizeRange &size : it.second) {
- if (maxSize_.width < size.maxWidth &&
- maxSize_.height < size.maxHeight) {
- maxSize_.width = size.maxWidth;
- maxSize_.height = size.maxHeight;
+ if (maxSize_.width < size.max.width &&
+ maxSize_.height < size.max.height) {
+ maxSize_ = size.max;
mbusCode_ = mbusCode;
}
}
@@ -1105,19 +1104,19 @@ int CIO2Device::configure(const StreamConfiguration &config,
* as possible. This will need to be revisited when
* implementing the scaling policy.
*/
- if (size.maxWidth < config.width ||
- size.maxHeight < config.height)
+ if (size.max.width < config.width ||
+ size.max.height < config.height)
continue;
- unsigned int diff = size.maxWidth * size.maxHeight
+ unsigned int diff = size.max.width * size.max.height
- imageSize;
if (diff >= best)
continue;
best = diff;
- sensorFormat.width = size.maxWidth;
- sensorFormat.height = size.maxHeight;
+ sensorFormat.width = size.max.width;
+ sensorFormat.height = size.max.height;
sensorFormat.mbus_code = it.first;
}
}
@@ -37,10 +37,10 @@ void ListFormatsTest::printFormats(unsigned int pad,
for (SizeRange &size : sizes) {
cout << " mbus code: 0x" << setfill('0') << setw(4)
<< hex << code << endl;
- cout << " min width: " << dec << size.minWidth << endl;
- cout << " min height: " << dec << size.minHeight << endl;
- cout << " max width: " << dec << size.maxWidth << endl;
- cout << " max height: " << dec << size.maxHeight << endl;
+ cout << " min width: " << dec << size.min.width << endl;
+ cout << " min height: " << dec << size.min.height << endl;
+ cout << " max width: " << dec << size.max.width << endl;
+ cout << " max height: " << dec << size.max.height << endl;
}
}