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; determining, based on syntax elements in a bitstream that comprises an encoded representation of a current picture of the video data, a plurality of data elements for a current block of the current picture; applying the CMPT to the data elements to derive residual values for the current block, wherein: applying the CMPT comprises applying a sequence of vector transformations, each of the vector transformations comprising a plurality of inverse Givens orthogonal transforms that are performable in parallel, input values for a first vector transformation of the sequence of vector transformations comprise the plurality of data elements, output values for a last vector transformation of the sequence of vector transformations comprise the residual values for the current block, for each respective vector transformation of the sequence of vector transformations other than the first vector transformation of the sequence of vector transformations, input values for the respective vector transformation comprise output values of the respective previous vector transformation of the sequence of vector transformations, each respective inverse Givens orthogonal transformation of the inverse Givens orthogonal transformations in the respective vector transformation being applied to a respective pair of input values for the vector transformation, and each respective vector transformation of the sequence of vector transformations further takes, as input, a respective parameter vector for the respective vector transformation, each respective inverse Givens orthogonal transformation in the respective vector transformation being parameterized by a respective angle θ in the respective parameter vector for the respective vector transformation; and reconstructing, based on the derived residual data, samples of the current picture. 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; determining, based on syntax elements in a bitstream that comprises an encoded representation of a current picture of the video data, a plurality of data elements for a current block of the current picture; applying the CMPT to the data elements to derive residual values for the current block, wherein: applying the CMPT comprises applying a sequence of vector transformations, each of the vector transformations comprising a plurality of inverse Givens orthogonal transforms that are performable in parallel, input values for a first vector transformation of the sequence of vector transformations comprise the plurality of data elements, output values for a last vector transformation of the sequence of vector transformations comprise the residual values for the current block, for each respective vector transformation of the sequence of vector transformations other than the first vector transformation of the sequence of vector transformations, input values for the respective vector transformation comprise output values of the respective previous vector transformation of the sequence of vector transformations, each respective inverse Givens orthogonal transformation of the inverse Givens orthogonal transformations in the respective vector transformation being applied to a respective pair of input values for the vector transformation, and each respective vector transformation of the sequence of vector transformations further takes, as input, a respective parameter vector for the respective vector transformation, each respective inverse Givens orthogonal transformation in the respective vector transformation being parameterized by a respective angle θ in the respective parameter vector for the respective vector transformation; and applying the CMPT comprises applying a sequence of vector transformations, each of the vector transformations comprising a plurality of inverse Givens orthogonal transforms that are performable in parallel, input values for a first vector transformation of the sequence of vector transformations comprise the plurality of data elements, output values for a last vector transformation of the sequence of vector transformations comprise the residual values for the current block, for each respective vector transformation of the sequence of vector transformations other than the first vector transformation of the sequence of vector transformations, input values for the respective vector transformation comprise output values of the respective previous vector transformation of the sequence of vector transformations, each respective inverse Givens orthogonal transformation of the inverse Givens orthogonal transformations in the respective vector transformation being applied to a respective pair of input values for the vector transformation, and each respective vector transformation of the sequence of vector transformations further takes, as input, a respective parameter vector for the respective vector transformation, each respective inverse Givens orthogonal transformation in the respective vector transformation being parameterized by a respective angle θ in the respective parameter vector for the respective vector transformation; and reconstructing, based on the derived residual data, samples of the current picture.