1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4 //
5 // Copyright (C) 2017, Intel Corporation, all rights reserved.
6 // Third party copyrights are property of their respective owners.
7 
8 #ifndef __OPENCV_DNN_HALIDE_SCHEDULER_HPP__
9 #define __OPENCV_DNN_HALIDE_SCHEDULER_HPP__
10 
11 #include <opencv2/dnn.hpp>
12 
13 namespace cv
14 {
15 namespace dnn
16 {
17 
18 class HalideScheduler
19 {
20 public:
21     HalideScheduler(const std::string& configFile);
22 
23     ~HalideScheduler();
24 
25     // Returns true if pipeline found in scheduling file.
26     // If more than one function, returns true if the top function scheduled.
27     // Other functions are optional to scheduling.
28     bool process(Ptr<BackendNode>& node);
29 
30 private:
31     FileStorage fs;
32 };
33 
34 }  // namespace dnn
35 }  // namespace cv
36 
37 #endif  // __OPENCV_DNN_HALIDE_SCHEDULER_HPP__
38