A method for video coding using alternative transforms, the method comprising: receiving input data associated with a current PU (prediction unit) coded in Inter or Intra prediction mode, wherein the current PU is divided into one or more current TUs (transform units), and wherein the input data correspond to to-be coded residues of the current PU at an encoder side or to coded residues of the current PU at a decoder side; determining a control flag for the current PU; when the control flag has a first value: applying a first transform to a current TU (transform unit) at the encoder side or an inverse transform of the first transform to a current TU at the decoder side if the current TU has a first boundary type; and applying a second transform to the current TU at the encoder side or an inverse transform of the second transform to the current TU at the decoder side if the current TU has a second boundary type; wherein the second transform is a flipped version of the first transform; and when the control flag has a second value: applying a selected transform to the current TU at the encoder side or an inverse transform of the selected transform to the current TU at the decoder side regardless of type of the current TU; characterized in that the first boundary type includes a left PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom non-PU boundary, a left PU boundary plus a right PU boundary, a left non-PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom PU boundary, and a top non-PU boundary plus a bottom non-PU boundary, and the second boundary type includes a left non-PU boundary plus a right PU boundary and a top non-PU boundary plus a bottom PU boundary. receiving input data associated with a current PU (prediction unit) coded in Inter or Intra prediction mode, wherein the current PU is divided into one or more current TUs (transform units), and wherein the input data correspond to to-be coded residues of the current PU at an encoder side or to coded residues of the current PU at a decoder side; determining a control flag for the current PU; when the control flag has a first value: applying a first transform to a current TU (transform unit) at the encoder side or an inverse transform of the first transform to a current TU at the decoder side if the current TU has a first boundary type; and applying a second transform to the current TU at the encoder side or an inverse transform of the second transform to the current TU at the decoder side if the current TU has a second boundary type; wherein the second transform is a flipped version of the first transform; and when the control flag has a second value: applying a selected transform to the current TU at the encoder side or an inverse transform of the selected transform to the current TU at the decoder side regardless of type of the current TU; characterized in that the first boundary type includes a left PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom non-PU boundary, a left PU boundary plus a right PU boundary, a left non-PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom PU boundary, and a top non-PU boundary plus a bottom non-PU boundary, and the second boundary type includes a left non-PU boundary plus a right PU boundary and a top non-PU boundary plus a bottom PU boundary. applying a first transform to a current TU (transform unit) at the encoder side or an inverse transform of the first transform to a current TU at the decoder side if the current TU has a first boundary type; and applying a second transform to the current TU at the encoder side or an inverse transform of the second transform to the current TU at the decoder side if the current TU has a second boundary type; wherein the second transform is a flipped version of the first transform; and when the control flag has a second value: applying a selected transform to the current TU at the encoder side or an inverse transform of the selected transform to the current TU at the decoder side regardless of type of the current TU; characterized in that the first boundary type includes a left PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom non-PU boundary, a left PU boundary plus a right PU boundary, a left non-PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom PU boundary, and a top non-PU boundary plus a bottom non-PU boundary, and the second boundary type includes a left non-PU boundary plus a right PU boundary and a top non-PU boundary plus a bottom PU boundary. applying a selected transform to the current TU at the encoder side or an inverse transform of the selected transform to the current TU at the decoder side regardless of type of the current TU; characterized in that the first boundary type includes a left PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom non-PU boundary, a left PU boundary plus a right PU boundary, a left non-PU boundary plus a right non-PU boundary, a top PU boundary plus a bottom PU boundary, and a top non-PU boundary plus a bottom non-PU boundary, and the second boundary type includes a left non-PU boundary plus a right PU boundary and a top non-PU boundary plus a bottom PU boundary.