Ocean
Ocean::CV::FrameInverter Class Reference

This class implements a frame inverter inverting the internal frame data. More...

Static Public Member Functions

static bool invert (const Frame &source, Frame &target, Worker *worker=nullptr)
 Inverts the pixel values of a given frame. More...
 
static bool invert (Frame &frame, Worker *worker=nullptr)
 Inverts the pixel values of a given frame. More...
 
template<unsigned int tChannel, unsigned int tChannels>
static void invert8BitChannel (uint8_t *frame, const unsigned int width, const unsigned int height, Worker *worker=nullptr)
 Inverts one channel of an 8 bit per channel frame. More...
 
template<unsigned int tChannel, unsigned int tChannels>
static void invert8BitChannel (const uint8_t *source, uint8_t *target, const unsigned int width, const unsigned int height, Worker *worker=nullptr)
 Inverts one channel of an 8 bit per channel frame. More...
 
template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
static void invert8BitChannels (uint8_t *frame, const unsigned int width, const unsigned int height, Worker *worker=nullptr)
 Inverts several channels of an 8 bit per channel frame. More...
 
template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
static void invert8BitChannels (const uint8_t *source, uint8_t *target, const unsigned int width, const unsigned int height, Worker *worker=nullptr)
 Inverts several channels of an 8 bit per channel frame. More...
 
static void invert8BitPerChannel (const uint8_t *source, uint8_t *target, const unsigned int width, const unsigned int height, const unsigned int channels, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, Worker *worker=nullptr)
 Inverts an 8 bit per channel frame. More...
 

Static Protected Member Functions

template<unsigned int tChannel, unsigned int tChannels>
static void invert8BitChannelSubset (uint8_t *frame, const unsigned int width, const unsigned int height, const unsigned int firstRow, const unsigned int numberRows)
 Inverts one channel of a subset of an 8 bit per channel frame. More...
 
template<unsigned int tChannel, unsigned int tChannels>
static void invert8BitChannelSubset (const uint8_t *source, uint8_t *target, const unsigned int width, const unsigned int height, const unsigned int firstRow, const unsigned int numberRows)
 Inverts one channel of a subset of an 8 bit per channel frame. More...
 
template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
static void invert8BitChannelsSubset (uint8_t *frame, const unsigned int width, const unsigned int height, const unsigned int firstRow, const unsigned int numberRows)
 Inverts several channels of a subset of an 8 bit per channel frame. More...
 
template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
static void invert8BitChannelsSubset (const uint8_t *source, uint8_t *target, const unsigned int width, const unsigned int height, const unsigned int firstRow, const unsigned int numberRows)
 Inverts several channels of a subset of an 8 bit per channel frame. More...
 
static void invert8BitPerChannelSubset (const uint8_t *source, uint8_t *target, const unsigned int horizontalElements, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, const unsigned int firstRow, const unsigned int numberRows)
 Inverts the pixel values of a subset of a given frame. More...
 
static void invert8BitPerChannelSubsetNEON (const uint8_t *source, uint8_t *target, const unsigned int horizontalElements, const unsigned int sourcePaddingElements, const unsigned int targetPaddingElements, const unsigned int firstRow, const unsigned int numberRows)
 Inverts the pixel values of a subset of a given frame. More...
 

Detailed Description

This class implements a frame inverter inverting the internal frame data.

Member Function Documentation

◆ invert() [1/2]

static bool Ocean::CV::FrameInverter::invert ( const Frame source,
Frame target,
Worker worker = nullptr 
)
static

Inverts the pixel values of a given frame.

Parameters
sourceThe source frame to be inverted
targetThe target frame receiving the inverted pixel values
workerOptional worker object to distribute the computation
Returns
True, if succeeded

◆ invert() [2/2]

static bool Ocean::CV::FrameInverter::invert ( Frame frame,
Worker worker = nullptr 
)
static

Inverts the pixel values of a given frame.

Parameters
frameThe frame to be inverted
workerOptional worker object to distribute the computation
Returns
True, if succeeded

◆ invert8BitChannel() [1/2]

template<unsigned int tChannel, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannel ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  width,
const unsigned int  height,
Worker worker = nullptr 
)
inlinestatic

Inverts one channel of an 8 bit per channel frame.

