~paparazzi-uav/paparazzi/v5.0-manual

« back to all changes in this revision

Viewing changes to sw/ext/opencv_bebop/opencv/modules/java/generator/src/java/android+StaticHelper.java

  • Committer: Paparazzi buildbot
  • Date: 2016-05-18 15:00:29 UTC
  • Revision ID: felix.ruess+docbot@gmail.com-20160518150029-e8lgzi5kvb4p7un9
Manual import commit 4b8bbb730080dac23cf816b98908dacfabe2a8ec from v5.0 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.opencv.android;
 
2
 
 
3
import org.opencv.core.Core;
 
4
 
 
5
import java.util.StringTokenizer;
 
6
import android.util.Log;
 
7
 
 
8
class StaticHelper {
 
9
 
 
10
    public static boolean initOpenCV(boolean InitCuda)
 
11
    {
 
12
        boolean result;
 
13
        String libs = "";
 
14
 
 
15
        if(InitCuda)
 
16
        {
 
17
            loadLibrary("cudart");
 
18
            loadLibrary("nppc");
 
19
            loadLibrary("nppi");
 
20
            loadLibrary("npps");
 
21
            loadLibrary("cufft");
 
22
            loadLibrary("cublas");
 
23
        }
 
24
 
 
25
        Log.d(TAG, "Trying to get library list");
 
26
 
 
27
        try
 
28
        {
 
29
            System.loadLibrary("opencv_info");
 
30
            libs = getLibraryList();
 
31
        }
 
32
        catch(UnsatisfiedLinkError e)
 
33
        {
 
34
            Log.e(TAG, "OpenCV error: Cannot load info library for OpenCV");
 
35
        }
 
36
 
 
37
        Log.d(TAG, "Library list: \"" + libs + "\"");
 
38
        Log.d(TAG, "First attempt to load libs");
 
39
        if (initOpenCVLibs(libs))
 
40
        {
 
41
            Log.d(TAG, "First attempt to load libs is OK");
 
42
            String eol = System.getProperty("line.separator");
 
43
            for (String str : Core.getBuildInformation().split(eol))
 
44
                Log.i(TAG, str);
 
45
 
 
46
            result = true;
 
47
        }
 
48
        else
 
49
        {
 
50
            Log.d(TAG, "First attempt to load libs fails");
 
51
            result = false;
 
52
        }
 
53
 
 
54
        return result;
 
55
    }
 
56
 
 
57
    private static boolean loadLibrary(String Name)
 
58
    {
 
59
        boolean result = true;
 
60
 
 
61
        Log.d(TAG, "Trying to load library " + Name);
 
62
        try
 
63
        {
 
64
            System.loadLibrary(Name);
 
65
            Log.d(TAG, "Library " + Name + " loaded");
 
66
        }
 
67
        catch(UnsatisfiedLinkError e)
 
68
        {
 
69
            Log.d(TAG, "Cannot load library \"" + Name + "\"");
 
70
            e.printStackTrace();
 
71
            result &= false;
 
72
        }
 
73
 
 
74
        return result;
 
75
    }
 
76
 
 
77
    private static boolean initOpenCVLibs(String Libs)
 
78
    {
 
79
        Log.d(TAG, "Trying to init OpenCV libs");
 
80
 
 
81
        boolean result = true;
 
82
 
 
83
        if ((null != Libs) && (Libs.length() != 0))
 
84
        {
 
85
            Log.d(TAG, "Trying to load libs by dependency list");
 
86
            StringTokenizer splitter = new StringTokenizer(Libs, ";");
 
87
            while(splitter.hasMoreTokens())
 
88
            {
 
89
                result &= loadLibrary(splitter.nextToken());
 
90
            }
 
91
        }
 
92
        else
 
93
        {
 
94
            // If dependencies list is not defined or empty.
 
95
            result &= loadLibrary("opencv_java3");
 
96
        }
 
97
 
 
98
        return result;
 
99
    }
 
100
 
 
101
    private static final String TAG = "OpenCV/StaticHelper";
 
102
 
 
103
    private static native String getLibraryList();
 
104
}