The first 16 bytes of the x coordinate of an elliptic curve point will not be uniformly random in the space of all 16 byte strings, this reduces the security of this encryption.  I recommend another mapping such as taking X modulo a >128 bit long prime for the AES key and a modulo a different prime for the hmac key.