libjxl

FORK: libjxl patches used on blog
git clone https://git.neptards.moe/blog/libjxl.git
Log | Files | Refs | Submodules | README | LICENSE

parameters.cc (3215B)


      1 // Copyright (c) the JPEG XL Project Authors. All rights reserved.
      2 //
      3 // Use of this source code is governed by a BSD-style
      4 // license that can be found in the LICENSE file.
      5 
      6 #include "tools/flicker_test/parameters.h"
      7 
      8 namespace jpegxl {
      9 namespace tools {
     10 
     11 namespace {
     12 
     13 constexpr char kPathsGroup[] = "paths";
     14 constexpr char kOriginalFolderKey[] = "originalFolder";
     15 constexpr char kAlteredFolderKey[] = "alteredFolder";
     16 constexpr char kOutputFileKey[] = "outputFile";
     17 
     18 constexpr char kTimingGroup[] = "timing";
     19 constexpr char kAdvanceTimeKey[] = "advanceTimeMSecs";
     20 constexpr char kViewingTimeKey[] = "viewingTimeSecs";
     21 constexpr char kBlankingTimeKey[] = "blankingTimeMSecs";
     22 constexpr char kGrayGroup[] = "gray";
     23 constexpr char kGrayKey[] = "enabled";
     24 constexpr char kGrayFadingTimeKey[] = "fadingTimeMSecs";
     25 constexpr char kGrayTimeKey[] = "timeMSecs";
     26 
     27 constexpr char kDisplayGroup[] = "display";
     28 constexpr char kIntensityTargetKey[] = "intensityTarget";
     29 constexpr char kSpacingKey[] = "spacing";
     30 
     31 }  // namespace
     32 
     33 FlickerTestParameters FlickerTestParameters::loadFrom(
     34     QSettings* const settings) {
     35   FlickerTestParameters parameters;
     36 
     37   settings->beginGroup(kPathsGroup);
     38   parameters.originalFolder = settings->value(kOriginalFolderKey).toString();
     39   parameters.alteredFolder = settings->value(kAlteredFolderKey).toString();
     40   parameters.outputFile = settings->value(kOutputFileKey).toString();
     41   settings->endGroup();
     42 
     43   settings->beginGroup(kTimingGroup);
     44   parameters.advanceTimeMSecs = settings->value(kAdvanceTimeKey, 100).toInt();
     45   parameters.viewingTimeSecs = settings->value(kViewingTimeKey, 4).toInt();
     46   parameters.blankingTimeMSecs = settings->value(kBlankingTimeKey, 250).toInt();
     47   settings->beginGroup(kGrayGroup);
     48   parameters.gray = settings->value(kGrayKey, false).toBool();
     49   parameters.grayFadingTimeMSecs =
     50       settings->value(kGrayFadingTimeKey, 100).toInt();
     51   parameters.grayTimeMSecs = settings->value(kGrayTimeKey, 300).toInt();
     52   settings->endGroup();
     53   settings->endGroup();
     54 
     55   settings->beginGroup(kDisplayGroup);
     56   parameters.intensityTarget =
     57       settings->value(kIntensityTargetKey, 250).toInt();
     58   parameters.spacing = settings->value(kSpacingKey, 50).toInt();
     59   settings->endGroup();
     60 
     61   return parameters;
     62 }
     63 
     64 void FlickerTestParameters::saveTo(QSettings* const settings) const {
     65   settings->beginGroup(kPathsGroup);
     66   settings->setValue(kOriginalFolderKey, originalFolder);
     67   settings->setValue(kAlteredFolderKey, alteredFolder);
     68   settings->setValue(kOutputFileKey, outputFile);
     69   settings->endGroup();
     70 
     71   settings->beginGroup(kTimingGroup);
     72   settings->setValue(kAdvanceTimeKey, advanceTimeMSecs);
     73   settings->setValue(kViewingTimeKey, viewingTimeSecs);
     74   settings->setValue(kBlankingTimeKey, blankingTimeMSecs);
     75   settings->beginGroup(kGrayGroup);
     76   settings->setValue(kGrayKey, gray);
     77   settings->setValue(kGrayFadingTimeKey, grayFadingTimeMSecs);
     78   settings->setValue(kGrayTimeKey, grayTimeMSecs);
     79   settings->endGroup();
     80   settings->endGroup();
     81 
     82   settings->beginGroup(kDisplayGroup);
     83   settings->setValue(kIntensityTargetKey, intensityTarget);
     84   settings->setValue(kSpacingKey, spacing);
     85   settings->endGroup();
     86 }
     87 
     88 }  // namespace tools
     89 }  // namespace jpegxl