* Removing code duplication and getting rid of some C++ warnings due to float/double and signed/unsigned mixing.

* Fixing the screenshot functionality.

* Feature/code cleanup (#573)

* Header guard cleanup (making sure naming is compliant with C++ standards and consistent).

* Removing un-needed nullptr checks.

* Removing SSE warnings for x64 builds (as SSE is enabled by default no need for a flag)

* Reverting Mat deletion

* Adding Visual Studio 2017 solution

* Feature/code cleanup (#580)

- name of revision
- better scripts for model download (not only in Dropbox also OneDrive)

* Update the OpenCV constants to the corresponding ones in cpp namespace. (#578)

Updating OpenCV macros.

* Slight change in packaging code (use a shared download script).

* Removing TBB dependency (#590)

Removing a TBB dependence for code parallelization (done through OpenCV's parralel_for_

* Updating OpenBLAS (#594)

Updating the 64 bit OpenBLAS version for Windows to 0.3.3 (50% perf improvement on certain machines)

* Ability to specify output image formats and removing unused quiet parameter.

* Update Windows download script (#608) (#610)

- Automatically choose correct path to the model files so that it works for both, source code compilation and binary use
- Use absolute paths in the system exists methods

* Updating version.

* Packaging code update.
This commit is contained in:
Tadas Baltrusaitis
2018-11-29 19:49:47 +00:00
committed by GitHub
parent be9b57703c
commit caaefae7d3
195 changed files with 408 additions and 45858 deletions

View File

@@ -45,14 +45,9 @@
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "tbb/concurrent_queue.h"
#include <thread>
#ifdef _WIN32
// For speeding up writing
#include "tbb/task_group.h"
#else
#include <thread>
#endif
#include <ConcurrentQueue.h>
namespace Utilities
{
@@ -126,6 +121,10 @@ namespace Utilities
void PrepareRecording(const std::string& in_filename);
// A thread that will write image and video output (the slowest parts of output_
void VideoWritingTask(bool is_sequence);
void AlignedImageWritingTask();
// Keeping track of what to output and how to output it
const RecorderOpenFaceParameters params;
@@ -177,22 +176,16 @@ namespace Utilities
const int TRACKED_QUEUE_CAPACITY = 100;
bool tracked_writing_thread_started;
cv::Mat vis_to_out;
tbb::concurrent_bounded_queue<std::pair<std::string, cv::Mat> > vis_to_out_queue;
ConcurrentQueue<std::pair<std::string, cv::Mat> > vis_to_out_queue;
// For aligned face writing
const int ALIGNED_QUEUE_CAPACITY = 100;
bool aligned_writing_thread_started;
cv::Mat aligned_face;
tbb::concurrent_bounded_queue<std::pair<std::string, cv::Mat> > aligned_face_queue;
ConcurrentQueue<std::pair<std::string, cv::Mat> > aligned_face_queue;
#ifdef _WIN32
// For keeping track of tasks
tbb::task_group writing_threads;
#else
std::thread video_writing_thread;
std::thread aligned_writing_thread;
#endif
};
}