A method of video decoding at a video decoder, comprising: determining an affine model for a current block coded with an interweaved affine prediction mode, which includes selecting, based on a merge index received in a bitstream, an affine merge candidate from a sub-block based merge candidate list, wherein the selected merge candidate represents the affine model with three or two control point motion vectors, or affine model parameters; generating, based on the affine model, a first prediction block corresponding to a first pattern for partitioning the current block into first sub-blocks and a second prediction block corresponding to a second pattern for partitioning the current block into second sub-blocks, wherein the first and second prediction blocks include interpolated samples; and generating a third prediction block based on the first and second prediction blocks, wherein first samples in the first prediction block and corresponding second samples in the second prediction block are combined by performing a weighted average operation to obtain averaged samples, and the averaged samples are rounded to obtain corresponding third samples in the third prediction block, characterized in that the interpolated samples have an intermediate bit-depth larger than an input bit-depth of the current block, the first samples in the first prediction block and the corresponding second samples in the second prediction block each with a precision corresponding to the intermediate bit-depth are combined by performing the weighted average operation to obtain the averaged samples, and the averaged samples are rounded to the input bit-depth to obtain the corresponding third samples in the third prediction block, wherein following the weighted average operation, a precision conversion operation is performed, pixel by pixel, to convert the averaged samples from the intermediate bit-depth of 16 bits to the input bit-depth of 10 bits. determining an affine model for a current block coded with an interweaved affine prediction mode, which includes selecting, based on a merge index received in a bitstream, an affine merge candidate from a sub-block based merge candidate list, wherein the selected merge candidate represents the affine model with three or two control point motion vectors, or affine model parameters; generating, based on the affine model, a first prediction block corresponding to a first pattern for partitioning the current block into first sub-blocks and a second prediction block corresponding to a second pattern for partitioning the current block into second sub-blocks, wherein the first and second prediction blocks include interpolated samples; and generating a third prediction block based on the first and second prediction blocks, wherein first samples in the first prediction block and corresponding second samples in the second prediction block are combined by performing a weighted average operation to obtain averaged samples, and the averaged samples are rounded to obtain corresponding third samples in the third prediction block, characterized in that the interpolated samples have an intermediate bit-depth larger than an input bit-depth of the current block, the first samples in the first prediction block and the corresponding second samples in the second prediction block each with a precision corresponding to the intermediate bit-depth are combined by performing the weighted average operation to obtain the averaged samples, and the averaged samples are rounded to the input bit-depth to obtain the corresponding third samples in the third prediction block, wherein following the weighted average operation, a precision conversion operation is performed, pixel by pixel, to convert the averaged samples from the intermediate bit-depth of 16 bits to the input bit-depth of 10 bits.