diff --git a/.clang-format b/.clang-format index 10ca177..2ed0c10 100644 --- a/.clang-format +++ b/.clang-format @@ -2,11 +2,11 @@ TabWidth: 4 UseTab: ForContinuationAndIndentation ColumnLimit: 120 - + # Language Language: Cpp Standard: Cpp11 - + # Indentation AccessModifierOffset: 0 ConstructorInitializerIndentWidth: 4 @@ -16,11 +16,11 @@ IndentCaseLabels: false IndentWidth: 4 IndentWrappedFunctionNames: true NamespaceIndentation: All - + # Includes #IncludeBlocks: Regroup IncludeCategories: - - Regex: '^(<|")(config.hpp|common.hpp|strings.hpp|version.hpp|obs.h)("|>)' + - Regex: '^(<|")(config.hpp|common.hpp|ui-common.hpp|strings.hpp|version.hpp|obs.h)("|>)' Priority: 100 - Regex: '^ @@ -79,13 +85,14 @@ extern "C" { #include #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif // Fix libOBS's global defines #undef strtoll - -#ifdef _MSC_VER -#pragma warning(pop) -#endif } // Common Global defines diff --git a/source/encoders/encoder-aom-av1.hpp b/source/encoders/encoder-aom-av1.hpp index f8380bc..fba31a7 100644 --- a/source/encoders/encoder-aom-av1.hpp +++ b/source/encoders/encoder-aom-av1.hpp @@ -31,7 +31,24 @@ #include "util/util-library.hpp" #include "util/util-profiler.hpp" +extern "C" { +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif +}; namespace streamfx::encoder::aom::av1 { class aom_av1_factory; diff --git a/source/encoders/encoder-ffmpeg.cpp b/source/encoders/encoder-ffmpeg.cpp index 18726c8..a47da31 100644 --- a/source/encoders/encoder-ffmpeg.cpp +++ b/source/encoders/encoder-ffmpeg.cpp @@ -47,15 +47,43 @@ #endif extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include #include #include #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } #ifdef WIN32 diff --git a/source/encoders/encoder-ffmpeg.hpp b/source/encoders/encoder-ffmpeg.hpp index 8144020..ac7659e 100644 --- a/source/encoders/encoder-ffmpeg.hpp +++ b/source/encoders/encoder-ffmpeg.hpp @@ -37,13 +37,17 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif -#include #include #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/encoders/handlers/amf_h264_handler.cpp b/source/encoders/handlers/amf_h264_handler.cpp index 5201824..838bac1 100644 --- a/source/encoders/handlers/amf_h264_handler.cpp +++ b/source/encoders/handlers/amf_h264_handler.cpp @@ -30,11 +30,19 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/encoders/handlers/amf_h264_handler.hpp b/source/encoders/handlers/amf_h264_handler.hpp index 6a963f0..a6a0104 100644 --- a/source/encoders/handlers/amf_h264_handler.hpp +++ b/source/encoders/handlers/amf_h264_handler.hpp @@ -26,10 +26,22 @@ #include "handler.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg::handler { diff --git a/source/encoders/handlers/amf_hevc_handler.cpp b/source/encoders/handlers/amf_hevc_handler.cpp index 4f1d323..44a8f6e 100644 --- a/source/encoders/handlers/amf_hevc_handler.cpp +++ b/source/encoders/handlers/amf_hevc_handler.cpp @@ -22,6 +22,7 @@ //--------------------------------------------------------------------------------// #include "amf_hevc_handler.hpp" +#include "common.hpp" #include "strings.hpp" #include "../codecs/hevc.hpp" #include "../encoder-ffmpeg.hpp" @@ -30,11 +31,19 @@ #include "plugin.hpp" extern "C" { -#include +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } // Settings diff --git a/source/encoders/handlers/amf_hevc_handler.hpp b/source/encoders/handlers/amf_hevc_handler.hpp index 1cd537e..cb87b4c 100644 --- a/source/encoders/handlers/amf_hevc_handler.hpp +++ b/source/encoders/handlers/amf_hevc_handler.hpp @@ -25,10 +25,22 @@ #include "handler.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg::handler { diff --git a/source/encoders/handlers/amf_shared.cpp b/source/encoders/handlers/amf_shared.cpp index 0d4e4bf..df78e90 100644 --- a/source/encoders/handlers/amf_shared.cpp +++ b/source/encoders/handlers/amf_shared.cpp @@ -27,10 +27,22 @@ #include "ffmpeg/tools.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } // Translation diff --git a/source/encoders/handlers/amf_shared.hpp b/source/encoders/handlers/amf_shared.hpp index 2e4adfa..a2cc5b7 100644 --- a/source/encoders/handlers/amf_shared.hpp +++ b/source/encoders/handlers/amf_shared.hpp @@ -28,11 +28,19 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/encoders/handlers/debug_handler.cpp b/source/encoders/handlers/debug_handler.cpp index 2de298a..f3588b7 100644 --- a/source/encoders/handlers/debug_handler.cpp +++ b/source/encoders/handlers/debug_handler.cpp @@ -20,6 +20,7 @@ // SOFTWARE. #include "debug_handler.hpp" +#include "common.hpp" #include #include #include @@ -28,11 +29,22 @@ #include "plugin.hpp" extern "C" { -#include +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } using namespace streamfx::encoder::ffmpeg::handler; diff --git a/source/encoders/handlers/dnxhd_handler.cpp b/source/encoders/handlers/dnxhd_handler.cpp index 0c18a93..c00e03e 100644 --- a/source/encoders/handlers/dnxhd_handler.cpp +++ b/source/encoders/handlers/dnxhd_handler.cpp @@ -1,13 +1,10 @@ #include "dnxhd_handler.hpp" +#include "common.hpp" #include #include "../codecs/dnxhr.hpp" #include "ffmpeg/tools.hpp" #include "plugin.hpp" -extern "C" { -#include -} - using namespace streamfx::encoder::ffmpeg::handler; using namespace streamfx::encoder::codec::dnxhr; diff --git a/source/encoders/handlers/dnxhd_handler.hpp b/source/encoders/handlers/dnxhd_handler.hpp index 590bf11..d6a6a5c 100644 --- a/source/encoders/handlers/dnxhd_handler.hpp +++ b/source/encoders/handlers/dnxhd_handler.hpp @@ -24,10 +24,22 @@ #include "handler.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg::handler { diff --git a/source/encoders/handlers/handler.hpp b/source/encoders/handlers/handler.hpp index 383ed95..02e82d7 100644 --- a/source/encoders/handlers/handler.hpp +++ b/source/encoders/handlers/handler.hpp @@ -24,10 +24,22 @@ #include "ffmpeg/hwapi/base.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg { diff --git a/source/encoders/handlers/nvenc_h264_handler.cpp b/source/encoders/handlers/nvenc_h264_handler.cpp index 0e32b6c..fd3e789 100644 --- a/source/encoders/handlers/nvenc_h264_handler.cpp +++ b/source/encoders/handlers/nvenc_h264_handler.cpp @@ -20,6 +20,7 @@ // SOFTWARE. #include "nvenc_h264_handler.hpp" +#include "common.hpp" #include "strings.hpp" #include "../codecs/h264.hpp" #include "../encoder-ffmpeg.hpp" @@ -30,12 +31,19 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif -#include #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/encoders/handlers/nvenc_h264_handler.hpp b/source/encoders/handlers/nvenc_h264_handler.hpp index ea3ad2b..ec8d96c 100644 --- a/source/encoders/handlers/nvenc_h264_handler.hpp +++ b/source/encoders/handlers/nvenc_h264_handler.hpp @@ -23,10 +23,22 @@ #include "handler.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg::handler { diff --git a/source/encoders/handlers/nvenc_hevc_handler.cpp b/source/encoders/handlers/nvenc_hevc_handler.cpp index 7c77674..d6c0857 100644 --- a/source/encoders/handlers/nvenc_hevc_handler.cpp +++ b/source/encoders/handlers/nvenc_hevc_handler.cpp @@ -20,6 +20,7 @@ // SOFTWARE. #include "nvenc_hevc_handler.hpp" +#include "common.hpp" #include "strings.hpp" #include "../codecs/hevc.hpp" #include "../encoder-ffmpeg.hpp" @@ -28,11 +29,22 @@ #include "plugin.hpp" extern "C" { -#include +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } #define ST_KEY_PROFILE "H265.Profile" diff --git a/source/encoders/handlers/nvenc_hevc_handler.hpp b/source/encoders/handlers/nvenc_hevc_handler.hpp index 4698885..ee65fdd 100644 --- a/source/encoders/handlers/nvenc_hevc_handler.hpp +++ b/source/encoders/handlers/nvenc_hevc_handler.hpp @@ -23,10 +23,22 @@ #include "handler.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg::handler { diff --git a/source/encoders/handlers/nvenc_shared.cpp b/source/encoders/handlers/nvenc_shared.cpp index 4f978ec..8979363 100644 --- a/source/encoders/handlers/nvenc_shared.cpp +++ b/source/encoders/handlers/nvenc_shared.cpp @@ -24,10 +24,22 @@ #include "ffmpeg/tools.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } #define ST_I18N_PRESET "Encoder.FFmpeg.NVENC.Preset" diff --git a/source/encoders/handlers/prores_aw_handler.cpp b/source/encoders/handlers/prores_aw_handler.cpp index 5f117ec..0cba86e 100644 --- a/source/encoders/handlers/prores_aw_handler.cpp +++ b/source/encoders/handlers/prores_aw_handler.cpp @@ -20,15 +20,12 @@ // SOFTWARE. #include "prores_aw_handler.hpp" +#include "common.hpp" #include #include "../codecs/prores.hpp" #include "ffmpeg/tools.hpp" #include "plugin.hpp" -extern "C" { -#include -} - using namespace streamfx::encoder::ffmpeg::handler; using namespace streamfx::encoder::codec::prores; diff --git a/source/encoders/handlers/prores_aw_handler.hpp b/source/encoders/handlers/prores_aw_handler.hpp index 35f5577..01d1ea6 100644 --- a/source/encoders/handlers/prores_aw_handler.hpp +++ b/source/encoders/handlers/prores_aw_handler.hpp @@ -23,10 +23,22 @@ #include "handler.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::encoder::ffmpeg::handler { diff --git a/source/ffmpeg/avframe-queue.hpp b/source/ffmpeg/avframe-queue.hpp index 9926ef1..2a04dd2 100644 --- a/source/ffmpeg/avframe-queue.hpp +++ b/source/ffmpeg/avframe-queue.hpp @@ -27,11 +27,16 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/ffmpeg/hwapi/base.hpp b/source/ffmpeg/hwapi/base.hpp index 20ade02..7c4adfe 100644 --- a/source/ffmpeg/hwapi/base.hpp +++ b/source/ffmpeg/hwapi/base.hpp @@ -27,12 +27,17 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/ffmpeg/hwapi/d3d11.cpp b/source/ffmpeg/hwapi/d3d11.cpp index af27314..0ba660c 100644 --- a/source/ffmpeg/hwapi/d3d11.cpp +++ b/source/ffmpeg/hwapi/d3d11.cpp @@ -27,14 +27,19 @@ #include "obs/gs/gs-helper.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4191) -#pragma warning(disable : 4242) -#pragma warning(disable : 4244) -#pragma warning(disable : 4365) -#pragma warning(disable : 4986) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } using namespace streamfx::ffmpeg::hwapi; diff --git a/source/ffmpeg/hwapi/d3d11.hpp b/source/ffmpeg/hwapi/d3d11.hpp index 9a4d136..ef0e020 100644 --- a/source/ffmpeg/hwapi/d3d11.hpp +++ b/source/ffmpeg/hwapi/d3d11.hpp @@ -24,7 +24,10 @@ #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4191 4242 4244 4365 4777 4986 5039 5204) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #include @@ -32,6 +35,8 @@ #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif namespace streamfx::ffmpeg::hwapi { diff --git a/source/ffmpeg/swscale.hpp b/source/ffmpeg/swscale.hpp index 8293305..30124a0 100644 --- a/source/ffmpeg/swscale.hpp +++ b/source/ffmpeg/swscale.hpp @@ -26,12 +26,17 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/ffmpeg/tools.cpp b/source/ffmpeg/tools.cpp index 013be63..307fd02 100644 --- a/source/ffmpeg/tools.cpp +++ b/source/ffmpeg/tools.cpp @@ -25,13 +25,22 @@ #include "plugin.hpp" extern "C" { +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4244) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include #include #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } using namespace streamfx::ffmpeg; diff --git a/source/ffmpeg/tools.hpp b/source/ffmpeg/tools.hpp index edc1465..9ae3d7b 100644 --- a/source/ffmpeg/tools.hpp +++ b/source/ffmpeg/tools.hpp @@ -26,13 +26,18 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4242 4244 4365) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #include #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/gfx/blur/gfx-blur-box-linear.cpp b/source/gfx/blur/gfx-blur-box-linear.cpp index a9c762f..c2f787c 100644 --- a/source/gfx/blur/gfx-blur-box-linear.cpp +++ b/source/gfx/blur/gfx-blur-box-linear.cpp @@ -16,22 +16,13 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include "gfx-blur-box-linear.hpp" +#include "common.hpp" #include #include #include #include "obs/gs/gs-helper.hpp" #include "plugin.hpp" -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#endif -#include -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - #define ST_MAX_BLUR_SIZE 128 // Also change this in box-linear.effect if modified. streamfx::gfx::blur::box_linear_data::box_linear_data() diff --git a/source/gfx/blur/gfx-blur-box.cpp b/source/gfx/blur/gfx-blur-box.cpp index 9a22360..338be7e 100644 --- a/source/gfx/blur/gfx-blur-box.cpp +++ b/source/gfx/blur/gfx-blur-box.cpp @@ -16,22 +16,13 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include "gfx-blur-box.hpp" +#include "common.hpp" #include #include #include #include "obs/gs/gs-helper.hpp" #include "plugin.hpp" -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#endif -#include -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - #define ST_MAX_BLUR_SIZE 128 // Also change this in box.effect if modified. streamfx::gfx::blur::box_data::box_data() diff --git a/source/gfx/blur/gfx-blur-dual-filtering.cpp b/source/gfx/blur/gfx-blur-dual-filtering.cpp index f4cc372..d421904 100644 --- a/source/gfx/blur/gfx-blur-dual-filtering.cpp +++ b/source/gfx/blur/gfx-blur-dual-filtering.cpp @@ -16,21 +16,12 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include "gfx-blur-dual-filtering.hpp" +#include "common.hpp" #include #include #include "obs/gs/gs-helper.hpp" #include "plugin.hpp" -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#endif -#include -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - // Dual Filtering Blur // // This type of Blur uses downsampling and upsampling and clever math. That makes it less diff --git a/source/gfx/blur/gfx-blur-gaussian-linear.cpp b/source/gfx/blur/gfx-blur-gaussian-linear.cpp index 0ca35ff..e7ba118 100644 --- a/source/gfx/blur/gfx-blur-gaussian-linear.cpp +++ b/source/gfx/blur/gfx-blur-gaussian-linear.cpp @@ -16,19 +16,10 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include "gfx-blur-gaussian-linear.hpp" +#include "common.hpp" #include #include "obs/gs/gs-helper.hpp" -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#endif -#include -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - // FIXME: This breaks when MAX_KERNEL_SIZE is changed, due to the way the Gaussian // function first goes up at the point, and then once we pass the critical point // will go down again and it is not handled well. This is a pretty basic diff --git a/source/gfx/blur/gfx-blur-gaussian.cpp b/source/gfx/blur/gfx-blur-gaussian.cpp index b295166..ebcc9bf 100644 --- a/source/gfx/blur/gfx-blur-gaussian.cpp +++ b/source/gfx/blur/gfx-blur-gaussian.cpp @@ -16,21 +16,12 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA #include "gfx-blur-gaussian.hpp" +#include "common.hpp" #include #include #include "obs/gs/gs-helper.hpp" #include "plugin.hpp" -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#endif -#include -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - // TODO: It may be possible to optimize to run much faster: https://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ #define ST_KERNEL_SIZE 128u diff --git a/source/gfx/gfx-opengl.cpp b/source/gfx/gfx-opengl.cpp index 09980d9..d34eca1 100644 --- a/source/gfx/gfx-opengl.cpp +++ b/source/gfx/gfx-opengl.cpp @@ -24,6 +24,16 @@ #include "util/util-logging.hpp" // OpenGL +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include "glad/gl.h" #ifdef D_PLATFORM_WINDOWS #include "glad/wgl.h" @@ -31,6 +41,11 @@ #ifdef D_PLATFORM_LINUX #include "glad/glx.h" #endif +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif #ifdef _DEBUG #define ST_PREFIX "<%s> " diff --git a/source/gfx/shader/gfx-shader-param-texture.hpp b/source/gfx/shader/gfx-shader-param-texture.hpp index 77fe767..8c27f90 100644 --- a/source/gfx/shader/gfx-shader-param-texture.hpp +++ b/source/gfx/shader/gfx-shader-param-texture.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include "common.hpp" #include #include #include "gfx-shader-param.hpp" diff --git a/source/nvidia/ar/nvidia-ar.cpp b/source/nvidia/ar/nvidia-ar.cpp index 0d33e82..f178074 100644 --- a/source/nvidia/ar/nvidia-ar.cpp +++ b/source/nvidia/ar/nvidia-ar.cpp @@ -41,9 +41,24 @@ #endif #ifdef WIN32 +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif #define ST_LIBRARY_NAME "nvARPose.dll" #else diff --git a/source/nvidia/cuda/nvidia-cuda-context.cpp b/source/nvidia/cuda/nvidia-cuda-context.cpp index ba48cef..a431a33 100644 --- a/source/nvidia/cuda/nvidia-cuda-context.cpp +++ b/source/nvidia/cuda/nvidia-cuda-context.cpp @@ -39,11 +39,19 @@ #ifdef WIN32 #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4191 4242 4244 4365 4777 4986 5039 5204) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif #endif diff --git a/source/nvidia/cuda/nvidia-cuda.hpp b/source/nvidia/cuda/nvidia-cuda.hpp index 5929a50..e6f1a3b 100644 --- a/source/nvidia/cuda/nvidia-cuda.hpp +++ b/source/nvidia/cuda/nvidia-cuda.hpp @@ -24,12 +24,23 @@ #include "util/util-library.hpp" #ifdef WIN32 +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4365) -#pragma warning(disable : 5204) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif #endif #define P_CUDA_DEFINE_FUNCTION(name, ...) \ diff --git a/source/nvidia/cv/nvidia-cv.cpp b/source/nvidia/cv/nvidia-cv.cpp index a3ce9dc..d248a9b 100644 --- a/source/nvidia/cv/nvidia-cv.cpp +++ b/source/nvidia/cv/nvidia-cv.cpp @@ -45,9 +45,24 @@ #endif #if defined(WIN32) +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif #define LIB_NAME "NVCVImage.dll" #else diff --git a/source/nvidia/cv/nvidia-cv.hpp b/source/nvidia/cv/nvidia-cv.hpp index 5168941..0d7b35d 100644 --- a/source/nvidia/cv/nvidia-cv.hpp +++ b/source/nvidia/cv/nvidia-cv.hpp @@ -25,12 +25,23 @@ #include "util/util-library.hpp" #ifdef WIN32 +#ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4365) -#pragma warning(disable : 5204) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include +#ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif #endif #define NVCVI_DEFINE_FUNCTION(name, ...) \ diff --git a/source/nvidia/vfx/nvidia-vfx.cpp b/source/nvidia/vfx/nvidia-vfx.cpp index cdaa080..0572e3a 100644 --- a/source/nvidia/vfx/nvidia-vfx.cpp +++ b/source/nvidia/vfx/nvidia-vfx.cpp @@ -41,9 +41,24 @@ #endif #if defined(WIN32) +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include #include #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif #define LIB_NAME "NVVideoEffects.dll" #else diff --git a/source/obs/gs/gs-effect-parameter.cpp b/source/obs/gs/gs-effect-parameter.cpp index d715ce4..8ac54e5 100644 --- a/source/obs/gs/gs-effect-parameter.cpp +++ b/source/obs/gs/gs-effect-parameter.cpp @@ -25,11 +25,19 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4201) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/obs/gs/gs-effect-pass.cpp b/source/obs/gs/gs-effect-pass.cpp index 4d81ab8..5b3856d 100644 --- a/source/obs/gs/gs-effect-pass.cpp +++ b/source/obs/gs/gs-effect-pass.cpp @@ -23,11 +23,19 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4201) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/obs/gs/gs-effect-technique.cpp b/source/obs/gs/gs-effect-technique.cpp index bd08551..e7bb1bb 100644 --- a/source/obs/gs/gs-effect-technique.cpp +++ b/source/obs/gs/gs-effect-technique.cpp @@ -24,11 +24,19 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4201) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/source/sources/source-mirror.cpp b/source/sources/source-mirror.cpp index 1258078..9be06e9 100644 --- a/source/sources/source-mirror.cpp +++ b/source/sources/source-mirror.cpp @@ -48,11 +48,19 @@ // OBS #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4201) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif #define ST_I18N "Source.Mirror" diff --git a/source/ui/ui-about-entry.hpp b/source/ui/ui-about-entry.hpp index 2bcf24b..692fe88 100644 --- a/source/ui/ui-about-entry.hpp +++ b/source/ui/ui-about-entry.hpp @@ -18,18 +18,24 @@ */ #pragma once +#include "ui-common.hpp" #include #include "ui-about.hpp" -#include "ui-common.hpp" #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4251 4365 4371 4619 4946) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #include "ui_about-entry.h" + #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif namespace streamfx::ui { diff --git a/source/ui/ui-about.cpp b/source/ui/ui-about.cpp index 7f0b9ab..076233f 100644 --- a/source/ui/ui-about.cpp +++ b/source/ui/ui-about.cpp @@ -18,26 +18,32 @@ */ #include "ui-about.hpp" +#include "ui-common.hpp" #include #include #include #include #include - -#include -#include #include "plugin.hpp" #include "ui-about-entry.hpp" #include "util/util-logging.hpp" #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4251 4365 4371 4619 4946) +#pragma warning(disable : 4623) +#pragma warning(disable : 4625) +#pragma warning(disable : 4626) +#pragma warning(disable : 5027) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif -#include -#include +#include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif #ifdef _DEBUG diff --git a/source/ui/ui-about.hpp b/source/ui/ui-about.hpp index aaae9b7..92b8d3b 100644 --- a/source/ui/ui-about.hpp +++ b/source/ui/ui-about.hpp @@ -23,11 +23,16 @@ #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4251 4365 4371 4619 4946) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include "ui_about.h" #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif namespace streamfx::ui { diff --git a/source/ui/ui-common.hpp b/source/ui/ui-common.hpp index f87c267..1820d6a 100644 --- a/source/ui/ui-common.hpp +++ b/source/ui/ui-common.hpp @@ -18,15 +18,20 @@ */ #pragma once +#include "common.hpp" #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4251 4365 4371 4619 4946) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif - #include #include #include +#include +#include #include #include #include @@ -35,11 +40,27 @@ #include #include #include - -extern "C" { -#include -} - #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif + +extern "C" { +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif +#include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif +} diff --git a/source/ui/ui-updater.hpp b/source/ui/ui-updater.hpp index c1d4eb0..daa14f8 100644 --- a/source/ui/ui-updater.hpp +++ b/source/ui/ui-updater.hpp @@ -24,9 +24,11 @@ #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4251 4365 4371 4619 4946) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif - #include #include #include @@ -41,6 +43,8 @@ Q_DECLARE_METATYPE(::streamfx::version_stage); #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif namespace streamfx::ui { diff --git a/source/ui/ui.cpp b/source/ui/ui.cpp index 0812b6d..62b25be 100644 --- a/source/ui/ui.cpp +++ b/source/ui/ui.cpp @@ -18,15 +18,13 @@ */ #include "ui.hpp" -#include "common.hpp" #include "strings.hpp" +#include "ui-common.hpp" #include #include "configuration.hpp" #include "obs/obs-tools.hpp" #include "plugin.hpp" -#include - // Translation Keys constexpr std::string_view _i18n_prefix = "StreamFX::"; constexpr std::string_view _i18n_menu = "UI.Menu"; diff --git a/source/ui/ui.hpp b/source/ui/ui.hpp index 18c219c..78658c2 100644 --- a/source/ui/ui.hpp +++ b/source/ui/ui.hpp @@ -18,8 +18,8 @@ */ #pragma once -#include "ui-about.hpp" #include "ui-common.hpp" +#include "ui-about.hpp" #ifdef ENABLE_UPDATER #include "ui-updater.hpp" diff --git a/source/updater.hpp b/source/updater.hpp index 89fc27d..c64dabc 100644 --- a/source/updater.hpp +++ b/source/updater.hpp @@ -22,11 +22,28 @@ #include #include #include -#include #include "util/util-curl.hpp" #include "util/util-event.hpp" #include "util/util-threadpool.hpp" +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4623) +#pragma warning(disable : 4625) +#pragma warning(disable : 4626) +#pragma warning(disable : 5027) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif +#include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif + namespace streamfx { enum class version_stage : uint8_t { STABLE, // A.B.C diff --git a/source/util/util-curl.hpp b/source/util/util-curl.hpp index 12ffaaa..c8c9304 100644 --- a/source/util/util-curl.hpp +++ b/source/util/util-curl.hpp @@ -30,7 +30,22 @@ extern "C" { #ifndef NOMINMAX #define NOMINMAX #endif +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" +#endif #include +#ifdef _MSC_VER +#pragma warning(pop) +#else +#pragma GCC diagnostic pop +#endif } namespace streamfx::util { diff --git a/source/util/utility.cpp b/source/util/utility.cpp index 4d00247..868f991 100644 --- a/source/util/utility.cpp +++ b/source/util/utility.cpp @@ -18,22 +18,12 @@ */ #include "utility.hpp" +#include "common.hpp" #include #include #include #include "plugin.hpp" -// OBS -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#pragma warning(disable : 5039) -#endif -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - obs_property_t* streamfx::util::obs_properties_add_tristate(obs_properties_t* props, const char* name, const char* desc) { obs_property_t* p = obs_properties_add_list(props, name, desc, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT); diff --git a/source/util/utility.hpp b/source/util/utility.hpp index 84a9a8c..5a48159 100644 --- a/source/util/utility.hpp +++ b/source/util/utility.hpp @@ -27,7 +27,13 @@ extern "C" { #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4201) +#pragma warning(disable : 4464) +#pragma warning(disable : 4820) +#pragma warning(disable : 5220) +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wextra" #endif #include #include @@ -35,6 +41,8 @@ extern "C" { #include #ifdef _MSC_VER #pragma warning(pop) +#else +#pragma GCC diagnostic pop #endif } diff --git a/templates/module.cpp.in b/templates/module.cpp.in index c27ea00..a81a129 100644 --- a/templates/module.cpp.in +++ b/templates/module.cpp.in @@ -1,12 +1,4 @@ -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4201) -#endif -#include -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif +#include "common.hpp" OBS_DECLARE_MODULE() OBS_MODULE_AUTHOR("@PROJECT_AUTHORS@") @@ -21,3 +13,4 @@ MODULE_EXPORT const char* obs_module_description() { return "@PROJECT_DESCRIPTION@"; } +