libcamera: formats: Add toString() methods
Add toString() helpers to pretty print out a V4L2Device or V4L2Subdevice format. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
97e8b3a2eb
commit
ee81275238
4 changed files with 40 additions and 0 deletions
|
@ -100,6 +100,8 @@ public:
|
||||||
uint32_t bpl;
|
uint32_t bpl;
|
||||||
} planes[3];
|
} planes[3];
|
||||||
unsigned int planesCount;
|
unsigned int planesCount;
|
||||||
|
|
||||||
|
const std::string toString() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class V4L2Device : protected Loggable
|
class V4L2Device : protected Loggable
|
||||||
|
|
|
@ -21,6 +21,8 @@ struct V4L2SubdeviceFormat {
|
||||||
uint32_t mbus_code;
|
uint32_t mbus_code;
|
||||||
uint32_t width;
|
uint32_t width;
|
||||||
uint32_t height;
|
uint32_t height;
|
||||||
|
|
||||||
|
const std::string toString() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class V4L2Subdevice : protected Loggable
|
class V4L2Subdevice : protected Loggable
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <sstream>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
@ -223,6 +225,22 @@ LOG_DEFINE_CATEGORY(V4L2)
|
||||||
* \brief The number of valid data planes
|
* \brief The number of valid data planes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Assemble and return a string describing the format
|
||||||
|
*
|
||||||
|
* \return A string describing the V4L2DeviceFormat
|
||||||
|
*/
|
||||||
|
const std::string V4L2DeviceFormat::toString() const
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
|
||||||
|
ss.fill(0);
|
||||||
|
ss << width << "x" << height << "-0x" << std::hex
|
||||||
|
<< std::setw(8) << fourcc;
|
||||||
|
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \class V4L2Device
|
* \class V4L2Device
|
||||||
* \brief V4L2Device object and API
|
* \brief V4L2Device object and API
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <sstream>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@ -69,6 +71,22 @@ LOG_DEFINE_CATEGORY(V4L2Subdev)
|
||||||
* \brief The image height in pixels
|
* \brief The image height in pixels
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Assemble and return a string describing the format
|
||||||
|
*
|
||||||
|
* \return A string describing the V4L2SubdeviceFormat
|
||||||
|
*/
|
||||||
|
const std::string V4L2SubdeviceFormat::toString() const
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
|
||||||
|
ss.fill(0);
|
||||||
|
ss << width << "x" << height << "-0x" << std::hex
|
||||||
|
<< std::setw(4) << mbus_code;
|
||||||
|
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \class V4L2Subdevice
|
* \class V4L2Subdevice
|
||||||
* \brief A V4L2 subdevice as exposed by the Linux kernel
|
* \brief A V4L2 subdevice as exposed by the Linux kernel
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue