I'm trying to find out if Shaka Packager can use the AES-NI instructions to speed up encryption operations? I can see that it uses OpenSSL for the AES encryption and the library appears to support AES-NI but really can't tell if it is being used or not.
My processor does have AES-NI support and using the OpenSSL package's speed command with and without AES-NI you can get up to 2-3 times the throughput:
root@intel-corei7-64:~/widevine/test# openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 66867183 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 21998486 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 5772617 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 1506485 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 190434 aes-128-cbc's in 3.00s
OpenSSL 1.0.2h 3 May 2016
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 356624.98k 469301.03k 492596.65k 514213.55k 520011.78k
The main reason for asking is my processor is an Atom and using the packager to make a live encrypted DASH stream with 2 Mb/s and 1 Mb/s video streams uses 20-25% CPU, so I'm looking for any performance increases I can get!