In AES the output of the SubBytes step is equal to:
$a_{0-15} = d*c_{0-15}^{-1}+b$
where $d$ is a constant 8x8 matrix and b is a constant 8x1 matrix both in $GF(2)$. The inversion is done in $GF(2^8)$.
After ShiftRows the output column of each MixColumns can be expressed in terms of four select $a$ values.
$m_0 = 2a_0+ 3a_1 + a_2 + a_3$
$m_1 = a_0 + 2a_1 + 3a_2 + a_3$
$m_2 = a_0 + a_1 + 2a_2 + 3a_3$
$m_3 = 3a_0 + a_1 + a_2 + 2*a_3$
Is there any reason that you can't take $m_0$ for instance and write it as:
$\begin{align*} m_0 =& 2(da_0+b) + 3(da_1+b) + (da_2+b) + (da_3+b)\\ =& 2da_0+2b + 3da_1+3b + da_2+b + da_3+b\\ =& d(2a_0+3a_1+a_2+a_3)+b\\ \end{align*} $
This would be the MixColumns operation followed by the affine transform.