Regular and irregular decoding for 2D