Browse Source

rpi camera: allow using decimal FPS (#1743) (#1873)

pull/1874/head
Alessandro Ros 3 years ago committed by GitHub
parent
commit
af324c9e91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      apidocs/openapi.yaml
  2. 2
      internal/conf/path.go
  3. 2
      internal/rpicamera/exe/camera.cpp
  4. 2
      internal/rpicamera/exe/parameters.c
  5. 2
      internal/rpicamera/exe/parameters.h
  6. 2
      internal/rpicamera/params.go

2
apidocs/openapi.yaml

@ -262,7 +262,7 @@ components:
rpiCameraMode: rpiCameraMode:
type: string type: string
rpiCameraFPS: rpiCameraFPS:
type: integer type: number
rpiCameraIDRPeriod: rpiCameraIDRPeriod:
type: integer type: integer
rpiCameraBitrate: rpiCameraBitrate:

2
internal/conf/path.go

@ -92,7 +92,7 @@ type PathConf struct {
RPICameraROI string `json:"rpiCameraROI"` RPICameraROI string `json:"rpiCameraROI"`
RPICameraTuningFile string `json:"rpiCameraTuningFile"` RPICameraTuningFile string `json:"rpiCameraTuningFile"`
RPICameraMode string `json:"rpiCameraMode"` RPICameraMode string `json:"rpiCameraMode"`
RPICameraFPS int `json:"rpiCameraFPS"` RPICameraFPS float64 `json:"rpiCameraFPS"`
RPICameraIDRPeriod int `json:"rpiCameraIDRPeriod"` RPICameraIDRPeriod int `json:"rpiCameraIDRPeriod"`
RPICameraBitrate int `json:"rpiCameraBitrate"` RPICameraBitrate int `json:"rpiCameraBitrate"`
RPICameraProfile string `json:"rpiCameraProfile"` RPICameraProfile string `json:"rpiCameraProfile"`

2
internal/rpicamera/exe/camera.cpp

@ -345,7 +345,7 @@ static void fill_dynamic_controls(ControlList *ctrls, const parameters_t *params
ctrls->set(controls::ExposureValue, params->ev); ctrls->set(controls::ExposureValue, params->ev);
int64_t frame_time = 1000000 / params->fps; int64_t frame_time = (int64_t)(((float)1000000) / params->fps);
ctrls->set(controls::FrameDurationLimits, Span<const int64_t, 2>({ frame_time, frame_time })); ctrls->set(controls::FrameDurationLimits, Span<const int64_t, 2>({ frame_time, frame_time }));
} }

2
internal/rpicamera/exe/parameters.c

@ -96,7 +96,7 @@ bool parameters_unserialize(parameters_t *params, const uint8_t *buf, size_t buf
} }
free(decoded_val); free(decoded_val);
} else if (strcmp(key, "FPS") == 0) { } else if (strcmp(key, "FPS") == 0) {
params->fps = atoi(val); params->fps = atof(val);
} else if (strcmp(key, "IDRPeriod") == 0) { } else if (strcmp(key, "IDRPeriod") == 0) {
params->idr_period = atoi(val); params->idr_period = atoi(val);
} else if (strcmp(key, "Bitrate") == 0) { } else if (strcmp(key, "Bitrate") == 0) {

2
internal/rpicamera/exe/parameters.h

@ -27,7 +27,7 @@ typedef struct {
window_t *roi; window_t *roi;
char *tuning_file; char *tuning_file;
sensor_mode_t *mode; sensor_mode_t *mode;
unsigned int fps; float fps;
unsigned int idr_period; unsigned int idr_period;
unsigned int bitrate; unsigned int bitrate;
unsigned int profile; unsigned int profile;

2
internal/rpicamera/params.go

@ -21,7 +21,7 @@ type Params struct {
ROI string ROI string
TuningFile string TuningFile string
Mode string Mode string
FPS int FPS float64
IDRPeriod int IDRPeriod int
Bitrate int Bitrate int
Profile string Profile string

Loading…
Cancel
Save