function quant = EQA3YM_izigzag( zigzag, X, Y )
% Reorder the quantized elements to have long runs of zero-valued coeff

block_size = 8;
block_rows = floor(X/block_size);
block_cols = floor(Y/block_size);

% Generate index matrix
idxs = reshape(1:block_size*block_size, [block_size block_size]);
idxs = fliplr(spdiags(fliplr(idxs)));
idxs(:,1:2:end) = flipud(idxs(:,1:2:end));
idxs(idxs==0) = [];

quant=zeros(X, Y, 3);
for c = 1:3
    for i = 1:block_rows
        for j = 1:block_cols
            temp(idxs)=zigzag( ...
                ( (c-1)*block_rows*block_cols + (i-1)*block_cols + (j-1) ) * 64 + 1: ...
                    ( (c-1)*block_rows*block_cols + (i-1)*block_cols + j ) * 64 );
            quant((i-1)*block_size+1:i*block_size,(j-1)*block_size+1:j*block_size,c) = reshape(temp, block_size, block_size);
        end
    end
end

end

