libcamera: libcamera::DebayerCpuThread Class Reference

libcamera v0.7.2 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
libcamera::DebayerCpuThread Class Reference

Class representing one CPU debayering thread. More...

Inheritance diagram for libcamera::DebayerCpuThread:
[legend]
Collaboration diagram for libcamera::DebayerCpuThread:
[legend]

## Public Member Functions
| DebayerCpuThread (DebayerCpu *debayer, unsigned int threadIndex, bool enableInputMemcpy)
| Construct a DebayerCpuThread object.
void | configure (unsigned int yStart, unsigned int yEnd)
| Configure thread to process a specific part of the image.
void | process (uint32_t frame, const uint8_t *src, uint8_t *dst)
| Process part of the image assigned to this debayer thread.
Public Member Functions inherited from libcamera::Thread
| Thread (std::string name={})
| Create a thread.
void | start ()
| Start the thread.
void | exit (int code=0)
| Stop the thread's event loop.
bool | wait (utils::duration duration=utils::duration::max())
| Wait for the thread to finish.
int | setThreadAffinity (const Span< const unsigned int > &cpus)
| Set the CPU affinity mask of the thread.
bool | isRunning ()
| Check if the thread is running.
EventDispatcher * | eventDispatcher ()
| Retrieve the event dispatcher.
void | dispatchMessages (Message::Type type=Message::Type::None, Object *receiver=nullptr)
| Dispatch posted messages for this thread.
void | removeMessages (Object *receiver)
| Remove all posted messages for the receiver.
Public Member Functions inherited from libcamera::Object
| Object (Object *parent=nullptr)
| Construct an Object instance.
virtual | ~Object ()
| Destroy an Object instance.
void | deleteLater ()
| Schedule deletion of the instance in the thread it belongs to.
void | postMessage (std::unique_ptr< Message > msg)
| Post a message to the object's thread.
template<typename T, typename R, typename... FuncArgs, typename... Args, std::enable_if_t< std::is_base_of< Object, T >::value > * = nullptr>
R | invokeMethod (R(T::*func)(FuncArgs...), ConnectionType type, Args &&... args)
| Invoke a method asynchronously on an Object instance.
Thread * | thread () const
| Retrieve the thread the object is bound to.
void | moveToThread (Thread *thread)
| Move the object and all its children to a different thread.
Object * | parent () const
| Retrieve the object's parent.

## Additional Inherited Members
Static Public Member Functions inherited from libcamera::Thread
static Thread * | current ()
| Retrieve the Thread instance for the current thread.
static pid_t | currentId ()
| Retrieve the ID of the current thread.
Public Attributes inherited from libcamera::Thread
Signal | finished
| Signal the end of thread execution.
Protected Member Functions inherited from libcamera::Thread
int | exec ()
| Enter the event loop.
virtual void | run ()
| Main function of the thread.
Protected Member Functions inherited from libcamera::Object
virtual void | message (Message *msg)
| Message handler for the object.
bool | assertThreadBound (const char *message)
| Check if the caller complies with thread-bound constraints.

## Detailed Description

Class representing one CPU debayering thread.

Implementation for CPU based debayering threads.

## Constructor & Destructor Documentation

## ◆ DebayerCpuThread()

libcamera::DebayerCpuThread::DebayerCpuThread | ( | DebayerCpu * | debayer,
|  | unsigned int | threadIndex,
|  | bool | enableInputMemcpy )

Construct a DebayerCpuThread object.

Parameters

  [in] | debayer | pointer back to the DebayerCpuObject this thread belongs to
  [in] | threadIndex | 0 .. n thread-index value for the thread
  [in] | enableInputMemcpy | when set copy input data to a heap buffer before use

## Member Function Documentation

## ◆ configure()

void libcamera::DebayerCpuThread::configure | ( | unsigned int | yStart,
|  | unsigned int | yEnd )

Configure thread to process a specific part of the image.

Parameters

  [in] | yStart | y coordinate of first line to process
  [in] | yEnd | y coordinate of the line at which to stop processing

Configure the thread to process lines from yStart to yEnd - 1.

## ◆ process()

void libcamera::DebayerCpuThread::process | ( | uint32_t | frame,
|  | const uint8_t * | src,
|  | uint8_t * | dst )

Process part of the image assigned to this debayer thread.

Parameters

  [in] | frame | The frame number
  [in] | src | The source buffer
  [in] | dst | The destination buffer

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

- src/libcamera/software_isp/debayer_cpu.cpp