summaryrefslogtreecommitdiff
path: root/src/qcam/assets/feathericons/zoom-in.svg
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-07-24 10:31:39 +0200
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-07-27 17:46:17 +0200
commit90c793c6989fe6913faec920649062ad64b43ff0 (patch)
treef2d5dd0b96306ee9cde2e3e7d6d1c1daa4e28a94 /src/qcam/assets/feathericons/zoom-in.svg
parent30e0ea843eb96a93f8282466e3a328fdda7fafdc (diff)
include: drm_fourcc: Add 16-bit Bayer FourCC
The patch trying to upstream Bayer formats to the DRM FourCC header file in Linux left out the 16-bit formats, add them. This addition will be included in the next version of the DRM Bayer patch sent out. Intention is to merge this in libcamera and update the header file once the upstream patch is picked up. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/qcam/assets/feathericons/zoom-in.svg')
0 files changed, 0 insertions, 0 deletions
clude <vector> #include <libcamera/class.h> #include <libcamera/controls.h> #include <libcamera/geometry.h> #include "libcamera/internal/formats.h" #include "libcamera/internal/log.h" #include "libcamera/internal/v4l2_subdevice.h" namespace libcamera { class BayerFormat; class MediaEntity; struct CameraSensorInfo { std::string model; uint32_t bitsPerPixel; Size activeAreaSize; Rectangle analogCrop; Size outputSize; uint64_t pixelRate; uint32_t lineLength; uint32_t minFrameLength; uint32_t maxFrameLength; }; class CameraSensor : protected Loggable { public: explicit CameraSensor(const MediaEntity *entity); ~CameraSensor(); int init(); const std::string &model() const { return model_; } const std::string &id() const { return id_; } const MediaEntity *entity() const { return entity_; } const std::vector<unsigned int> &mbusCodes() const { return mbusCodes_; } const std::vector<Size> &sizes() const { return sizes_; } Size resolution() const; V4L2SubdeviceFormat getFormat(const std::vector<unsigned int> &mbusCodes, const Size &size) const; int setFormat(V4L2SubdeviceFormat *format); const ControlInfoMap &controls() const; ControlList getControls(const std::vector<uint32_t> &ids); int setControls(ControlList *ctrls); V4L2Subdevice *device() { return subdev_.get(); } const ControlList &properties() const { return properties_; } int sensorInfo(CameraSensorInfo *info) const; protected: std::string logPrefix() const override; private: LIBCAMERA_DISABLE_COPY(CameraSensor) int generateId(); int validateSensorDriver(); void initVimcDefaultProperties(); int initProperties(); const MediaEntity *entity_; std::unique_ptr<V4L2Subdevice> subdev_; unsigned int pad_; std::string model_; std::string id_; V4L2Subdevice::Formats formats_; std::vector<unsigned int> mbusCodes_; std::vector<Size> sizes_; Size pixelArraySize_; Rectangle activeArea_; const BayerFormat *bayerFormat_; ControlList properties_; }; } /* namespace libcamera */ #endif /* __LIBCAMERA_INTERNAL_CAMERA_SENSOR_H__ */