// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #pragma once #include "smartenum.hpp" namespace H264Config { enum Preset { PLACEBO, VERYSLOW, SLOWER, SLOW, MEDIUM, FAST, FASTER, VERYFAST, SUPERFAST, ULTRAFAST }; enum Tune { FILM, ANIMATION, GRAIN, STILLIMAGE, PSNR, SSIM, FASTCODE, ZEROLATENCY }; enum Profile { BASELINE, MAIN, HIGH, HIGH10, HIGH422, HIGH444 }; class VS_GUI_EXPORT PresetClass { public: typedef Preset Enum; static void initDescriptions(QMap<Enum, QString>& enumToString); static const Enum defaultValue; }; typedef SmartEnum<PresetClass, QString> PresetEnum; class VS_GUI_EXPORT TuneClass { public: typedef Tune Enum; static void initDescriptions(QMap<Enum, QString>& enumToString); static const Enum defaultValue; }; typedef SmartEnum<TuneClass, QString> TuneEnum; class VS_GUI_EXPORT ProfileClass { public: typedef Profile Enum; static void initDescriptions(QMap<Enum, QString>& enumToString); static const Enum defaultValue; }; typedef SmartEnum<ProfileClass, QString> ProfileEnum; } // namespace H264Config