ffi-libav 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +11 -1
- data/Rakefile +1 -1
- data/lib/ffi/libav.i +4 -3
- data/lib/ffi/libav.rb +976 -1046
- data/lib/libav/frame.rb +4 -4
- data/lib/libav/stream.rb +10 -7
- data/lib/libav/version.rb +1 -1
- data/spec/frame_spec.rb +5 -5
- metadata +2 -2
data/README.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
# FFI::Libav
|
2
2
|
|
3
|
-
Ruby FFI bindings and wrappers for Libav libraries, version
|
3
|
+
Ruby FFI bindings and wrappers for Libav libraries, version 9.16.
|
4
|
+
|
5
|
+
Different versions of this gem support different versions of libav. The
|
6
|
+
following is a table that maps ffi-libav gem version to the libav version it
|
7
|
+
requires.
|
8
|
+
|
9
|
+
| ffi-libav gem | libav |
|
10
|
+
|:-:|:-:|
|
11
|
+
|v0.1|v0.8.6|
|
12
|
+
|v0.2|v0.8.6|
|
13
|
+
|v0.3|v9.16|
|
4
14
|
|
5
15
|
## Installation
|
6
16
|
|
data/Rakefile
CHANGED
data/lib/ffi/libav.i
CHANGED
@@ -5,12 +5,13 @@ require 'ffi'
|
|
5
5
|
module FFI::Libav
|
6
6
|
extend FFI::Library
|
7
7
|
|
8
|
-
ffi_lib [ "libavutil.so.
|
8
|
+
ffi_lib [ "libavutil.so.52", "libavutil.52.dylib" ]
|
9
9
|
|
10
10
|
%}
|
11
11
|
|
12
12
|
#define INT64_C(v) v
|
13
13
|
#define av_const
|
14
|
+
#define av_always_inline inline
|
14
15
|
%include "libavutil/avutil.h"
|
15
16
|
%include "libavutil/pixfmt.h"
|
16
17
|
%include "libavutil/rational.h"
|
@@ -20,7 +21,7 @@ module FFI::Libav
|
|
20
21
|
|
21
22
|
%{
|
22
23
|
|
23
|
-
ffi_lib [ "libavcodec.so.
|
24
|
+
ffi_lib [ "libavcodec.so.54", "libavcodec.54.dylib" ]
|
24
25
|
|
25
26
|
%}
|
26
27
|
|
@@ -34,7 +35,7 @@ module FFI::Libav
|
|
34
35
|
|
35
36
|
%{
|
36
37
|
|
37
|
-
ffi_lib [ "libavformat.so.
|
38
|
+
ffi_lib [ "libavformat.so.54", "libavformat.54.dylib" ]
|
38
39
|
|
39
40
|
%}
|
40
41
|
|
data/lib/ffi/libav.rb
CHANGED
@@ -4,14 +4,8 @@ require 'ffi'
|
|
4
4
|
module FFI::Libav
|
5
5
|
extend FFI::Library
|
6
6
|
|
7
|
-
ffi_lib [ "libavutil.so.
|
7
|
+
ffi_lib [ "libavutil.so.52", "libavutil.52.dylib" ]
|
8
8
|
|
9
|
-
LIBAVUTIL_VERSION_MAJOR = 51
|
10
|
-
LIBAVUTIL_VERSION_MINOR = 22
|
11
|
-
LIBAVUTIL_VERSION_MICRO = 1
|
12
|
-
LIBAVUTIL_VERSION_INT = (51 << 16|22 << 8|1)
|
13
|
-
LIBAVUTIL_BUILD = (51 << 16|22 << 8|1)
|
14
|
-
LIBAVUTIL_IDENT = 'Lavu51.22.1'
|
15
9
|
attach_function :avutil_version, :avutil_version, [ ], :uint
|
16
10
|
attach_function :avutil_configuration, :avutil_configuration, [ ], :string
|
17
11
|
attach_function :avutil_license, :avutil_license, [ ], :string
|
@@ -56,99 +50,119 @@ module FFI::Libav
|
|
56
50
|
:bi,
|
57
51
|
]
|
58
52
|
|
59
|
-
attach_function :av_get_picture_type_char, :av_get_picture_type_char, [
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
53
|
+
attach_function :av_get_picture_type_char, :av_get_picture_type_char, [ :int ], :char
|
54
|
+
AV_PIX_FMT_NONE = -1
|
55
|
+
AV_PIX_FMT_YUV420P = AV_PIX_FMT_NONE + 1
|
56
|
+
AV_PIX_FMT_YUYV422 = AV_PIX_FMT_YUV420P + 1
|
57
|
+
AV_PIX_FMT_RGB24 = AV_PIX_FMT_YUYV422 + 1
|
58
|
+
AV_PIX_FMT_BGR24 = AV_PIX_FMT_RGB24 + 1
|
59
|
+
AV_PIX_FMT_YUV422P = AV_PIX_FMT_BGR24 + 1
|
60
|
+
AV_PIX_FMT_YUV444P = AV_PIX_FMT_YUV422P + 1
|
61
|
+
AV_PIX_FMT_YUV410P = AV_PIX_FMT_YUV444P + 1
|
62
|
+
AV_PIX_FMT_YUV411P = AV_PIX_FMT_YUV410P + 1
|
63
|
+
AV_PIX_FMT_GRAY8 = AV_PIX_FMT_YUV411P + 1
|
64
|
+
AV_PIX_FMT_MONOWHITE = AV_PIX_FMT_GRAY8 + 1
|
65
|
+
AV_PIX_FMT_MONOBLACK = AV_PIX_FMT_MONOWHITE + 1
|
66
|
+
AV_PIX_FMT_PAL8 = AV_PIX_FMT_MONOBLACK + 1
|
67
|
+
AV_PIX_FMT_YUVJ420P = AV_PIX_FMT_PAL8 + 1
|
68
|
+
AV_PIX_FMT_YUVJ422P = AV_PIX_FMT_YUVJ420P + 1
|
69
|
+
AV_PIX_FMT_YUVJ444P = AV_PIX_FMT_YUVJ422P + 1
|
70
|
+
AV_PIX_FMT_XVMC_MPEG2_MC = AV_PIX_FMT_YUVJ444P + 1
|
71
|
+
AV_PIX_FMT_XVMC_MPEG2_IDCT = AV_PIX_FMT_XVMC_MPEG2_MC + 1
|
72
|
+
AV_PIX_FMT_UYVY422 = AV_PIX_FMT_XVMC_MPEG2_IDCT + 1
|
73
|
+
AV_PIX_FMT_UYYVYY411 = AV_PIX_FMT_UYVY422 + 1
|
74
|
+
AV_PIX_FMT_BGR8 = AV_PIX_FMT_UYYVYY411 + 1
|
75
|
+
AV_PIX_FMT_BGR4 = AV_PIX_FMT_BGR8 + 1
|
76
|
+
AV_PIX_FMT_BGR4_BYTE = AV_PIX_FMT_BGR4 + 1
|
77
|
+
AV_PIX_FMT_RGB8 = AV_PIX_FMT_BGR4_BYTE + 1
|
78
|
+
AV_PIX_FMT_RGB4 = AV_PIX_FMT_RGB8 + 1
|
79
|
+
AV_PIX_FMT_RGB4_BYTE = AV_PIX_FMT_RGB4 + 1
|
80
|
+
AV_PIX_FMT_NV12 = AV_PIX_FMT_RGB4_BYTE + 1
|
81
|
+
AV_PIX_FMT_NV21 = AV_PIX_FMT_NV12 + 1
|
82
|
+
AV_PIX_FMT_ARGB = AV_PIX_FMT_NV21 + 1
|
83
|
+
AV_PIX_FMT_RGBA = AV_PIX_FMT_ARGB + 1
|
84
|
+
AV_PIX_FMT_ABGR = AV_PIX_FMT_RGBA + 1
|
85
|
+
AV_PIX_FMT_BGRA = AV_PIX_FMT_ABGR + 1
|
86
|
+
AV_PIX_FMT_GRAY16BE = AV_PIX_FMT_BGRA + 1
|
87
|
+
AV_PIX_FMT_GRAY16LE = AV_PIX_FMT_GRAY16BE + 1
|
88
|
+
AV_PIX_FMT_YUV440P = AV_PIX_FMT_GRAY16LE + 1
|
89
|
+
AV_PIX_FMT_YUVJ440P = AV_PIX_FMT_YUV440P + 1
|
90
|
+
AV_PIX_FMT_YUVA420P = AV_PIX_FMT_YUVJ440P + 1
|
91
|
+
AV_PIX_FMT_VDPAU_H264 = AV_PIX_FMT_YUVA420P + 1
|
92
|
+
AV_PIX_FMT_VDPAU_MPEG1 = AV_PIX_FMT_VDPAU_H264 + 1
|
93
|
+
AV_PIX_FMT_VDPAU_MPEG2 = AV_PIX_FMT_VDPAU_MPEG1 + 1
|
94
|
+
AV_PIX_FMT_VDPAU_WMV3 = AV_PIX_FMT_VDPAU_MPEG2 + 1
|
95
|
+
AV_PIX_FMT_VDPAU_VC1 = AV_PIX_FMT_VDPAU_WMV3 + 1
|
96
|
+
AV_PIX_FMT_RGB48BE = AV_PIX_FMT_VDPAU_VC1 + 1
|
97
|
+
AV_PIX_FMT_RGB48LE = AV_PIX_FMT_RGB48BE + 1
|
98
|
+
AV_PIX_FMT_RGB565BE = AV_PIX_FMT_RGB48LE + 1
|
99
|
+
AV_PIX_FMT_RGB565LE = AV_PIX_FMT_RGB565BE + 1
|
100
|
+
AV_PIX_FMT_RGB555BE = AV_PIX_FMT_RGB565LE + 1
|
101
|
+
AV_PIX_FMT_RGB555LE = AV_PIX_FMT_RGB555BE + 1
|
102
|
+
AV_PIX_FMT_BGR565BE = AV_PIX_FMT_RGB555LE + 1
|
103
|
+
AV_PIX_FMT_BGR565LE = AV_PIX_FMT_BGR565BE + 1
|
104
|
+
AV_PIX_FMT_BGR555BE = AV_PIX_FMT_BGR565LE + 1
|
105
|
+
AV_PIX_FMT_BGR555LE = AV_PIX_FMT_BGR555BE + 1
|
106
|
+
AV_PIX_FMT_VAAPI_MOCO = AV_PIX_FMT_BGR555LE + 1
|
107
|
+
AV_PIX_FMT_VAAPI_IDCT = AV_PIX_FMT_VAAPI_MOCO + 1
|
108
|
+
AV_PIX_FMT_VAAPI_VLD = AV_PIX_FMT_VAAPI_IDCT + 1
|
109
|
+
AV_PIX_FMT_YUV420P16LE = AV_PIX_FMT_VAAPI_VLD + 1
|
110
|
+
AV_PIX_FMT_YUV420P16BE = AV_PIX_FMT_YUV420P16LE + 1
|
111
|
+
AV_PIX_FMT_YUV422P16LE = AV_PIX_FMT_YUV420P16BE + 1
|
112
|
+
AV_PIX_FMT_YUV422P16BE = AV_PIX_FMT_YUV422P16LE + 1
|
113
|
+
AV_PIX_FMT_YUV444P16LE = AV_PIX_FMT_YUV422P16BE + 1
|
114
|
+
AV_PIX_FMT_YUV444P16BE = AV_PIX_FMT_YUV444P16LE + 1
|
115
|
+
AV_PIX_FMT_VDPAU_MPEG4 = AV_PIX_FMT_YUV444P16BE + 1
|
116
|
+
AV_PIX_FMT_DXVA2_VLD = AV_PIX_FMT_VDPAU_MPEG4 + 1
|
117
|
+
AV_PIX_FMT_RGB444LE = AV_PIX_FMT_DXVA2_VLD + 1
|
118
|
+
AV_PIX_FMT_RGB444BE = AV_PIX_FMT_RGB444LE + 1
|
119
|
+
AV_PIX_FMT_BGR444LE = AV_PIX_FMT_RGB444BE + 1
|
120
|
+
AV_PIX_FMT_BGR444BE = AV_PIX_FMT_BGR444LE + 1
|
121
|
+
AV_PIX_FMT_Y400A = AV_PIX_FMT_BGR444BE + 1
|
122
|
+
AV_PIX_FMT_BGR48BE = AV_PIX_FMT_Y400A + 1
|
123
|
+
AV_PIX_FMT_BGR48LE = AV_PIX_FMT_BGR48BE + 1
|
124
|
+
AV_PIX_FMT_YUV420P9BE = AV_PIX_FMT_BGR48LE + 1
|
125
|
+
AV_PIX_FMT_YUV420P9LE = AV_PIX_FMT_YUV420P9BE + 1
|
126
|
+
AV_PIX_FMT_YUV420P10BE = AV_PIX_FMT_YUV420P9LE + 1
|
127
|
+
AV_PIX_FMT_YUV420P10LE = AV_PIX_FMT_YUV420P10BE + 1
|
128
|
+
AV_PIX_FMT_YUV422P10BE = AV_PIX_FMT_YUV420P10LE + 1
|
129
|
+
AV_PIX_FMT_YUV422P10LE = AV_PIX_FMT_YUV422P10BE + 1
|
130
|
+
AV_PIX_FMT_YUV444P9BE = AV_PIX_FMT_YUV422P10LE + 1
|
131
|
+
AV_PIX_FMT_YUV444P9LE = AV_PIX_FMT_YUV444P9BE + 1
|
132
|
+
AV_PIX_FMT_YUV444P10BE = AV_PIX_FMT_YUV444P9LE + 1
|
133
|
+
AV_PIX_FMT_YUV444P10LE = AV_PIX_FMT_YUV444P10BE + 1
|
134
|
+
AV_PIX_FMT_YUV422P9BE = AV_PIX_FMT_YUV444P10LE + 1
|
135
|
+
AV_PIX_FMT_YUV422P9LE = AV_PIX_FMT_YUV422P9BE + 1
|
136
|
+
AV_PIX_FMT_VDA_VLD = AV_PIX_FMT_YUV422P9LE + 1
|
137
|
+
AV_PIX_FMT_GBRP = AV_PIX_FMT_VDA_VLD + 1
|
138
|
+
AV_PIX_FMT_GBRP9BE = AV_PIX_FMT_GBRP + 1
|
139
|
+
AV_PIX_FMT_GBRP9LE = AV_PIX_FMT_GBRP9BE + 1
|
140
|
+
AV_PIX_FMT_GBRP10BE = AV_PIX_FMT_GBRP9LE + 1
|
141
|
+
AV_PIX_FMT_GBRP10LE = AV_PIX_FMT_GBRP10BE + 1
|
142
|
+
AV_PIX_FMT_GBRP16BE = AV_PIX_FMT_GBRP10LE + 1
|
143
|
+
AV_PIX_FMT_GBRP16LE = AV_PIX_FMT_GBRP16BE + 1
|
144
|
+
AV_PIX_FMT_YUVA422P = AV_PIX_FMT_GBRP16LE + 1
|
145
|
+
AV_PIX_FMT_YUVA444P = AV_PIX_FMT_YUVA422P + 1
|
146
|
+
AV_PIX_FMT_YUVA420P9BE = AV_PIX_FMT_YUVA444P + 1
|
147
|
+
AV_PIX_FMT_YUVA420P9LE = AV_PIX_FMT_YUVA420P9BE + 1
|
148
|
+
AV_PIX_FMT_YUVA422P9BE = AV_PIX_FMT_YUVA420P9LE + 1
|
149
|
+
AV_PIX_FMT_YUVA422P9LE = AV_PIX_FMT_YUVA422P9BE + 1
|
150
|
+
AV_PIX_FMT_YUVA444P9BE = AV_PIX_FMT_YUVA422P9LE + 1
|
151
|
+
AV_PIX_FMT_YUVA444P9LE = AV_PIX_FMT_YUVA444P9BE + 1
|
152
|
+
AV_PIX_FMT_YUVA420P10BE = AV_PIX_FMT_YUVA444P9LE + 1
|
153
|
+
AV_PIX_FMT_YUVA420P10LE = AV_PIX_FMT_YUVA420P10BE + 1
|
154
|
+
AV_PIX_FMT_YUVA422P10BE = AV_PIX_FMT_YUVA420P10LE + 1
|
155
|
+
AV_PIX_FMT_YUVA422P10LE = AV_PIX_FMT_YUVA422P10BE + 1
|
156
|
+
AV_PIX_FMT_YUVA444P10BE = AV_PIX_FMT_YUVA422P10LE + 1
|
157
|
+
AV_PIX_FMT_YUVA444P10LE = AV_PIX_FMT_YUVA444P10BE + 1
|
158
|
+
AV_PIX_FMT_YUVA420P16BE = AV_PIX_FMT_YUVA444P10LE + 1
|
159
|
+
AV_PIX_FMT_YUVA420P16LE = AV_PIX_FMT_YUVA420P16BE + 1
|
160
|
+
AV_PIX_FMT_YUVA422P16BE = AV_PIX_FMT_YUVA420P16LE + 1
|
161
|
+
AV_PIX_FMT_YUVA422P16LE = AV_PIX_FMT_YUVA422P16BE + 1
|
162
|
+
AV_PIX_FMT_YUVA444P16BE = AV_PIX_FMT_YUVA422P16LE + 1
|
163
|
+
AV_PIX_FMT_YUVA444P16LE = AV_PIX_FMT_YUVA444P16BE + 1
|
164
|
+
AV_PIX_FMT_NB = AV_PIX_FMT_YUVA444P16LE + 1
|
165
|
+
AVPixelFormat = enum :AVPixelFormat, [
|
152
166
|
:none, -1,
|
153
167
|
:yuv420p,
|
154
168
|
:yuyv422,
|
@@ -239,6 +253,26 @@ module FFI::Libav
|
|
239
253
|
:gbrp10le,
|
240
254
|
:gbrp16be,
|
241
255
|
:gbrp16le,
|
256
|
+
:yuva422p,
|
257
|
+
:yuva444p,
|
258
|
+
:yuva420p9be,
|
259
|
+
:yuva420p9le,
|
260
|
+
:yuva422p9be,
|
261
|
+
:yuva422p9le,
|
262
|
+
:yuva444p9be,
|
263
|
+
:yuva444p9le,
|
264
|
+
:yuva420p10be,
|
265
|
+
:yuva420p10le,
|
266
|
+
:yuva422p10be,
|
267
|
+
:yuva422p10le,
|
268
|
+
:yuva444p10be,
|
269
|
+
:yuva444p10le,
|
270
|
+
:yuva420p16be,
|
271
|
+
:yuva420p16le,
|
272
|
+
:yuva422p16be,
|
273
|
+
:yuva422p16le,
|
274
|
+
:yuva444p16be,
|
275
|
+
:yuva444p16le,
|
242
276
|
:nb,
|
243
277
|
]
|
244
278
|
|
@@ -247,15 +281,11 @@ module FFI::Libav
|
|
247
281
|
:num, :int,
|
248
282
|
:den, :int
|
249
283
|
)
|
284
|
+
|
250
285
|
def to_f
|
251
286
|
self[:num].to_f / self[:den]
|
252
287
|
end
|
253
288
|
end
|
254
|
-
|
255
|
-
AV_TIME_BASE_Q = AVRational.new
|
256
|
-
AV_TIME_BASE_Q[:num] = 1
|
257
|
-
AV_TIME_BASE_Q[:den] = AV_TIME_BASE
|
258
|
-
|
259
289
|
# inline function av_cmp_q
|
260
290
|
# inline function av_q2d
|
261
291
|
attach_function :av_reduce, :av_reduce, [ :pointer, :pointer, :int64, :int64, :int64 ], :int
|
@@ -263,25 +293,21 @@ module FFI::Libav
|
|
263
293
|
attach_function :av_div_q, :av_div_q, [ AVRational.by_value, AVRational.by_value ], AVRational.by_value
|
264
294
|
attach_function :av_add_q, :av_add_q, [ AVRational.by_value, AVRational.by_value ], AVRational.by_value
|
265
295
|
attach_function :av_sub_q, :av_sub_q, [ AVRational.by_value, AVRational.by_value ], AVRational.by_value
|
296
|
+
# inline function av_inv_q
|
266
297
|
attach_function :av_d2q, :av_d2q, [ :double, :int ], AVRational.by_value
|
267
298
|
attach_function :av_nearer_q, :av_nearer_q, [ AVRational.by_value, AVRational.by_value, AVRational.by_value ], :int
|
268
299
|
attach_function :av_find_nearest_q_idx, :av_find_nearest_q_idx, [ AVRational.by_value, :pointer ], :int
|
269
300
|
attach_function :av_malloc, :av_malloc, [ :uint ], :pointer
|
301
|
+
# inline function av_malloc_array
|
270
302
|
attach_function :av_realloc, :av_realloc, [ :pointer, :uint ], :pointer
|
271
303
|
attach_function :av_free, :av_free, [ :pointer ], :void
|
272
304
|
attach_function :av_mallocz, :av_mallocz, [ :uint ], :pointer
|
305
|
+
# inline function av_mallocz_array
|
273
306
|
attach_function :av_strdup, :av_strdup, [ :string ], :string
|
274
307
|
attach_function :av_freep, :av_freep, [ :pointer ], :void
|
275
|
-
|
276
|
-
M_LN2 = 0.69314718055994530942
|
277
|
-
M_LN10 = 2.30258509299404568402
|
308
|
+
attach_function :av_memcpy_backptr, :av_memcpy_backptr, [ :pointer, :int, :int ], :void
|
278
309
|
M_LOG2_10 = 3.32192809488736234787
|
279
310
|
M_PHI = 1.61803398874989484820
|
280
|
-
M_PI = 3.14159265358979323846
|
281
|
-
M_SQRT1_2 = 0.70710678118654752440
|
282
|
-
M_SQRT2 = 1.41421356237309504880
|
283
|
-
NAN = (0.0/0.0)
|
284
|
-
INFINITY = (1.0/0.0)
|
285
311
|
AV_ROUND_ZERO = 0
|
286
312
|
AV_ROUND_INF = 1
|
287
313
|
AV_ROUND_DOWN = 2
|
@@ -297,339 +323,353 @@ module FFI::Libav
|
|
297
323
|
|
298
324
|
attach_function :av_gcd, :av_gcd, [ :int64, :int64 ], :int64
|
299
325
|
attach_function :av_rescale, :av_rescale, [ :int64, :int64, :int64 ], :int64
|
300
|
-
attach_function :av_rescale_rnd, :av_rescale_rnd, [ :int64, :int64, :int64,
|
326
|
+
attach_function :av_rescale_rnd, :av_rescale_rnd, [ :int64, :int64, :int64, :int ], :int64
|
301
327
|
attach_function :av_rescale_q, :av_rescale_q, [ :int64, AVRational.by_value, AVRational.by_value ], :int64
|
328
|
+
attach_function :av_rescale_q_rnd, :av_rescale_q_rnd, [ :int64, AVRational.by_value, AVRational.by_value, :int ], :int64
|
302
329
|
attach_function :av_compare_ts, :av_compare_ts, [ :int64, AVRational.by_value, :int64, AVRational.by_value ], :int
|
303
330
|
attach_function :av_compare_mod, :av_compare_mod, [ :uint64, :uint64, :uint64 ], :int64
|
304
331
|
|
305
332
|
|
306
|
-
ffi_lib [ "libavcodec.so.
|
333
|
+
ffi_lib [ "libavcodec.so.54", "libavcodec.54.dylib" ]
|
307
334
|
|
308
335
|
class AVPacket < FFI::Struct; end
|
309
336
|
class AVPacketSideData < FFI::Struct; end
|
310
337
|
class AVPanScan < FFI::Struct; end
|
311
338
|
class AVCodecContext < FFI::Struct; end
|
312
|
-
class AVCodec < FFI::Struct; end
|
313
339
|
class AVFrame < FFI::Struct; end
|
314
340
|
class RcOverride < FFI::Struct; end
|
315
|
-
class AVPaletteControl < FFI::Struct; end
|
316
341
|
class AVHWAccel < FFI::Struct; end
|
317
|
-
class
|
342
|
+
class AVCodec < FFI::Struct; end
|
318
343
|
class AVSubtitle < FFI::Struct; end
|
319
344
|
class AVCodecParser < FFI::Struct; end
|
320
345
|
class AVCodecParserContext < FFI::Struct; end
|
346
|
+
class AVPicture < FFI::Struct; end
|
321
347
|
class AVBitStreamFilter < FFI::Struct; end
|
322
348
|
class AVBitStreamFilterContext < FFI::Struct; end
|
323
|
-
LIBAVCODEC_VERSION_MAJOR =
|
349
|
+
LIBAVCODEC_VERSION_MAJOR = 54
|
324
350
|
LIBAVCODEC_VERSION_MINOR = 35
|
325
351
|
LIBAVCODEC_VERSION_MICRO = 0
|
326
|
-
LIBAVCODEC_VERSION_INT = (
|
327
|
-
LIBAVCODEC_BUILD = (
|
328
|
-
LIBAVCODEC_IDENT = '
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
352
|
+
LIBAVCODEC_VERSION_INT = (54 << 16|35 << 8|0)
|
353
|
+
LIBAVCODEC_BUILD = (54 << 16|35 << 8|0)
|
354
|
+
LIBAVCODEC_IDENT = 'Lavc54.35.0'
|
355
|
+
AV_CODEC_ID_NONE = 0
|
356
|
+
AV_CODEC_ID_MPEG1VIDEO = AV_CODEC_ID_NONE + 1
|
357
|
+
AV_CODEC_ID_MPEG2VIDEO = AV_CODEC_ID_MPEG1VIDEO + 1
|
358
|
+
AV_CODEC_ID_MPEG2VIDEO_XVMC = AV_CODEC_ID_MPEG2VIDEO + 1
|
359
|
+
AV_CODEC_ID_H261 = AV_CODEC_ID_MPEG2VIDEO_XVMC + 1
|
360
|
+
AV_CODEC_ID_H263 = AV_CODEC_ID_H261 + 1
|
361
|
+
AV_CODEC_ID_RV10 = AV_CODEC_ID_H263 + 1
|
362
|
+
AV_CODEC_ID_RV20 = AV_CODEC_ID_RV10 + 1
|
363
|
+
AV_CODEC_ID_MJPEG = AV_CODEC_ID_RV20 + 1
|
364
|
+
AV_CODEC_ID_MJPEGB = AV_CODEC_ID_MJPEG + 1
|
365
|
+
AV_CODEC_ID_LJPEG = AV_CODEC_ID_MJPEGB + 1
|
366
|
+
AV_CODEC_ID_SP5X = AV_CODEC_ID_LJPEG + 1
|
367
|
+
AV_CODEC_ID_JPEGLS = AV_CODEC_ID_SP5X + 1
|
368
|
+
AV_CODEC_ID_MPEG4 = AV_CODEC_ID_JPEGLS + 1
|
369
|
+
AV_CODEC_ID_RAWVIDEO = AV_CODEC_ID_MPEG4 + 1
|
370
|
+
AV_CODEC_ID_MSMPEG4V1 = AV_CODEC_ID_RAWVIDEO + 1
|
371
|
+
AV_CODEC_ID_MSMPEG4V2 = AV_CODEC_ID_MSMPEG4V1 + 1
|
372
|
+
AV_CODEC_ID_MSMPEG4V3 = AV_CODEC_ID_MSMPEG4V2 + 1
|
373
|
+
AV_CODEC_ID_WMV1 = AV_CODEC_ID_MSMPEG4V3 + 1
|
374
|
+
AV_CODEC_ID_WMV2 = AV_CODEC_ID_WMV1 + 1
|
375
|
+
AV_CODEC_ID_H263P = AV_CODEC_ID_WMV2 + 1
|
376
|
+
AV_CODEC_ID_H263I = AV_CODEC_ID_H263P + 1
|
377
|
+
AV_CODEC_ID_FLV1 = AV_CODEC_ID_H263I + 1
|
378
|
+
AV_CODEC_ID_SVQ1 = AV_CODEC_ID_FLV1 + 1
|
379
|
+
AV_CODEC_ID_SVQ3 = AV_CODEC_ID_SVQ1 + 1
|
380
|
+
AV_CODEC_ID_DVVIDEO = AV_CODEC_ID_SVQ3 + 1
|
381
|
+
AV_CODEC_ID_HUFFYUV = AV_CODEC_ID_DVVIDEO + 1
|
382
|
+
AV_CODEC_ID_CYUV = AV_CODEC_ID_HUFFYUV + 1
|
383
|
+
AV_CODEC_ID_H264 = AV_CODEC_ID_CYUV + 1
|
384
|
+
AV_CODEC_ID_INDEO3 = AV_CODEC_ID_H264 + 1
|
385
|
+
AV_CODEC_ID_VP3 = AV_CODEC_ID_INDEO3 + 1
|
386
|
+
AV_CODEC_ID_THEORA = AV_CODEC_ID_VP3 + 1
|
387
|
+
AV_CODEC_ID_ASV1 = AV_CODEC_ID_THEORA + 1
|
388
|
+
AV_CODEC_ID_ASV2 = AV_CODEC_ID_ASV1 + 1
|
389
|
+
AV_CODEC_ID_FFV1 = AV_CODEC_ID_ASV2 + 1
|
390
|
+
AV_CODEC_ID_4XM = AV_CODEC_ID_FFV1 + 1
|
391
|
+
AV_CODEC_ID_VCR1 = AV_CODEC_ID_4XM + 1
|
392
|
+
AV_CODEC_ID_CLJR = AV_CODEC_ID_VCR1 + 1
|
393
|
+
AV_CODEC_ID_MDEC = AV_CODEC_ID_CLJR + 1
|
394
|
+
AV_CODEC_ID_ROQ = AV_CODEC_ID_MDEC + 1
|
395
|
+
AV_CODEC_ID_INTERPLAY_VIDEO = AV_CODEC_ID_ROQ + 1
|
396
|
+
AV_CODEC_ID_XAN_WC3 = AV_CODEC_ID_INTERPLAY_VIDEO + 1
|
397
|
+
AV_CODEC_ID_XAN_WC4 = AV_CODEC_ID_XAN_WC3 + 1
|
398
|
+
AV_CODEC_ID_RPZA = AV_CODEC_ID_XAN_WC4 + 1
|
399
|
+
AV_CODEC_ID_CINEPAK = AV_CODEC_ID_RPZA + 1
|
400
|
+
AV_CODEC_ID_WS_VQA = AV_CODEC_ID_CINEPAK + 1
|
401
|
+
AV_CODEC_ID_MSRLE = AV_CODEC_ID_WS_VQA + 1
|
402
|
+
AV_CODEC_ID_MSVIDEO1 = AV_CODEC_ID_MSRLE + 1
|
403
|
+
AV_CODEC_ID_IDCIN = AV_CODEC_ID_MSVIDEO1 + 1
|
404
|
+
AV_CODEC_ID_8BPS = AV_CODEC_ID_IDCIN + 1
|
405
|
+
AV_CODEC_ID_SMC = AV_CODEC_ID_8BPS + 1
|
406
|
+
AV_CODEC_ID_FLIC = AV_CODEC_ID_SMC + 1
|
407
|
+
AV_CODEC_ID_TRUEMOTION1 = AV_CODEC_ID_FLIC + 1
|
408
|
+
AV_CODEC_ID_VMDVIDEO = AV_CODEC_ID_TRUEMOTION1 + 1
|
409
|
+
AV_CODEC_ID_MSZH = AV_CODEC_ID_VMDVIDEO + 1
|
410
|
+
AV_CODEC_ID_ZLIB = AV_CODEC_ID_MSZH + 1
|
411
|
+
AV_CODEC_ID_QTRLE = AV_CODEC_ID_ZLIB + 1
|
412
|
+
AV_CODEC_ID_SNOW = AV_CODEC_ID_QTRLE + 1
|
413
|
+
AV_CODEC_ID_TSCC = AV_CODEC_ID_SNOW + 1
|
414
|
+
AV_CODEC_ID_ULTI = AV_CODEC_ID_TSCC + 1
|
415
|
+
AV_CODEC_ID_QDRAW = AV_CODEC_ID_ULTI + 1
|
416
|
+
AV_CODEC_ID_VIXL = AV_CODEC_ID_QDRAW + 1
|
417
|
+
AV_CODEC_ID_QPEG = AV_CODEC_ID_VIXL + 1
|
418
|
+
AV_CODEC_ID_PNG = AV_CODEC_ID_QPEG + 1
|
419
|
+
AV_CODEC_ID_PPM = AV_CODEC_ID_PNG + 1
|
420
|
+
AV_CODEC_ID_PBM = AV_CODEC_ID_PPM + 1
|
421
|
+
AV_CODEC_ID_PGM = AV_CODEC_ID_PBM + 1
|
422
|
+
AV_CODEC_ID_PGMYUV = AV_CODEC_ID_PGM + 1
|
423
|
+
AV_CODEC_ID_PAM = AV_CODEC_ID_PGMYUV + 1
|
424
|
+
AV_CODEC_ID_FFVHUFF = AV_CODEC_ID_PAM + 1
|
425
|
+
AV_CODEC_ID_RV30 = AV_CODEC_ID_FFVHUFF + 1
|
426
|
+
AV_CODEC_ID_RV40 = AV_CODEC_ID_RV30 + 1
|
427
|
+
AV_CODEC_ID_VC1 = AV_CODEC_ID_RV40 + 1
|
428
|
+
AV_CODEC_ID_WMV3 = AV_CODEC_ID_VC1 + 1
|
429
|
+
AV_CODEC_ID_LOCO = AV_CODEC_ID_WMV3 + 1
|
430
|
+
AV_CODEC_ID_WNV1 = AV_CODEC_ID_LOCO + 1
|
431
|
+
AV_CODEC_ID_AASC = AV_CODEC_ID_WNV1 + 1
|
432
|
+
AV_CODEC_ID_INDEO2 = AV_CODEC_ID_AASC + 1
|
433
|
+
AV_CODEC_ID_FRAPS = AV_CODEC_ID_INDEO2 + 1
|
434
|
+
AV_CODEC_ID_TRUEMOTION2 = AV_CODEC_ID_FRAPS + 1
|
435
|
+
AV_CODEC_ID_BMP = AV_CODEC_ID_TRUEMOTION2 + 1
|
436
|
+
AV_CODEC_ID_CSCD = AV_CODEC_ID_BMP + 1
|
437
|
+
AV_CODEC_ID_MMVIDEO = AV_CODEC_ID_CSCD + 1
|
438
|
+
AV_CODEC_ID_ZMBV = AV_CODEC_ID_MMVIDEO + 1
|
439
|
+
AV_CODEC_ID_AVS = AV_CODEC_ID_ZMBV + 1
|
440
|
+
AV_CODEC_ID_SMACKVIDEO = AV_CODEC_ID_AVS + 1
|
441
|
+
AV_CODEC_ID_NUV = AV_CODEC_ID_SMACKVIDEO + 1
|
442
|
+
AV_CODEC_ID_KMVC = AV_CODEC_ID_NUV + 1
|
443
|
+
AV_CODEC_ID_FLASHSV = AV_CODEC_ID_KMVC + 1
|
444
|
+
AV_CODEC_ID_CAVS = AV_CODEC_ID_FLASHSV + 1
|
445
|
+
AV_CODEC_ID_JPEG2000 = AV_CODEC_ID_CAVS + 1
|
446
|
+
AV_CODEC_ID_VMNC = AV_CODEC_ID_JPEG2000 + 1
|
447
|
+
AV_CODEC_ID_VP5 = AV_CODEC_ID_VMNC + 1
|
448
|
+
AV_CODEC_ID_VP6 = AV_CODEC_ID_VP5 + 1
|
449
|
+
AV_CODEC_ID_VP6F = AV_CODEC_ID_VP6 + 1
|
450
|
+
AV_CODEC_ID_TARGA = AV_CODEC_ID_VP6F + 1
|
451
|
+
AV_CODEC_ID_DSICINVIDEO = AV_CODEC_ID_TARGA + 1
|
452
|
+
AV_CODEC_ID_TIERTEXSEQVIDEO = AV_CODEC_ID_DSICINVIDEO + 1
|
453
|
+
AV_CODEC_ID_TIFF = AV_CODEC_ID_TIERTEXSEQVIDEO + 1
|
454
|
+
AV_CODEC_ID_GIF = AV_CODEC_ID_TIFF + 1
|
455
|
+
AV_CODEC_ID_DXA = AV_CODEC_ID_GIF + 1
|
456
|
+
AV_CODEC_ID_DNXHD = AV_CODEC_ID_DXA + 1
|
457
|
+
AV_CODEC_ID_THP = AV_CODEC_ID_DNXHD + 1
|
458
|
+
AV_CODEC_ID_SGI = AV_CODEC_ID_THP + 1
|
459
|
+
AV_CODEC_ID_C93 = AV_CODEC_ID_SGI + 1
|
460
|
+
AV_CODEC_ID_BETHSOFTVID = AV_CODEC_ID_C93 + 1
|
461
|
+
AV_CODEC_ID_PTX = AV_CODEC_ID_BETHSOFTVID + 1
|
462
|
+
AV_CODEC_ID_TXD = AV_CODEC_ID_PTX + 1
|
463
|
+
AV_CODEC_ID_VP6A = AV_CODEC_ID_TXD + 1
|
464
|
+
AV_CODEC_ID_AMV = AV_CODEC_ID_VP6A + 1
|
465
|
+
AV_CODEC_ID_VB = AV_CODEC_ID_AMV + 1
|
466
|
+
AV_CODEC_ID_PCX = AV_CODEC_ID_VB + 1
|
467
|
+
AV_CODEC_ID_SUNRAST = AV_CODEC_ID_PCX + 1
|
468
|
+
AV_CODEC_ID_INDEO4 = AV_CODEC_ID_SUNRAST + 1
|
469
|
+
AV_CODEC_ID_INDEO5 = AV_CODEC_ID_INDEO4 + 1
|
470
|
+
AV_CODEC_ID_MIMIC = AV_CODEC_ID_INDEO5 + 1
|
471
|
+
AV_CODEC_ID_RL2 = AV_CODEC_ID_MIMIC + 1
|
472
|
+
AV_CODEC_ID_ESCAPE124 = AV_CODEC_ID_RL2 + 1
|
473
|
+
AV_CODEC_ID_DIRAC = AV_CODEC_ID_ESCAPE124 + 1
|
474
|
+
AV_CODEC_ID_BFI = AV_CODEC_ID_DIRAC + 1
|
475
|
+
AV_CODEC_ID_CMV = AV_CODEC_ID_BFI + 1
|
476
|
+
AV_CODEC_ID_MOTIONPIXELS = AV_CODEC_ID_CMV + 1
|
477
|
+
AV_CODEC_ID_TGV = AV_CODEC_ID_MOTIONPIXELS + 1
|
478
|
+
AV_CODEC_ID_TGQ = AV_CODEC_ID_TGV + 1
|
479
|
+
AV_CODEC_ID_TQI = AV_CODEC_ID_TGQ + 1
|
480
|
+
AV_CODEC_ID_AURA = AV_CODEC_ID_TQI + 1
|
481
|
+
AV_CODEC_ID_AURA2 = AV_CODEC_ID_AURA + 1
|
482
|
+
AV_CODEC_ID_V210X = AV_CODEC_ID_AURA2 + 1
|
483
|
+
AV_CODEC_ID_TMV = AV_CODEC_ID_V210X + 1
|
484
|
+
AV_CODEC_ID_V210 = AV_CODEC_ID_TMV + 1
|
485
|
+
AV_CODEC_ID_DPX = AV_CODEC_ID_V210 + 1
|
486
|
+
AV_CODEC_ID_MAD = AV_CODEC_ID_DPX + 1
|
487
|
+
AV_CODEC_ID_FRWU = AV_CODEC_ID_MAD + 1
|
488
|
+
AV_CODEC_ID_FLASHSV2 = AV_CODEC_ID_FRWU + 1
|
489
|
+
AV_CODEC_ID_CDGRAPHICS = AV_CODEC_ID_FLASHSV2 + 1
|
490
|
+
AV_CODEC_ID_R210 = AV_CODEC_ID_CDGRAPHICS + 1
|
491
|
+
AV_CODEC_ID_ANM = AV_CODEC_ID_R210 + 1
|
492
|
+
AV_CODEC_ID_BINKVIDEO = AV_CODEC_ID_ANM + 1
|
493
|
+
AV_CODEC_ID_IFF_ILBM = AV_CODEC_ID_BINKVIDEO + 1
|
494
|
+
AV_CODEC_ID_IFF_BYTERUN1 = AV_CODEC_ID_IFF_ILBM + 1
|
495
|
+
AV_CODEC_ID_KGV1 = AV_CODEC_ID_IFF_BYTERUN1 + 1
|
496
|
+
AV_CODEC_ID_YOP = AV_CODEC_ID_KGV1 + 1
|
497
|
+
AV_CODEC_ID_VP8 = AV_CODEC_ID_YOP + 1
|
498
|
+
AV_CODEC_ID_PICTOR = AV_CODEC_ID_VP8 + 1
|
499
|
+
AV_CODEC_ID_ANSI = AV_CODEC_ID_PICTOR + 1
|
500
|
+
AV_CODEC_ID_A64_MULTI = AV_CODEC_ID_ANSI + 1
|
501
|
+
AV_CODEC_ID_A64_MULTI5 = AV_CODEC_ID_A64_MULTI + 1
|
502
|
+
AV_CODEC_ID_R10K = AV_CODEC_ID_A64_MULTI5 + 1
|
503
|
+
AV_CODEC_ID_MXPEG = AV_CODEC_ID_R10K + 1
|
504
|
+
AV_CODEC_ID_LAGARITH = AV_CODEC_ID_MXPEG + 1
|
505
|
+
AV_CODEC_ID_PRORES = AV_CODEC_ID_LAGARITH + 1
|
506
|
+
AV_CODEC_ID_JV = AV_CODEC_ID_PRORES + 1
|
507
|
+
AV_CODEC_ID_DFA = AV_CODEC_ID_JV + 1
|
508
|
+
AV_CODEC_ID_WMV3IMAGE = AV_CODEC_ID_DFA + 1
|
509
|
+
AV_CODEC_ID_VC1IMAGE = AV_CODEC_ID_WMV3IMAGE + 1
|
510
|
+
AV_CODEC_ID_UTVIDEO = AV_CODEC_ID_VC1IMAGE + 1
|
511
|
+
AV_CODEC_ID_BMV_VIDEO = AV_CODEC_ID_UTVIDEO + 1
|
512
|
+
AV_CODEC_ID_VBLE = AV_CODEC_ID_BMV_VIDEO + 1
|
513
|
+
AV_CODEC_ID_DXTORY = AV_CODEC_ID_VBLE + 1
|
514
|
+
AV_CODEC_ID_V410 = AV_CODEC_ID_DXTORY + 1
|
515
|
+
AV_CODEC_ID_XWD = AV_CODEC_ID_V410 + 1
|
516
|
+
AV_CODEC_ID_CDXL = AV_CODEC_ID_XWD + 1
|
517
|
+
AV_CODEC_ID_XBM = AV_CODEC_ID_CDXL + 1
|
518
|
+
AV_CODEC_ID_ZEROCODEC = AV_CODEC_ID_XBM + 1
|
519
|
+
AV_CODEC_ID_MSS1 = AV_CODEC_ID_ZEROCODEC + 1
|
520
|
+
AV_CODEC_ID_MSA1 = AV_CODEC_ID_MSS1 + 1
|
521
|
+
AV_CODEC_ID_TSCC2 = AV_CODEC_ID_MSA1 + 1
|
522
|
+
AV_CODEC_ID_MTS2 = AV_CODEC_ID_TSCC2 + 1
|
523
|
+
AV_CODEC_ID_CLLC = AV_CODEC_ID_MTS2 + 1
|
524
|
+
AV_CODEC_ID_MSS2 = AV_CODEC_ID_CLLC + 1
|
525
|
+
AV_CODEC_ID_FIRST_AUDIO = 0x10000
|
526
|
+
AV_CODEC_ID_PCM_S16LE = 0x10000
|
527
|
+
AV_CODEC_ID_PCM_S16BE = AV_CODEC_ID_PCM_S16LE + 1
|
528
|
+
AV_CODEC_ID_PCM_U16LE = AV_CODEC_ID_PCM_S16BE + 1
|
529
|
+
AV_CODEC_ID_PCM_U16BE = AV_CODEC_ID_PCM_U16LE + 1
|
530
|
+
AV_CODEC_ID_PCM_S8 = AV_CODEC_ID_PCM_U16BE + 1
|
531
|
+
AV_CODEC_ID_PCM_U8 = AV_CODEC_ID_PCM_S8 + 1
|
532
|
+
AV_CODEC_ID_PCM_MULAW = AV_CODEC_ID_PCM_U8 + 1
|
533
|
+
AV_CODEC_ID_PCM_ALAW = AV_CODEC_ID_PCM_MULAW + 1
|
534
|
+
AV_CODEC_ID_PCM_S32LE = AV_CODEC_ID_PCM_ALAW + 1
|
535
|
+
AV_CODEC_ID_PCM_S32BE = AV_CODEC_ID_PCM_S32LE + 1
|
536
|
+
AV_CODEC_ID_PCM_U32LE = AV_CODEC_ID_PCM_S32BE + 1
|
537
|
+
AV_CODEC_ID_PCM_U32BE = AV_CODEC_ID_PCM_U32LE + 1
|
538
|
+
AV_CODEC_ID_PCM_S24LE = AV_CODEC_ID_PCM_U32BE + 1
|
539
|
+
AV_CODEC_ID_PCM_S24BE = AV_CODEC_ID_PCM_S24LE + 1
|
540
|
+
AV_CODEC_ID_PCM_U24LE = AV_CODEC_ID_PCM_S24BE + 1
|
541
|
+
AV_CODEC_ID_PCM_U24BE = AV_CODEC_ID_PCM_U24LE + 1
|
542
|
+
AV_CODEC_ID_PCM_S24DAUD = AV_CODEC_ID_PCM_U24BE + 1
|
543
|
+
AV_CODEC_ID_PCM_ZORK = AV_CODEC_ID_PCM_S24DAUD + 1
|
544
|
+
AV_CODEC_ID_PCM_S16LE_PLANAR = AV_CODEC_ID_PCM_ZORK + 1
|
545
|
+
AV_CODEC_ID_PCM_DVD = AV_CODEC_ID_PCM_S16LE_PLANAR + 1
|
546
|
+
AV_CODEC_ID_PCM_F32BE = AV_CODEC_ID_PCM_DVD + 1
|
547
|
+
AV_CODEC_ID_PCM_F32LE = AV_CODEC_ID_PCM_F32BE + 1
|
548
|
+
AV_CODEC_ID_PCM_F64BE = AV_CODEC_ID_PCM_F32LE + 1
|
549
|
+
AV_CODEC_ID_PCM_F64LE = AV_CODEC_ID_PCM_F64BE + 1
|
550
|
+
AV_CODEC_ID_PCM_BLURAY = AV_CODEC_ID_PCM_F64LE + 1
|
551
|
+
AV_CODEC_ID_PCM_LXF = AV_CODEC_ID_PCM_BLURAY + 1
|
552
|
+
AV_CODEC_ID_S302M = AV_CODEC_ID_PCM_LXF + 1
|
553
|
+
AV_CODEC_ID_PCM_S8_PLANAR = AV_CODEC_ID_S302M + 1
|
554
|
+
AV_CODEC_ID_ADPCM_IMA_QT = 0x11000
|
555
|
+
AV_CODEC_ID_ADPCM_IMA_WAV = AV_CODEC_ID_ADPCM_IMA_QT + 1
|
556
|
+
AV_CODEC_ID_ADPCM_IMA_DK3 = AV_CODEC_ID_ADPCM_IMA_WAV + 1
|
557
|
+
AV_CODEC_ID_ADPCM_IMA_DK4 = AV_CODEC_ID_ADPCM_IMA_DK3 + 1
|
558
|
+
AV_CODEC_ID_ADPCM_IMA_WS = AV_CODEC_ID_ADPCM_IMA_DK4 + 1
|
559
|
+
AV_CODEC_ID_ADPCM_IMA_SMJPEG = AV_CODEC_ID_ADPCM_IMA_WS + 1
|
560
|
+
AV_CODEC_ID_ADPCM_MS = AV_CODEC_ID_ADPCM_IMA_SMJPEG + 1
|
561
|
+
AV_CODEC_ID_ADPCM_4XM = AV_CODEC_ID_ADPCM_MS + 1
|
562
|
+
AV_CODEC_ID_ADPCM_XA = AV_CODEC_ID_ADPCM_4XM + 1
|
563
|
+
AV_CODEC_ID_ADPCM_ADX = AV_CODEC_ID_ADPCM_XA + 1
|
564
|
+
AV_CODEC_ID_ADPCM_EA = AV_CODEC_ID_ADPCM_ADX + 1
|
565
|
+
AV_CODEC_ID_ADPCM_G726 = AV_CODEC_ID_ADPCM_EA + 1
|
566
|
+
AV_CODEC_ID_ADPCM_CT = AV_CODEC_ID_ADPCM_G726 + 1
|
567
|
+
AV_CODEC_ID_ADPCM_SWF = AV_CODEC_ID_ADPCM_CT + 1
|
568
|
+
AV_CODEC_ID_ADPCM_YAMAHA = AV_CODEC_ID_ADPCM_SWF + 1
|
569
|
+
AV_CODEC_ID_ADPCM_SBPRO_4 = AV_CODEC_ID_ADPCM_YAMAHA + 1
|
570
|
+
AV_CODEC_ID_ADPCM_SBPRO_3 = AV_CODEC_ID_ADPCM_SBPRO_4 + 1
|
571
|
+
AV_CODEC_ID_ADPCM_SBPRO_2 = AV_CODEC_ID_ADPCM_SBPRO_3 + 1
|
572
|
+
AV_CODEC_ID_ADPCM_THP = AV_CODEC_ID_ADPCM_SBPRO_2 + 1
|
573
|
+
AV_CODEC_ID_ADPCM_IMA_AMV = AV_CODEC_ID_ADPCM_THP + 1
|
574
|
+
AV_CODEC_ID_ADPCM_EA_R1 = AV_CODEC_ID_ADPCM_IMA_AMV + 1
|
575
|
+
AV_CODEC_ID_ADPCM_EA_R3 = AV_CODEC_ID_ADPCM_EA_R1 + 1
|
576
|
+
AV_CODEC_ID_ADPCM_EA_R2 = AV_CODEC_ID_ADPCM_EA_R3 + 1
|
577
|
+
AV_CODEC_ID_ADPCM_IMA_EA_SEAD = AV_CODEC_ID_ADPCM_EA_R2 + 1
|
578
|
+
AV_CODEC_ID_ADPCM_IMA_EA_EACS = AV_CODEC_ID_ADPCM_IMA_EA_SEAD + 1
|
579
|
+
AV_CODEC_ID_ADPCM_EA_XAS = AV_CODEC_ID_ADPCM_IMA_EA_EACS + 1
|
580
|
+
AV_CODEC_ID_ADPCM_EA_MAXIS_XA = AV_CODEC_ID_ADPCM_EA_XAS + 1
|
581
|
+
AV_CODEC_ID_ADPCM_IMA_ISS = AV_CODEC_ID_ADPCM_EA_MAXIS_XA + 1
|
582
|
+
AV_CODEC_ID_ADPCM_G722 = AV_CODEC_ID_ADPCM_IMA_ISS + 1
|
583
|
+
AV_CODEC_ID_ADPCM_IMA_APC = AV_CODEC_ID_ADPCM_G722 + 1
|
584
|
+
AV_CODEC_ID_AMR_NB = 0x12000
|
585
|
+
AV_CODEC_ID_AMR_WB = AV_CODEC_ID_AMR_NB + 1
|
586
|
+
AV_CODEC_ID_RA_144 = 0x13000
|
587
|
+
AV_CODEC_ID_RA_288 = AV_CODEC_ID_RA_144 + 1
|
588
|
+
AV_CODEC_ID_ROQ_DPCM = 0x14000
|
589
|
+
AV_CODEC_ID_INTERPLAY_DPCM = AV_CODEC_ID_ROQ_DPCM + 1
|
590
|
+
AV_CODEC_ID_XAN_DPCM = AV_CODEC_ID_INTERPLAY_DPCM + 1
|
591
|
+
AV_CODEC_ID_SOL_DPCM = AV_CODEC_ID_XAN_DPCM + 1
|
592
|
+
AV_CODEC_ID_MP2 = 0x15000
|
593
|
+
AV_CODEC_ID_MP3 = AV_CODEC_ID_MP2 + 1
|
594
|
+
AV_CODEC_ID_AAC = AV_CODEC_ID_MP3 + 1
|
595
|
+
AV_CODEC_ID_AC3 = AV_CODEC_ID_AAC + 1
|
596
|
+
AV_CODEC_ID_DTS = AV_CODEC_ID_AC3 + 1
|
597
|
+
AV_CODEC_ID_VORBIS = AV_CODEC_ID_DTS + 1
|
598
|
+
AV_CODEC_ID_DVAUDIO = AV_CODEC_ID_VORBIS + 1
|
599
|
+
AV_CODEC_ID_WMAV1 = AV_CODEC_ID_DVAUDIO + 1
|
600
|
+
AV_CODEC_ID_WMAV2 = AV_CODEC_ID_WMAV1 + 1
|
601
|
+
AV_CODEC_ID_MACE3 = AV_CODEC_ID_WMAV2 + 1
|
602
|
+
AV_CODEC_ID_MACE6 = AV_CODEC_ID_MACE3 + 1
|
603
|
+
AV_CODEC_ID_VMDAUDIO = AV_CODEC_ID_MACE6 + 1
|
604
|
+
AV_CODEC_ID_FLAC = AV_CODEC_ID_VMDAUDIO + 1
|
605
|
+
AV_CODEC_ID_MP3ADU = AV_CODEC_ID_FLAC + 1
|
606
|
+
AV_CODEC_ID_MP3ON4 = AV_CODEC_ID_MP3ADU + 1
|
607
|
+
AV_CODEC_ID_SHORTEN = AV_CODEC_ID_MP3ON4 + 1
|
608
|
+
AV_CODEC_ID_ALAC = AV_CODEC_ID_SHORTEN + 1
|
609
|
+
AV_CODEC_ID_WESTWOOD_SND1 = AV_CODEC_ID_ALAC + 1
|
610
|
+
AV_CODEC_ID_GSM = AV_CODEC_ID_WESTWOOD_SND1 + 1
|
611
|
+
AV_CODEC_ID_QDM2 = AV_CODEC_ID_GSM + 1
|
612
|
+
AV_CODEC_ID_COOK = AV_CODEC_ID_QDM2 + 1
|
613
|
+
AV_CODEC_ID_TRUESPEECH = AV_CODEC_ID_COOK + 1
|
614
|
+
AV_CODEC_ID_TTA = AV_CODEC_ID_TRUESPEECH + 1
|
615
|
+
AV_CODEC_ID_SMACKAUDIO = AV_CODEC_ID_TTA + 1
|
616
|
+
AV_CODEC_ID_QCELP = AV_CODEC_ID_SMACKAUDIO + 1
|
617
|
+
AV_CODEC_ID_WAVPACK = AV_CODEC_ID_QCELP + 1
|
618
|
+
AV_CODEC_ID_DSICINAUDIO = AV_CODEC_ID_WAVPACK + 1
|
619
|
+
AV_CODEC_ID_IMC = AV_CODEC_ID_DSICINAUDIO + 1
|
620
|
+
AV_CODEC_ID_MUSEPACK7 = AV_CODEC_ID_IMC + 1
|
621
|
+
AV_CODEC_ID_MLP = AV_CODEC_ID_MUSEPACK7 + 1
|
622
|
+
AV_CODEC_ID_GSM_MS = AV_CODEC_ID_MLP + 1
|
623
|
+
AV_CODEC_ID_ATRAC3 = AV_CODEC_ID_GSM_MS + 1
|
624
|
+
AV_CODEC_ID_VOXWARE = AV_CODEC_ID_ATRAC3 + 1
|
625
|
+
AV_CODEC_ID_APE = AV_CODEC_ID_VOXWARE + 1
|
626
|
+
AV_CODEC_ID_NELLYMOSER = AV_CODEC_ID_APE + 1
|
627
|
+
AV_CODEC_ID_MUSEPACK8 = AV_CODEC_ID_NELLYMOSER + 1
|
628
|
+
AV_CODEC_ID_SPEEX = AV_CODEC_ID_MUSEPACK8 + 1
|
629
|
+
AV_CODEC_ID_WMAVOICE = AV_CODEC_ID_SPEEX + 1
|
630
|
+
AV_CODEC_ID_WMAPRO = AV_CODEC_ID_WMAVOICE + 1
|
631
|
+
AV_CODEC_ID_WMALOSSLESS = AV_CODEC_ID_WMAPRO + 1
|
632
|
+
AV_CODEC_ID_ATRAC3P = AV_CODEC_ID_WMALOSSLESS + 1
|
633
|
+
AV_CODEC_ID_EAC3 = AV_CODEC_ID_ATRAC3P + 1
|
634
|
+
AV_CODEC_ID_SIPR = AV_CODEC_ID_EAC3 + 1
|
635
|
+
AV_CODEC_ID_MP1 = AV_CODEC_ID_SIPR + 1
|
636
|
+
AV_CODEC_ID_TWINVQ = AV_CODEC_ID_MP1 + 1
|
637
|
+
AV_CODEC_ID_TRUEHD = AV_CODEC_ID_TWINVQ + 1
|
638
|
+
AV_CODEC_ID_MP4ALS = AV_CODEC_ID_TRUEHD + 1
|
639
|
+
AV_CODEC_ID_ATRAC1 = AV_CODEC_ID_MP4ALS + 1
|
640
|
+
AV_CODEC_ID_BINKAUDIO_RDFT = AV_CODEC_ID_ATRAC1 + 1
|
641
|
+
AV_CODEC_ID_BINKAUDIO_DCT = AV_CODEC_ID_BINKAUDIO_RDFT + 1
|
642
|
+
AV_CODEC_ID_AAC_LATM = AV_CODEC_ID_BINKAUDIO_DCT + 1
|
643
|
+
AV_CODEC_ID_QDMC = AV_CODEC_ID_AAC_LATM + 1
|
644
|
+
AV_CODEC_ID_CELT = AV_CODEC_ID_QDMC + 1
|
645
|
+
AV_CODEC_ID_G723_1 = AV_CODEC_ID_CELT + 1
|
646
|
+
AV_CODEC_ID_G729 = AV_CODEC_ID_G723_1 + 1
|
647
|
+
AV_CODEC_ID_8SVX_EXP = AV_CODEC_ID_G729 + 1
|
648
|
+
AV_CODEC_ID_8SVX_FIB = AV_CODEC_ID_8SVX_EXP + 1
|
649
|
+
AV_CODEC_ID_BMV_AUDIO = AV_CODEC_ID_8SVX_FIB + 1
|
650
|
+
AV_CODEC_ID_RALF = AV_CODEC_ID_BMV_AUDIO + 1
|
651
|
+
AV_CODEC_ID_IAC = AV_CODEC_ID_RALF + 1
|
652
|
+
AV_CODEC_ID_ILBC = AV_CODEC_ID_IAC + 1
|
653
|
+
AV_CODEC_ID_OPUS = AV_CODEC_ID_ILBC + 1
|
654
|
+
AV_CODEC_ID_COMFORT_NOISE = AV_CODEC_ID_OPUS + 1
|
655
|
+
AV_CODEC_ID_TAK = AV_CODEC_ID_COMFORT_NOISE + 1
|
656
|
+
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000
|
657
|
+
AV_CODEC_ID_DVD_SUBTITLE = 0x17000
|
658
|
+
AV_CODEC_ID_DVB_SUBTITLE = AV_CODEC_ID_DVD_SUBTITLE + 1
|
659
|
+
AV_CODEC_ID_TEXT = AV_CODEC_ID_DVB_SUBTITLE + 1
|
660
|
+
AV_CODEC_ID_XSUB = AV_CODEC_ID_TEXT + 1
|
661
|
+
AV_CODEC_ID_SSA = AV_CODEC_ID_XSUB + 1
|
662
|
+
AV_CODEC_ID_MOV_TEXT = AV_CODEC_ID_SSA + 1
|
663
|
+
AV_CODEC_ID_HDMV_PGS_SUBTITLE = AV_CODEC_ID_MOV_TEXT + 1
|
664
|
+
AV_CODEC_ID_DVB_TELETEXT = AV_CODEC_ID_HDMV_PGS_SUBTITLE + 1
|
665
|
+
AV_CODEC_ID_SRT = AV_CODEC_ID_DVB_TELETEXT + 1
|
666
|
+
AV_CODEC_ID_FIRST_UNKNOWN = 0x18000
|
667
|
+
AV_CODEC_ID_TTF = 0x18000
|
668
|
+
AV_CODEC_ID_PROBE = 0x19000
|
669
|
+
AV_CODEC_ID_MPEG2TS = 0x20000
|
670
|
+
AV_CODEC_ID_MPEG4SYSTEMS = 0x20001
|
671
|
+
AV_CODEC_ID_FFMETADATA = 0x21000
|
672
|
+
AVCodecID = enum :AVCodecID, [
|
633
673
|
:none,
|
634
674
|
:mpeg1video,
|
635
675
|
:mpeg2video,
|
@@ -730,7 +770,6 @@ module FFI::Libav
|
|
730
770
|
:tiertexseqvideo,
|
731
771
|
:tiff,
|
732
772
|
:gif,
|
733
|
-
:ffh264,
|
734
773
|
:dxa,
|
735
774
|
:dnxhd,
|
736
775
|
:thp,
|
@@ -748,8 +787,6 @@ module FFI::Libav
|
|
748
787
|
:indeo5,
|
749
788
|
:mimic,
|
750
789
|
:rl2,
|
751
|
-
:'8svx_exp',
|
752
|
-
:'8svx_fib',
|
753
790
|
:escape124,
|
754
791
|
:dirac,
|
755
792
|
:bfi,
|
@@ -788,13 +825,21 @@ module FFI::Libav
|
|
788
825
|
:dfa,
|
789
826
|
:wmv3image,
|
790
827
|
:vc1image,
|
791
|
-
:g723_1,
|
792
|
-
:g729,
|
793
828
|
:utvideo,
|
794
829
|
:bmv_video,
|
795
830
|
:vble,
|
796
831
|
:dxtory,
|
797
832
|
:v410,
|
833
|
+
:xwd,
|
834
|
+
:cdxl,
|
835
|
+
:xbm,
|
836
|
+
:zerocodec,
|
837
|
+
:mss1,
|
838
|
+
:msa1,
|
839
|
+
:tscc2,
|
840
|
+
:mts2,
|
841
|
+
:cllc,
|
842
|
+
:mss2,
|
798
843
|
:first_audio, 0x10000,
|
799
844
|
:pcm_s16le, 0x10000,
|
800
845
|
:pcm_s16be,
|
@@ -853,6 +898,7 @@ module FFI::Libav
|
|
853
898
|
:adpcm_ea_maxis_xa,
|
854
899
|
:adpcm_ima_iss,
|
855
900
|
:adpcm_g722,
|
901
|
+
:adpcm_ima_apc,
|
856
902
|
:amr_nb, 0x12000,
|
857
903
|
:amr_wb,
|
858
904
|
:ra_144, 0x13000,
|
@@ -873,8 +919,6 @@ module FFI::Libav
|
|
873
919
|
:mace3,
|
874
920
|
:mace6,
|
875
921
|
:vmdaudio,
|
876
|
-
:sonic,
|
877
|
-
:sonic_ls,
|
878
922
|
:flac,
|
879
923
|
:mp3adu,
|
880
924
|
:mp3on4,
|
@@ -916,7 +960,17 @@ module FFI::Libav
|
|
916
960
|
:aac_latm,
|
917
961
|
:qdmc,
|
918
962
|
:celt,
|
963
|
+
:g723_1,
|
964
|
+
:g729,
|
965
|
+
:'8svx_exp',
|
966
|
+
:'8svx_fib',
|
919
967
|
:bmv_audio,
|
968
|
+
:ralf,
|
969
|
+
:iac,
|
970
|
+
:ilbc,
|
971
|
+
:opus,
|
972
|
+
:comfort_noise,
|
973
|
+
:tak,
|
920
974
|
:first_subtitle, 0x17000,
|
921
975
|
:dvd_subtitle, 0x17000,
|
922
976
|
:dvb_subtitle,
|
@@ -935,6 +989,33 @@ module FFI::Libav
|
|
935
989
|
:ffmetadata, 0x21000,
|
936
990
|
]
|
937
991
|
|
992
|
+
class AVCodecDescriptor < FFI::Struct
|
993
|
+
layout(
|
994
|
+
:id, :int,
|
995
|
+
:type, :int,
|
996
|
+
:name, :pointer,
|
997
|
+
:long_name, :pointer,
|
998
|
+
:props, :int
|
999
|
+
)
|
1000
|
+
def name=(str)
|
1001
|
+
@name = FFI::MemoryPointer.from_string(str)
|
1002
|
+
self[:name] = @name
|
1003
|
+
end
|
1004
|
+
def name
|
1005
|
+
@name.get_string(0)
|
1006
|
+
end
|
1007
|
+
def long_name=(str)
|
1008
|
+
@long_name = FFI::MemoryPointer.from_string(str)
|
1009
|
+
self[:long_name] = @long_name
|
1010
|
+
end
|
1011
|
+
def long_name
|
1012
|
+
@long_name.get_string(0)
|
1013
|
+
end
|
1014
|
+
|
1015
|
+
end
|
1016
|
+
AV_CODEC_PROP_INTRA_ONLY = (1 << 0)
|
1017
|
+
AV_CODEC_PROP_LOSSY = (1 << 1)
|
1018
|
+
AV_CODEC_PROP_LOSSLESS = (1 << 2)
|
938
1019
|
AVCODEC_MAX_AUDIO_FRAME_SIZE = 192000
|
939
1020
|
FF_INPUT_BUFFER_PADDING_SIZE = 8
|
940
1021
|
FF_MIN_BUFFER_SIZE = 16384
|
@@ -999,12 +1080,14 @@ module FFI::Libav
|
|
999
1080
|
AVCOL_TRC_UNSPECIFIED = 2
|
1000
1081
|
AVCOL_TRC_GAMMA22 = 4
|
1001
1082
|
AVCOL_TRC_GAMMA28 = 5
|
1002
|
-
|
1083
|
+
AVCOL_TRC_SMPTE240M = 7
|
1084
|
+
AVCOL_TRC_NB = AVCOL_TRC_SMPTE240M + 1
|
1003
1085
|
AVColorTransferCharacteristic = enum :AVColorTransferCharacteristic, [
|
1004
1086
|
:bt709, 1,
|
1005
1087
|
:unspecified, 2,
|
1006
1088
|
:gamma22, 4,
|
1007
1089
|
:gamma28, 5,
|
1090
|
+
:smpte240m, 7,
|
1008
1091
|
:nb,
|
1009
1092
|
]
|
1010
1093
|
|
@@ -1015,7 +1098,8 @@ module FFI::Libav
|
|
1015
1098
|
AVCOL_SPC_BT470BG = 5
|
1016
1099
|
AVCOL_SPC_SMPTE170M = 6
|
1017
1100
|
AVCOL_SPC_SMPTE240M = 7
|
1018
|
-
|
1101
|
+
AVCOL_SPC_YCOCG = 8
|
1102
|
+
AVCOL_SPC_NB = AVCOL_SPC_YCOCG + 1
|
1019
1103
|
AVColorSpace = enum :AVColorSpace, [
|
1020
1104
|
:rgb, 0,
|
1021
1105
|
:bt709, 1,
|
@@ -1024,6 +1108,7 @@ module FFI::Libav
|
|
1024
1108
|
:bt470bg, 5,
|
1025
1109
|
:smpte170m, 6,
|
1026
1110
|
:smpte240m, 7,
|
1111
|
+
:ycocg, 8,
|
1027
1112
|
:nb,
|
1028
1113
|
]
|
1029
1114
|
|
@@ -1057,21 +1142,6 @@ module FFI::Libav
|
|
1057
1142
|
:nb,
|
1058
1143
|
]
|
1059
1144
|
|
1060
|
-
AV_LPC_TYPE_DEFAULT = -1
|
1061
|
-
AV_LPC_TYPE_NONE = 0
|
1062
|
-
AV_LPC_TYPE_FIXED = 1
|
1063
|
-
AV_LPC_TYPE_LEVINSON = 2
|
1064
|
-
AV_LPC_TYPE_CHOLESKY = 3
|
1065
|
-
AV_LPC_TYPE_NB = AV_LPC_TYPE_CHOLESKY + 1
|
1066
|
-
AVLPCType = enum :AVLPCType, [
|
1067
|
-
:default, -1,
|
1068
|
-
:none, 0,
|
1069
|
-
:fixed, 1,
|
1070
|
-
:levinson, 2,
|
1071
|
-
:cholesky, 3,
|
1072
|
-
:nb,
|
1073
|
-
]
|
1074
|
-
|
1075
1145
|
AV_AUDIO_SERVICE_TYPE_MAIN = 0
|
1076
1146
|
AV_AUDIO_SERVICE_TYPE_EFFECTS = 1
|
1077
1147
|
AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2
|
@@ -1122,44 +1192,19 @@ module FFI::Libav
|
|
1122
1192
|
CODEC_FLAG_GLOBAL_HEADER = 0x00400000
|
1123
1193
|
CODEC_FLAG_BITEXACT = 0x00800000
|
1124
1194
|
CODEC_FLAG_AC_PRED = 0x01000000
|
1125
|
-
CODEC_FLAG_CBP_RD = 0x04000000
|
1126
|
-
CODEC_FLAG_QP_RD = 0x08000000
|
1127
1195
|
CODEC_FLAG_LOOP_FILTER = 0x00000800
|
1128
1196
|
CODEC_FLAG_INTERLACED_ME = 0x20000000
|
1129
1197
|
CODEC_FLAG_CLOSED_GOP = 0x80000000
|
1130
1198
|
CODEC_FLAG2_FAST = 0x00000001
|
1131
|
-
CODEC_FLAG2_STRICT_GOP = 0x00000002
|
1132
1199
|
CODEC_FLAG2_NO_OUTPUT = 0x00000004
|
1133
1200
|
CODEC_FLAG2_LOCAL_HEADER = 0x00000008
|
1201
|
+
CODEC_FLAG_CBP_RD = 0x04000000
|
1202
|
+
CODEC_FLAG_QP_RD = 0x08000000
|
1203
|
+
CODEC_FLAG2_STRICT_GOP = 0x00000002
|
1134
1204
|
CODEC_FLAG2_SKIP_RD = 0x00004000
|
1135
1205
|
CODEC_FLAG2_CHUNKS = 0x00008000
|
1136
|
-
CODEC_FLAG_OBMC = 0x00000001
|
1137
|
-
CODEC_FLAG_H263P_AIV = 0x00000008
|
1138
|
-
CODEC_FLAG_PART = 0x0080
|
1139
|
-
CODEC_FLAG_ALT_SCAN = 0x00100000
|
1140
|
-
CODEC_FLAG_H263P_UMV = 0x02000000
|
1141
|
-
CODEC_FLAG_H263P_SLICE_STRUCT = 0x10000000
|
1142
|
-
CODEC_FLAG_SVCD_SCAN_OFFSET = 0x40000000
|
1143
|
-
CODEC_FLAG2_INTRA_VLC = 0x00000800
|
1144
|
-
CODEC_FLAG2_DROP_FRAME_TIMECODE = 0x00002000
|
1145
|
-
CODEC_FLAG2_NON_LINEAR_QUANT = 0x00010000
|
1146
|
-
CODEC_FLAG_EXTERN_HUFF = 0x1000
|
1147
|
-
CODEC_FLAG2_BPYRAMID = 0x00000010
|
1148
|
-
CODEC_FLAG2_WPRED = 0x00000020
|
1149
|
-
CODEC_FLAG2_MIXED_REFS = 0x00000040
|
1150
|
-
CODEC_FLAG2_8X8DCT = 0x00000080
|
1151
|
-
CODEC_FLAG2_FASTPSKIP = 0x00000100
|
1152
|
-
CODEC_FLAG2_AUD = 0x00000200
|
1153
|
-
CODEC_FLAG2_BRDO = 0x00000400
|
1154
|
-
CODEC_FLAG2_MBTREE = 0x00040000
|
1155
|
-
CODEC_FLAG2_PSY = 0x00080000
|
1156
|
-
CODEC_FLAG2_SSIM = 0x00100000
|
1157
|
-
CODEC_FLAG2_INTRA_REFRESH = 0x00200000
|
1158
|
-
CODEC_FLAG2_MEMC_ONLY = 0x00001000
|
1159
|
-
CODEC_FLAG2_BIT_RESERVOIR = 0x00020000
|
1160
1206
|
CODEC_CAP_DRAW_HORIZ_BAND = 0x0001
|
1161
1207
|
CODEC_CAP_DR1 = 0x0002
|
1162
|
-
CODEC_CAP_PARSE_ONLY = 0x0004
|
1163
1208
|
CODEC_CAP_TRUNCATED = 0x0008
|
1164
1209
|
CODEC_CAP_HWACCEL = 0x0010
|
1165
1210
|
CODEC_CAP_DELAY = 0x0020
|
@@ -1218,19 +1263,22 @@ module FFI::Libav
|
|
1218
1263
|
AV_PKT_DATA_PALETTE = 0
|
1219
1264
|
AV_PKT_DATA_NEW_EXTRADATA = AV_PKT_DATA_PALETTE + 1
|
1220
1265
|
AV_PKT_DATA_PARAM_CHANGE = AV_PKT_DATA_NEW_EXTRADATA + 1
|
1266
|
+
AV_PKT_DATA_H263_MB_INFO = AV_PKT_DATA_PARAM_CHANGE + 1
|
1221
1267
|
AVPacketSideDataType = enum :AVPacketSideDataType, [
|
1222
1268
|
:palette,
|
1223
1269
|
:new_extradata,
|
1224
1270
|
:param_change,
|
1271
|
+
:h263_mb_info,
|
1225
1272
|
]
|
1226
1273
|
|
1227
1274
|
class AVPacketSideData < FFI::Struct
|
1228
1275
|
layout(
|
1229
1276
|
:data, :pointer,
|
1230
1277
|
:size, :int,
|
1231
|
-
:type,
|
1278
|
+
:type, :int
|
1232
1279
|
)
|
1233
1280
|
end
|
1281
|
+
|
1234
1282
|
class AVPacket < FFI::Struct
|
1235
1283
|
layout(
|
1236
1284
|
:pts, :int64,
|
@@ -1269,50 +1317,51 @@ module FFI::Libav
|
|
1269
1317
|
:dimensions, 0x0008,
|
1270
1318
|
]
|
1271
1319
|
|
1272
|
-
AV_NUM_DATA_POINTERS =
|
1320
|
+
AV_NUM_DATA_POINTERS = 8
|
1273
1321
|
class AVFrame < FFI::Struct
|
1274
1322
|
layout(
|
1275
|
-
:data, [:pointer,
|
1276
|
-
:linesize, [:int,
|
1277
|
-
:
|
1323
|
+
:data, [:pointer, 8],
|
1324
|
+
:linesize, [:int, 8],
|
1325
|
+
:extended_data, :pointer,
|
1326
|
+
:width, :int,
|
1327
|
+
:height, :int,
|
1328
|
+
:nb_samples, :int,
|
1329
|
+
:format, AVPixelFormat,
|
1278
1330
|
:key_frame, :int,
|
1279
|
-
:pict_type,
|
1331
|
+
:pict_type, :int,
|
1332
|
+
:base, [:pointer, 8],
|
1333
|
+
:sample_aspect_ratio, AVRational.by_value,
|
1280
1334
|
:pts, :int64,
|
1335
|
+
:pkt_pts, :int64,
|
1336
|
+
:pkt_dts, :int64,
|
1281
1337
|
:coded_picture_number, :int,
|
1282
1338
|
:display_picture_number, :int,
|
1283
1339
|
:quality, :int,
|
1284
|
-
:age, :int,
|
1285
1340
|
:reference, :int,
|
1286
1341
|
:qscale_table, :pointer,
|
1287
1342
|
:qstride, :int,
|
1343
|
+
:qscale_type, :int,
|
1288
1344
|
:mbskip_table, :pointer,
|
1289
1345
|
:motion_val, [:pointer, 2],
|
1290
1346
|
:mb_type, :pointer,
|
1291
|
-
:
|
1347
|
+
:dct_coeff, :pointer,
|
1348
|
+
:ref_index, [:pointer, 2],
|
1292
1349
|
:opaque, :pointer,
|
1293
|
-
:error, [:uint64,
|
1350
|
+
:error, [:uint64, 8],
|
1294
1351
|
:type, :int,
|
1295
1352
|
:repeat_pict, :int,
|
1296
|
-
:qscale_type, :int,
|
1297
1353
|
:interlaced_frame, :int,
|
1298
1354
|
:top_field_first, :int,
|
1299
|
-
:pan_scan, AVPanScan.ptr,
|
1300
1355
|
:palette_has_changed, :int,
|
1301
1356
|
:buffer_hints, :int,
|
1302
|
-
:
|
1303
|
-
:ref_index, [:pointer, 2],
|
1357
|
+
:pan_scan, AVPanScan.ptr,
|
1304
1358
|
:reordered_opaque, :int64,
|
1305
1359
|
:hwaccel_picture_private, :pointer,
|
1306
|
-
:pkt_pts, :int64,
|
1307
|
-
:pkt_dts, :int64,
|
1308
1360
|
:owner, AVCodecContext.ptr,
|
1309
1361
|
:thread_opaque, :pointer,
|
1310
|
-
:
|
1311
|
-
:
|
1312
|
-
:
|
1313
|
-
:width, :int,
|
1314
|
-
:height, :int,
|
1315
|
-
:format, PixelFormat,
|
1362
|
+
:motion_subsample_log2, :uint8,
|
1363
|
+
:sample_rate, :int,
|
1364
|
+
:channel_layout, :uint64
|
1316
1365
|
)
|
1317
1366
|
end
|
1318
1367
|
AV_FIELD_UNKNOWN = 0
|
@@ -1330,8 +1379,47 @@ module FFI::Libav
|
|
1330
1379
|
:bt,
|
1331
1380
|
]
|
1332
1381
|
|
1382
|
+
FF_COMPRESSION_DEFAULT = -1
|
1333
1383
|
FF_ASPECT_EXTENDED = 15
|
1334
1384
|
FF_RC_STRATEGY_XVID = 1
|
1385
|
+
FF_PRED_LEFT = 0
|
1386
|
+
FF_PRED_PLANE = 1
|
1387
|
+
FF_PRED_MEDIAN = 2
|
1388
|
+
FF_CMP_SAD = 0
|
1389
|
+
FF_CMP_SSE = 1
|
1390
|
+
FF_CMP_SATD = 2
|
1391
|
+
FF_CMP_DCT = 3
|
1392
|
+
FF_CMP_PSNR = 4
|
1393
|
+
FF_CMP_BIT = 5
|
1394
|
+
FF_CMP_RD = 6
|
1395
|
+
FF_CMP_ZERO = 7
|
1396
|
+
FF_CMP_VSAD = 8
|
1397
|
+
FF_CMP_VSSE = 9
|
1398
|
+
FF_CMP_NSSE = 10
|
1399
|
+
FF_CMP_W53 = 11
|
1400
|
+
FF_CMP_W97 = 12
|
1401
|
+
FF_CMP_DCTMAX = 13
|
1402
|
+
FF_CMP_DCT264 = 14
|
1403
|
+
FF_CMP_CHROMA = 256
|
1404
|
+
FF_DTG_AFD_SAME = 8
|
1405
|
+
FF_DTG_AFD_4_3 = 9
|
1406
|
+
FF_DTG_AFD_16_9 = 10
|
1407
|
+
FF_DTG_AFD_14_9 = 11
|
1408
|
+
FF_DTG_AFD_4_3_SP_14_9 = 13
|
1409
|
+
FF_DTG_AFD_16_9_SP_14_9 = 14
|
1410
|
+
FF_DTG_AFD_SP_4_3 = 15
|
1411
|
+
FF_DEFAULT_QUANT_BIAS = 999999
|
1412
|
+
SLICE_FLAG_CODED_ORDER = 0x0001
|
1413
|
+
SLICE_FLAG_ALLOW_FIELD = 0x0002
|
1414
|
+
SLICE_FLAG_ALLOW_PLANE = 0x0004
|
1415
|
+
FF_MB_DECISION_SIMPLE = 0
|
1416
|
+
FF_MB_DECISION_BITS = 1
|
1417
|
+
FF_MB_DECISION_RD = 2
|
1418
|
+
FF_CODER_TYPE_VLC = 0
|
1419
|
+
FF_CODER_TYPE_AC = 1
|
1420
|
+
FF_CODER_TYPE_RAW = 2
|
1421
|
+
FF_CODER_TYPE_RLE = 3
|
1422
|
+
FF_CODER_TYPE_DEFLATE = 4
|
1335
1423
|
FF_BUG_AUTODETECT = 1
|
1336
1424
|
FF_BUG_OLD_MSMPEG4 = 2
|
1337
1425
|
FF_BUG_XVID_ILACE = 4
|
@@ -1353,16 +1441,36 @@ module FFI::Libav
|
|
1353
1441
|
FF_COMPLIANCE_NORMAL = 0
|
1354
1442
|
FF_COMPLIANCE_UNOFFICIAL = -1
|
1355
1443
|
FF_COMPLIANCE_EXPERIMENTAL = -2
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1444
|
+
FF_EC_GUESS_MVS = 1
|
1445
|
+
FF_EC_DEBLOCK = 2
|
1446
|
+
FF_DEBUG_PICT_INFO = 1
|
1447
|
+
FF_DEBUG_RC = 2
|
1448
|
+
FF_DEBUG_BITSTREAM = 4
|
1449
|
+
FF_DEBUG_MB_TYPE = 8
|
1450
|
+
FF_DEBUG_QP = 16
|
1451
|
+
FF_DEBUG_MV = 32
|
1452
|
+
FF_DEBUG_DCT_COEFF = 0x00000040
|
1453
|
+
FF_DEBUG_SKIP = 0x00000080
|
1454
|
+
FF_DEBUG_STARTCODE = 0x00000100
|
1455
|
+
FF_DEBUG_PTS = 0x00000200
|
1456
|
+
FF_DEBUG_ER = 0x00000400
|
1457
|
+
FF_DEBUG_MMCO = 0x00000800
|
1458
|
+
FF_DEBUG_BUGS = 0x00001000
|
1459
|
+
FF_DEBUG_VIS_QP = 0x00002000
|
1460
|
+
FF_DEBUG_VIS_MB_TYPE = 0x00004000
|
1461
|
+
FF_DEBUG_BUFFERS = 0x00008000
|
1462
|
+
FF_DEBUG_THREADS = 0x00010000
|
1463
|
+
FF_DEBUG_VIS_MV_P_FOR = 0x00000001
|
1464
|
+
FF_DEBUG_VIS_MV_B_FOR = 0x00000002
|
1465
|
+
FF_DEBUG_VIS_MV_B_BACK = 0x00000004
|
1466
|
+
AV_EF_CRCCHECK = (1 << 0)
|
1467
|
+
AV_EF_BITSTREAM = (1 << 1)
|
1468
|
+
AV_EF_BUFFER = (1 << 2)
|
1469
|
+
AV_EF_EXPLODE = (1 << 3)
|
1361
1470
|
FF_DCT_AUTO = 0
|
1362
1471
|
FF_DCT_FASTINT = 1
|
1363
1472
|
FF_DCT_INT = 2
|
1364
1473
|
FF_DCT_MMX = 3
|
1365
|
-
FF_DCT_MLIB = 4
|
1366
1474
|
FF_DCT_ALTIVEC = 5
|
1367
1475
|
FF_DCT_FAAN = 6
|
1368
1476
|
FF_IDCT_AUTO = 0
|
@@ -1370,8 +1478,7 @@ module FFI::Libav
|
|
1370
1478
|
FF_IDCT_SIMPLE = 2
|
1371
1479
|
FF_IDCT_SIMPLEMMX = 3
|
1372
1480
|
FF_IDCT_LIBMPEG2MMX = 4
|
1373
|
-
|
1374
|
-
FF_IDCT_MLIB = 6
|
1481
|
+
FF_IDCT_MMI = 5
|
1375
1482
|
FF_IDCT_ARM = 7
|
1376
1483
|
FF_IDCT_ALTIVEC = 8
|
1377
1484
|
FF_IDCT_SH4 = 9
|
@@ -1390,76 +1497,18 @@ module FFI::Libav
|
|
1390
1497
|
FF_IDCT_SIMPLENEON = 22
|
1391
1498
|
FF_IDCT_SIMPLEALPHA = 23
|
1392
1499
|
FF_IDCT_BINK = 24
|
1393
|
-
|
1394
|
-
|
1395
|
-
FF_PRED_LEFT = 0
|
1396
|
-
FF_PRED_PLANE = 1
|
1397
|
-
FF_PRED_MEDIAN = 2
|
1398
|
-
FF_DEBUG_PICT_INFO = 1
|
1399
|
-
FF_DEBUG_RC = 2
|
1400
|
-
FF_DEBUG_BITSTREAM = 4
|
1401
|
-
FF_DEBUG_MB_TYPE = 8
|
1402
|
-
FF_DEBUG_QP = 16
|
1403
|
-
FF_DEBUG_MV = 32
|
1404
|
-
FF_DEBUG_DCT_COEFF = 0x00000040
|
1405
|
-
FF_DEBUG_SKIP = 0x00000080
|
1406
|
-
FF_DEBUG_STARTCODE = 0x00000100
|
1407
|
-
FF_DEBUG_PTS = 0x00000200
|
1408
|
-
FF_DEBUG_ER = 0x00000400
|
1409
|
-
FF_DEBUG_MMCO = 0x00000800
|
1410
|
-
FF_DEBUG_BUGS = 0x00001000
|
1411
|
-
FF_DEBUG_VIS_QP = 0x00002000
|
1412
|
-
FF_DEBUG_VIS_MB_TYPE = 0x00004000
|
1413
|
-
FF_DEBUG_BUFFERS = 0x00008000
|
1414
|
-
FF_DEBUG_THREADS = 0x00010000
|
1415
|
-
FF_DEBUG_VIS_MV_P_FOR = 0x00000001
|
1416
|
-
FF_DEBUG_VIS_MV_B_FOR = 0x00000002
|
1417
|
-
FF_DEBUG_VIS_MV_B_BACK = 0x00000004
|
1418
|
-
FF_CMP_SAD = 0
|
1419
|
-
FF_CMP_SSE = 1
|
1420
|
-
FF_CMP_SATD = 2
|
1421
|
-
FF_CMP_DCT = 3
|
1422
|
-
FF_CMP_PSNR = 4
|
1423
|
-
FF_CMP_BIT = 5
|
1424
|
-
FF_CMP_RD = 6
|
1425
|
-
FF_CMP_ZERO = 7
|
1426
|
-
FF_CMP_VSAD = 8
|
1427
|
-
FF_CMP_VSSE = 9
|
1428
|
-
FF_CMP_NSSE = 10
|
1429
|
-
FF_CMP_W53 = 11
|
1430
|
-
FF_CMP_W97 = 12
|
1431
|
-
FF_CMP_DCTMAX = 13
|
1432
|
-
FF_CMP_DCT264 = 14
|
1433
|
-
FF_CMP_CHROMA = 256
|
1434
|
-
FF_DTG_AFD_SAME = 8
|
1435
|
-
FF_DTG_AFD_4_3 = 9
|
1436
|
-
FF_DTG_AFD_16_9 = 10
|
1437
|
-
FF_DTG_AFD_14_9 = 11
|
1438
|
-
FF_DTG_AFD_4_3_SP_14_9 = 13
|
1439
|
-
FF_DTG_AFD_16_9_SP_14_9 = 14
|
1440
|
-
FF_DTG_AFD_SP_4_3 = 15
|
1441
|
-
FF_DEFAULT_QUANT_BIAS = 999999
|
1442
|
-
FF_CODER_TYPE_VLC = 0
|
1443
|
-
FF_CODER_TYPE_AC = 1
|
1444
|
-
FF_CODER_TYPE_RAW = 2
|
1445
|
-
FF_CODER_TYPE_RLE = 3
|
1446
|
-
FF_CODER_TYPE_DEFLATE = 4
|
1447
|
-
SLICE_FLAG_CODED_ORDER = 0x0001
|
1448
|
-
SLICE_FLAG_ALLOW_FIELD = 0x0002
|
1449
|
-
SLICE_FLAG_ALLOW_PLANE = 0x0004
|
1450
|
-
FF_MB_DECISION_SIMPLE = 0
|
1451
|
-
FF_MB_DECISION_BITS = 1
|
1452
|
-
FF_MB_DECISION_RD = 2
|
1453
|
-
FF_AA_AUTO = 0
|
1454
|
-
FF_AA_FASTINT = 1
|
1455
|
-
FF_AA_INT = 2
|
1456
|
-
FF_AA_FLOAT = 3
|
1500
|
+
FF_THREAD_FRAME = 1
|
1501
|
+
FF_THREAD_SLICE = 2
|
1457
1502
|
FF_PROFILE_UNKNOWN = -99
|
1458
1503
|
FF_PROFILE_RESERVED = -100
|
1459
1504
|
FF_PROFILE_AAC_MAIN = 0
|
1460
1505
|
FF_PROFILE_AAC_LOW = 1
|
1461
1506
|
FF_PROFILE_AAC_SSR = 2
|
1462
1507
|
FF_PROFILE_AAC_LTP = 3
|
1508
|
+
FF_PROFILE_AAC_HE = 4
|
1509
|
+
FF_PROFILE_AAC_HE_V2 = 28
|
1510
|
+
FF_PROFILE_AAC_LD = 22
|
1511
|
+
FF_PROFILE_AAC_ELD = 38
|
1463
1512
|
FF_PROFILE_DTS = 20
|
1464
1513
|
FF_PROFILE_DTS_ES = 30
|
1465
1514
|
FF_PROFILE_DTS_96_24 = 40
|
@@ -1507,112 +1556,60 @@ module FFI::Libav
|
|
1507
1556
|
FF_PROFILE_MPEG4_SIMPLE_STUDIO = 14
|
1508
1557
|
FF_PROFILE_MPEG4_ADVANCED_SIMPLE = 15
|
1509
1558
|
FF_LEVEL_UNKNOWN = -99
|
1510
|
-
X264_PART_I4X4 = 0x001
|
1511
|
-
X264_PART_I8X8 = 0x002
|
1512
|
-
X264_PART_P8X8 = 0x010
|
1513
|
-
X264_PART_P4X4 = 0x020
|
1514
|
-
X264_PART_B8X8 = 0x100
|
1515
|
-
FF_COMPRESSION_DEFAULT = -1
|
1516
|
-
FF_THREAD_FRAME = 1
|
1517
|
-
FF_THREAD_SLICE = 2
|
1518
|
-
AV_EF_CRCCHECK = (1 << 0)
|
1519
|
-
AV_EF_BITSTREAM = (1 << 1)
|
1520
|
-
AV_EF_BUFFER = (1 << 2)
|
1521
|
-
AV_EF_EXPLODE = (1 << 3)
|
1522
1559
|
class AVCodecContext < FFI::Struct
|
1523
1560
|
layout(
|
1524
1561
|
:av_class, :pointer,
|
1562
|
+
:log_level_offset, :int,
|
1563
|
+
:codec_type, AVMediaType,
|
1564
|
+
:codec, :pointer,
|
1565
|
+
:codec_name, [:char, 32],
|
1566
|
+
:codec_id, :int,
|
1567
|
+
:codec_tag, :uint,
|
1568
|
+
:stream_codec_tag, :uint,
|
1569
|
+
:sub_id, :int,
|
1570
|
+
:priv_data, :pointer,
|
1571
|
+
:internal, :pointer,
|
1572
|
+
:opaque, :pointer,
|
1525
1573
|
:bit_rate, :int,
|
1526
1574
|
:bit_rate_tolerance, :int,
|
1575
|
+
:global_quality, :int,
|
1576
|
+
:compression_level, :int,
|
1527
1577
|
:flags, :int,
|
1528
|
-
:
|
1529
|
-
:me_method, :int,
|
1578
|
+
:flags2, :int,
|
1530
1579
|
:extradata, :pointer,
|
1531
1580
|
:extradata_size, :int,
|
1532
1581
|
:time_base, AVRational.by_value,
|
1582
|
+
:ticks_per_frame, :int,
|
1583
|
+
:delay, :int,
|
1533
1584
|
:width, :int,
|
1534
1585
|
:height, :int,
|
1586
|
+
:coded_width, :int,
|
1587
|
+
:coded_height, :int,
|
1535
1588
|
:gop_size, :int,
|
1536
|
-
:pix_fmt,
|
1589
|
+
:pix_fmt, AVPixelFormat,
|
1590
|
+
:me_method, :int,
|
1537
1591
|
:draw_horiz_band, callback([ AVCodecContext.ptr, :pointer, :pointer, :int, :int, :int ], :void),
|
1538
|
-
:
|
1539
|
-
:channels, :int,
|
1540
|
-
:sample_fmt, :int,
|
1541
|
-
:frame_size, :int,
|
1542
|
-
:frame_number, :int,
|
1543
|
-
:delay, :int,
|
1544
|
-
:qcompress, :float,
|
1545
|
-
:qblur, :float,
|
1546
|
-
:qmin, :int,
|
1547
|
-
:qmax, :int,
|
1548
|
-
:max_qdiff, :int,
|
1592
|
+
:get_format, callback([ AVCodecContext.ptr, :pointer ], :int),
|
1549
1593
|
:max_b_frames, :int,
|
1550
1594
|
:b_quant_factor, :float,
|
1551
1595
|
:rc_strategy, :int,
|
1552
1596
|
:b_frame_strategy, :int,
|
1553
|
-
:codec, AVCodec.ptr,
|
1554
|
-
:priv_data, :pointer,
|
1555
|
-
:rtp_payload_size, :int,
|
1556
|
-
:rtp_callback, callback([ AVCodecContext.ptr, :pointer, :int, :int ], :void),
|
1557
|
-
:mv_bits, :int,
|
1558
|
-
:header_bits, :int,
|
1559
|
-
:i_tex_bits, :int,
|
1560
|
-
:p_tex_bits, :int,
|
1561
|
-
:i_count, :int,
|
1562
|
-
:p_count, :int,
|
1563
|
-
:skip_count, :int,
|
1564
|
-
:misc_bits, :int,
|
1565
|
-
:frame_bits, :int,
|
1566
|
-
:opaque, :pointer,
|
1567
|
-
:codec_name, [:char, 32],
|
1568
|
-
:codec_type, AVMediaType,
|
1569
|
-
:codec_id, CodecID,
|
1570
|
-
:codec_tag, :uint,
|
1571
|
-
:workaround_bugs, :int,
|
1572
1597
|
:luma_elim_threshold, :int,
|
1573
1598
|
:chroma_elim_threshold, :int,
|
1574
|
-
:strict_std_compliance, :int,
|
1575
1599
|
:b_quant_offset, :float,
|
1576
|
-
:error_recognition, :int,
|
1577
|
-
:get_buffer, callback([ AVCodecContext.ptr, AVFrame.ptr ], :int),
|
1578
|
-
:release_buffer, callback([ AVCodecContext.ptr, AVFrame.ptr ], :void),
|
1579
1600
|
:has_b_frames, :int,
|
1580
|
-
:block_align, :int,
|
1581
|
-
:parse_only, :int,
|
1582
1601
|
:mpeg_quant, :int,
|
1583
|
-
:stats_out, :pointer,
|
1584
|
-
:stats_in, :pointer,
|
1585
|
-
:rc_qsquish, :float,
|
1586
|
-
:rc_qmod_amp, :float,
|
1587
|
-
:rc_qmod_freq, :int,
|
1588
|
-
:rc_override, RcOverride.ptr,
|
1589
|
-
:rc_override_count, :int,
|
1590
|
-
:rc_eq, :pointer,
|
1591
|
-
:rc_max_rate, :int,
|
1592
|
-
:rc_min_rate, :int,
|
1593
|
-
:rc_buffer_size, :int,
|
1594
|
-
:rc_buffer_aggressivity, :float,
|
1595
1602
|
:i_quant_factor, :float,
|
1596
1603
|
:i_quant_offset, :float,
|
1597
|
-
:rc_initial_cplx, :float,
|
1598
|
-
:dct_algo, :int,
|
1599
1604
|
:lumi_masking, :float,
|
1600
1605
|
:temporal_cplx_masking, :float,
|
1601
1606
|
:spatial_cplx_masking, :float,
|
1602
1607
|
:p_masking, :float,
|
1603
1608
|
:dark_masking, :float,
|
1604
|
-
:idct_algo, :int,
|
1605
1609
|
:slice_count, :int,
|
1606
|
-
:slice_offset, :pointer,
|
1607
|
-
:error_concealment, :int,
|
1608
|
-
:dsp_mask, :uint,
|
1609
|
-
:bits_per_coded_sample, :int,
|
1610
1610
|
:prediction_method, :int,
|
1611
|
+
:slice_offset, :pointer,
|
1611
1612
|
:sample_aspect_ratio, AVRational.by_value,
|
1612
|
-
:coded_frame, AVFrame.ptr,
|
1613
|
-
:debug, :int,
|
1614
|
-
:debug_mv, :int,
|
1615
|
-
:error, [:uint64, 4],
|
1616
1613
|
:me_cmp, :int,
|
1617
1614
|
:me_sub_cmp, :int,
|
1618
1615
|
:mb_cmp, :int,
|
@@ -1623,127 +1620,138 @@ module FFI::Libav
|
|
1623
1620
|
:me_pre_cmp, :int,
|
1624
1621
|
:pre_dia_size, :int,
|
1625
1622
|
:me_subpel_quality, :int,
|
1626
|
-
:get_format, callback([ AVCodecContext.ptr, :pointer ], PixelFormat),
|
1627
1623
|
:dtg_active_format, :int,
|
1628
1624
|
:me_range, :int,
|
1629
1625
|
:intra_quant_bias, :int,
|
1630
1626
|
:inter_quant_bias, :int,
|
1631
1627
|
:color_table_id, :int,
|
1632
|
-
:internal_buffer_count, :int,
|
1633
|
-
:internal_buffer, :pointer,
|
1634
|
-
:global_quality, :int,
|
1635
|
-
:coder_type, :int,
|
1636
|
-
:context_model, :int,
|
1637
1628
|
:slice_flags, :int,
|
1638
1629
|
:xvmc_acceleration, :int,
|
1639
1630
|
:mb_decision, :int,
|
1640
1631
|
:intra_matrix, :pointer,
|
1641
1632
|
:inter_matrix, :pointer,
|
1642
|
-
:stream_codec_tag, :uint,
|
1643
1633
|
:scenechange_threshold, :int,
|
1644
|
-
:lmin, :int,
|
1645
|
-
:lmax, :int,
|
1646
|
-
:palctrl, AVPaletteControl.ptr,
|
1647
1634
|
:noise_reduction, :int,
|
1648
|
-
:reget_buffer, callback([ AVCodecContext.ptr, AVFrame.ptr ], :int),
|
1649
|
-
:rc_initial_buffer_occupancy, :int,
|
1650
1635
|
:inter_threshold, :int,
|
1651
|
-
:flags2, :int,
|
1652
|
-
:error_rate, :int,
|
1653
|
-
:antialias_algo, :int,
|
1654
1636
|
:quantizer_noise_shaping, :int,
|
1655
|
-
:thread_count, :int,
|
1656
|
-
:execute, callback([ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer ], :int), :pointer, :pointer, :int, :int ], :int),
|
1657
|
-
:thread_opaque, :pointer,
|
1658
1637
|
:me_threshold, :int,
|
1659
1638
|
:mb_threshold, :int,
|
1660
1639
|
:intra_dc_precision, :int,
|
1661
|
-
:nsse_weight, :int,
|
1662
1640
|
:skip_top, :int,
|
1663
1641
|
:skip_bottom, :int,
|
1664
|
-
:profile, :int,
|
1665
|
-
:level, :int,
|
1666
|
-
:lowres, :int,
|
1667
|
-
:coded_width, :int,
|
1668
|
-
:coded_height, :int,
|
1669
|
-
:frame_skip_threshold, :int,
|
1670
|
-
:frame_skip_factor, :int,
|
1671
|
-
:frame_skip_exp, :int,
|
1672
|
-
:frame_skip_cmp, :int,
|
1673
1642
|
:border_masking, :float,
|
1674
1643
|
:mb_lmin, :int,
|
1675
1644
|
:mb_lmax, :int,
|
1676
1645
|
:me_penalty_compensation, :int,
|
1677
|
-
:skip_loop_filter, AVDiscard,
|
1678
|
-
:skip_idct, AVDiscard,
|
1679
|
-
:skip_frame, AVDiscard,
|
1680
1646
|
:bidir_refine, :int,
|
1681
1647
|
:brd_scale, :int,
|
1682
|
-
:crf, :float,
|
1683
|
-
:cqp, :int,
|
1684
1648
|
:keyint_min, :int,
|
1685
1649
|
:refs, :int,
|
1686
1650
|
:chromaoffset, :int,
|
1687
|
-
:bframebias, :int,
|
1688
|
-
:trellis, :int,
|
1689
|
-
:complexityblur, :float,
|
1690
|
-
:deblockalpha, :int,
|
1691
|
-
:deblockbeta, :int,
|
1692
|
-
:partitions, :int,
|
1693
|
-
:directpred, :int,
|
1694
|
-
:cutoff, :int,
|
1695
1651
|
:scenechange_factor, :int,
|
1696
1652
|
:mv0_threshold, :int,
|
1697
1653
|
:b_sensitivity, :int,
|
1698
|
-
:
|
1699
|
-
:
|
1700
|
-
:
|
1701
|
-
:
|
1702
|
-
:
|
1703
|
-
:
|
1704
|
-
:
|
1705
|
-
:
|
1654
|
+
:color_primaries, :int,
|
1655
|
+
:color_trc, :int,
|
1656
|
+
:colorspace, :int,
|
1657
|
+
:color_range, :int,
|
1658
|
+
:chroma_sample_location, :int,
|
1659
|
+
:slices, :int,
|
1660
|
+
:field_order, :int,
|
1661
|
+
:sample_rate, :int,
|
1662
|
+
:channels, :int,
|
1663
|
+
:sample_fmt, :int,
|
1664
|
+
:frame_size, :int,
|
1665
|
+
:frame_number, :int,
|
1666
|
+
:block_align, :int,
|
1667
|
+
:cutoff, :int,
|
1706
1668
|
:request_channels, :int,
|
1707
|
-
:drc_scale, :float,
|
1708
|
-
:reordered_opaque, :int64,
|
1709
|
-
:bits_per_raw_sample, :int,
|
1710
1669
|
:channel_layout, :uint64,
|
1711
1670
|
:request_channel_layout, :uint64,
|
1671
|
+
:audio_service_type, :int,
|
1672
|
+
:request_sample_fmt, :int,
|
1673
|
+
:get_buffer, callback([ AVCodecContext.ptr, AVFrame.ptr ], :int),
|
1674
|
+
:release_buffer, callback([ AVCodecContext.ptr, AVFrame.ptr ], :void),
|
1675
|
+
:reget_buffer, callback([ AVCodecContext.ptr, AVFrame.ptr ], :int),
|
1676
|
+
:qcompress, :float,
|
1677
|
+
:qblur, :float,
|
1678
|
+
:qmin, :int,
|
1679
|
+
:qmax, :int,
|
1680
|
+
:max_qdiff, :int,
|
1681
|
+
:rc_qsquish, :float,
|
1682
|
+
:rc_qmod_amp, :float,
|
1683
|
+
:rc_qmod_freq, :int,
|
1684
|
+
:rc_buffer_size, :int,
|
1685
|
+
:rc_override_count, :int,
|
1686
|
+
:rc_override, RcOverride.ptr,
|
1687
|
+
:rc_eq, :pointer,
|
1688
|
+
:rc_max_rate, :int,
|
1689
|
+
:rc_min_rate, :int,
|
1690
|
+
:rc_buffer_aggressivity, :float,
|
1691
|
+
:rc_initial_cplx, :float,
|
1712
1692
|
:rc_max_available_vbv_use, :float,
|
1713
1693
|
:rc_min_vbv_overflow_use, :float,
|
1694
|
+
:rc_initial_buffer_occupancy, :int,
|
1695
|
+
:coder_type, :int,
|
1696
|
+
:context_model, :int,
|
1697
|
+
:lmin, :int,
|
1698
|
+
:lmax, :int,
|
1699
|
+
:frame_skip_threshold, :int,
|
1700
|
+
:frame_skip_factor, :int,
|
1701
|
+
:frame_skip_exp, :int,
|
1702
|
+
:frame_skip_cmp, :int,
|
1703
|
+
:trellis, :int,
|
1704
|
+
:min_prediction_order, :int,
|
1705
|
+
:max_prediction_order, :int,
|
1706
|
+
:timecode_frame_start, :int64,
|
1707
|
+
:rtp_callback, callback([ AVCodecContext.ptr, :pointer, :int, :int ], :void),
|
1708
|
+
:rtp_payload_size, :int,
|
1709
|
+
:mv_bits, :int,
|
1710
|
+
:header_bits, :int,
|
1711
|
+
:i_tex_bits, :int,
|
1712
|
+
:p_tex_bits, :int,
|
1713
|
+
:i_count, :int,
|
1714
|
+
:p_count, :int,
|
1715
|
+
:skip_count, :int,
|
1716
|
+
:misc_bits, :int,
|
1717
|
+
:frame_bits, :int,
|
1718
|
+
:stats_out, :pointer,
|
1719
|
+
:stats_in, :pointer,
|
1720
|
+
:workaround_bugs, :int,
|
1721
|
+
:strict_std_compliance, :int,
|
1722
|
+
:error_concealment, :int,
|
1723
|
+
:debug, :int,
|
1724
|
+
:debug_mv, :int,
|
1725
|
+
:err_recognition, :int,
|
1726
|
+
:reordered_opaque, :int64,
|
1714
1727
|
:hwaccel, AVHWAccel.ptr,
|
1715
|
-
:ticks_per_frame, :int,
|
1716
1728
|
:hwaccel_context, :pointer,
|
1717
|
-
:
|
1718
|
-
:
|
1719
|
-
:
|
1720
|
-
:
|
1721
|
-
:
|
1729
|
+
:error, [:uint64, 8],
|
1730
|
+
:dct_algo, :int,
|
1731
|
+
:idct_algo, :int,
|
1732
|
+
:dsp_mask, :uint,
|
1733
|
+
:bits_per_coded_sample, :int,
|
1734
|
+
:bits_per_raw_sample, :int,
|
1735
|
+
:lowres, :int,
|
1736
|
+
:coded_frame, AVFrame.ptr,
|
1737
|
+
:thread_count, :int,
|
1738
|
+
:thread_type, :int,
|
1739
|
+
:active_thread_type, :int,
|
1740
|
+
:thread_safe_callbacks, :int,
|
1741
|
+
:execute, callback([ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer ], :int), :pointer, :pointer, :int, :int ], :int),
|
1722
1742
|
:execute2, callback([ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer, :int, :int ], :int), :pointer, :pointer, :int ], :int),
|
1723
|
-
:
|
1724
|
-
:
|
1725
|
-
:
|
1726
|
-
:
|
1727
|
-
:
|
1728
|
-
:
|
1729
|
-
:
|
1730
|
-
:log_level_offset, :int,
|
1731
|
-
:lpc_type, AVLPCType,
|
1732
|
-
:lpc_passes, :int,
|
1733
|
-
:slices, :int,
|
1743
|
+
:thread_opaque, :pointer,
|
1744
|
+
:nsse_weight, :int,
|
1745
|
+
:profile, :int,
|
1746
|
+
:level, :int,
|
1747
|
+
:skip_loop_filter, :int,
|
1748
|
+
:skip_idct, :int,
|
1749
|
+
:skip_frame, :int,
|
1734
1750
|
:subtitle_header, :pointer,
|
1735
1751
|
:subtitle_header_size, :int,
|
1752
|
+
:error_rate, :int,
|
1736
1753
|
:pkt, AVPacket.ptr,
|
1737
|
-
:
|
1738
|
-
:thread_type, :int,
|
1739
|
-
:active_thread_type, :int,
|
1740
|
-
:thread_safe_callbacks, :int,
|
1741
|
-
:vbv_delay, :uint64,
|
1742
|
-
:audio_service_type, AVAudioServiceType,
|
1743
|
-
:request_sample_fmt, :int,
|
1744
|
-
:err_recognition, :int,
|
1745
|
-
:internal, :pointer,
|
1746
|
-
:field_order, AVFieldOrder
|
1754
|
+
:vbv_delay, :uint64
|
1747
1755
|
)
|
1748
1756
|
def draw_horiz_band=(cb)
|
1749
1757
|
@draw_horiz_band = cb
|
@@ -1752,12 +1760,12 @@ module FFI::Libav
|
|
1752
1760
|
def draw_horiz_band
|
1753
1761
|
@draw_horiz_band
|
1754
1762
|
end
|
1755
|
-
def
|
1756
|
-
@
|
1757
|
-
self[:
|
1763
|
+
def get_format=(cb)
|
1764
|
+
@get_format = cb
|
1765
|
+
self[:get_format] = @get_format
|
1758
1766
|
end
|
1759
|
-
def
|
1760
|
-
@
|
1767
|
+
def get_format
|
1768
|
+
@get_format
|
1761
1769
|
end
|
1762
1770
|
def get_buffer=(cb)
|
1763
1771
|
@get_buffer = cb
|
@@ -1773,6 +1781,27 @@ module FFI::Libav
|
|
1773
1781
|
def release_buffer
|
1774
1782
|
@release_buffer
|
1775
1783
|
end
|
1784
|
+
def reget_buffer=(cb)
|
1785
|
+
@reget_buffer = cb
|
1786
|
+
self[:reget_buffer] = @reget_buffer
|
1787
|
+
end
|
1788
|
+
def reget_buffer
|
1789
|
+
@reget_buffer
|
1790
|
+
end
|
1791
|
+
def rc_eq=(str)
|
1792
|
+
@rc_eq = FFI::MemoryPointer.from_string(str)
|
1793
|
+
self[:rc_eq] = @rc_eq
|
1794
|
+
end
|
1795
|
+
def rc_eq
|
1796
|
+
@rc_eq.get_string(0)
|
1797
|
+
end
|
1798
|
+
def rtp_callback=(cb)
|
1799
|
+
@rtp_callback = cb
|
1800
|
+
self[:rtp_callback] = @rtp_callback
|
1801
|
+
end
|
1802
|
+
def rtp_callback
|
1803
|
+
@rtp_callback
|
1804
|
+
end
|
1776
1805
|
def stats_out=(str)
|
1777
1806
|
@stats_out = FFI::MemoryPointer.from_string(str)
|
1778
1807
|
self[:stats_out] = @stats_out
|
@@ -1787,27 +1816,6 @@ module FFI::Libav
|
|
1787
1816
|
def stats_in
|
1788
1817
|
@stats_in.get_string(0)
|
1789
1818
|
end
|
1790
|
-
def rc_eq=(str)
|
1791
|
-
@rc_eq = FFI::MemoryPointer.from_string(str)
|
1792
|
-
self[:rc_eq] = @rc_eq
|
1793
|
-
end
|
1794
|
-
def rc_eq
|
1795
|
-
@rc_eq.get_string(0)
|
1796
|
-
end
|
1797
|
-
def get_format=(cb)
|
1798
|
-
@get_format = cb
|
1799
|
-
self[:get_format] = @get_format
|
1800
|
-
end
|
1801
|
-
def get_format
|
1802
|
-
@get_format
|
1803
|
-
end
|
1804
|
-
def reget_buffer=(cb)
|
1805
|
-
@reget_buffer = cb
|
1806
|
-
self[:reget_buffer] = @reget_buffer
|
1807
|
-
end
|
1808
|
-
def reget_buffer
|
1809
|
-
@reget_buffer
|
1810
|
-
end
|
1811
1819
|
def execute=(cb)
|
1812
1820
|
@execute = cb
|
1813
1821
|
self[:execute] = @execute
|
@@ -1841,30 +1849,30 @@ module FFI::Libav
|
|
1841
1849
|
class AVCodec < FFI::Struct
|
1842
1850
|
layout(
|
1843
1851
|
:name, :pointer,
|
1852
|
+
:long_name, :pointer,
|
1844
1853
|
:type, AVMediaType,
|
1845
|
-
:id,
|
1846
|
-
:priv_data_size, :int,
|
1847
|
-
:init, callback([ AVCodecContext.ptr ], :int),
|
1848
|
-
:encode, callback([ AVCodecContext.ptr, :pointer, :int, :pointer ], :int),
|
1849
|
-
:close, callback([ AVCodecContext.ptr ], :int),
|
1850
|
-
:decode, callback([ AVCodecContext.ptr, :pointer, :pointer, AVPacket.ptr ], :int),
|
1854
|
+
:id, :int,
|
1851
1855
|
:capabilities, :int,
|
1852
|
-
:next, AVCodec.ptr,
|
1853
|
-
:flush, callback([ AVCodecContext.ptr ], :void),
|
1854
1856
|
:supported_framerates, :pointer,
|
1855
1857
|
:pix_fmts, :pointer,
|
1856
|
-
:long_name, :pointer,
|
1857
1858
|
:supported_samplerates, :pointer,
|
1858
1859
|
:sample_fmts, :pointer,
|
1859
1860
|
:channel_layouts, :pointer,
|
1860
1861
|
:max_lowres, :uint8,
|
1861
1862
|
:priv_class, :pointer,
|
1862
1863
|
:profiles, :pointer,
|
1864
|
+
:priv_data_size, :int,
|
1865
|
+
:next, AVCodec.ptr,
|
1863
1866
|
:init_thread_copy, callback([ AVCodecContext.ptr ], :int),
|
1864
1867
|
:update_thread_context, callback([ AVCodecContext.ptr, :pointer ], :int),
|
1865
1868
|
:defaults, :pointer,
|
1866
1869
|
:init_static_data, callback([ AVCodec.ptr ], :void),
|
1867
|
-
:
|
1870
|
+
:init, callback([ AVCodecContext.ptr ], :int),
|
1871
|
+
:encode_sub, callback([ AVCodecContext.ptr, :pointer, :int, :pointer ], :int),
|
1872
|
+
:encode2, callback([ AVCodecContext.ptr, AVPacket.ptr, :pointer, :pointer ], :int),
|
1873
|
+
:decode, callback([ AVCodecContext.ptr, :pointer, :pointer, AVPacket.ptr ], :int),
|
1874
|
+
:close, callback([ AVCodecContext.ptr ], :int),
|
1875
|
+
:flush, callback([ AVCodecContext.ptr ], :void)
|
1868
1876
|
)
|
1869
1877
|
def name=(str)
|
1870
1878
|
@name = FFI::MemoryPointer.from_string(str)
|
@@ -1873,41 +1881,6 @@ module FFI::Libav
|
|
1873
1881
|
def name
|
1874
1882
|
@name.get_string(0)
|
1875
1883
|
end
|
1876
|
-
def init=(cb)
|
1877
|
-
@init = cb
|
1878
|
-
self[:init] = @init
|
1879
|
-
end
|
1880
|
-
def init
|
1881
|
-
@init
|
1882
|
-
end
|
1883
|
-
def encode=(cb)
|
1884
|
-
@encode = cb
|
1885
|
-
self[:encode] = @encode
|
1886
|
-
end
|
1887
|
-
def encode
|
1888
|
-
@encode
|
1889
|
-
end
|
1890
|
-
def close=(cb)
|
1891
|
-
@close = cb
|
1892
|
-
self[:close] = @close
|
1893
|
-
end
|
1894
|
-
def close
|
1895
|
-
@close
|
1896
|
-
end
|
1897
|
-
def decode=(cb)
|
1898
|
-
@decode = cb
|
1899
|
-
self[:decode] = @decode
|
1900
|
-
end
|
1901
|
-
def decode
|
1902
|
-
@decode
|
1903
|
-
end
|
1904
|
-
def flush=(cb)
|
1905
|
-
@flush = cb
|
1906
|
-
self[:flush] = @flush
|
1907
|
-
end
|
1908
|
-
def flush
|
1909
|
-
@flush
|
1910
|
-
end
|
1911
1884
|
def long_name=(str)
|
1912
1885
|
@long_name = FFI::MemoryPointer.from_string(str)
|
1913
1886
|
self[:long_name] = @long_name
|
@@ -1936,6 +1909,20 @@ module FFI::Libav
|
|
1936
1909
|
def init_static_data
|
1937
1910
|
@init_static_data
|
1938
1911
|
end
|
1912
|
+
def init=(cb)
|
1913
|
+
@init = cb
|
1914
|
+
self[:init] = @init
|
1915
|
+
end
|
1916
|
+
def init
|
1917
|
+
@init
|
1918
|
+
end
|
1919
|
+
def encode_sub=(cb)
|
1920
|
+
@encode_sub = cb
|
1921
|
+
self[:encode_sub] = @encode_sub
|
1922
|
+
end
|
1923
|
+
def encode_sub
|
1924
|
+
@encode_sub
|
1925
|
+
end
|
1939
1926
|
def encode2=(cb)
|
1940
1927
|
@encode2 = cb
|
1941
1928
|
self[:encode2] = @encode2
|
@@ -1943,14 +1930,35 @@ module FFI::Libav
|
|
1943
1930
|
def encode2
|
1944
1931
|
@encode2
|
1945
1932
|
end
|
1933
|
+
def decode=(cb)
|
1934
|
+
@decode = cb
|
1935
|
+
self[:decode] = @decode
|
1936
|
+
end
|
1937
|
+
def decode
|
1938
|
+
@decode
|
1939
|
+
end
|
1940
|
+
def close=(cb)
|
1941
|
+
@close = cb
|
1942
|
+
self[:close] = @close
|
1943
|
+
end
|
1944
|
+
def close
|
1945
|
+
@close
|
1946
|
+
end
|
1947
|
+
def flush=(cb)
|
1948
|
+
@flush = cb
|
1949
|
+
self[:flush] = @flush
|
1950
|
+
end
|
1951
|
+
def flush
|
1952
|
+
@flush
|
1953
|
+
end
|
1946
1954
|
|
1947
1955
|
end
|
1948
1956
|
class AVHWAccel < FFI::Struct
|
1949
1957
|
layout(
|
1950
1958
|
:name, :pointer,
|
1951
|
-
:type,
|
1952
|
-
:id,
|
1953
|
-
:pix_fmt,
|
1959
|
+
:type, :int,
|
1960
|
+
:id, :int,
|
1961
|
+
:pix_fmt, :int,
|
1954
1962
|
:capabilities, :int,
|
1955
1963
|
:next, AVHWAccel.ptr,
|
1956
1964
|
:start_frame, callback([ AVCodecContext.ptr, :pointer, :uint32 ], :int),
|
@@ -1990,18 +1998,12 @@ module FFI::Libav
|
|
1990
1998
|
end
|
1991
1999
|
class AVPicture < FFI::Struct
|
1992
2000
|
layout(
|
1993
|
-
:data, [:pointer,
|
1994
|
-
:linesize, [:int,
|
2001
|
+
:data, [:pointer, 8],
|
2002
|
+
:linesize, [:int, 8]
|
1995
2003
|
)
|
1996
2004
|
end
|
1997
2005
|
AVPALETTE_SIZE = 1024
|
1998
2006
|
AVPALETTE_COUNT = 256
|
1999
|
-
class AVPaletteControl < FFI::Struct
|
2000
|
-
layout(
|
2001
|
-
:palette_changed, :int,
|
2002
|
-
:palette, [:uint, 256]
|
2003
|
-
)
|
2004
|
-
end
|
2005
2007
|
SUBTITLE_NONE = 0
|
2006
2008
|
SUBTITLE_BITMAP = SUBTITLE_NONE + 1
|
2007
2009
|
SUBTITLE_TEXT = SUBTITLE_BITMAP + 1
|
@@ -2013,6 +2015,7 @@ module FFI::Libav
|
|
2013
2015
|
:ass,
|
2014
2016
|
]
|
2015
2017
|
|
2018
|
+
AV_SUBTITLE_FLAG_FORCED = 0x00000001
|
2016
2019
|
class AVSubtitleRect < FFI::Struct
|
2017
2020
|
layout(
|
2018
2021
|
:x, :int,
|
@@ -2021,9 +2024,10 @@ module FFI::Libav
|
|
2021
2024
|
:h, :int,
|
2022
2025
|
:nb_colors, :int,
|
2023
2026
|
:pict, AVPicture.by_value,
|
2024
|
-
:type,
|
2027
|
+
:type, :int,
|
2025
2028
|
:text, :pointer,
|
2026
|
-
:ass, :pointer
|
2029
|
+
:ass, :pointer,
|
2030
|
+
:flags, :int
|
2027
2031
|
)
|
2028
2032
|
def text=(str)
|
2029
2033
|
@text = FFI::MemoryPointer.from_string(str)
|
@@ -2051,7 +2055,22 @@ module FFI::Libav
|
|
2051
2055
|
:pts, :int64
|
2052
2056
|
)
|
2053
2057
|
end
|
2054
|
-
attach_function :
|
2058
|
+
attach_function :av_codec_next, :av_codec_next, [ :pointer ], AVCodec.ptr
|
2059
|
+
attach_function :avcodec_version, :avcodec_version, [ ], :uint
|
2060
|
+
attach_function :avcodec_configuration, :avcodec_configuration, [ ], :string
|
2061
|
+
attach_function :avcodec_license, :avcodec_license, [ ], :string
|
2062
|
+
attach_function :avcodec_register, :avcodec_register, [ AVCodec.ptr ], :void
|
2063
|
+
attach_function :avcodec_register_all, :avcodec_register_all, [ ], :void
|
2064
|
+
attach_function :avcodec_alloc_context3, :avcodec_alloc_context3, [ :pointer ], AVCodecContext.ptr
|
2065
|
+
attach_function :avcodec_get_context_defaults3, :avcodec_get_context_defaults3, [ AVCodecContext.ptr, :pointer ], :int
|
2066
|
+
attach_function :avcodec_get_class, :avcodec_get_class, [ ], :pointer
|
2067
|
+
attach_function :avcodec_copy_context, :avcodec_copy_context, [ AVCodecContext.ptr, :pointer ], :int
|
2068
|
+
attach_function :avcodec_alloc_frame, :avcodec_alloc_frame, [ ], AVFrame.ptr
|
2069
|
+
attach_function :avcodec_get_frame_defaults, :avcodec_get_frame_defaults, [ AVFrame.ptr ], :void
|
2070
|
+
attach_function :avcodec_free_frame, :avcodec_free_frame, [ :pointer ], :void
|
2071
|
+
attach_function :avcodec_open2, :avcodec_open2, [ AVCodecContext.ptr, :pointer, :pointer ], :int
|
2072
|
+
attach_function :avcodec_close, :avcodec_close, [ AVCodecContext.ptr ], :int
|
2073
|
+
attach_function :avsubtitle_free, :avsubtitle_free, [ AVSubtitle.ptr ], :void
|
2055
2074
|
attach_function :av_destruct_packet, :av_destruct_packet, [ AVPacket.ptr ], :void
|
2056
2075
|
attach_function :av_init_packet, :av_init_packet, [ AVPacket.ptr ], :void
|
2057
2076
|
attach_function :av_new_packet, :av_new_packet, [ AVPacket.ptr, :int ], :int
|
@@ -2059,87 +2078,21 @@ module FFI::Libav
|
|
2059
2078
|
attach_function :av_grow_packet, :av_grow_packet, [ AVPacket.ptr, :int ], :int
|
2060
2079
|
attach_function :av_dup_packet, :av_dup_packet, [ AVPacket.ptr ], :int
|
2061
2080
|
attach_function :av_free_packet, :av_free_packet, [ AVPacket.ptr ], :void
|
2062
|
-
attach_function :av_packet_new_side_data, :av_packet_new_side_data, [ AVPacket.ptr,
|
2063
|
-
attach_function :
|
2064
|
-
attach_function :
|
2065
|
-
attach_function :
|
2066
|
-
attach_function :audio_resample_close, :audio_resample_close, [ :pointer ], :void
|
2067
|
-
attach_function :av_resample_init, :av_resample_init, [ :int, :int, :int, :int, :int, :double ], :pointer
|
2068
|
-
attach_function :av_resample, :av_resample, [ :pointer, :pointer, :pointer, :pointer, :int, :int, :int ], :int
|
2069
|
-
attach_function :av_resample_compensate, :av_resample_compensate, [ :pointer, :int, :int ], :void
|
2070
|
-
attach_function :av_resample_close, :av_resample_close, [ :pointer ], :void
|
2071
|
-
attach_function :avpicture_alloc, :avpicture_alloc, [ AVPicture.ptr, PixelFormat, :int, :int ], :int
|
2072
|
-
attach_function :avpicture_free, :avpicture_free, [ AVPicture.ptr ], :void
|
2073
|
-
attach_function :avpicture_fill, :avpicture_fill, [ AVPicture.ptr, :pointer, PixelFormat, :int, :int ], :int
|
2074
|
-
attach_function :avpicture_layout, :avpicture_layout, [ :pointer, PixelFormat, :int, :int, :pointer, :int ], :int
|
2075
|
-
attach_function :avpicture_get_size, :avpicture_get_size, [ PixelFormat, :int, :int ], :int
|
2076
|
-
attach_function :avcodec_get_chroma_sub_sample, :avcodec_get_chroma_sub_sample, [ PixelFormat, :pointer, :pointer ], :void
|
2077
|
-
attach_function :avcodec_get_pix_fmt_name, :avcodec_get_pix_fmt_name, [ PixelFormat ], :string
|
2078
|
-
attach_function :avcodec_set_dimensions, :avcodec_set_dimensions, [ AVCodecContext.ptr, :int, :int ], :void
|
2079
|
-
attach_function :avcodec_pix_fmt_to_codec_tag, :avcodec_pix_fmt_to_codec_tag, [ PixelFormat ], :uint
|
2080
|
-
attach_function :av_get_codec_tag_string, :av_get_codec_tag_string, [ :string, :uint, :uint ], :uint
|
2081
|
-
FF_LOSS_RESOLUTION = 0x0001
|
2082
|
-
FF_LOSS_DEPTH = 0x0002
|
2083
|
-
FF_LOSS_COLORSPACE = 0x0004
|
2084
|
-
FF_LOSS_ALPHA = 0x0008
|
2085
|
-
FF_LOSS_COLORQUANT = 0x0010
|
2086
|
-
FF_LOSS_CHROMA = 0x0020
|
2087
|
-
attach_function :avcodec_get_pix_fmt_loss, :avcodec_get_pix_fmt_loss, [ PixelFormat, PixelFormat, :int ], :int
|
2088
|
-
attach_function :avcodec_find_best_pix_fmt, :avcodec_find_best_pix_fmt, [ :int64, PixelFormat, :int, :pointer ], PixelFormat
|
2089
|
-
FF_ALPHA_TRANSP = 0x0001
|
2090
|
-
FF_ALPHA_SEMI_TRANSP = 0x0002
|
2091
|
-
attach_function :img_get_alpha_info, :img_get_alpha_info, [ :pointer, PixelFormat, :int, :int ], :int
|
2092
|
-
attach_function :avpicture_deinterlace, :avpicture_deinterlace, [ AVPicture.ptr, :pointer, PixelFormat, :int, :int ], :int
|
2093
|
-
attach_function :av_codec_next, :av_codec_next, [ AVCodec.ptr ], AVCodec.ptr
|
2094
|
-
attach_function :avcodec_version, :avcodec_version, [ ], :uint
|
2095
|
-
attach_function :avcodec_configuration, :avcodec_configuration, [ ], :string
|
2096
|
-
attach_function :avcodec_license, :avcodec_license, [ ], :string
|
2097
|
-
attach_function :avcodec_init, :avcodec_init, [ ], :void
|
2098
|
-
attach_function :avcodec_register, :avcodec_register, [ AVCodec.ptr ], :void
|
2099
|
-
attach_function :avcodec_find_encoder, :avcodec_find_encoder, [ CodecID ], AVCodec.ptr
|
2100
|
-
attach_function :avcodec_find_encoder_by_name, :avcodec_find_encoder_by_name, [ :string ], AVCodec.ptr
|
2101
|
-
attach_function :avcodec_find_decoder, :avcodec_find_decoder, [ CodecID ], AVCodec.ptr
|
2081
|
+
attach_function :av_packet_new_side_data, :av_packet_new_side_data, [ AVPacket.ptr, :int, :int ], :pointer
|
2082
|
+
attach_function :av_packet_shrink_side_data, :av_packet_shrink_side_data, [ AVPacket.ptr, :int, :int ], :int
|
2083
|
+
attach_function :av_packet_get_side_data, :av_packet_get_side_data, [ AVPacket.ptr, :int, :pointer ], :pointer
|
2084
|
+
attach_function :avcodec_find_decoder, :avcodec_find_decoder, [ :int ], AVCodec.ptr
|
2102
2085
|
attach_function :avcodec_find_decoder_by_name, :avcodec_find_decoder_by_name, [ :string ], AVCodec.ptr
|
2103
|
-
attach_function :avcodec_string, :avcodec_string, [ :string, :int, AVCodecContext.ptr, :int ], :void
|
2104
|
-
attach_function :av_get_profile_name, :av_get_profile_name, [ :pointer, :int ], :string
|
2105
|
-
attach_function :avcodec_get_context_defaults, :avcodec_get_context_defaults, [ AVCodecContext.ptr ], :void
|
2106
|
-
attach_function :avcodec_get_context_defaults2, :avcodec_get_context_defaults2, [ AVCodecContext.ptr, AVMediaType ], :void
|
2107
|
-
attach_function :avcodec_get_context_defaults3, :avcodec_get_context_defaults3, [ AVCodecContext.ptr, AVCodec.ptr ], :int
|
2108
|
-
attach_function :avcodec_alloc_context, :avcodec_alloc_context, [ ], AVCodecContext.ptr
|
2109
|
-
attach_function :avcodec_alloc_context2, :avcodec_alloc_context2, [ AVMediaType ], AVCodecContext.ptr
|
2110
|
-
attach_function :avcodec_alloc_context3, :avcodec_alloc_context3, [ AVCodec.ptr ], AVCodecContext.ptr
|
2111
|
-
attach_function :avcodec_copy_context, :avcodec_copy_context, [ AVCodecContext.ptr, :pointer ], :int
|
2112
|
-
attach_function :avcodec_get_frame_defaults, :avcodec_get_frame_defaults, [ AVFrame.ptr ], :void
|
2113
|
-
attach_function :avcodec_alloc_frame, :avcodec_alloc_frame, [ ], AVFrame.ptr
|
2114
2086
|
attach_function :avcodec_default_get_buffer, :avcodec_default_get_buffer, [ AVCodecContext.ptr, AVFrame.ptr ], :int
|
2115
2087
|
attach_function :avcodec_default_release_buffer, :avcodec_default_release_buffer, [ AVCodecContext.ptr, AVFrame.ptr ], :void
|
2116
2088
|
attach_function :avcodec_default_reget_buffer, :avcodec_default_reget_buffer, [ AVCodecContext.ptr, AVFrame.ptr ], :int
|
2117
2089
|
attach_function :avcodec_get_edge_width, :avcodec_get_edge_width, [ ], :uint
|
2118
2090
|
attach_function :avcodec_align_dimensions, :avcodec_align_dimensions, [ AVCodecContext.ptr, :pointer, :pointer ], :void
|
2119
2091
|
attach_function :avcodec_align_dimensions2, :avcodec_align_dimensions2, [ AVCodecContext.ptr, :pointer, :pointer, :pointer ], :void
|
2120
|
-
attach_function :avcodec_default_get_format, :avcodec_default_get_format, [ AVCodecContext.ptr, :pointer ], PixelFormat
|
2121
|
-
attach_function :avcodec_thread_init, :avcodec_thread_init, [ AVCodecContext.ptr, :int ], :int
|
2122
|
-
attach_function :avcodec_default_execute, :avcodec_default_execute, [ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer ], :int), :pointer, :pointer, :int, :int ], :int
|
2123
|
-
attach_function :avcodec_default_execute2, :avcodec_default_execute2, [ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer, :int, :int ], :int), :pointer, :pointer, :int ], :int
|
2124
|
-
attach_function :avcodec_open, :avcodec_open, [ AVCodecContext.ptr, AVCodec.ptr ], :int
|
2125
|
-
attach_function :avcodec_open2, :avcodec_open2, [ AVCodecContext.ptr, AVCodec.ptr, :pointer ], :int
|
2126
2092
|
attach_function :avcodec_decode_audio3, :avcodec_decode_audio3, [ AVCodecContext.ptr, :pointer, :pointer, AVPacket.ptr ], :int
|
2127
2093
|
attach_function :avcodec_decode_audio4, :avcodec_decode_audio4, [ AVCodecContext.ptr, AVFrame.ptr, :pointer, AVPacket.ptr ], :int
|
2128
|
-
attach_function :avcodec_decode_video2, :avcodec_decode_video2, [ AVCodecContext.ptr, AVFrame.ptr, :pointer, AVPacket.ptr ], :int
|
2094
|
+
attach_function :avcodec_decode_video2, :avcodec_decode_video2, [ AVCodecContext.ptr, AVFrame.ptr, :pointer, AVPacket.ptr ], :int
|
2129
2095
|
attach_function :avcodec_decode_subtitle2, :avcodec_decode_subtitle2, [ AVCodecContext.ptr, AVSubtitle.ptr, :pointer, AVPacket.ptr ], :int
|
2130
|
-
attach_function :avsubtitle_free, :avsubtitle_free, [ AVSubtitle.ptr ], :void
|
2131
|
-
attach_function :avcodec_encode_audio, :avcodec_encode_audio, [ AVCodecContext.ptr, :pointer, :int, :pointer ], :int
|
2132
|
-
attach_function :avcodec_encode_audio2, :avcodec_encode_audio2, [ AVCodecContext.ptr, AVPacket.ptr, :pointer, :pointer ], :int
|
2133
|
-
attach_function :avcodec_fill_audio_frame, :avcodec_fill_audio_frame, [ AVFrame.ptr, :int, :int, :pointer, :int, :int ], :int
|
2134
|
-
attach_function :avcodec_encode_video, :avcodec_encode_video, [ AVCodecContext.ptr, :pointer, :int, :pointer ], :int
|
2135
|
-
attach_function :avcodec_encode_subtitle, :avcodec_encode_subtitle, [ AVCodecContext.ptr, :pointer, :int, :pointer ], :int
|
2136
|
-
attach_function :avcodec_close, :avcodec_close, [ AVCodecContext.ptr ], :int
|
2137
|
-
attach_function :avcodec_register_all, :avcodec_register_all, [ ], :void
|
2138
|
-
attach_function :avcodec_flush_buffers, :avcodec_flush_buffers, [ AVCodecContext.ptr ], :void
|
2139
|
-
attach_function :avcodec_default_free_buffers, :avcodec_default_free_buffers, [ AVCodecContext.ptr ], :void
|
2140
|
-
attach_function :av_get_pict_type_char, :av_get_pict_type_char, [ :int ], :char
|
2141
|
-
attach_function :av_get_bits_per_sample, :av_get_bits_per_sample, [ CodecID ], :int
|
2142
|
-
attach_function :av_get_bits_per_sample_format, :av_get_bits_per_sample_format, [ :int ], :int
|
2143
2096
|
AV_PARSER_PTS_NB = 4
|
2144
2097
|
PARSER_FLAG_COMPLETE_FRAMES = 0x0001
|
2145
2098
|
PARSER_FLAG_ONCE = 0x0002
|
@@ -2172,7 +2125,8 @@ module FFI::Libav
|
|
2172
2125
|
:pts_dts_delta, :int,
|
2173
2126
|
:cur_frame_pos, [:int64, 4],
|
2174
2127
|
:pos, :int64,
|
2175
|
-
:last_pos, :int64
|
2128
|
+
:last_pos, :int64,
|
2129
|
+
:duration, :int
|
2176
2130
|
)
|
2177
2131
|
end
|
2178
2132
|
class AVCodecParser < FFI::Struct
|
@@ -2221,6 +2175,53 @@ module FFI::Libav
|
|
2221
2175
|
attach_function :av_parser_parse2, :av_parser_parse2, [ AVCodecParserContext.ptr, AVCodecContext.ptr, :pointer, :pointer, :pointer, :int, :int64, :int64, :int64 ], :int
|
2222
2176
|
attach_function :av_parser_change, :av_parser_change, [ AVCodecParserContext.ptr, AVCodecContext.ptr, :pointer, :pointer, :pointer, :int, :int ], :int
|
2223
2177
|
attach_function :av_parser_close, :av_parser_close, [ AVCodecParserContext.ptr ], :void
|
2178
|
+
attach_function :avcodec_find_encoder, :avcodec_find_encoder, [ :int ], AVCodec.ptr
|
2179
|
+
attach_function :avcodec_find_encoder_by_name, :avcodec_find_encoder_by_name, [ :string ], AVCodec.ptr
|
2180
|
+
attach_function :avcodec_encode_audio, :avcodec_encode_audio, [ AVCodecContext.ptr, :pointer, :int, :pointer ], :int
|
2181
|
+
attach_function :avcodec_encode_audio2, :avcodec_encode_audio2, [ AVCodecContext.ptr, AVPacket.ptr, :pointer, :pointer ], :int
|
2182
|
+
attach_function :avcodec_encode_video, :avcodec_encode_video, [ AVCodecContext.ptr, :pointer, :int, :pointer ], :int
|
2183
|
+
attach_function :avcodec_encode_video2, :avcodec_encode_video2, [ AVCodecContext.ptr, AVPacket.ptr, :pointer, :pointer ], :int
|
2184
|
+
attach_function :avcodec_encode_subtitle, :avcodec_encode_subtitle, [ AVCodecContext.ptr, :pointer, :int, :pointer ], :int
|
2185
|
+
attach_function :av_audio_resample_init, :av_audio_resample_init, [ :int, :int, :int, :int, :int, :int, :int, :int, :int, :double ], :pointer
|
2186
|
+
attach_function :audio_resample, :audio_resample, [ :pointer, :pointer, :pointer, :int ], :int
|
2187
|
+
attach_function :audio_resample_close, :audio_resample_close, [ :pointer ], :void
|
2188
|
+
attach_function :av_resample_init, :av_resample_init, [ :int, :int, :int, :int, :int, :double ], :pointer
|
2189
|
+
attach_function :av_resample, :av_resample, [ :pointer, :pointer, :pointer, :pointer, :int, :int, :int ], :int
|
2190
|
+
attach_function :av_resample_compensate, :av_resample_compensate, [ :pointer, :int, :int ], :void
|
2191
|
+
attach_function :av_resample_close, :av_resample_close, [ :pointer ], :void
|
2192
|
+
attach_function :avpicture_alloc, :avpicture_alloc, [ AVPicture.ptr, :int, :int, :int ], :int
|
2193
|
+
attach_function :avpicture_free, :avpicture_free, [ AVPicture.ptr ], :void
|
2194
|
+
attach_function :avpicture_fill, :avpicture_fill, [ AVPicture.ptr, :pointer, :int, :int, :int ], :int
|
2195
|
+
attach_function :avpicture_layout, :avpicture_layout, [ :pointer, :int, :int, :int, :pointer, :int ], :int
|
2196
|
+
attach_function :avpicture_get_size, :avpicture_get_size, [ :int, :int, :int ], :int
|
2197
|
+
attach_function :avpicture_deinterlace, :avpicture_deinterlace, [ AVPicture.ptr, :pointer, :int, :int, :int ], :int
|
2198
|
+
attach_function :av_picture_copy, :av_picture_copy, [ AVPicture.ptr, :pointer, :int, :int, :int ], :void
|
2199
|
+
attach_function :av_picture_crop, :av_picture_crop, [ AVPicture.ptr, :pointer, :int, :int, :int ], :int
|
2200
|
+
attach_function :av_picture_pad, :av_picture_pad, [ AVPicture.ptr, :pointer, :int, :int, :int, :int, :int, :int, :int, :pointer ], :int
|
2201
|
+
attach_function :avcodec_get_chroma_sub_sample, :avcodec_get_chroma_sub_sample, [ :int, :pointer, :pointer ], :void
|
2202
|
+
attach_function :avcodec_pix_fmt_to_codec_tag, :avcodec_pix_fmt_to_codec_tag, [ :int ], :uint
|
2203
|
+
FF_LOSS_RESOLUTION = 0x0001
|
2204
|
+
FF_LOSS_DEPTH = 0x0002
|
2205
|
+
FF_LOSS_COLORSPACE = 0x0004
|
2206
|
+
FF_LOSS_ALPHA = 0x0008
|
2207
|
+
FF_LOSS_COLORQUANT = 0x0010
|
2208
|
+
FF_LOSS_CHROMA = 0x0020
|
2209
|
+
attach_function :avcodec_get_pix_fmt_loss, :avcodec_get_pix_fmt_loss, [ :int, :int, :int ], :int
|
2210
|
+
attach_function :avcodec_find_best_pix_fmt, :avcodec_find_best_pix_fmt, [ :int64, :int, :int, :pointer ], :int
|
2211
|
+
attach_function :avcodec_find_best_pix_fmt2, :avcodec_find_best_pix_fmt2, [ :pointer, :int, :int, :pointer ], :int
|
2212
|
+
attach_function :avcodec_default_get_format, :avcodec_default_get_format, [ AVCodecContext.ptr, :pointer ], :int
|
2213
|
+
attach_function :avcodec_set_dimensions, :avcodec_set_dimensions, [ AVCodecContext.ptr, :int, :int ], :void
|
2214
|
+
attach_function :av_get_codec_tag_string, :av_get_codec_tag_string, [ :string, :uint, :uint ], :uint
|
2215
|
+
attach_function :avcodec_string, :avcodec_string, [ :string, :int, AVCodecContext.ptr, :int ], :void
|
2216
|
+
attach_function :av_get_profile_name, :av_get_profile_name, [ :pointer, :int ], :string
|
2217
|
+
attach_function :avcodec_default_execute, :avcodec_default_execute, [ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer ], :int), :pointer, :pointer, :int, :int ], :int
|
2218
|
+
attach_function :avcodec_default_execute2, :avcodec_default_execute2, [ AVCodecContext.ptr, callback([ AVCodecContext.ptr, :pointer, :int, :int ], :int), :pointer, :pointer, :int ], :int
|
2219
|
+
attach_function :avcodec_fill_audio_frame, :avcodec_fill_audio_frame, [ AVFrame.ptr, :int, :int, :pointer, :int, :int ], :int
|
2220
|
+
attach_function :avcodec_flush_buffers, :avcodec_flush_buffers, [ AVCodecContext.ptr ], :void
|
2221
|
+
attach_function :avcodec_default_free_buffers, :avcodec_default_free_buffers, [ AVCodecContext.ptr ], :void
|
2222
|
+
attach_function :av_get_bits_per_sample, :av_get_bits_per_sample, [ :int ], :int
|
2223
|
+
attach_function :av_get_exact_bits_per_sample, :av_get_exact_bits_per_sample, [ :int ], :int
|
2224
|
+
attach_function :av_get_audio_frame_duration, :av_get_audio_frame_duration, [ AVCodecContext.ptr, :int ], :int
|
2224
2225
|
class AVBitStreamFilterContext < FFI::Struct
|
2225
2226
|
layout(
|
2226
2227
|
:priv_data, :pointer,
|
@@ -2267,9 +2268,7 @@ module FFI::Libav
|
|
2267
2268
|
attach_function :av_bitstream_filter_next, :av_bitstream_filter_next, [ AVBitStreamFilter.ptr ], AVBitStreamFilter.ptr
|
2268
2269
|
attach_function :av_fast_realloc, :av_fast_realloc, [ :pointer, :pointer, :uint ], :pointer
|
2269
2270
|
attach_function :av_fast_malloc, :av_fast_malloc, [ :pointer, :pointer, :uint ], :void
|
2270
|
-
attach_function :
|
2271
|
-
attach_function :av_picture_crop, :av_picture_crop, [ AVPicture.ptr, :pointer, PixelFormat, :int, :int ], :int
|
2272
|
-
attach_function :av_picture_pad, :av_picture_pad, [ AVPicture.ptr, :pointer, :int, :int, PixelFormat, :int, :int, :int, :int, :pointer ], :int
|
2271
|
+
attach_function :av_fast_padded_malloc, :av_fast_padded_malloc, [ :pointer, :pointer, :uint ], :void
|
2273
2272
|
attach_function :av_xiphlacing, :av_xiphlacing, [ :pointer, :uint ], :uint
|
2274
2273
|
attach_function :av_log_missing_feature, :av_log_missing_feature, [ :pointer, :string, :int ], :void
|
2275
2274
|
attach_function :av_log_ask_for_sample, :av_log_ask_for_sample, [ :pointer, :string, :varargs ], :void
|
@@ -2286,28 +2285,31 @@ module FFI::Libav
|
|
2286
2285
|
:destroy,
|
2287
2286
|
]
|
2288
2287
|
|
2289
|
-
attach_function :av_lockmgr_register, :av_lockmgr_register, [ callback([ :pointer,
|
2290
|
-
attach_function :avcodec_get_type, :avcodec_get_type, [
|
2291
|
-
attach_function :avcodec_get_class, :avcodec_get_class, [ ], :pointer
|
2288
|
+
attach_function :av_lockmgr_register, :av_lockmgr_register, [ callback([ :pointer, :int ], :int) ], :int
|
2289
|
+
attach_function :avcodec_get_type, :avcodec_get_type, [ :int ], :int
|
2292
2290
|
attach_function :avcodec_is_open, :avcodec_is_open, [ AVCodecContext.ptr ], :int
|
2291
|
+
attach_function :av_codec_is_encoder, :av_codec_is_encoder, [ :pointer ], :int
|
2292
|
+
attach_function :av_codec_is_decoder, :av_codec_is_decoder, [ :pointer ], :int
|
2293
|
+
attach_function :avcodec_descriptor_get, :avcodec_descriptor_get, [ :int ], :pointer
|
2294
|
+
attach_function :avcodec_descriptor_next, :avcodec_descriptor_next, [ :pointer ], :pointer
|
2295
|
+
attach_function :avcodec_descriptor_get_by_name, :avcodec_descriptor_get_by_name, [ :string ], :pointer
|
2293
2296
|
|
2294
2297
|
|
2295
|
-
ffi_lib [ "libavformat.so.
|
2298
|
+
ffi_lib [ "libavformat.so.54", "libavformat.54.dylib" ]
|
2296
2299
|
|
2297
2300
|
class AVIOContext < FFI::Struct; end
|
2298
|
-
class AVFormatContext < FFI::Struct; end
|
2299
2301
|
class AVPacket < FFI::Struct; end
|
2300
|
-
class AVFormatParameters < FFI::Struct; end
|
2301
2302
|
class AVOutputFormat < FFI::Struct; end
|
2302
|
-
class
|
2303
|
+
class AVFormatContext < FFI::Struct; end
|
2303
2304
|
class AVInputFormat < FFI::Struct; end
|
2305
|
+
class AVProbeData < FFI::Struct; end
|
2304
2306
|
class AVCodecContext < FFI::Struct; end
|
2305
2307
|
class AVCodecParserContext < FFI::Struct; end
|
2306
|
-
class AVIndexEntry < FFI::Struct; end
|
2307
2308
|
class AVPacketList < FFI::Struct; end
|
2309
|
+
class AVIndexEntry < FFI::Struct; end
|
2308
2310
|
class AVStreamInfo < FFI::Struct; end
|
2309
|
-
class AVStream < FFI::Struct; end
|
2310
2311
|
class AVCodec < FFI::Struct; end
|
2312
|
+
class AVStream < FFI::Struct; end
|
2311
2313
|
class AVProgram < FFI::Struct; end
|
2312
2314
|
AVIO_SEEKABLE_NORMAL = 0x0001
|
2313
2315
|
class AVIOInterruptCB < FFI::Struct
|
@@ -2326,6 +2328,7 @@ module FFI::Libav
|
|
2326
2328
|
end
|
2327
2329
|
class AVIOContext < FFI::Struct
|
2328
2330
|
layout(
|
2331
|
+
:av_class, :pointer,
|
2329
2332
|
:buffer, :pointer,
|
2330
2333
|
:buffer_size, :int,
|
2331
2334
|
:buf_ptr, :pointer,
|
@@ -2433,22 +2436,18 @@ module FFI::Libav
|
|
2433
2436
|
attach_function :avio_open, :avio_open, [ :pointer, :string, :int ], :int
|
2434
2437
|
attach_function :avio_open2, :avio_open2, [ :pointer, :string, :int, :pointer, :pointer ], :int
|
2435
2438
|
attach_function :avio_close, :avio_close, [ AVIOContext.ptr ], :int
|
2439
|
+
attach_function :avio_closep, :avio_closep, [ :pointer ], :int
|
2436
2440
|
attach_function :avio_open_dyn_buf, :avio_open_dyn_buf, [ :pointer ], :int
|
2437
2441
|
attach_function :avio_close_dyn_buf, :avio_close_dyn_buf, [ AVIOContext.ptr, :pointer ], :int
|
2438
2442
|
attach_function :avio_enum_protocols, :avio_enum_protocols, [ :pointer, :int ], :string
|
2439
2443
|
attach_function :avio_pause, :avio_pause, [ AVIOContext.ptr, :int ], :int
|
2440
2444
|
attach_function :avio_seek_time, :avio_seek_time, [ AVIOContext.ptr, :int, :int64, :int ], :int64
|
2441
|
-
LIBAVFORMAT_VERSION_MAJOR =
|
2442
|
-
LIBAVFORMAT_VERSION_MINOR =
|
2443
|
-
LIBAVFORMAT_VERSION_MICRO =
|
2444
|
-
LIBAVFORMAT_VERSION_INT = (
|
2445
|
-
LIBAVFORMAT_BUILD = (
|
2446
|
-
LIBAVFORMAT_IDENT = '
|
2447
|
-
attach_function :av_metadata_get, :av_metadata_get, [ :pointer, :string, :pointer, :int ], :pointer
|
2448
|
-
attach_function :av_metadata_set2, :av_metadata_set2, [ :pointer, :string, :string, :int ], :int
|
2449
|
-
attach_function :av_metadata_conv, :av_metadata_conv, [ AVFormatContext.ptr, :pointer, :pointer ], :void
|
2450
|
-
attach_function :av_metadata_copy, :av_metadata_copy, [ :pointer, :pointer, :int ], :void
|
2451
|
-
attach_function :av_metadata_free, :av_metadata_free, [ :pointer ], :void
|
2445
|
+
LIBAVFORMAT_VERSION_MAJOR = 54
|
2446
|
+
LIBAVFORMAT_VERSION_MINOR = 20
|
2447
|
+
LIBAVFORMAT_VERSION_MICRO = 4
|
2448
|
+
LIBAVFORMAT_VERSION_INT = (54 << 16|20 << 8|4)
|
2449
|
+
LIBAVFORMAT_BUILD = (54 << 16|20 << 8|4)
|
2450
|
+
LIBAVFORMAT_IDENT = 'Lavf54.20.4'
|
2452
2451
|
attach_function :av_get_packet, :av_get_packet, [ AVIOContext.ptr, AVPacket.ptr, :int ], :int
|
2453
2452
|
attach_function :av_append_packet, :av_append_packet, [ AVIOContext.ptr, AVPacket.ptr, :int ], :int
|
2454
2453
|
class AVFrac < FFI::Struct
|
@@ -2475,30 +2474,6 @@ module FFI::Libav
|
|
2475
2474
|
end
|
2476
2475
|
AVPROBE_SCORE_MAX = 100
|
2477
2476
|
AVPROBE_PADDING_SIZE = 32
|
2478
|
-
class AVFormatParameters < FFI::Struct
|
2479
|
-
layout(
|
2480
|
-
:time_base, AVRational.by_value,
|
2481
|
-
:sample_rate, :int,
|
2482
|
-
:channels, :int,
|
2483
|
-
:width, :int,
|
2484
|
-
:height, :int,
|
2485
|
-
:pix_fmt, PixelFormat,
|
2486
|
-
:channel, :int,
|
2487
|
-
:standard, :pointer,
|
2488
|
-
:mpeg2ts_raw, :uint,
|
2489
|
-
:mpeg2ts_compute_pcr, :uint,
|
2490
|
-
:initial_pause, :uint,
|
2491
|
-
:prealloced_context, :uint
|
2492
|
-
)
|
2493
|
-
def standard=(str)
|
2494
|
-
@standard = FFI::MemoryPointer.from_string(str)
|
2495
|
-
self[:standard] = @standard
|
2496
|
-
end
|
2497
|
-
def standard
|
2498
|
-
@standard.get_string(0)
|
2499
|
-
end
|
2500
|
-
|
2501
|
-
end
|
2502
2477
|
AVFMT_NOFILE = 0x0001
|
2503
2478
|
AVFMT_NEEDNUMBER = 0x0002
|
2504
2479
|
AVFMT_SHOW_IDS = 0x0008
|
@@ -2513,27 +2488,27 @@ module FFI::Libav
|
|
2513
2488
|
AVFMT_NOBINSEARCH = 0x2000
|
2514
2489
|
AVFMT_NOGENSEARCH = 0x4000
|
2515
2490
|
AVFMT_NO_BYTE_SEEK = 0x8000
|
2491
|
+
AVFMT_ALLOW_FLUSH = 0x10000
|
2492
|
+
AVFMT_TS_NONSTRICT = 0x20000
|
2516
2493
|
class AVOutputFormat < FFI::Struct
|
2517
2494
|
layout(
|
2518
2495
|
:name, :pointer,
|
2519
2496
|
:long_name, :pointer,
|
2520
2497
|
:mime_type, :pointer,
|
2521
2498
|
:extensions, :pointer,
|
2499
|
+
:audio_codec, :int,
|
2500
|
+
:video_codec, :int,
|
2501
|
+
:subtitle_codec, :int,
|
2502
|
+
:flags, :int,
|
2503
|
+
:codec_tag, :pointer,
|
2504
|
+
:priv_class, :pointer,
|
2505
|
+
:next, AVOutputFormat.ptr,
|
2522
2506
|
:priv_data_size, :int,
|
2523
|
-
:audio_codec, CodecID,
|
2524
|
-
:video_codec, CodecID,
|
2525
2507
|
:write_header, callback([ AVFormatContext.ptr ], :int),
|
2526
2508
|
:write_packet, callback([ AVFormatContext.ptr, AVPacket.ptr ], :int),
|
2527
2509
|
:write_trailer, callback([ AVFormatContext.ptr ], :int),
|
2528
|
-
:flags, :int,
|
2529
|
-
:set_parameters, callback([ AVFormatContext.ptr, AVFormatParameters.ptr ], :int),
|
2530
2510
|
:interleave_packet, callback([ AVFormatContext.ptr, AVPacket.ptr, AVPacket.ptr, :int ], :int),
|
2531
|
-
:
|
2532
|
-
:subtitle_codec, CodecID,
|
2533
|
-
:metadata_conv, :pointer,
|
2534
|
-
:priv_class, :pointer,
|
2535
|
-
:query_codec, callback([ CodecID, :int ], :int),
|
2536
|
-
:next, AVOutputFormat.ptr
|
2511
|
+
:query_codec, callback([ :int, :int ], :int)
|
2537
2512
|
)
|
2538
2513
|
def name=(str)
|
2539
2514
|
@name = FFI::MemoryPointer.from_string(str)
|
@@ -2584,13 +2559,6 @@ module FFI::Libav
|
|
2584
2559
|
def write_trailer
|
2585
2560
|
@write_trailer
|
2586
2561
|
end
|
2587
|
-
def set_parameters=(cb)
|
2588
|
-
@set_parameters = cb
|
2589
|
-
self[:set_parameters] = @set_parameters
|
2590
|
-
end
|
2591
|
-
def set_parameters
|
2592
|
-
@set_parameters
|
2593
|
-
end
|
2594
2562
|
def interleave_packet=(cb)
|
2595
2563
|
@interleave_packet = cb
|
2596
2564
|
self[:interleave_packet] = @interleave_packet
|
@@ -2611,23 +2579,22 @@ module FFI::Libav
|
|
2611
2579
|
layout(
|
2612
2580
|
:name, :pointer,
|
2613
2581
|
:long_name, :pointer,
|
2582
|
+
:flags, :int,
|
2583
|
+
:extensions, :pointer,
|
2584
|
+
:codec_tag, :pointer,
|
2585
|
+
:priv_class, :pointer,
|
2586
|
+
:next, AVInputFormat.ptr,
|
2587
|
+
:raw_codec_id, :int,
|
2614
2588
|
:priv_data_size, :int,
|
2615
2589
|
:read_probe, callback([ AVProbeData.ptr ], :int),
|
2616
|
-
:read_header, callback([ AVFormatContext.ptr
|
2590
|
+
:read_header, callback([ AVFormatContext.ptr ], :int),
|
2617
2591
|
:read_packet, callback([ AVFormatContext.ptr, AVPacket.ptr ], :int),
|
2618
2592
|
:read_close, callback([ AVFormatContext.ptr ], :int),
|
2619
2593
|
:read_seek, callback([ AVFormatContext.ptr, :int, :int64, :int ], :int),
|
2620
2594
|
:read_timestamp, callback([ AVFormatContext.ptr, :int, :pointer, :int64 ], :int64),
|
2621
|
-
:flags, :int,
|
2622
|
-
:extensions, :pointer,
|
2623
|
-
:value, :int,
|
2624
2595
|
:read_play, callback([ AVFormatContext.ptr ], :int),
|
2625
2596
|
:read_pause, callback([ AVFormatContext.ptr ], :int),
|
2626
|
-
:
|
2627
|
-
:read_seek2, callback([ AVFormatContext.ptr, :int, :int64, :int64, :int64, :int ], :int),
|
2628
|
-
:metadata_conv, :pointer,
|
2629
|
-
:priv_class, :pointer,
|
2630
|
-
:next, AVInputFormat.ptr
|
2597
|
+
:read_seek2, callback([ AVFormatContext.ptr, :int, :int64, :int64, :int64, :int ], :int)
|
2631
2598
|
)
|
2632
2599
|
def name=(str)
|
2633
2600
|
@name = FFI::MemoryPointer.from_string(str)
|
@@ -2643,6 +2610,13 @@ module FFI::Libav
|
|
2643
2610
|
def long_name
|
2644
2611
|
@long_name.get_string(0)
|
2645
2612
|
end
|
2613
|
+
def extensions=(str)
|
2614
|
+
@extensions = FFI::MemoryPointer.from_string(str)
|
2615
|
+
self[:extensions] = @extensions
|
2616
|
+
end
|
2617
|
+
def extensions
|
2618
|
+
@extensions.get_string(0)
|
2619
|
+
end
|
2646
2620
|
def read_probe=(cb)
|
2647
2621
|
@read_probe = cb
|
2648
2622
|
self[:read_probe] = @read_probe
|
@@ -2685,13 +2659,6 @@ module FFI::Libav
|
|
2685
2659
|
def read_timestamp
|
2686
2660
|
@read_timestamp
|
2687
2661
|
end
|
2688
|
-
def extensions=(str)
|
2689
|
-
@extensions = FFI::MemoryPointer.from_string(str)
|
2690
|
-
self[:extensions] = @extensions
|
2691
|
-
end
|
2692
|
-
def extensions
|
2693
|
-
@extensions.get_string(0)
|
2694
|
-
end
|
2695
2662
|
def read_play=(cb)
|
2696
2663
|
@read_play = cb
|
2697
2664
|
self[:read_play] = @read_play
|
@@ -2748,19 +2715,25 @@ module FFI::Libav
|
|
2748
2715
|
AV_DISPOSITION_HEARING_IMPAIRED = 0x0080
|
2749
2716
|
AV_DISPOSITION_VISUAL_IMPAIRED = 0x0100
|
2750
2717
|
AV_DISPOSITION_CLEAN_EFFECTS = 0x0200
|
2751
|
-
|
2752
|
-
MAX_PROBE_PACKETS = 2500
|
2718
|
+
AV_DISPOSITION_ATTACHED_PIC = 0x0400
|
2753
2719
|
MAX_STD_TIMEBASES = (60*12+5)
|
2720
|
+
MAX_PROBE_PACKETS = 2500
|
2721
|
+
MAX_REORDER_DELAY = 16
|
2754
2722
|
class AVStreamInfo < FFI::Struct
|
2755
2723
|
layout(
|
2756
2724
|
:last_dts, :int64,
|
2757
2725
|
:duration_gcd, :int64,
|
2758
2726
|
:duration_count, :int,
|
2759
2727
|
:duration_error, [:double, (60*12+5)],
|
2760
|
-
:
|
2761
|
-
:
|
2728
|
+
:nb_decoded_frames, :int,
|
2729
|
+
:found_decoder, :int,
|
2730
|
+
:fps_first_dts, :int64,
|
2731
|
+
:fps_first_dts_idx, :int,
|
2732
|
+
:fps_last_dts, :int64,
|
2733
|
+
:fps_last_dts_idx, :int
|
2762
2734
|
)
|
2763
2735
|
end
|
2736
|
+
|
2764
2737
|
class AVStream < FFI::Struct
|
2765
2738
|
layout(
|
2766
2739
|
:index, :int,
|
@@ -2768,38 +2741,34 @@ module FFI::Libav
|
|
2768
2741
|
:codec, AVCodecContext.ptr,
|
2769
2742
|
:r_frame_rate, AVRational.by_value,
|
2770
2743
|
:priv_data, :pointer,
|
2771
|
-
:first_dts, :int64,
|
2772
2744
|
:pts, AVFrac.by_value,
|
2773
2745
|
:time_base, AVRational.by_value,
|
2774
|
-
:pts_wrap_bits, :int,
|
2775
|
-
:stream_copy, :int,
|
2776
|
-
:discard, AVDiscard,
|
2777
|
-
:quality, :float,
|
2778
2746
|
:start_time, :int64,
|
2779
2747
|
:duration, :int64,
|
2780
|
-
:need_parsing, AVStreamParseType,
|
2781
|
-
:parser, AVCodecParserContext.ptr,
|
2782
|
-
:cur_dts, :int64,
|
2783
|
-
:last_IP_duration, :int,
|
2784
|
-
:last_IP_pts, :int64,
|
2785
|
-
:index_entries, AVIndexEntry.ptr,
|
2786
|
-
:nb_index_entries, :int,
|
2787
|
-
:index_entries_allocated_size, :uint,
|
2788
2748
|
:nb_frames, :int64,
|
2789
2749
|
:disposition, :int,
|
2790
|
-
:
|
2791
|
-
:pts_buffer, [:int64, 16+1],
|
2750
|
+
:discard, AVDiscard,
|
2792
2751
|
:sample_aspect_ratio, AVRational.by_value,
|
2793
2752
|
:metadata, :pointer,
|
2753
|
+
:avg_frame_rate, AVRational.by_value,
|
2754
|
+
:attached_pic, AVPacket.by_value,
|
2794
2755
|
:info, AVStreamInfo.ptr,
|
2795
|
-
:
|
2796
|
-
:cur_len, :int,
|
2797
|
-
:cur_pkt, AVPacket.by_value,
|
2756
|
+
:pts_wrap_bits, :int,
|
2798
2757
|
:reference_dts, :int64,
|
2758
|
+
:first_dts, :int64,
|
2759
|
+
:cur_dts, :int64,
|
2760
|
+
:last_IP_pts, :int64,
|
2761
|
+
:last_IP_duration, :int,
|
2799
2762
|
:probe_packets, :int,
|
2800
|
-
:last_in_packet_buffer, AVPacketList.ptr,
|
2801
|
-
:avg_frame_rate, AVRational.by_value,
|
2802
2763
|
:codec_info_nb_frames, :int,
|
2764
|
+
:need_parsing, :int,
|
2765
|
+
:parser, AVCodecParserContext.ptr,
|
2766
|
+
:last_in_packet_buffer, AVPacketList.ptr,
|
2767
|
+
:probe_data, AVProbeData.by_value,
|
2768
|
+
:pts_buffer, [:int64, 16+1],
|
2769
|
+
:index_entries, AVIndexEntry.ptr,
|
2770
|
+
:nb_index_entries, :int,
|
2771
|
+
:index_entries_allocated_size, :uint,
|
2803
2772
|
)
|
2804
2773
|
end
|
2805
2774
|
AV_PROGRAM_RUNNING = 1
|
@@ -2823,15 +2792,13 @@ module FFI::Libav
|
|
2823
2792
|
:metadata, :pointer
|
2824
2793
|
)
|
2825
2794
|
end
|
2826
|
-
AVFMT_NOOUTPUTLOOP = -1
|
2827
|
-
AVFMT_INFINITEOUTPUTLOOP = 0
|
2828
2795
|
AVFMT_FLAG_GENPTS = 0x0001
|
2829
2796
|
AVFMT_FLAG_IGNIDX = 0x0002
|
2830
2797
|
AVFMT_FLAG_NONBLOCK = 0x0004
|
2831
2798
|
AVFMT_FLAG_IGNDTS = 0x0008
|
2832
2799
|
AVFMT_FLAG_NOFILLIN = 0x0010
|
2833
2800
|
AVFMT_FLAG_NOPARSE = 0x0020
|
2834
|
-
|
2801
|
+
AVFMT_FLAG_NOBUFFER = 0x0040
|
2835
2802
|
AVFMT_FLAG_CUSTOM_IO = 0x0080
|
2836
2803
|
AVFMT_FLAG_DISCARD_CORRUPT = 0x0100
|
2837
2804
|
FF_FDEBUG_TS = 0x0001
|
@@ -2843,48 +2810,43 @@ module FFI::Libav
|
|
2843
2810
|
:oformat, AVOutputFormat.ptr,
|
2844
2811
|
:priv_data, :pointer,
|
2845
2812
|
:pb, AVIOContext.ptr,
|
2813
|
+
:ctx_flags, :int,
|
2846
2814
|
:nb_streams, :uint,
|
2847
2815
|
:streams, :pointer,
|
2848
2816
|
:filename, [:char, 1024],
|
2849
|
-
:timestamp, :int64,
|
2850
|
-
:ctx_flags, :int,
|
2851
|
-
:packet_buffer, AVPacketList.ptr,
|
2852
2817
|
:start_time, :int64,
|
2853
2818
|
:duration, :int64,
|
2854
|
-
:file_size, :int64,
|
2855
2819
|
:bit_rate, :int,
|
2856
|
-
:cur_st, AVStream.ptr,
|
2857
|
-
:data_offset, :int64,
|
2858
|
-
:mux_rate, :int,
|
2859
2820
|
:packet_size, :uint,
|
2860
|
-
:preload, :int,
|
2861
2821
|
:max_delay, :int,
|
2862
|
-
:loop_output, :int,
|
2863
2822
|
:flags, :int,
|
2864
|
-
:loop_input, :int,
|
2865
2823
|
:probesize, :uint,
|
2866
2824
|
:max_analyze_duration, :int,
|
2867
2825
|
:key, :pointer,
|
2868
2826
|
:keylen, :int,
|
2869
2827
|
:nb_programs, :uint,
|
2870
2828
|
:programs, :pointer,
|
2871
|
-
:video_codec_id,
|
2872
|
-
:audio_codec_id,
|
2873
|
-
:subtitle_codec_id,
|
2829
|
+
:video_codec_id, :int,
|
2830
|
+
:audio_codec_id, :int,
|
2831
|
+
:subtitle_codec_id, :int,
|
2874
2832
|
:max_index_size, :uint,
|
2875
2833
|
:max_picture_buffer, :uint,
|
2876
2834
|
:nb_chapters, :uint,
|
2877
2835
|
:chapters, :pointer,
|
2878
|
-
:debug, :int,
|
2879
|
-
:raw_packet_buffer, AVPacketList.ptr,
|
2880
|
-
:raw_packet_buffer_end, AVPacketList.ptr,
|
2881
|
-
:packet_buffer_end, AVPacketList.ptr,
|
2882
2836
|
:metadata, :pointer,
|
2883
|
-
:raw_packet_buffer_remaining_size, :int,
|
2884
2837
|
:start_time_realtime, :int64,
|
2885
2838
|
:fps_probe_size, :int,
|
2886
2839
|
:error_recognition, :int,
|
2887
|
-
:interrupt_callback, AVIOInterruptCB.by_value
|
2840
|
+
:interrupt_callback, AVIOInterruptCB.by_value,
|
2841
|
+
:debug, :int,
|
2842
|
+
:packet_buffer, AVPacketList.ptr,
|
2843
|
+
:packet_buffer_end, AVPacketList.ptr,
|
2844
|
+
:data_offset, :int64,
|
2845
|
+
:raw_packet_buffer, AVPacketList.ptr,
|
2846
|
+
:raw_packet_buffer_end, AVPacketList.ptr,
|
2847
|
+
:parse_queue, AVPacketList.ptr,
|
2848
|
+
:parse_queue_end, AVPacketList.ptr,
|
2849
|
+
:raw_packet_buffer_remaining_size, :int
|
2888
2850
|
)
|
2889
2851
|
end
|
2890
2852
|
class AVPacketList < FFI::Struct
|
@@ -2908,67 +2870,48 @@ module FFI::Libav
|
|
2908
2870
|
attach_function :avformat_get_class, :avformat_get_class, [ ], :pointer
|
2909
2871
|
attach_function :avformat_new_stream, :avformat_new_stream, [ AVFormatContext.ptr, AVCodec.ptr ], AVStream.ptr
|
2910
2872
|
attach_function :av_new_program, :av_new_program, [ AVFormatContext.ptr, :int ], AVProgram.ptr
|
2911
|
-
attach_function :av_guess_image2_codec, :av_guess_image2_codec, [ :string ], CodecID
|
2912
|
-
attach_function :av_pkt_dump, :av_pkt_dump, [ :pointer, AVPacket.ptr, :int ], :void
|
2913
|
-
attach_function :av_pkt_dump_log, :av_pkt_dump_log, [ :pointer, :int, AVPacket.ptr, :int ], :void
|
2914
2873
|
attach_function :av_find_input_format, :av_find_input_format, [ :string ], AVInputFormat.ptr
|
2915
2874
|
attach_function :av_probe_input_format, :av_probe_input_format, [ AVProbeData.ptr, :int ], AVInputFormat.ptr
|
2916
2875
|
attach_function :av_probe_input_format2, :av_probe_input_format2, [ AVProbeData.ptr, :int, :pointer ], AVInputFormat.ptr
|
2917
2876
|
attach_function :av_probe_input_buffer, :av_probe_input_buffer, [ AVIOContext.ptr, :pointer, :string, :pointer, :uint, :uint ], :int
|
2918
|
-
attach_function :av_open_input_stream, :av_open_input_stream, [ :pointer, AVIOContext.ptr, :string, AVInputFormat.ptr, AVFormatParameters.ptr ], :int
|
2919
|
-
attach_function :av_open_input_file, :av_open_input_file, [ :pointer, :string, AVInputFormat.ptr, :int, AVFormatParameters.ptr ], :int
|
2920
2877
|
attach_function :avformat_open_input, :avformat_open_input, [ :pointer, :string, AVInputFormat.ptr, :pointer ], :int
|
2921
|
-
attach_function :av_find_stream_info, :av_find_stream_info, [ AVFormatContext.ptr ], :int
|
2922
2878
|
attach_function :avformat_find_stream_info, :avformat_find_stream_info, [ AVFormatContext.ptr, :pointer ], :int
|
2923
|
-
attach_function :av_find_best_stream, :av_find_best_stream, [ AVFormatContext.ptr,
|
2879
|
+
attach_function :av_find_best_stream, :av_find_best_stream, [ AVFormatContext.ptr, :int, :int, :int, :pointer, :int ], :int
|
2924
2880
|
attach_function :av_read_packet, :av_read_packet, [ AVFormatContext.ptr, AVPacket.ptr ], :int
|
2925
2881
|
attach_function :av_read_frame, :av_read_frame, [ AVFormatContext.ptr, AVPacket.ptr ], :int
|
2926
2882
|
attach_function :av_seek_frame, :av_seek_frame, [ AVFormatContext.ptr, :int, :int64, :int ], :int
|
2927
2883
|
attach_function :avformat_seek_file, :avformat_seek_file, [ AVFormatContext.ptr, :int, :int64, :int64, :int64, :int ], :int
|
2928
2884
|
attach_function :av_read_play, :av_read_play, [ AVFormatContext.ptr ], :int
|
2929
2885
|
attach_function :av_read_pause, :av_read_pause, [ AVFormatContext.ptr ], :int
|
2930
|
-
attach_function :av_close_input_stream, :av_close_input_stream, [ AVFormatContext.ptr ], :void
|
2931
2886
|
attach_function :av_close_input_file, :av_close_input_file, [ AVFormatContext.ptr ], :void
|
2932
2887
|
attach_function :avformat_close_input, :avformat_close_input, [ :pointer ], :void
|
2933
|
-
attach_function :av_new_stream, :av_new_stream, [ AVFormatContext.ptr, :int ], AVStream.ptr
|
2934
|
-
attach_function :av_set_pts_info, :av_set_pts_info, [ AVStream.ptr, :int, :uint, :uint ], :void
|
2935
2888
|
AVSEEK_FLAG_BACKWARD = 1
|
2936
2889
|
AVSEEK_FLAG_BYTE = 2
|
2937
2890
|
AVSEEK_FLAG_ANY = 4
|
2938
2891
|
AVSEEK_FLAG_FRAME = 8
|
2939
|
-
attach_function :av_seek_frame_binary, :av_seek_frame_binary, [ AVFormatContext.ptr, :int, :int64, :int ], :int
|
2940
|
-
attach_function :av_update_cur_dts, :av_update_cur_dts, [ AVFormatContext.ptr, AVStream.ptr, :int64 ], :void
|
2941
|
-
attach_function :av_gen_search, :av_gen_search, [ AVFormatContext.ptr, :int, :int64, :int64, :int64, :int64, :int64, :int64, :int, :pointer, callback([ AVFormatContext.ptr, :int, :pointer, :int64 ], :int64) ], :int64
|
2942
|
-
attach_function :av_set_parameters, :av_set_parameters, [ AVFormatContext.ptr, AVFormatParameters.ptr ], :int
|
2943
2892
|
attach_function :avformat_write_header, :avformat_write_header, [ AVFormatContext.ptr, :pointer ], :int
|
2944
|
-
attach_function :av_write_header, :av_write_header, [ AVFormatContext.ptr ], :int
|
2945
2893
|
attach_function :av_write_frame, :av_write_frame, [ AVFormatContext.ptr, AVPacket.ptr ], :int
|
2946
2894
|
attach_function :av_interleaved_write_frame, :av_interleaved_write_frame, [ AVFormatContext.ptr, AVPacket.ptr ], :int
|
2947
2895
|
attach_function :av_interleave_packet_per_dts, :av_interleave_packet_per_dts, [ AVFormatContext.ptr, AVPacket.ptr, AVPacket.ptr, :int ], :int
|
2948
2896
|
attach_function :av_write_trailer, :av_write_trailer, [ AVFormatContext.ptr ], :int
|
2949
2897
|
attach_function :av_guess_format, :av_guess_format, [ :string, :string, :string ], AVOutputFormat.ptr
|
2950
|
-
attach_function :av_guess_codec, :av_guess_codec, [ AVOutputFormat.ptr, :string, :string, :string,
|
2898
|
+
attach_function :av_guess_codec, :av_guess_codec, [ AVOutputFormat.ptr, :string, :string, :string, :int ], :int
|
2951
2899
|
attach_function :av_hex_dump, :av_hex_dump, [ :pointer, :pointer, :int ], :void
|
2952
2900
|
attach_function :av_hex_dump_log, :av_hex_dump_log, [ :pointer, :int, :pointer, :int ], :void
|
2953
2901
|
attach_function :av_pkt_dump2, :av_pkt_dump2, [ :pointer, AVPacket.ptr, :int, AVStream.ptr ], :void
|
2954
2902
|
attach_function :av_pkt_dump_log2, :av_pkt_dump_log2, [ :pointer, :int, AVPacket.ptr, :int, AVStream.ptr ], :void
|
2955
2903
|
attach_function :av_codec_get_id, :av_codec_get_id, [ :pointer, :uint ], :pointer
|
2956
|
-
attach_function :av_codec_get_tag, :av_codec_get_tag, [ :pointer,
|
2904
|
+
attach_function :av_codec_get_tag, :av_codec_get_tag, [ :pointer, :int ], :pointer
|
2957
2905
|
attach_function :av_find_default_stream_index, :av_find_default_stream_index, [ AVFormatContext.ptr ], :int
|
2958
2906
|
attach_function :av_index_search_timestamp, :av_index_search_timestamp, [ AVStream.ptr, :int64, :int ], :int
|
2959
2907
|
attach_function :av_add_index_entry, :av_add_index_entry, [ AVStream.ptr, :int64, :int64, :int, :int, :int ], :int
|
2960
2908
|
attach_function :av_url_split, :av_url_split, [ :string, :int, :string, :int, :string, :int, :pointer, :string, :int, :string ], :void
|
2961
|
-
attach_function :dump_format, :dump_format, [ AVFormatContext.ptr, :int, :string, :int ], :void
|
2962
2909
|
attach_function :av_dump_format, :av_dump_format, [ AVFormatContext.ptr, :int, :string, :int ], :void
|
2963
|
-
attach_function :parse_date, :parse_date, [ :string, :int ], :int64
|
2964
|
-
attach_function :av_gettime, :av_gettime, [ ], :int64
|
2965
|
-
attach_function :find_info_tag, :find_info_tag, [ :string, :int, :string, :string ], :int
|
2966
2910
|
attach_function :av_get_frame_filename, :av_get_frame_filename, [ :string, :int, :string, :int ], :int
|
2967
2911
|
attach_function :av_filename_number_test, :av_filename_number_test, [ :string ], :int
|
2968
2912
|
attach_function :av_sdp_create, :av_sdp_create, [ :pointer, :int, :string, :int ], :pointer
|
2969
|
-
attach_function :avf_sdp_create, :avf_sdp_create, [ :pointer, :int, :string, :int ], :pointer
|
2970
2913
|
attach_function :av_match_ext, :av_match_ext, [ :string, :string ], :int
|
2971
|
-
attach_function :avformat_query_codec, :avformat_query_codec, [ AVOutputFormat.ptr,
|
2914
|
+
attach_function :avformat_query_codec, :avformat_query_codec, [ AVOutputFormat.ptr, :int, :int ], :int
|
2972
2915
|
attach_function :avformat_get_riff_video_tags, :avformat_get_riff_video_tags, [ ], :pointer
|
2973
2916
|
attach_function :avformat_get_riff_audio_tags, :avformat_get_riff_audio_tags, [ ], :pointer
|
2974
2917
|
|
@@ -2977,12 +2920,6 @@ module FFI::Libav
|
|
2977
2920
|
|
2978
2921
|
class SwsVector < FFI::Struct; end
|
2979
2922
|
class SwsFilter < FFI::Struct; end
|
2980
|
-
LIBSWSCALE_VERSION_MAJOR = 2
|
2981
|
-
LIBSWSCALE_VERSION_MINOR = 1
|
2982
|
-
LIBSWSCALE_VERSION_MICRO = 0
|
2983
|
-
LIBSWSCALE_VERSION_INT = (2 << 16|1 << 8|0)
|
2984
|
-
LIBSWSCALE_BUILD = (2 << 16|1 << 8|0)
|
2985
|
-
LIBSWSCALE_IDENT = 'SwS2.1.0'
|
2986
2923
|
attach_function :swscale_version, :swscale_version, [ ], :uint
|
2987
2924
|
attach_function :swscale_configuration, :swscale_configuration, [ ], :string
|
2988
2925
|
attach_function :swscale_license, :swscale_license, [ ], :string
|
@@ -3006,12 +2943,6 @@ module FFI::Libav
|
|
3006
2943
|
SWS_DIRECT_BGR = 0x8000
|
3007
2944
|
SWS_ACCURATE_RND = 0x40000
|
3008
2945
|
SWS_BITEXACT = 0x80000
|
3009
|
-
SWS_CPU_CAPS_MMX = 0x80000000
|
3010
|
-
SWS_CPU_CAPS_MMX2 = 0x20000000
|
3011
|
-
SWS_CPU_CAPS_3DNOW = 0x40000000
|
3012
|
-
SWS_CPU_CAPS_ALTIVEC = 0x10000000
|
3013
|
-
SWS_CPU_CAPS_BFIN = 0x01000000
|
3014
|
-
SWS_CPU_CAPS_SSE2 = 0x02000000
|
3015
2946
|
SWS_MAX_REDUCE_CUTOFF = 0.002
|
3016
2947
|
SWS_CS_ITU709 = 1
|
3017
2948
|
SWS_CS_FCC = 4
|
@@ -3035,12 +2966,11 @@ module FFI::Libav
|
|
3035
2966
|
:chrV, SwsVector.ptr
|
3036
2967
|
)
|
3037
2968
|
end
|
3038
|
-
attach_function :sws_isSupportedInput, :sws_isSupportedInput, [
|
3039
|
-
attach_function :sws_isSupportedOutput, :sws_isSupportedOutput, [
|
2969
|
+
attach_function :sws_isSupportedInput, :sws_isSupportedInput, [ :int ], :int
|
2970
|
+
attach_function :sws_isSupportedOutput, :sws_isSupportedOutput, [ :int ], :int
|
3040
2971
|
attach_function :sws_alloc_context, :sws_alloc_context, [ ], :pointer
|
3041
2972
|
attach_function :sws_init_context, :sws_init_context, [ :pointer, SwsFilter.ptr, SwsFilter.ptr ], :int
|
3042
2973
|
attach_function :sws_freeContext, :sws_freeContext, [ :pointer ], :void
|
3043
|
-
attach_function :sws_getContext, :sws_getContext, [ :int, :int, PixelFormat, :int, :int, PixelFormat, :int, SwsFilter.ptr, SwsFilter.ptr, :pointer ], :pointer
|
3044
2974
|
attach_function :sws_scale, :sws_scale, [ :pointer, :pointer, :pointer, :int, :int, :pointer, :pointer ], :pointer
|
3045
2975
|
attach_function :sws_setColorspaceDetails, :sws_setColorspaceDetails, [ :pointer, :pointer, :int, :pointer, :int, :int, :int, :int ], :int
|
3046
2976
|
attach_function :sws_getColorspaceDetails, :sws_getColorspaceDetails, [ :pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer ], :int
|
@@ -3059,7 +2989,7 @@ module FFI::Libav
|
|
3059
2989
|
attach_function :sws_freeVec, :sws_freeVec, [ SwsVector.ptr ], :void
|
3060
2990
|
attach_function :sws_getDefaultFilter, :sws_getDefaultFilter, [ :float, :float, :float, :float, :float, :float, :int ], SwsFilter.ptr
|
3061
2991
|
attach_function :sws_freeFilter, :sws_freeFilter, [ SwsFilter.ptr ], :void
|
3062
|
-
attach_function :sws_getCachedContext, :sws_getCachedContext, [ :pointer, :int, :int,
|
2992
|
+
attach_function :sws_getCachedContext, :sws_getCachedContext, [ :pointer, :int, :int, :int, :int, :int, :int, :int, SwsFilter.ptr, SwsFilter.ptr, :pointer ], :pointer
|
3063
2993
|
attach_function :sws_convertPalette8ToPacked32, :sws_convertPalette8ToPacked32, [ :pointer, :pointer, :int, :pointer ], :void
|
3064
2994
|
attach_function :sws_convertPalette8ToPacked24, :sws_convertPalette8ToPacked24, [ :pointer, :pointer, :int, :pointer ], :void
|
3065
2995
|
attach_function :sws_get_class, :sws_get_class, [ ], :pointer
|