blob: d5fd960b3aa92c473428bd73b10b7932618f99b5 [file] [log] [blame] [edit]
/*
* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "features/hdrnet/hdrnet_config.h"
#include "common/reloadable_config_file.h"
namespace cros {
constexpr char kDumpBuffer[] = "dump_buffer";
constexpr char kHdrNetEnable[] = "hdrnet_enable";
constexpr char kHdrRatio[] = "hdr_ratio";
constexpr char kMaxGainBlendThreshold[] = "max_gain_blend_threshold";
constexpr char kSpatialFilterSigma[] = "spatial_filter_sigma";
constexpr char kRangeFilterSigma[] = "range_filter_sigma";
constexpr char kIirFilterStrength[] = "iir_filter_strength";
void ParseHdrnetJsonOptions(const base::Value::Dict& json_values,
HdrNetConfig::Options& options) {
LoadIfExist(json_values, kHdrNetEnable, &options.hdrnet_enable);
LoadIfExist(json_values, kDumpBuffer, &options.dump_buffer);
LoadIfExist(json_values, kHdrRatio, &options.hdr_ratio);
LoadIfExist(json_values, kMaxGainBlendThreshold,
&options.max_gain_blend_threshold);
LoadIfExist(json_values, kSpatialFilterSigma, &options.spatial_filter_sigma);
LoadIfExist(json_values, kRangeFilterSigma, &options.range_filter_sigma);
LoadIfExist(json_values, kIirFilterStrength, &options.iir_filter_strength);
CHECK_GE(options.hdr_ratio, 1.0f);
CHECK_LE(options.max_gain_blend_threshold, 1.0f);
CHECK_GE(options.max_gain_blend_threshold, 0.0f);
CHECK_LE(options.iir_filter_strength, 1.0f);
CHECK_GE(options.iir_filter_strength, 0.0f);
}
} // namespace cros