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 CHANGED
@@ -1,6 +1,16 @@
1
1
  # FFI::Libav
2
2
 
3
- Ruby FFI bindings and wrappers for Libav libraries, version 0.8.6.
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
@@ -1,7 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
3
  rule ".rb" => ".xml" do |t|
4
- sh "../ffi-swig-generator/bin/ffi-gen #{t.prerequisites.first} #{t.name}"
4
+ sh "bundle exec ffi-gen #{t.prerequisites.first} #{t.name}"
5
5
  end
6
6
 
7
7
  rule ".xml" => ".i" do |t|
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.51", "libavutil.51.dylib" ]
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.53", "libavcodec.53.dylib" ]
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.53", "libavformat.53.dylib" ]
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.51", "libavutil.51.dylib" ]
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, [ AVPictureType ], :char
60
- PIX_FMT_NONE = -1
61
- PIX_FMT_YUV420P = PIX_FMT_NONE + 1
62
- PIX_FMT_YUYV422 = PIX_FMT_YUV420P + 1
63
- PIX_FMT_RGB24 = PIX_FMT_YUYV422 + 1
64
- PIX_FMT_BGR24 = PIX_FMT_RGB24 + 1
65
- PIX_FMT_YUV422P = PIX_FMT_BGR24 + 1
66
- PIX_FMT_YUV444P = PIX_FMT_YUV422P + 1
67
- PIX_FMT_YUV410P = PIX_FMT_YUV444P + 1
68
- PIX_FMT_YUV411P = PIX_FMT_YUV410P + 1
69
- PIX_FMT_GRAY8 = PIX_FMT_YUV411P + 1
70
- PIX_FMT_MONOWHITE = PIX_FMT_GRAY8 + 1
71
- PIX_FMT_MONOBLACK = PIX_FMT_MONOWHITE + 1
72
- PIX_FMT_PAL8 = PIX_FMT_MONOBLACK + 1
73
- PIX_FMT_YUVJ420P = PIX_FMT_PAL8 + 1
74
- PIX_FMT_YUVJ422P = PIX_FMT_YUVJ420P + 1
75
- PIX_FMT_YUVJ444P = PIX_FMT_YUVJ422P + 1
76
- PIX_FMT_XVMC_MPEG2_MC = PIX_FMT_YUVJ444P + 1
77
- PIX_FMT_XVMC_MPEG2_IDCT = PIX_FMT_XVMC_MPEG2_MC + 1
78
- PIX_FMT_UYVY422 = PIX_FMT_XVMC_MPEG2_IDCT + 1
79
- PIX_FMT_UYYVYY411 = PIX_FMT_UYVY422 + 1
80
- PIX_FMT_BGR8 = PIX_FMT_UYYVYY411 + 1
81
- PIX_FMT_BGR4 = PIX_FMT_BGR8 + 1
82
- PIX_FMT_BGR4_BYTE = PIX_FMT_BGR4 + 1
83
- PIX_FMT_RGB8 = PIX_FMT_BGR4_BYTE + 1
84
- PIX_FMT_RGB4 = PIX_FMT_RGB8 + 1
85
- PIX_FMT_RGB4_BYTE = PIX_FMT_RGB4 + 1
86
- PIX_FMT_NV12 = PIX_FMT_RGB4_BYTE + 1
87
- PIX_FMT_NV21 = PIX_FMT_NV12 + 1
88
- PIX_FMT_ARGB = PIX_FMT_NV21 + 1
89
- PIX_FMT_RGBA = PIX_FMT_ARGB + 1
90
- PIX_FMT_ABGR = PIX_FMT_RGBA + 1
91
- PIX_FMT_BGRA = PIX_FMT_ABGR + 1
92
- PIX_FMT_GRAY16BE = PIX_FMT_BGRA + 1
93
- PIX_FMT_GRAY16LE = PIX_FMT_GRAY16BE + 1
94
- PIX_FMT_YUV440P = PIX_FMT_GRAY16LE + 1
95
- PIX_FMT_YUVJ440P = PIX_FMT_YUV440P + 1
96
- PIX_FMT_YUVA420P = PIX_FMT_YUVJ440P + 1
97
- PIX_FMT_VDPAU_H264 = PIX_FMT_YUVA420P + 1
98
- PIX_FMT_VDPAU_MPEG1 = PIX_FMT_VDPAU_H264 + 1
99
- PIX_FMT_VDPAU_MPEG2 = PIX_FMT_VDPAU_MPEG1 + 1
100
- PIX_FMT_VDPAU_WMV3 = PIX_FMT_VDPAU_MPEG2 + 1
101
- PIX_FMT_VDPAU_VC1 = PIX_FMT_VDPAU_WMV3 + 1
102
- PIX_FMT_RGB48BE = PIX_FMT_VDPAU_VC1 + 1
103
- PIX_FMT_RGB48LE = PIX_FMT_RGB48BE + 1
104
- PIX_FMT_RGB565BE = PIX_FMT_RGB48LE + 1
105
- PIX_FMT_RGB565LE = PIX_FMT_RGB565BE + 1
106
- PIX_FMT_RGB555BE = PIX_FMT_RGB565LE + 1
107
- PIX_FMT_RGB555LE = PIX_FMT_RGB555BE + 1
108
- PIX_FMT_BGR565BE = PIX_FMT_RGB555LE + 1
109
- PIX_FMT_BGR565LE = PIX_FMT_BGR565BE + 1
110
- PIX_FMT_BGR555BE = PIX_FMT_BGR565LE + 1
111
- PIX_FMT_BGR555LE = PIX_FMT_BGR555BE + 1
112
- PIX_FMT_VAAPI_MOCO = PIX_FMT_BGR555LE + 1
113
- PIX_FMT_VAAPI_IDCT = PIX_FMT_VAAPI_MOCO + 1
114
- PIX_FMT_VAAPI_VLD = PIX_FMT_VAAPI_IDCT + 1
115
- PIX_FMT_YUV420P16LE = PIX_FMT_VAAPI_VLD + 1
116
- PIX_FMT_YUV420P16BE = PIX_FMT_YUV420P16LE + 1
117
- PIX_FMT_YUV422P16LE = PIX_FMT_YUV420P16BE + 1
118
- PIX_FMT_YUV422P16BE = PIX_FMT_YUV422P16LE + 1
119
- PIX_FMT_YUV444P16LE = PIX_FMT_YUV422P16BE + 1
120
- PIX_FMT_YUV444P16BE = PIX_FMT_YUV444P16LE + 1
121
- PIX_FMT_VDPAU_MPEG4 = PIX_FMT_YUV444P16BE + 1
122
- PIX_FMT_DXVA2_VLD = PIX_FMT_VDPAU_MPEG4 + 1
123
- PIX_FMT_RGB444LE = PIX_FMT_DXVA2_VLD + 1
124
- PIX_FMT_RGB444BE = PIX_FMT_RGB444LE + 1
125
- PIX_FMT_BGR444LE = PIX_FMT_RGB444BE + 1
126
- PIX_FMT_BGR444BE = PIX_FMT_BGR444LE + 1
127
- PIX_FMT_Y400A = PIX_FMT_BGR444BE + 1
128
- PIX_FMT_BGR48BE = PIX_FMT_Y400A + 1
129
- PIX_FMT_BGR48LE = PIX_FMT_BGR48BE + 1
130
- PIX_FMT_YUV420P9BE = PIX_FMT_BGR48LE + 1
131
- PIX_FMT_YUV420P9LE = PIX_FMT_YUV420P9BE + 1
132
- PIX_FMT_YUV420P10BE = PIX_FMT_YUV420P9LE + 1
133
- PIX_FMT_YUV420P10LE = PIX_FMT_YUV420P10BE + 1
134
- PIX_FMT_YUV422P10BE = PIX_FMT_YUV420P10LE + 1
135
- PIX_FMT_YUV422P10LE = PIX_FMT_YUV422P10BE + 1
136
- PIX_FMT_YUV444P9BE = PIX_FMT_YUV422P10LE + 1
137
- PIX_FMT_YUV444P9LE = PIX_FMT_YUV444P9BE + 1
138
- PIX_FMT_YUV444P10BE = PIX_FMT_YUV444P9LE + 1
139
- PIX_FMT_YUV444P10LE = PIX_FMT_YUV444P10BE + 1
140
- PIX_FMT_YUV422P9BE = PIX_FMT_YUV444P10LE + 1
141
- PIX_FMT_YUV422P9LE = PIX_FMT_YUV422P9BE + 1
142
- PIX_FMT_VDA_VLD = PIX_FMT_YUV422P9LE + 1
143
- PIX_FMT_GBRP = PIX_FMT_VDA_VLD + 1
144
- PIX_FMT_GBRP9BE = PIX_FMT_GBRP + 1
145
- PIX_FMT_GBRP9LE = PIX_FMT_GBRP9BE + 1
146
- PIX_FMT_GBRP10BE = PIX_FMT_GBRP9LE + 1
147
- PIX_FMT_GBRP10LE = PIX_FMT_GBRP10BE + 1
148
- PIX_FMT_GBRP16BE = PIX_FMT_GBRP10LE + 1
149
- PIX_FMT_GBRP16LE = PIX_FMT_GBRP16BE + 1
150
- PIX_FMT_NB = PIX_FMT_GBRP16LE + 1
151
- PixelFormat = enum :PixelFormat, [
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
- M_E = 2.7182818284590452354
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, AVRounding ], :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.53", "libavcodec.53.dylib" ]
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 AVPicture < FFI::Struct; end
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 = 53
349
+ LIBAVCODEC_VERSION_MAJOR = 54
324
350
  LIBAVCODEC_VERSION_MINOR = 35
