8 #ifndef META_OCEAN_CV_FRAME_CONVERTER_RGGB_10_PACKED_H
9 #define META_OCEAN_CV_FRAME_CONVERTER_RGGB_10_PACKED_H
43 static inline void convertRGGB10_PackedToBGR24(
const uint8_t*
const source, uint8_t*
const target,
const unsigned int width,
const unsigned int height,
const ConversionFlag flag,
const unsigned int sourcePaddingElements,
const unsigned int targetPaddingElements,
Worker* worker =
nullptr);
56 static inline void convertRGGB10_PackedToRGB24(
const uint8_t*
const source, uint8_t*
const target,
const unsigned int width,
const unsigned int height,
const ConversionFlag flag,
const unsigned int sourcePaddingElements,
const unsigned int targetPaddingElements,
Worker* worker =
nullptr);
69 static inline void convertRGGB10_PackedToRGB48(
const uint8_t*
const source, uint16_t*
const target,
const unsigned int width,
const unsigned int height,
const ConversionFlag flag,
const unsigned int sourcePaddingElements,
const unsigned int targetPaddingElements,
Worker* worker =
nullptr);
85 static inline void convertRGGB10_PackedToRGB24BlacklevelWhiteBalanceGammaLUT(
const uint8_t* source, uint8_t* target,
const unsigned int width,
const unsigned int height,
const ConversionFlag flag,
const uint16_t blackLevel,
const float* whiteBalance,
const float gamma,
const unsigned int sourcePaddingElements,
const unsigned int targetPaddingElements,
Worker* worker =
nullptr);
90 ocean_assert(source !=
nullptr && target !=
nullptr);
91 ocean_assert(width >= 4u && height >= 1u);
92 ocean_assert(width % 4u == 0u);
94 const int options[2] =
97 int(sourcePaddingElements), int(targetPaddingElements)
100 FrameConverter::convertArbitraryPixelFormat((
const void**)(&source), (
void**)(&target), width, height, flag, 2u, FrameConverter::convertTwoRows_1PlaneMosaicPacked10Bit_To_1PlaneUnpacked3Channels8Bit<2u, 1u, 0u>, options, worker);
105 ocean_assert(source !=
nullptr && target !=
nullptr);
106 ocean_assert(width >= 4u && height >= 1u);
107 ocean_assert(width % 4u == 0u);
109 const int options[2] =
112 int(sourcePaddingElements), int(targetPaddingElements)
115 FrameConverter::convertArbitraryPixelFormat((
const void**)(&source), (
void**)(&target), width, height, flag, 2u, FrameConverter::convertTwoRows_1PlaneMosaicPacked10Bit_To_1PlaneUnpacked3Channels8Bit<0u, 1u, 2u>, options, worker);
120 ocean_assert(source !=
nullptr && target !=
nullptr);
121 ocean_assert(width >= 4u && height >= 1u);
122 ocean_assert(width % 4u == 0u);
124 const int options[2] =
127 int(sourcePaddingElements), int(targetPaddingElements)
130 FrameConverter::convertArbitraryPixelFormat((
const void**)(&source), (
void**)(&target), width, height, flag, 2u, FrameConverter::convertTwoRows_1PlaneMosaicPacked10Bit_To_1PlaneUnpacked3Channels16Bit<0u, 1u, 2u>, options, worker);
133 inline void FrameConverterRGGB10_Packed::convertRGGB10_PackedToRGB24BlacklevelWhiteBalanceGammaLUT(
const uint8_t* source, uint8_t* target,
const unsigned int width,
const unsigned int height,
const ConversionFlag flag,
const uint16_t blackLevel,
const float* whiteBalance,
const float gamma,
const unsigned int sourcePaddingElements,
const unsigned int targetPaddingElements,
Worker* worker)
135 ocean_assert(source !=
nullptr && target !=
nullptr);
136 ocean_assert(width >= 4u && height >= 1u);
137 ocean_assert(width % 4u == 0u);
138 ocean_assert(whiteBalance !=
nullptr && whiteBalance[0] >= 0.0f && whiteBalance[1] >= 0.0f && whiteBalance[2] >= 0.0f);
139 ocean_assert(gamma > 0.0f);
142 const unsigned int whiteBalance7[3] =
144 (
unsigned int)(whiteBalance[0] * 128.0f + 0.5f),
145 (
unsigned int)(whiteBalance[1] * 128.0f + 0.5f),
146 (
unsigned int)(whiteBalance[2] * 128.0f + 0.5f),
153 FrameConverter::convertArbitraryPixelFormat((
const void**)(&source), (
void**)(&target), width, height, flag, 2u, FrameConverter::convertTwoRows_1PlaneMosaicPacked10Bit_To_1PlaneUnpacked3Channels8BitAdvanced<0u, 1u, 2u>, &options, worker);
This is the base class for all frame converter classes.
Definition: FrameConverter.h:32
ConversionFlag
Definition of individual conversion flags.
Definition: FrameConverter.h:39
static void convertArbitraryPixelFormat(const void **sources, void **targets, const unsigned int width, const unsigned int height, const ConversionFlag flag, const unsigned int multipleRowsPerIteration, const MultipleRowsConversionFunction multipleRowsConversionFunction, const void *options, Worker *worker)
Converts a frame with arbitrary pixel format (e.g., Y_UV12, Y_VU12, YUYV16, ...) to a frame with arbi...
Definition: FrameConverter.h:3234
This class provides functions to convert frames with RGGB10_PACKED pixel format.
Definition: FrameConverterRGGB10_Packed.h:29
static void convertRGGB10_PackedToRGB24BlacklevelWhiteBalanceGammaLUT(const uint8_t *source, uint8_t *target, const unsigned int width, const unsigned int height, const ConversionFlag flag, const uint16_t blackLevel, const float *whiteBalance, const float gamma, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr)
Converts a RGGB10_PACKED frame to a RGB24 frame with black level subtraction, white balance,...
Definition: FrameConverterRGGB10_Packed.h:133
static void convertRGGB10_PackedToRGB48(const uint8_t *const source, uint16_t *const target, const unsigned int width, const unsigned int height, const ConversionFlag flag, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr)
Converts a RGGB10_PACKED frame to a RGB48 frame.
Definition: FrameConverterRGGB10_Packed.h:118
static void convertRGGB10_PackedToRGB24(const uint8_t *const source, uint8_t *const target, const unsigned int width, const unsigned int height, const ConversionFlag flag, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr)
Converts a RGGB10_PACKED frame to a RGB24 frame.
Definition: FrameConverterRGGB10_Packed.h:103
static void convertRGGB10_PackedToBGR24(const uint8_t *const source, uint8_t *const target, const unsigned int width, const unsigned int height, const ConversionFlag flag, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr)
Converts a RGGB10_PACKED frame to a BGR24 frame.
Definition: FrameConverterRGGB10_Packed.h:88
static LookupTableManager & get()
Returns a reference to the unique object.
Definition: Singleton.h:115
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15
Definition of the parameters used by the function for row-wise conversion of RGGB14_PACKED to RGB24/B...
Definition: FrameConverter.h:595