]> git.sesse.net Git - casparcg/blobdiff - core/frame/frame_transform.cpp
Move from boost::thread to std::thread for nearly everything.
[casparcg] / core / frame / frame_transform.cpp
index a7a4ea186ea7f0f354d57035f64f315d36844ee4..e4f0bed6ebd8520b19b3c9017b88466f521fd5fd 100644 (file)
 
 #include "../StdAfx.h"
 
+#include <thread>
+
 #include "frame_transform.h"
 
 #include <boost/range/algorithm/equal.hpp>
-#include <boost/thread.hpp>
 
 namespace caspar { namespace core {
 
@@ -327,24 +328,21 @@ boost::optional<core::chroma::legacy_type> get_chroma_mode(const std::wstring& s
 
 namespace detail {
 
-boost::thread_specific_ptr<double>& get_thread_local_aspect_ratio()
-{
-       static boost::thread_specific_ptr<double> aspect_ratio;
-
-       if (!aspect_ratio.get())
-               aspect_ratio.reset(new double(1.0));
+static thread_local double aspect_ratio = 1.0;
 
+double get_thread_local_aspect_ratio()
+{
        return aspect_ratio;
 }
 
-void set_current_aspect_ratio(double aspect_ratio)
+void set_current_aspect_ratio(double aspect_ratio_arg)
 {
-       *get_thread_local_aspect_ratio() = aspect_ratio;
+       aspect_ratio = aspect_ratio_arg;
 }
 
 double get_current_aspect_ratio()
 {
-       return *get_thread_local_aspect_ratio();
+       return aspect_ratio;
 }
 
 }}}