x86: Add asm for mbtree fixed point conversion
authorHenrik Gramner <henrik@gramner.com>
Fri, 4 Mar 2016 16:53:08 +0000 (17:53 +0100)
committerHenrik Gramner <henrik@gramner.com>
Tue, 12 Apr 2016 15:10:39 +0000 (17:10 +0200)
commitc82c7374938f4342971adf8b2495c3a1bbe621c4
tree2643637e1a9ccc796200fdc67b2cc9aaaad8ebdc
parentbe677efc6313ade5eddf722fdf097cce56df1344
x86: Add asm for mbtree fixed point conversion

The QP offsets of each macroblock are stored as floats internally and
converted to big-endian Q8.8 fixed point numbers when written to the 2-pass
stats file, and converted back to floats when read from the stats file.

Add SSSE3 and AVX2 implementations for conversions in both directions.

About 8x faster than C on Haswell.
common/mc.c
common/mc.h
common/x86/mc-a2.asm
common/x86/mc-c.c
encoder/ratecontrol.c
tools/checkasm.c