Linelet, an ultra-low latency and ultra-low complexity video codec

Requirements to build

You need an ISO C99 compiler, e.g. Clang or GCC. pthreads (POSIX threads) must be supported as well. To target Windows, you can use the MinGW-w64 toolchain. There is a variant which supports POSIX threads.

For Windows builds, it is strongly recommended to cross-compile from Linux or similar as this is the only case which has been tested.

If targeting the x86 or x86_64 architecture, the YASM assembler must be installed as well.

Building

When building for Unix-likes, a simple make command should suffice. This command will build the command-line tool linelet, as well as a static and dynamic library. sudo make install installs Linelet.

For cross-compiling to Windows, use make platform=win HOST_PREFIX=x86_64-w64-mingw32- STATIC=1, where x86_64-w64-mingw32-gcc is assumed to be a GCC compiler which targets 64-bit Windows.

Patching FFmpeg/libavcodec

In patches/linelet-libavcodec.diff a patch can be applied to enable Linelet encoding and decoding support (via liblinelet). Build FFmpeg with --enable-liblinelet option.