* Pass expKey parameter of addRoundKey() by const reference to avoid unnecessary copy.
* Use C++11 nullptr instead of NULL, make it clear that default value of iv parameter in encode() and decode() is empty QByteArray instead of implicit conversion from null pointer via QByteArray(const char *, int = -1) constructor.
* Change parameter names in declarations of cipher(), invCipher() and byteXor() to match definitions.
* Convert AES-NI-related files to headers, place functions with internal linkage to anonymous namespace to avoid exporting them, don't use inline specifier (inline keyword have different meaning in C++ rather than in C).
* Use char literals instead of implementation-defined int-to-signed-char conversions where possible.
* Set default value for padding argument in static RemovePadding() to match sample in README.