blob: f7d0763a4f42d68b4d869003c77c1a67461fe0a9 [file] [log] [blame]
/*
* Copyright 2021 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef CAMERA_FEATURES_HDRNET_HDRNET_CONFIG_H_
#define CAMERA_FEATURES_HDRNET_HDRNET_CONFIG_H_
#include <base/containers/flat_map.h>
#include <base/files/file_path.h>
#include <base/files/file_path_watcher.h>
#include <base/synchronization/lock.h>
namespace cros {
// The Config class holds all the settings that controls the operation and
// behaviors of the HDRnet pipeline.
class HdrNetConfig {
public:
// The default HDRnet config file. The file should contain a JSON map for the
// options defined below.
static constexpr const char kDefaultHdrNetConfigFile[] =
"/etc/camera/hdrnet_config.json";
static constexpr const char kOverrideHdrNetConfigFile[] =
"/run/camera/hdrnet_config.json";
struct Options {
// Enables the HDRnet pipeline to produce output frames.
bool hdrnet_enable = true;
// The HDR ratio use for HDRnet rendering. Only effective if Gcam AE isn't
// running.
float hdr_ratio = 3.0;
// Dumps intermediate processing buffers for debugging.
bool dump_buffer = false;
// Whether to log per-frame metadata using MetadataLogger.
bool log_frame_metadata = false;
};
};
} // namespace cros
#endif // CAMERA_FEATURES_HDRNET_HDRNET_CONFIG_H_