3#include "FrameMetadata.h"
4#include "ImageMetadata.h"
5#include <opencv2/opencv.hpp>
14 size_t _step[4] = {0, 0, 0, 0};
19 for (
auto i = 0; i < 3; i++)
31 _step[1] = _width >> 1;
36 auto msg =
"Unknown image type<" + std::to_string(
imageType) +
">";
37 throw AIPException(AIP_NOTIMPLEMENTED, msg);
43 _step[i] = _step[i] * elemSize;
56 initData(_width, _height, _imageType, _step, _depth, _nextPtrOffset);
65 width[i] = NOT_SET_NUM;
67 step[i] = NOT_SET_NUM;
97 return width[channelId];
113 return static_cast<size_t>(
width[channelId] * elemSize * multiple);
119 size_t getOffset(
int channelId,
int offsetX,
int offsetY)
123 throw AIPException(AIP_NOTIMPLEMENTED,
"Offset for NV12 not implemented");
127 offsetX = offsetX >> 1;
128 offsetY = offsetY >> 1;
133 return (
step[channelId]*offsetY + (elemSize * offsetX) );
139 return static_cast<size_t>(
step[channelId] *
height[channelId] * elemSize);
188 width[1] = _width >> 1;
194 width[1] = _width >> 1;
201 auto msg =
"Unknown image type<" + std::to_string(
imageType) +
">";
202 throw AIPException(AIP_NOTIMPLEMENTED, msg);
209 int width[4] = {NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM};
210 int height[4] = {NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM};
212 size_t step[4] = {NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM};
213 size_t nextPtrOffset[4] = { NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM, NOT_SET_NUM };