forked from AkarinVS/vapoursynth-plugin
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathplugin.cpp
More file actions
60 lines (53 loc) · 1.48 KB
/
Copy pathplugin.cpp
File metadata and controls
60 lines (53 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <vector>
#include "VapourSynth4.h"
#include "plugin.h"
#include "version.h"
#include "expr/internalfilters.h"
#include "ngx/internalfilters.h"
#include "vfx/internalfilters.h"
#include "banding/internalfilters.h"
#include "text/internalfilters.h"
static std::vector<VSPublicFunction> versionFuncs;
void registerVersionFunc(VSPublicFunction f) {
versionFuncs.push_back(f);
}
void VS_CC versionCreate(const VSMap *in, VSMap *out, void *user_data, VSCore *core, const VSAPI *vsapi)
{
for (auto f: versionFuncs)
f(in, out, user_data, core, vsapi);
vsapi->mapSetData(out, "version", VERSION, -1, dtUtf8, maAppend);
}
VS_EXTERNAL_API(void) VapourSynthPluginInit2(VSPlugin *plugin, const VSPLUGINAPI *vsapi) {
vsapi->configPlugin(
"info.akarin.vsplugin",
"akarin",
"Akarin's Experimental Filters",
VS_MAKE_VERSION(1, 5),
VAPOURSYNTH_API_VERSION,
0,
plugin
);
vsapi->registerFunction(
"Version",
"",
"version:data;"
"expr_backend:data;"
"expr_features:data[];"
"select_features:data[];"
"text_features:data[];"
"tmpl_features:data[];",
versionCreate,
nullptr,
plugin
);
exprInitialize(plugin, vsapi);
#ifdef HAVE_NGX
ngxInitialize(plugin, vsapi);
#endif
#ifdef HAVE_VFX
vfxInitialize(plugin, vsapi);
#endif
bandingInitialize(plugin, vsapi);
textInitialize(plugin, vsapi);
tmplInitialize(plugin, vsapi);
}