325
351
  LIBAVCODEC_VERSION_MICRO = 0
326
- LIBAVCODEC_VERSION_INT = (53 << 16|35 << 8|0)
327
- LIBAVCODEC_BUILD = (53 << 16|35 << 8|0)
328
- LIBAVCODEC_IDENT = 'Lavc53.35.0'
329
- CODEC_ID_NONE = 0
330
- CODEC_ID_MPEG1VIDEO = CODEC_ID_NONE + 1
331
- CODEC_ID_MPEG2VIDEO = CODEC_ID_MPEG1VIDEO + 1
332
- CODEC_ID_MPEG2VIDEO_XVMC = CODEC_ID_MPEG2VIDEO + 1
333
- CODEC_ID_H261 = CODEC_ID_MPEG2VIDEO_XVMC + 1
334
- CODEC_ID_H263 = CODEC_ID_H261 + 1
335
- CODEC_ID_RV10 = CODEC_ID_H263 + 1
336
- CODEC_ID_RV20 = CODEC_ID_RV10 + 1
337
- CODEC_ID_MJPEG = CODEC_ID_RV20 + 1
338
- CODEC_ID_MJPEGB = CODEC_ID_MJPEG + 1
339
- CODEC_ID_LJPEG = CODEC_ID_MJPEGB + 1
340
- CODEC_ID_SP5X = CODEC_ID_LJPEG + 1
341
- CODEC_ID_JPEGLS = CODEC_ID_SP5X + 1
342
- CODEC_ID_MPEG4 = CODEC_ID_JPEGLS + 1
343
- CODEC_ID_RAWVIDEO = CODEC_ID_MPEG4 + 1
344
- CODEC_ID_MSMPEG4V1 = CODEC_ID_RAWVIDEO + 1
345
- CODEC_ID_MSMPEG4V2 = CODEC_ID_MSMPEG4V1 + 1
346
- CODEC_ID_MSMPEG4V3 = CODEC_ID_MSMPEG4V2 + 1
347
- CODEC_ID_WMV1 = CODEC_ID_MSMPEG4V3 + 1
348
- CODEC_ID_WMV2 = CODEC_ID_WMV1 + 1
349
- CODEC_ID_H263P = CODEC_ID_WMV2 + 1
350
- CODEC_ID_H263I = CODEC_ID_H263P + 1
351
- CODEC_ID_FLV1 = CODEC_ID_H263I + 1
352
- CODEC_ID_SVQ1 = CODEC_ID_FLV1 + 1
353
- CODEC_ID_SVQ3 = CODEC_ID_SVQ1 + 1
354
- CODEC_ID_DVVIDEO = CODEC_ID_SVQ3 + 1
355
- CODEC_ID_HUFFYUV = CODEC_ID_DVVIDEO + 1
356
- CODEC_ID_CYUV = CODEC_ID_HUFFYUV + 1
357
- CODEC_ID_H264 = CODEC_ID_CYUV + 1
358
- CODEC_ID_INDEO3 = CODEC_ID_H264 + 1
359
- CODEC_ID_VP3 = CODEC_ID_INDEO3 + 1
360
- CODEC_ID_THEORA = CODEC_ID_VP3 + 1
361
- CODEC_ID_ASV1 = CODEC_ID_THEORA + 1
362
- CODEC_ID_ASV2 = CODEC_ID_ASV1 + 1
363
- CODEC_ID_FFV1 = CODEC_ID_ASV2 + 1
364
- CODEC_ID_4XM = CODEC_ID_FFV1 + 1
365
- CODEC_ID_VCR1 = CODEC_ID_4XM + 1
366
- CODEC_ID_CLJR = CODEC_ID_VCR1 + 1
367
- CODEC_ID_MDEC = CODEC_ID_CLJR + 1
368
- CODEC_ID_ROQ = CODEC_ID_MDEC + 1
369
- CODEC_ID_INTERPLAY_VIDEO = CODEC_ID_ROQ + 1
370
- CODEC_ID_XAN_WC3 = CODEC_ID_INTERPLAY_VIDEO + 1
371
- CODEC_ID_XAN_WC4 = CODEC_ID_XAN_WC3 + 1
372
- CODEC_ID_RPZA = CODEC_ID_XAN_WC4 + 1
373
- CODEC_ID_CINEPAK = CODEC_ID_RPZA + 1
374
- CODEC_ID_WS_VQA = CODEC_ID_CINEPAK + 1
375
- CODEC_ID_MSRLE = CODEC_ID_WS_VQA + 1
376
- CODEC_ID_MSVIDEO1 = CODEC_ID_MSRLE + 1
377
- CODEC_ID_IDCIN = CODEC_ID_MSVIDEO1 + 1
378
- CODEC_ID_8BPS = CODEC_ID_IDCIN + 1
379
- CODEC_ID_SMC = CODEC_ID_8BPS + 1
380
- CODEC_ID_FLIC = CODEC_ID_SMC + 1
381
- CODEC_ID_TRUEMOTION1 = CODEC_ID_FLIC + 1
382
- CODEC_ID_VMDVIDEO = CODEC_ID_TRUEMOTION1 + 1
383
- CODEC_ID_MSZH = CODEC_ID_VMDVIDEO + 1
384
- CODEC_ID_ZLIB = CODEC_ID_MSZH + 1
385
- CODEC_ID_QTRLE = CODEC_ID_ZLIB + 1
386
- CODEC_ID_SNOW = CODEC_ID_QTRLE + 1
387
- CODEC_ID_TSCC = CODEC_ID_SNOW + 1
388
- CODEC_ID_ULTI = CODEC_ID_TSCC + 1
389
- CODEC_ID_QDRAW = CODEC_ID_ULTI + 1
390
- CODEC_ID_VIXL = CODEC_ID_QDRAW + 1
391
- CODEC_ID_QPEG = CODEC_ID_VIXL + 1
392
- CODEC_ID_PNG = CODEC_ID_QPEG + 1
393
- CODEC_ID_PPM = CODEC_ID_PNG + 1
394
- CODEC_ID_PBM = CODEC_ID_PPM + 1
395
- CODEC_ID_PGM = CODEC_ID_PBM + 1
396
- CODEC_ID_PGMYUV = CODEC_ID_PGM + 1
397
- CODEC_ID_PAM = CODEC_ID_PGMYUV + 1
398
- CODEC_ID_FFVHUFF = CODEC_ID_PAM + 1
399
- CODEC_ID_RV30 = CODEC_ID_FFVHUFF + 1
400
- CODEC_ID_RV40 = CODEC_ID_RV30 + 1
401
- CODEC_ID_VC1 = CODEC_ID_RV40 + 1
402
- CODEC_ID_WMV3 = CODEC_ID_VC1 + 1
403
- CODEC_ID_LOCO = CODEC_ID_WMV3 + 1
404
- CODEC_ID_WNV1 = CODEC_ID_LOCO + 1
405
- CODEC_ID_AASC = CODEC_ID_WNV1 + 1
406
- CODEC_ID_INDEO2 = CODEC_ID_AASC + 1
407
- CODEC_ID_FRAPS = CODEC_ID_INDEO2 + 1
408
- CODEC_ID_TRUEMOTION2 = CODEC_ID_FRAPS + 1
409
- CODEC_ID_BMP = CODEC_ID_TRUEMOTION2 + 1
410
- CODEC_ID_CSCD = CODEC_ID_BMP + 1
411
- CODEC_ID_MMVIDEO = CODEC_ID_CSCD + 1
412
- CODEC_ID_ZMBV = CODEC_ID_MMVIDEO + 1
413
- CODEC_ID_AVS = CODEC_ID_ZMBV + 1
414
- CODEC_ID_SMACKVIDEO = CODEC_ID_AVS + 1
415
- CODEC_ID_NUV = CODEC_ID_SMACKVIDEO + 1
416
- CODEC_ID_KMVC = CODEC_ID_NUV + 1
417
- CODEC_ID_FLASHSV = CODEC_ID_KMVC + 1
418
- CODEC_ID_CAVS = CODEC_ID_FLASHSV + 1
419
- CODEC_ID_JPEG2000 = CODEC_ID_CAVS + 1
420
- CODEC_ID_VMNC = CODEC_ID_JPEG2000 + 1
421
- CODEC_ID_VP5 = CODEC_ID_VMNC + 1
422
- CODEC_ID_VP6 = CODEC_ID_VP5 + 1
423
- CODEC_ID_VP6F = CODEC_ID_VP6 + 1
424
- CODEC_ID_TARGA = CODEC_ID_VP6F + 1
425
- CODEC_ID_DSICINVIDEO = CODEC_ID_TARGA + 1
426
- CODEC_ID_TIERTEXSEQVIDEO = CODEC_ID_DSICINVIDEO + 1
427
- CODEC_ID_TIFF = CODEC_ID_TIERTEXSEQVIDEO + 1
428
- CODEC_ID_GIF = CODEC_ID_TIFF + 1
429
- CODEC_ID_FFH264 = CODEC_ID_GIF + 1
430
- CODEC_ID_DXA = CODEC_ID_FFH264 + 1
431
- CODEC_ID_DNXHD = CODEC_ID_DXA + 1
432
- CODEC_ID_THP = CODEC_ID_DNXHD + 1
433
- CODEC_ID_SGI = CODEC_ID_THP + 1
434
- CODEC_ID_C93 = CODEC_ID_SGI + 1
435
- CODEC_ID_BETHSOFTVID = CODEC_ID_C93 + 1
436
- CODEC_ID_PTX = CODEC_ID_BETHSOFTVID + 1
437
- CODEC_ID_TXD = CODEC_ID_PTX + 1
438
- CODEC_ID_VP6A = CODEC_ID_TXD + 1
439
- CODEC_ID_AMV = CODEC_ID_VP6A + 1
440
- CODEC_ID_VB = CODEC_ID_AMV + 1
441
- CODEC_ID_PCX = CODEC_ID_VB + 1
442
- CODEC_ID_SUNRAST = CODEC_ID_PCX + 1
443
- CODEC_ID_INDEO4 = CODEC_ID_SUNRAST + 1
444
- CODEC_ID_INDEO5 = CODEC_ID_INDEO4 + 1
445
- CODEC_ID_MIMIC = CODEC_ID_INDEO5 + 1
446
- CODEC_ID_RL2 = CODEC_ID_MIMIC + 1
447
- CODEC_ID_8SVX_EXP = CODEC_ID_RL2 + 1
448
- CODEC_ID_8SVX_FIB = CODEC_ID_8SVX_EXP + 1
449
- CODEC_ID_ESCAPE124 = CODEC_ID_8SVX_FIB + 1
450
- CODEC_ID_DIRAC = CODEC_ID_ESCAPE124 + 1
451
- CODEC_ID_BFI = CODEC_ID_DIRAC + 1
452
- CODEC_ID_CMV = CODEC_ID_BFI + 1
453
- CODEC_ID_MOTIONPIXELS = CODEC_ID_CMV + 1
454
- CODEC_ID_TGV = CODEC_ID_MOTIONPIXELS + 1
455
- CODEC_ID_TGQ = CODEC_ID_TGV + 1
456
- CODEC_ID_TQI = CODEC_ID_TGQ + 1
457
- CODEC_ID_AURA = CODEC_ID_TQI + 1
458
- CODEC_ID_AURA2 = CODEC_ID_AURA + 1
459
- CODEC_ID_V210X = CODEC_ID_AURA2 + 1
460
- CODEC_ID_TMV = CODEC_ID_V210X + 1
461
- CODEC_ID_V210 = CODEC_ID_TMV + 1
462
- CODEC_ID_DPX = CODEC_ID_V210 + 1
463
- CODEC_ID_MAD = CODEC_ID_DPX + 1
464
- CODEC_ID_FRWU = CODEC_ID_MAD + 1
465
- CODEC_ID_FLASHSV2 = CODEC_ID_FRWU + 1
466
- CODEC_ID_CDGRAPHICS = CODEC_ID_FLASHSV2 + 1
467
- CODEC_ID_R210 = CODEC_ID_CDGRAPHICS + 1
468
- CODEC_ID_ANM = CODEC_ID_R210 + 1
469
- CODEC_ID_BINKVIDEO = CODEC_ID_ANM + 1
470
- CODEC_ID_IFF_ILBM = CODEC_ID_BINKVIDEO + 1
471
- CODEC_ID_IFF_BYTERUN1 = CODEC_ID_IFF_ILBM + 1
472
- CODEC_ID_KGV1 = CODEC_ID_IFF_BYTERUN1 + 1
473
- CODEC_ID_YOP = CODEC_ID_KGV1 + 1
474
- CODEC_ID_VP8 = CODEC_ID_YOP + 1
475
- CODEC_ID_PICTOR = CODEC_ID_VP8 + 1
476
- CODEC_ID_ANSI = CODEC_ID_PICTOR + 1
477
- CODEC_ID_A64_MULTI = CODEC_ID_ANSI + 1
478
- CODEC_ID_A64_MULTI5 = CODEC_ID_A64_MULTI + 1
479
- CODEC_ID_R10K = CODEC_ID_A64_MULTI5 + 1
480
- CODEC_ID_MXPEG = CODEC_ID_R10K + 1
481
- CODEC_ID_LAGARITH = CODEC_ID_MXPEG + 1
482
- CODEC_ID_PRORES = CODEC_ID_LAGARITH + 1
483
- CODEC_ID_JV = CODEC_ID_PRORES + 1
484
- CODEC_ID_DFA = CODEC_ID_JV + 1
485
- CODEC_ID_WMV3IMAGE = CODEC_ID_DFA + 1
486
- CODEC_ID_VC1IMAGE = CODEC_ID_WMV3IMAGE + 1
487
- CODEC_ID_G723_1 = CODEC_ID_VC1IMAGE + 1
488
- CODEC_ID_G729 = CODEC_ID_G723_1 + 1
489
- CODEC_ID_UTVIDEO = CODEC_ID_G729 + 1
490
- CODEC_ID_BMV_VIDEO = CODEC_ID_UTVIDEO + 1
491
- CODEC_ID_VBLE = CODEC_ID_BMV_VIDEO + 1
492
- CODEC_ID_DXTORY = CODEC_ID_VBLE + 1
493
- CODEC_ID_V410 = CODEC_ID_DXTORY + 1
494
- CODEC_ID_FIRST_AUDIO = 0x10000
495
- CODEC_ID_PCM_S16LE = 0x10000
496
- CODEC_ID_PCM_S16BE = CODEC_ID_PCM_S16LE + 1
497
- CODEC_ID_PCM_U16LE = CODEC_ID_PCM_S16BE + 1
498
- CODEC_ID_PCM_U16BE = CODEC_ID_PCM_U16LE + 1
499
- CODEC_ID_PCM_S8 = CODEC_ID_PCM_U16BE + 1
500
- CODEC_ID_PCM_U8 = CODEC_ID_PCM_S8 + 1
501
- CODEC_ID_PCM_MULAW = CODEC_ID_PCM_U8 + 1
502
- CODEC_ID_PCM_ALAW = CODEC_ID_PCM_MULAW + 1
503
- CODEC_ID_PCM_S32LE = CODEC_ID_PCM_ALAW + 1
504
- CODEC_ID_PCM_S32BE = CODEC_ID_PCM_S32LE + 1
505
- CODEC_ID_PCM_U32LE = CODEC_ID_PCM_S32BE + 1
506
- CODEC_ID_PCM_U32BE = CODEC_ID_PCM_U32LE + 1
507
- CODEC_ID_PCM_S24LE = CODEC_ID_PCM_U32BE + 1
508
- CODEC_ID_PCM_S24BE = CODEC_ID_PCM_S24LE + 1
509
- CODEC_ID_PCM_U24LE = CODEC_ID_PCM_S24BE + 1
510
- CODEC_ID_PCM_U24BE = CODEC_ID_PCM_U24LE + 1
511
- CODEC_ID_PCM_S24DAUD = CODEC_ID_PCM_U24BE + 1
512
- CODEC_ID_PCM_ZORK = CODEC_ID_PCM_S24DAUD + 1
513
- CODEC_ID_PCM_S16LE_PLANAR = CODEC_ID_PCM_ZORK + 1
514
- CODEC_ID_PCM_DVD = CODEC_ID_PCM_S16LE_PLANAR + 1
515
- CODEC_ID_PCM_F32BE = CODEC_ID_PCM_DVD + 1
516
- CODEC_ID_PCM_F32LE = CODEC_ID_PCM_F32BE + 1
517
- CODEC_ID_PCM_F64BE = CODEC_ID_PCM_F32LE + 1
518
- CODEC_ID_PCM_F64LE = CODEC_ID_PCM_F64BE + 1
519
- CODEC_ID_PCM_BLURAY = CODEC_ID_PCM_F64LE + 1
520
- CODEC_ID_PCM_LXF = CODEC_ID_PCM_BLURAY + 1
521
- CODEC_ID_S302M = CODEC_ID_PCM_LXF + 1
522
- CODEC_ID_PCM_S8_PLANAR = CODEC_ID_S302M + 1
523
- CODEC_ID_ADPCM_IMA_QT = 0x11000
524
- CODEC_ID_ADPCM_IMA_WAV = CODEC_ID_ADPCM_IMA_QT + 1
525
- CODEC_ID_ADPCM_IMA_DK3 = CODEC_ID_ADPCM_IMA_WAV + 1
526
- CODEC_ID_ADPCM_IMA_DK4 = CODEC_ID_ADPCM_IMA_DK3 + 1
527
- CODEC_ID_ADPCM_IMA_WS = CODEC_ID_ADPCM_IMA_DK4 + 1
528
- CODEC_ID_ADPCM_IMA_SMJPEG = CODEC_ID_ADPCM_IMA_WS + 1
529
- CODEC_ID_ADPCM_MS = CODEC_ID_ADPCM_IMA_SMJPEG + 1
530
- CODEC_ID_ADPCM_4XM = CODEC_ID_ADPCM_MS + 1
531
- CODEC_ID_ADPCM_XA = CODEC_ID_ADPCM_4XM + 1
532
- CODEC_ID_ADPCM_ADX = CODEC_ID_ADPCM_XA + 1
533
- CODEC_ID_ADPCM_EA = CODEC_ID_ADPCM_ADX + 1
534
- CODEC_ID_ADPCM_G726 = CODEC_ID_ADPCM_EA + 1
535
- CODEC_ID_ADPCM_CT = CODEC_ID_ADPCM_G726 + 1
536
- CODEC_ID_ADPCM_SWF = CODEC_ID_ADPCM_CT + 1
537
- CODEC_ID_ADPCM_YAMAHA = CODEC_ID_ADPCM_SWF + 1
538
- CODEC_ID_ADPCM_SBPRO_4 = CODEC_ID_ADPCM_YAMAHA + 1
539
- CODEC_ID_ADPCM_SBPRO_3 = CODEC_ID_ADPCM_SBPRO_4 + 1
540
- CODEC_ID_ADPCM_SBPRO_2 = CODEC_ID_ADPCM_SBPRO_3 + 1
541
- CODEC_ID_ADPCM_THP = CODEC_ID_ADPCM_SBPRO_2 + 1
542
- CODEC_ID_ADPCM_IMA_AMV = CODEC_ID_ADPCM_THP + 1
543
- CODEC_ID_ADPCM_EA_R1 = CODEC_ID_ADPCM_IMA_AMV + 1
544
- CODEC_ID_ADPCM_EA_R3 = CODEC_ID_ADPCM_EA_R1 + 1
545
- CODEC_ID_ADPCM_EA_R2 = CODEC_ID_ADPCM_EA_R3 + 1
546
- CODEC_ID_ADPCM_IMA_EA_SEAD = CODEC_ID_ADPCM_EA_R2 + 1
547
- CODEC_ID_ADPCM_IMA_EA_EACS = CODEC_ID_ADPCM_IMA_EA_SEAD + 1
548
- CODEC_ID_ADPCM_EA_XAS = CODEC_ID_ADPCM_IMA_EA_EACS + 1
549
- CODEC_ID_ADPCM_EA_MAXIS_XA = CODEC_ID_ADPCM_EA_XAS + 1
550
- CODEC_ID_ADPCM_IMA_ISS = CODEC_ID_ADPCM_EA_MAXIS_XA + 1
551
- CODEC_ID_ADPCM_G722 = CODEC_ID_ADPCM_IMA_ISS + 1
552
- CODEC_ID_AMR_NB = 0x12000
553
- CODEC_ID_AMR_WB = CODEC_ID_AMR_NB + 1
554
- CODEC_ID_RA_144 = 0x13000
555
- CODEC_ID_RA_288 = CODEC_ID_RA_144 + 1
556
- CODEC_ID_ROQ_DPCM = 0x14000
557
- CODEC_ID_INTERPLAY_DPCM = CODEC_ID_ROQ_DPCM + 1
558
- CODEC_ID_XAN_DPCM = CODEC_ID_INTERPLAY_DPCM + 1
559
- CODEC_ID_SOL_DPCM = CODEC_ID_XAN_DPCM + 1
560
- CODEC_ID_MP2 = 0x15000
561
- CODEC_ID_MP3 = CODEC_ID_MP2 + 1
562
- CODEC_ID_AAC = CODEC_ID_MP3 + 1
563
- CODEC_ID_AC3 = CODEC_ID_AAC + 1
564
- CODEC_ID_DTS = CODEC_ID_AC3 + 1
565
- CODEC_ID_VORBIS = CODEC_ID_DTS + 1
566
- CODEC_ID_DVAUDIO = CODEC_ID_VORBIS + 1
567
- CODEC_ID_WMAV1 = CODEC_ID_DVAUDIO + 1
568
- CODEC_ID_WMAV2 = CODEC_ID_WMAV1 + 1
569
- CODEC_ID_MACE3 = CODEC_ID_WMAV2 + 1
570
- CODEC_ID_MACE6 = CODEC_ID_MACE3 + 1
571
- CODEC_ID_VMDAUDIO = CODEC_ID_MACE6 + 1
572
- CODEC_ID_SONIC = CODEC_ID_VMDAUDIO + 1
573
- CODEC_ID_SONIC_LS = CODEC_ID_SONIC + 1
574
- CODEC_ID_FLAC = CODEC_ID_SONIC_LS + 1
575
- CODEC_ID_MP3ADU = CODEC_ID_FLAC + 1
576
- CODEC_ID_MP3ON4 = CODEC_ID_MP3ADU + 1
577
- CODEC_ID_SHORTEN = CODEC_ID_MP3ON4 + 1
578
- CODEC_ID_ALAC = CODEC_ID_SHORTEN + 1
579
- CODEC_ID_WESTWOOD_SND1 = CODEC_ID_ALAC + 1
580
- CODEC_ID_GSM = CODEC_ID_WESTWOOD_SND1 + 1
581
- CODEC_ID_QDM2 = CODEC_ID_GSM + 1
582
- CODEC_ID_COOK = CODEC_ID_QDM2 + 1
583
- CODEC_ID_TRUESPEECH = CODEC_ID_COOK + 1
584
- CODEC_ID_TTA = CODEC_ID_TRUESPEECH + 1
585
- CODEC_ID_SMACKAUDIO = CODEC_ID_TTA + 1
586
- CODEC_ID_QCELP = CODEC_ID_SMACKAUDIO + 1
587
- CODEC_ID_WAVPACK = CODEC_ID_QCELP + 1
588
- CODEC_ID_DSICINAUDIO = CODEC_ID_WAVPACK + 1
589
- CODEC_ID_IMC = CODEC_ID_DSICINAUDIO + 1
590
- CODEC_ID_MUSEPACK7 = CODEC_ID_IMC + 1
591
- CODEC_ID_MLP = CODEC_ID_MUSEPACK7 + 1
592
- CODEC_ID_GSM_MS = CODEC_ID_MLP + 1
593
- CODEC_ID_ATRAC3 = CODEC_ID_GSM_MS + 1
594
- CODEC_ID_VOXWARE = CODEC_ID_ATRAC3 + 1
595
- CODEC_ID_APE = CODEC_ID_VOXWARE + 1
596
- CODEC_ID_NELLYMOSER = CODEC_ID_APE + 1
597
- CODEC_ID_MUSEPACK8 = CODEC_ID_NELLYMOSER + 1
598
- CODEC_ID_SPEEX = CODEC_ID_MUSEPACK8 + 1
599
- CODEC_ID_WMAVOICE = CODEC_ID_SPEEX + 1
600
- CODEC_ID_WMAPRO = CODEC_ID_WMAVOICE + 1
601
- CODEC_ID_WMALOSSLESS = CODEC_ID_WMAPRO + 1
602
- CODEC_ID_ATRAC3P = CODEC_ID_WMALOSSLESS + 1
603
- CODEC_ID_EAC3 = CODEC_ID_ATRAC3P + 1
604
- CODEC_ID_SIPR = CODEC_ID_EAC3 + 1
605
- CODEC_ID_MP1 = CODEC_ID_SIPR + 1
606
- CODEC_ID_TWINVQ = CODEC_ID_MP1 + 1
607
- CODEC_ID_TRUEHD = CODEC_ID_TWINVQ + 1
608
- CODEC_ID_MP4ALS = CODEC_ID_TRUEHD + 1
609
- CODEC_ID_ATRAC1 = CODEC_ID_MP4ALS + 1
610
- CODEC_ID_BINKAUDIO_RDFT = CODEC_ID_ATRAC1 + 1
611
- CODEC_ID_BINKAUDIO_DCT = CODEC_ID_BINKAUDIO_RDFT + 1
612
- CODEC_ID_AAC_LATM = CODEC_ID_BINKAUDIO_DCT + 1
613
- CODEC_ID_QDMC = CODEC_ID_AAC_LATM + 1
614
- CODEC_ID_CELT = CODEC_ID_QDMC + 1
615
- CODEC_ID_BMV_AUDIO = CODEC_ID_CELT + 1
616
- CODEC_ID_FIRST_SUBTITLE = 0x17000
617
- CODEC_ID_DVD_SUBTITLE = 0x17000
618
- CODEC_ID_DVB_SUBTITLE = CODEC_ID_DVD_SUBTITLE + 1
619
- CODEC_ID_TEXT = CODEC_ID_DVB_SUBTITLE + 1
620
- CODEC_ID_XSUB = CODEC_ID_TEXT + 1
621
- CODEC_ID_SSA = CODEC_ID_XSUB + 1
622
- CODEC_ID_MOV_TEXT = CODEC_ID_SSA + 1
623
- CODEC_ID_HDMV_PGS_SUBTITLE = CODEC_ID_MOV_TEXT + 1
624
- CODEC_ID_DVB_TELETEXT = CODEC_ID_HDMV_PGS_SUBTITLE + 1
625
- CODEC_ID_SRT = CODEC_ID_DVB_TELETEXT + 1
626
- CODEC_ID_FIRST_UNKNOWN = 0x18000
627
- CODEC_ID_TTF = 0x18000
628
- CODEC_ID_PROBE = 0x19000
629
- CODEC_ID_MPEG2TS = 0x20000
630
- CODEC_ID_MPEG4SYSTEMS = 0x20001
631
- CODEC_ID_FFMETADATA = 0x21000
632
- CodecID = enum :CodecID, [
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
- AVCOL_TRC_NB = AVCOL_TRC_GAMMA28 + 1
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
- AVCOL_SPC_NB = AVCOL_SPC_SMPTE240M + 1
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, AVPacketSideDataType
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 = 4
1320
+ AV_NUM_DATA_POINTERS = 8
1273
1321
  class AVFrame < FFI::Struct
1274
1322
  layout(
1275
- :data, [:pointer, 4],
1276
- :linesize, [:int, 4],
1277
- :base, [:pointer, 4],
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, AVPictureType,
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
- :motion_subsample_log2, :uint8,
1347
+ :dct_coeff, :pointer,
1348
+ :ref_index, [:pointer, 2],
1292
1349
  :opaque, :pointer,
1293
- :error, [:uint64, 4],
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
- :dct_coeff, :pointer,
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
- :nb_samples, :int,
1311
- :extended_data, :pointer,
1312
- :sample_aspect_ratio, AVRational.by_value,
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
- FF_ER_CAREFUL = 1
1357
- FF_ER_COMPLIANT = 2
1358
- FF_ER_AGGRESSIVE = 3
1359
- FF_ER_VERY_AGGRESSIVE = 4
1360
- FF_ER_EXPLODE = 5
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
- FF_IDCT_PS2 = 5
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
- FF_EC_GUESS_MVS = 1
1394
- FF_EC_DEBLOCK = 2
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
- :sub_id, :int,
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, PixelFormat,
1589
+ :pix_fmt, AVPixelFormat,
1590
+ :me_method, :int,
1537
1591
  :draw_horiz_band, callback([ AVCodecContext.ptr, :pointer, :pointer, :int, :int, :int ], :void),
1538
- :sample_rate, :int,
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
- :compression_level, :int,
1699
- :min_prediction_order, :int,
1700
- :max_prediction_order, :int,
1701
- :lpc_coeff_precision, :int,
1702
- :prediction_order_method, :int,
1703
- :min_partition_order, :int,
1704
- :max_partition_order, :int,
1705
- :timecode_frame_start, :int64,
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
- :color_primaries, AVColorPrimaries,
1718
- :color_trc, AVColorTransferCharacteristic,
1719
- :colorspace, AVColorSpace,
1720
- :color_range, AVColorRange,
1721
- :chroma_sample_location, AVChromaLocation,
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
- :weighted_p_pred, :int,
1724
- :aq_mode, :int,
1725
- :aq_strength, :float,
1726
- :psy_rd, :float,
1727
- :psy_trellis, :float,
1728
- :rc_lookahead, :int,
1729
- :crf_max, :float,
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
- :is_copy, :int,
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 rtp_callback=(cb)
1756
- @rtp_callback = cb
1757
- self[:rtp_callback] = @rtp_callback
1763
+ def get_format=(cb)
1764
+ @get_format = cb
1765
+ self[:get_format] = @get_format
1758
1766
  end
1759
- def rtp_callback
1760
- @rtp_callback
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, CodecID,
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
- :encode2, callback([ AVCodecContext.ptr, AVPacket.ptr, :pointer, :pointer ], :int)
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, AVMediaType,
1952
- :id, CodecID,
1953
- :pix_fmt, PixelFormat,
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, 4],
1994
- :linesize, [:int, 4]
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, AVSubtitleType,
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 :av_destruct_packet_nofree, :av_destruct_packet_nofree, [ AVPacket.ptr ], :void
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, AVPacketSideDataType, :int ], :pointer
2063
- attach_function :av_packet_get_side_data, :av_packet_get_side_data, [ AVPacket.ptr, AVPacketSideDataType, :pointer ], :pointer
2064
- attach_function :av_audio_resample_init, :av_audio_resample_init, [ :int, :int, :int, :int, :int, :int, :int, :int, :int, :double ], :pointer
2065
- attach_function :audio_resample, :audio_resample, [ :pointer, :pointer, :pointer, :int ], :int
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, { :blocking => true }
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 :av_picture_copy, :av_picture_copy, [ AVPicture.ptr, :pointer, PixelFormat, :int, :int ], :void
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, AVLockOp ], :int) ], :int
2290
- attach_function :avcodec_get_type, :avcodec_get_type, [ CodecID ], AVMediaType
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.53", "libavformat.53.dylib" ]
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 AVProbeData < FFI::Struct; end
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 = 53
2442
- LIBAVFORMAT_VERSION_MINOR = 21
2443
- LIBAVFORMAT_VERSION_MICRO = 1
2444
- LIBAVFORMAT_VERSION_INT = (53 << 16|21 << 8|1)
2445
- LIBAVFORMAT_BUILD = (53 << 16|21 << 8|1)
2446
- LIBAVFORMAT_IDENT = 'Lavf53.21.1'
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
- :codec_tag, :pointer,
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, AVFormatParameters.ptr ], :int),
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
- :codec_tag, :pointer,
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
- MAX_REORDER_DELAY = 16
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
- :codec_info_duration, :int64,
2761
- :nb_decoded_frames, :int
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
- :probe_data, AVProbeData.by_value,
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
- :cur_ptr, :pointer,
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
- AVFMT_FLAG_RTP_HINT = 0x0040
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, CodecID,
2872
- :audio_codec_id, CodecID,
2873
- :subtitle_codec_id, CodecID,
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, AVMediaType, :int, :int, :pointer, :int ], :int
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, AVMediaType ], CodecID
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, CodecID ], :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, CodecID, :int ], :int
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, [ PixelFormat ], :int
3039
- attach_function :sws_isSupportedOutput, :sws_isSupportedOutput, [ PixelFormat ], :int
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, PixelFormat, :int, :int, PixelFormat, :int, SwsFilter.ptr, SwsFilter.ptr, :pointer ], :pointer
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