use std::vector instead of manual memory management in SPS header