This is a fork of ffmpeg, packaged for Zig. Unnecessary
files have been deleted, and the build system has been replaced with
build.zig
.
There are no system dependencies; the only thing required to build this package is Zig.
Zig API bindings are also provided via the “av” module. See doc/examples
for
API usage examples.
More can be added as desired.
These are the instructions to update this package when a new FFmpeg version is released upstream.
find libavcodec/ libavdevice/ libavfilter/ libavformat libavutil/ libswscale/ libswresample/ -type f -name "*.asm" -o -name "*.c" -o -name "*.S"
_template.c
or _tablegen.c
all_sources
list in build.zig
./L
prefix means Linux-only/W
prefix means Windows-only./configure --prefix=$HOME/local/ffmpeg --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-programs --enable-libmp3lame --enable-libvorbis --disable-shared --enable-static
against upstream and diff the generated config.h
file to the one generated
by this build script. Apply appropriate changes to build.zig
.config_components.h
libavfilter/filter_list.c
libavcodec/codec_list.c
libavcodec/parser_list.c
libavcodec/bsf_list.c
libavformat/demuxer_list.c
libavformat/muxer_list.c
libavdevice/indev_list.c
libavdevice/outdev_list.c
libavformat/protocol_list.c
headers
list in build.zig
based on what files are present in
$HOME/local/ffmpeg/include
.