Skip to content

media-io/x264-simd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repo is an attempt to port some of the SIMD code written in assembly to C intrinsics, to be used with WebAssembly.

build

git clone --depth 1 https://github.com/AlexVestin/x264-wasm
make wasm-libx264-simd

Needs nasm (there's a target for this in the Makefile) for native builds with assembly, and emsdk for wasm builds.

Results

Substituting only the SAD, and SATD 8x8 function (the 4x4 is already very optimized) with SIMD code there was around a 1.6x speedup running a very hastily made benchmark.

Generally

https://software.intel.com/sites/landingpage/IntrinsicsGuide/#techs=SSE2,SSE3,SSSE3,SSE4_1,AVX

emscripten/wasm generally only supports SSE1 & SSE2 instructionss (https://emscripten.org/docs/porting/simd.html#compiling-simd-code-targeting-x86-sse-instruction-set), and some emulated instructions up to AVX

profile

build with -pg and --enable-gprof for x264 (maybe -no-pie/-fno-pie)

links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 79.9%
  • Shell 12.1%
  • C 7.8%
  • Makefile 0.2%