Parameters
sourceThe source frame data to be inverted
targetThe target frame data receiving the inverted data
widthThe width of the frame in pixel
heightThe height of the frame in pixel
workerOptional worker object to distribute the computation
Template Parameters
tChannelIndex of the channel that will be inverted, with range [0, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannel() [2/2]

template<unsigned int tChannel, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannel ( uint8_t *  frame,
const unsigned int  width,
const unsigned int  height,
Worker worker = nullptr 
)
inlinestatic

Inverts one channel of an 8 bit per channel frame.

Parameters
frameThe frame in that one channel will be inverted
widthThe width of the frame in pixel
heightThe height of the frame in pixel
workerOptional worker object to distribute the computation
Template Parameters
tChannelIndex of the channel that will be inverted, with range [0, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannels() [1/2]

template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannels ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  width,
const unsigned int  height,
Worker worker = nullptr 
)
inlinestatic

Inverts several channels of an 8 bit per channel frame.

Parameters
sourceThe source frame data to be inverted
targetThe target frame data receiving the inverted data
widthThe width of the frame in pixel
heightThe height of the frame in pixel
workerOptional worker object to distribute the computation
Template Parameters
tChannelFirstIndex of the first channel that will be inverted, with range [0, tChannels)
tChannelLastIndex of the last (including) channel that will be inverted, with range [tChannelFirst, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannels() [2/2]

template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannels ( uint8_t *  frame,
const unsigned int  width,
const unsigned int  height,
Worker worker = nullptr 
)
inlinestatic

Inverts several channels of an 8 bit per channel frame.

Parameters
frameThe frame in that one channel will be inverted
widthThe width of the frame in pixel
heightThe height of the frame in pixel
workerOptional worker object to distribute the computation
Template Parameters
tChannelFirstIndex of the first channel that will be inverted, with range [0, tChannels)
tChannelLastIndex of the last (including) channel that will be inverted, with range [tChannelFirst, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannelsSubset() [1/2]

template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannelsSubset ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  width,
const unsigned int  height,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Inverts several channels of a subset of an 8 bit per channel frame.

Parameters
sourceThe source frame data to be inverted
targetThe target frame data receiving the inverted data
widthThe width of the frame in pixel
heightThe height of the frame in pixel
firstRowFirst row to be handled
numberRowsNumber of rows to be handled
Template Parameters
tChannelFirstIndex of the first channel that will be inverted, with range [0, tChannels)
tChannelLastIndex of the last (including) channel that will be inverted, with range [tChannelFirst, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannelsSubset() [2/2]

template<unsigned int tChannelFirst, unsigned int tChannelLast, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannelsSubset ( uint8_t *  frame,
const unsigned int  width,
const unsigned int  height,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Inverts several channels of a subset of an 8 bit per channel frame.

Parameters
frameThe frame in that one channel will be inverted
widthThe width of the frame in pixel
heightThe height of the frame in pixel
firstRowFirst row to be handled
numberRowsNumber of rows to be handled
Template Parameters
tChannelFirstIndex of the first channel that will be inverted, with range [0, tChannels)
tChannelLastIndex of the last (including) channel that will be inverted, with range [tChannelFirst, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannelSubset() [1/2]

template<unsigned int tChannel, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannelSubset ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  width,
const unsigned int  height,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Inverts one channel of a subset of an 8 bit per channel frame.

Parameters
sourceThe source frame data to be inverted
targetThe target frame data receiving the inverted data
widthThe width of the frame in pixel
heightThe height of the frame in pixel
firstRowFirst row to be handled
numberRowsNumber of rows to be handled
Template Parameters
tChannelIndex of the channel that will be inverted, with range [0, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitChannelSubset() [2/2]

template<unsigned int tChannel, unsigned int tChannels>
void Ocean::CV::FrameInverter::invert8BitChannelSubset ( uint8_t *  frame,
const unsigned int  width,
const unsigned int  height,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Inverts one channel of a subset of an 8 bit per channel frame.

Parameters
frameThe frame in that one channel will be inverted
widthThe width of the frame in pixel
heightThe height of the frame in pixel
firstRowFirst row to be handled
numberRowsNumber of rows to be handled
Template Parameters
tChannelIndex of the channel that will be inverted, with range [0, tChannels)
tChannelsNumber of data channels of the frames

◆ invert8BitPerChannel()

void Ocean::CV::FrameInverter::invert8BitPerChannel ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  width,
const unsigned int  height,
const unsigned int  channels,
const unsigned int  sourcePaddingElements,
const unsigned int  targetPaddingElements,
Worker worker = nullptr 
)
inlinestatic

Inverts an 8 bit per channel frame.

Parameters
sourceThe source frame data to be inverted, must be valid
targetThe target frame data receiving the inverted data, must be valid
widthThe width of the frame in pixel, with range [1, infinity)
heightThe height of the frame in pixel, with range [1, infinity)
channelsNumber of data channels of both frames, with range [1, infinity)
sourcePaddingElementsOptional number of padding elements at the end of each source row, in elements, with range [0, infinity)
targetPaddingElementsOptional number of padding elements at the end of each target row, in elements, with range [0, infinity)
workerOptional worker object to distribute the computation

◆ invert8BitPerChannelSubset()

static void Ocean::CV::FrameInverter::invert8BitPerChannelSubset ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  horizontalElements,
const unsigned int  sourcePaddingElements,
const unsigned int  targetPaddingElements,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Inverts the pixel values of a subset of a given frame.

Parameters
sourceThe source frame to be inverted, must be valid
targetThe target frame receiving the inverted pixel values, must be valid
horizontalElementsThe number of horizontal elements to be inverted (which is width * channels), with range [1, infinity)
sourcePaddingElementsOptional number of padding elements at the end of each source row, in elements, with range [0, infinity)
targetPaddingElementsOptional number of padding elements at the end of each target row, in elements, with range [0, infinity)
firstRowThe first row to be handled, with range [0, height - 1]
numberRowsThe number of rows to be handled, with range [1, height - firstRow]

◆ invert8BitPerChannelSubsetNEON()

static void Ocean::CV::FrameInverter::invert8BitPerChannelSubsetNEON ( const uint8_t *  source,
uint8_t *  target,
const unsigned int  horizontalElements,
const unsigned int  sourcePaddingElements,
const unsigned int  targetPaddingElements,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Inverts the pixel values of a subset of a given frame.

Parameters
sourceThe source frame to be inverted, must be valid
targetThe target frame receiving the inverted pixel values, must be valid
horizontalElementsThe number of horizontal elements to be inverted (which is width * channels), with range [16, infinity)
sourcePaddingElementsOptional number of padding elements at the end of each source row, in elements, with range [0, infinity)
targetPaddingElementsOptional number of padding elements at the end of each target row, in elements, with range [0, infinity)
firstRowThe first row to be handled, with range [0, height - 1]
numberRowsThe number of rows to be handled, with range [1, height - firstRow]

The documentation for this class was generated from the following file: