-
Notifications
You must be signed in to change notification settings - Fork 15
/
vpx.yml
56 lines (54 loc) · 2.01 KB
/
vpx.yml
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
---
GENERATOR:
PackageName: vpx
PackageDescription: "Package vpx provides Go bindings for libvpx-1.6.0, the WebM Project VP8/VP9 codec implementation."
PackageLicense: "THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS."
PkgConfigOpts: [vpx]
SysIncludes: ["vpx/vpx_encoder.h", "vpx/vpx_decoder.h", "vpx/vp8.h"]
PARSER:
# /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include is meant for stddef.h and
# may vary depending on platform/OS setup you are on.
# This path is taken from my Arch Linux OS
IncludePaths: [/usr/include, /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/include]
SourcesPaths: ["vpx/vpx-1.6.0/vpx_encoder.h", "vpx/vpx-1.6.0/vpx_decoder.h"]
Defines:
VP8_FOURCC: 0x30385056
VP9_FOURCC: 0x30395056
VP10_FOURCC: 0x303a5056
TRANSLATOR:
ConstRules:
decl: expand
enum: cgo
MemTips:
- {target: _codec_stream_info, self: bind}
- {target: _image, self: bind}
- {target: _svc_, self: raw}
- {target: _codec_ctx, self: raw}
PtrTips:
function:
- {target: "_codec_get_cx_data$", tips: [ref,ref]}
- {target: "_codec_decode$", tips: [ref,arr,size,ref,0]}
- {target: "(?i)^(vpx|vp8|vp9)", tips: [ref,ref,ref,ref,ref,ref]} # defaults
Rules:
global:
- {transform: lower}
- {action: accept, from: "(?i)^(vpx|vp8|vp9)"}
- {action: ignore, from: "vpx_codec_control_"} # variadic
- {action: replace, from: "^vpx_", to: _}
function:
- {action: replace, from: codec_error$, to: codec_get_error}
const:
- {action: replace, from: "VPX_SCALING_MODE", to: "VPX_SCALING_MODE_TYPE"}
type:
- {action: replace, from: "_t$"}
private:
- {transform: unexport}
post-global:
- {from: _abi, transform: upper}
- {from: "_id.?|$", transform: upper}
- {action: replace, from: _img, to: _image}
- {action: replace, from: _fmt, to: _format}
- {action: replace, from: _cs, to: _color_space}
- {action: replace, from: _$}
- {transform: export}
- {load: snakecase}