38#ifndef _Private_RaspiCam_IMPL_H
39#define _Private_RaspiCam_IMPL_H
67 std::unique_lock<std::mutex> lck ( _mutex );
94 bool open (
bool StartCapture=
true );
131 void setWidth (
unsigned int width ) ;
232 std::string
getId()
const;
239 static void video_buffer_callback ( MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer );
240 void setDefaultStateParams();
241 MMAL_COMPONENT_T *create_camera_component (
RASPIVID_STATE *state );
246 void commitParameters( );
247 void commitBrightness();
248 void commitRotation() ;
250 void commitSharpness();
251 void commitContrast();
252 void commitSaturation();
253 void commitExposure();
255 void commitImageEffect();
256 void commitMetering();
258 void commitExposureCompensation();
259 void commitVideoStabilization();
260 void commitShutterSpeed();
266 MMAL_PARAM_EXPOSUREMETERINGMODE_T convertMetering (
RASPICAM_METERING metering ) ;
271 void convertBGR2RGB(
unsigned char * in_bgr,
unsigned char * out_rgb,
int size);
272 float VIDEO_FRAME_RATE_NUM;
274 MMAL_STATUS_T status;
275 MMAL_PORT_T *camera_video_port;
276 PORT_USERDATA callback_data;
279 MMAL_ES_FORMAT_T *format=
nullptr;
unsigned int getWidth() const
void setHeight(unsigned int height)
void setFormat(RASPICAM_FORMAT fmt)
void setExposureCompensation(int val)
RASPICAM_METERING getMetering() const
int getSaturation() const
int getShutterSpeed() const
bool isHorizontallyFlipped() const
void setHorizontalFlip(bool hFlip)
void setContrast(int contrast)
RASPICAM_IMAGE_EFFECT getImageEffect() const
void setWidth(unsigned int width)
unsigned int getRotation() const
void setRotation(int rotation)
void setVideoStabilization(bool v)
size_t getImageTypeSize(RASPICAM_FORMAT type) const
unsigned int getHeight() const
unsigned int getBrightness() const
void setImageEffect(RASPICAM_IMAGE_EFFECT imageEffect)
void setBrightness(unsigned int brightness)
void setAWB_RB(float red, float blue)
RASPICAM_FORMAT getFormat() const
std::string getId() const
void setExposure(RASPICAM_EXPOSURE exposure)
void setSharpness(int sharpness)
unsigned int getFrameRate() const
void setShutterSpeed(unsigned int shutter)
bool open(bool StartCapture=true)
void setAWB(RASPICAM_AWB awb)
void setFrameRate(unsigned int frame_rate)
bool isVerticallyFlipped() const
unsigned char * getImageBufferData() const
size_t getImageBufferSize() const
void setSaturation(int saturation)
void setMetering(RASPICAM_METERING metering)
RASPICAM_EXPOSURE getExposure() const
RASPICAM_AWB getAWB() const
void setCaptureSize(unsigned int width, unsigned int height)
void retrieve(unsigned char *data, RASPICAM_FORMAT type=RASPICAM_FORMAT_IGNORE)
void setVerticalFlip(bool vFlip)
This class implements a condition to stop a thread until the condition is reached.
int height
Requested width of image.
float awbg_red
region of interest to use on the sensor. Normalised [0,1] values in the rect
RASPICAM_EXPOSURE rpc_exposureMode
RASPICAM_METERING rpc_exposureMeterMode
RASPICAM_IMAGE_EFFECT rpc_imageEffect
RASPICAM_FORMAT captureFtm
int framerate
requested height of image
int brightness
-100 to 100
int sharpness
Pointer to the pool of buffers used by encoder output port.
int shutterSpeed
-10 to +10 ?