• Dale Curtis's avatar
    Enable SSE, SSE2, and run-time detected SSE4.1 for libopus. · 85d355e5
    Dale Curtis authored
    Surprisingly this hadn't been done. So we are missing SSE, SSE2
    optimizations which should be available on all platforms, and a
    couple SSE4.1 optimizations which are runtime selected.
    
    This condenses all include_dirs, cflags, and defines into a common
    opus_private_config for sharing with intrinsic targets.
    
    It looks like AVX support has been started in libopus, so the next
    update that pulls in some of that code will need to add a opus_avx
    target tagged with a -mavx cflag.
    
    This doesn't seem to add any decoding speedup per media_perftests,
    but much of this code is for encoding, so WebRTC and MediaRecorder
    should benefit.
    
    BUG=none
    TEST=unittests all pass and bots are happy
    
    Change-Id: I0a12460af899c4d94c16e4024c043ff25e896463
    Reviewed-on: https://chromium-review.googlesource.com/c/1318807Reviewed-by: default avatarSergey Ulanov <sergeyu@chromium.org>
    Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#606131}
    85d355e5
BUILD.gn 16.6 KB