A method of decoding video data, the method comprising: determining a plurality of transform subsets for each intra-prediction and each inter-prediction mode wherein the plurality of transform subsets comprise a first subset, subset 0, and a second subset, subset 1, and third subset, subset 2, wherein the plurality of transform subsets are for transforming a current coefficient block associated with a video block coded according to one of a plurality of the prediction modes, wherein the prediction modes comprise a plurality of different intra-prediction modes and a plurality of different inter-prediction modes, and wherein each of the first and second and third subsets identify a plurality of candidate transforms wherein the candidate transforms are selected from a plurality of different inverse Discrete Cosine Transforms and a plurality of inverse different Discrete Sine Transforms and wherein the first subset comprises an inverse Discrete Sine Transform-VII and an inverse Discrete Cosine Transform-VIII wherein the second subset comprises two different inverse Discrete Sine Transforms comprising an inverse Discrete Sine Transform-VII and an inverse Discrete Sine Transform-I and wherein the third subset comprises an inverse Discrete Sine Transform-VII and an inverse Discrete Cosine transform-V; selecting a first transform subset from the determined plurality of first and second and third transform subsets for a first transform for the current coefficient block of the video data based on a determined intra-prediction mode of the video block; selecting a second transform subset from the determined plurality of first and second and third transform subsets for a second transform for the current coefficient block of the video data based on a determined intra-prediction mode of the video block; wherein the first and second selected transform subsets represent horizontal and vertical transforms of a separable transform; receiving a first index identifying the first transform from the selected first transform subset wherein the first index identifies the first transform from a list of the plurality of transforms in the first transform subset; receiving a second index identifying the second transform from the second transform subset wherein the second index identifies second transform from a list of the plurality of transforms in the selected second transform subset; determining the first transform from the selected first transform subset based on the first index; determining the second transform from the selected second transform subset based on the second index; determining a current transform block based on the first transform identified by the first index and the second transform identified by the second index; and reconstructing the video block based on the current transform block and a predictive block. determining a plurality of transform subsets for each intra-prediction and each inter-prediction mode wherein the plurality of transform subsets comprise a first subset, subset 0, and a second subset, subset 1, and third subset, subset 2, wherein the plurality of transform subsets are for transforming a current coefficient block associated with a video block coded according to one of a plurality of the prediction modes, wherein the prediction modes comprise a plurality of different intra-prediction modes and a plurality of different inter-prediction modes, and wherein each of the first and second and third subsets identify a plurality of candidate transforms wherein the candidate transforms are selected from a plurality of different inverse Discrete Cosine Transforms and a plurality of inverse different Discrete Sine Transforms and wherein the first subset comprises an inverse Discrete Sine Transform-VII and an inverse Discrete Cosine Transform-VIII wherein the second subset comprises two different inverse Discrete Sine Transforms comprising an inverse Discrete Sine Transform-VII and an inverse Discrete Sine Transform-I and wherein the third subset comprises an inverse Discrete Sine Transform-VII and an inverse Discrete Cosine transform-V; selecting a first transform subset from the determined plurality of first and second and third transform subsets for a first transform for the current coefficient block of the video data based on a determined intra-prediction mode of the video block; selecting a second transform subset from the determined plurality of first and second and third transform subsets for a second transform for the current coefficient block of the video data based on a determined intra-prediction mode of the video block; wherein the first and second selected transform subsets represent horizontal and vertical transforms of a separable transform; receiving a first index identifying the first transform from the selected first transform subset wherein the first index identifies the first transform from a list of the plurality of transforms in the first transform subset; receiving a second index identifying the second transform from the second transform subset wherein the second index identifies second transform from a list of the plurality of transforms in the selected second transform subset; determining the first transform from the selected first transform subset based on the first index; determining the second transform from the selected second transform subset based on the second index; determining a current transform block based on the first transform identified by the first index and the second transform identified by the second index; and reconstructing the video block based on the current transform block and a predictive block.