#ifndef LCAMERA_BUFF_PARAMS_H
#define LCAMERA_BUFF_PARAMS_H

#include <cameraModeRequest.h>
#include <user/deviceAttachmentSpec.h>

namespace smo {
namespace stim_buff {
namespace lcamera_buff {

struct LcameraBuffParsedParams
{
	unsigned width = 0;
	unsigned height = 0;
	lcamera_dev::LcameraDevColourSpace colourSpace =
		lcamera_dev::LcameraDevColourSpace::Yuv;
	bool fullPlanarIsOptional = false;
};

LcameraBuffParsedParams parseLcameraBuffParams(
	const device::DeviceAttachmentSpec& spec);

lcamera_dev::LcameraDevCameraModeRequest toCameraModeRequest(
	const LcameraBuffParsedParams& parsedParams);

bool lcameraBuffParamsEqual(
	const LcameraBuffParsedParams& left,
	const LcameraBuffParsedParams& right);

} // namespace lcamera_buff
} // namespace stim_buff
} // namespace smo

#endif // LCAMERA_BUFF_PARAMS_H
