diff options
| author | Michael Forney <mforney@mforney.org> | 2018-04-25 16:02:53 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2018-05-10 12:30:59 -0700 |
| commit | f8f4562b49cd6c59b0a3384335497dc1077b9621 (patch) | |
| tree | c7817ec20e7f8925bdd74d80aa7af22cb65bd2c2 /pkg/ffmpeg/list.lua | |
| parent | cc4725802a003e8667f7f57a14d9ad3e168fc24e (diff) | |
ffmpeg: Update to 4.0
Diffstat (limited to 'pkg/ffmpeg/list.lua')
| -rw-r--r-- | pkg/ffmpeg/list.lua | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pkg/ffmpeg/list.lua b/pkg/ffmpeg/list.lua new file mode 100644 index 00000000..66cfbcda --- /dev/null +++ b/pkg/ffmpeg/list.lua @@ -0,0 +1,45 @@ +local optionshdr = arg[1] +local type = arg[2] +local var = arg[3] + +local options = {} +for line in io.lines(optionshdr) do + local cfg, val = line:match('^#define CONFIG_(%g+) (%g+)$') + if cfg then + options[cfg] = val == '1' + end +end + +print('static const '..type..' *const '..var..'[] = {') +for line in io.lines() do + local name = line:match('^extern .*'..type..' +ff_(%g+);$') + if name then + local cfg + if var == 'filter_list' then + local i = name:find('_', 1, true) + if i then + cfg = name:sub(i + 1)..'_filter' + end + elseif var == 'outdev_list' then + if name:sub(-6) == '_muxer' then + cfg = name:sub(1, -7)..'_outdev' + end + elseif var == 'indev_list' then + if name:sub(-8) == '_demuxer' then + cfg = name:sub(1, -9)..'_indev' + end + else + cfg = name + end + if cfg and options[cfg:upper()] then + print('&ff_'..name..',') + end + end +end +if var == 'filter_list' then + print('&ff_asrc_abuffer,') + print('&ff_vsrc_buffer,') + print('&ff_asink_abuffer,') + print('&ff_vsink_buffer,') +end +print('NULL};') |
