edge264 Minimalist software decoder with state-of-the-art performance for the H.264/AVC video format. Please note this is a work in progress and will be ready for use after making GStreamer/VLC plugins. Features Supports Progressive High and MVC 3D profiles, up to level 6.2 and profiles, up to level 6.2 Any resolution up to 8K UHD 8-bit 4:2:0 planar YUV output Slices and Arbitrary Slice Order Slice and frame multi-threading Per-slice reference picture list Memory Management Control Operations Long-term reference frames Supported platforms Windows: x86, x64 Linux: x86, x64, ARM64 Mac OS: x64 Compiling and testing edge264 is entirely developed in C using 128-bit vector extensions and vector intrinsics, and can be compiled with GNU GCC or LLVM Clang. SDL2 runtime library may be used (optional) to enable display with edge264_test . Here are the make options for tuning the compiled library file: CC - C compiler used to convert source files to object files (default cc ) - C compiler used to convert source files to object files (default ) CFLAGS - additional compilation flags passed to CC and TARGETCC - additional compilation flags passed to and TARGETCC - C compiler used to link object files into library file (default CC ) - C compiler used to link object files into library file (default ) LDFLAGS - additional compilation flags passed to TARGETCC - additional compilation flags passed to TARGETOS - resulting file naming convention among Windows | Linux | Darwin (default host) - resulting file naming convention among | | (default host) VARIANTS - comma-separated list of additional variants included in the library and selected at runtime (default logs ) x86-64-v2 - variant compiled for x86-64 microarchitecture level 2 (SSSE3, SSE4.1 and POPCOUNT) x86-64-v3 - variant compiled for x86-64 microarchitecture level 3 (AVX2, BMI, LZCNT, MOVBE) logs - variant compiled with logging support in YAML format (headers and slices) - comma-separated list of additional variants included in the library and selected at runtime (default ) BUILD_TEST - toggles compilation of edge264_test (default yes ) - toggles compilation of (default ) FORCEINTRIN - enforce the use of intrinsics among x86 | ARM64 (for WebAssembly) $ make CFLAGS= " -march=x86-64 " VARIANTS=x86-64-v2,x86-64-v3 BUILD_TEST=no # example x86 build The automated test program edge264_test can browse files in a given directory, decoding each