NSS, CommonCrypto, Crypto++ all seem to just take a 16 byte block and treat that as the counter by incrementing it.