The last three rows are repeated for the length of the segment. Here's the parsing code > parseDQT dqt = > parseTable $ BS.drop 2 dqt where > parseTable bytes = > if BS.length remainingbytes == 0 > then [(id, values)] > else (id, values) : parseTable remainingbytes > where > Just ([0, id], rest) = $(bitSyn [PackedBits [4, 4], Rest]) bytes > (valuesbytes, remainingbytes) = BS.splitAt 64 rest > valu