A method of decoding video data, the method comprising: receiving an index into a list of two or more Compact Multi-Pass Transforms, CMPTs; determining, based on the index, a CMPT from the list of CMPTs; decompressing CMPT parameters for the CMPT; applying the CMPT to a coefficient block to reconstruct a residual block, wherein applying the CMPT comprises applying a plurality of transform passes, wherein: input of each transform pass of the plurality of transform passes other than an initial transform pass of the plurality of transform passes comprises output of a previous transform pass of the plurality of transform passes, the input of the initial transform pass comprises transform coefficients in the coefficient block, output of a last transform pass of the plurality of transform passes comprises values in the residual block, the CMPT parameters for the CMPT comprise respective parameter vectors for each respective transform pass of the plurality of transform passes, for each respective transform pass of the plurality of transform passes, the respective transform pass includes parallel performance of a respective set of Givens rotations, each respective Givens rotation of the respective set of Givens rotations taking two input values of the input of the respective pass and outputting two output values of output of the respective transform pass, wherein factors used for transformation in the respective Givens rotation are defined by a sine and cosine of a respective angle θ for the respective Givens rotation, the sine and cosine of the respective angle θ for the respective Givens rotation are specified by the parameter vector for the respective transform pass; and decoding, based on a predictive block and the residual block, a current block of a picture of the video data. receiving an index into a list of two or more Compact Multi-Pass Transforms, CMPTs; determining, based on the index, a CMPT from the list of CMPTs; decompressing CMPT parameters for the CMPT; applying the CMPT to a coefficient block to reconstruct a residual block, wherein applying the CMPT comprises applying a plurality of transform passes, wherein: input of each transform pass of the plurality of transform passes other than an initial transform pass of the plurality of transform passes comprises output of a previous transform pass of the plurality of transform passes, the input of the initial transform pass comprises transform coefficients in the coefficient block, output of a last transform pass of the plurality of transform passes comprises values in the residual block, the CMPT parameters for the CMPT comprise respective parameter vectors for each respective transform pass of the plurality of transform passes, for each respective transform pass of the plurality of transform passes, the respective transform pass includes parallel performance of a respective set of Givens rotations, each respective Givens rotation of the respective set of Givens rotations taking two input values of the input of the respective pass and outputting two output values of output of the respective transform pass, wherein factors used for transformation in the respective Givens rotation are defined by a sine and cosine of a respective angle θ for the respective Givens rotation, the sine and cosine of the respective angle θ for the respective Givens rotation are specified by the parameter vector for the respective transform pass; and input of each transform pass of the plurality of transform passes other than an initial transform pass of the plurality of transform passes comprises output of a previous transform pass of the plurality of transform passes, the input of the initial transform pass comprises transform coefficients in the coefficient block, output of a last transform pass of the plurality of transform passes comprises values in the residual block, the CMPT parameters for the CMPT comprise respective parameter vectors for each respective transform pass of the plurality of transform passes, for each respective transform pass of the plurality of transform passes, the respective transform pass includes parallel performance of a respective set of Givens rotations, each respective Givens rotation of the respective set of Givens rotations taking two input values of the input of the respective pass and outputting two output values of output of the respective transform pass, wherein factors used for transformation in the respective Givens rotation are defined by a sine and cosine of a respective angle θ for the respective Givens rotation, the sine and cosine of the respective angle θ for the respective Givens rotation are specified by the parameter vector for the respective transform pass; and decoding, based on a predictive block and the residual block, a current block of a picture of the video data.