Expose h264 and jpeg options

This commit is contained in:
Kamil Trzcinski 2022-04-11 13:02:21 +02:00
parent 7c56fa2813
commit 0fbbe62799
3 changed files with 27 additions and 14 deletions

View File

@ -80,6 +80,8 @@ option_t all_options[] = {
DEFINE_OPTION_PTR(camera, options, list),
DEFINE_OPTION_PTR(camera, isp.options, list),
DEFINE_OPTION_PTR(camera, jpeg.options, list),
DEFINE_OPTION_PTR(camera, h264.options, list),
DEFINE_OPTION(http, port, uint),
DEFINE_OPTION(http, maxcons, uint),

View File

@ -120,20 +120,7 @@ error:
int camera_set_params(camera_t *camera)
{
device_set_fps(camera->camera, camera->options.fps);
device_set_option_list(camera->camera, camera->options.options);
device_set_option_list(camera->isp_srgb, camera->options.isp.options);
// DEVICE_SET_OPTION(camera->camera, EXPOSURE, 2684);
// DEVICE_SET_OPTION(camera->camera, ANALOGUE_GAIN, 938);
// DEVICE_SET_OPTION(camera->camera, DIGITAL_GAIN, 512);
// DEVICE_SET_OPTION(camera->camera, VBLANK, 1636);
// DEVICE_SET_OPTION(camera->camera, HBLANK, 6906);
// DEVICE_SET_OPTION(camera->isp_srgb, RED_BALANCE, 2120);
// DEVICE_SET_OPTION(camera->isp_srgb, BLUE_BALANCE, 1472);
// DEVICE_SET_OPTION(camera->isp_srgb, DIGITAL_GAIN, 1007);
// Set some defaults
device_set_option_string(camera->codec_jpeg, "compression_quality", "80");
device_set_option_string(camera->codec_h264, "video_bitrate_mode", "0");
@ -144,6 +131,22 @@ int camera_set_params(camera_t *camera)
device_set_option_string(camera->codec_h264, "h264_profile", "4");
device_set_option_string(camera->codec_h264, "h264_minimum_qp_value", "16");
device_set_option_string(camera->codec_h264, "h264_maximum_qp_value", "32");
device_set_fps(camera->camera, camera->options.fps);
device_set_option_list(camera->camera, camera->options.options);
device_set_option_list(camera->isp_srgb, camera->options.isp.options);
device_set_option_list(camera->codec_h264, camera->options.h264.options);
device_set_option_list(camera->codec_jpeg, camera->options.jpeg.options);
// DEVICE_SET_OPTION(camera->camera, EXPOSURE, 2684);
// DEVICE_SET_OPTION(camera->camera, ANALOGUE_GAIN, 938);
// DEVICE_SET_OPTION(camera->camera, DIGITAL_GAIN, 512);
// DEVICE_SET_OPTION(camera->camera, VBLANK, 1636);
// DEVICE_SET_OPTION(camera->camera, HBLANK, 6906);
// DEVICE_SET_OPTION(camera->isp_srgb, RED_BALANCE, 2120);
// DEVICE_SET_OPTION(camera->isp_srgb, BLUE_BALANCE, 1472);
// DEVICE_SET_OPTION(camera->isp_srgb, DIGITAL_GAIN, 1007);
return 0;
}

View File

@ -28,6 +28,14 @@ typedef struct camera_options_s {
struct {
char options[CAMERA_OPTIONS_LENGTH];
} isp;
struct {
char options[CAMERA_OPTIONS_LENGTH];
} jpeg;
struct {
char options[CAMERA_OPTIONS_LENGTH];
} h264;
} camera_options_t;
typedef struct camera_s {