1. A method for Intra prediction of a block based on neighboring pixels around the block, the method comprising: receiving a Luma block corresponding to Luma pixels of the block; and performing Intra prediction for the Luma block based on neighboring Luma pixels, wherein the Luma block is partitioned into one or more PUs (prediction units) having a shape from a group consisting of a square shape and a non-square shape; wherein the non-square shape PU is processed either using square transforms only or using both non-square and the square transforms, and each transform unit (TU) is further split into smaller transform units (TUs) based on quad-tree split.