Adding some changes which control the subsampling with more granularity.
Also allows pre-subsampled inputs with minimal change to
functionality/properties