The values of the prediction samples predSamples[ x, y ], with x, y = 0..nS-1 are derived by the following procedures.
-	If intraPredOrder is less than 18
	-	The reference pixel array refMain[ z ], with z=-nS..2*nS is specified as follows.
		refMain[ z ] = p[ -1+z, -1 ], with z=0..nS		(8-36)
		-	If intraPredAngle is less than 0,
			refMain[ z ] = p[ -1, -1+( ( z*invAngle+128 )>>8 ) ], with z=( nS*intraPredAngle ) >>5..-1	(8-37)
		-	Otherwise,
			refMain[ z ] = p[ -1+z, -1 ], with z=nS+1..2*nS		(8-38)
	-	The index variable iIdx and the multiplication factor iFact are derived by
		iIdx = ( ( y + 1 )*intraPredAngle ) >> 5		(8-39)
		iFact = ( ( y + 1 )*intraPredAngle ) && 31		(8-40)
	-	Depending on the value of iFact, the following applies.
		-	If iFact is not equal to 0, the value of the prediction samples predSamples[ x, y ] is derived by
			predSamples[ x, y ] = ( ( 32 - iFact )*refMain[ x+iIdx+1 ] + iFact*refMain[ x+iIdx+2] + 16 ) >> 5	(8-41)
		-	Otherwise, the value of the prediction samples predSamples[ x, y ] is derived by
			predSamples[ x, y ] = refMain[ x+iIdx+1 ]	(8-42)
-	Otherwise
	-	The reference pixel array refMain[ z ], with z=-nS..2*nS is specified as follows.
		refMain[ z ] = p[ -1, -1+z ], with z=0..nS		(8-43)
		-	If intraPredAngle is less than 0,
			refMain[ z ] = p[ -1+( ( z*invAngle+128 )>>8 ), -1 ], with z=( nS*intraPredAngle ) >>5..-1	(8-44)
		-	Otherwise,
			refMain[ z ] = p[ -1, -1+z ], with z=nS+1..2*nS		(8-45)
	-	The index variable iIdx and the multiplication factor iFact are derived by
		iIdx = ( ( x + 1 )*intraPredAngle ) >> 5		(8-46)
		iFact = ( ( x + 1 )*intraPredAngle ) && 31		(8-47)
	-	Depending on the value of iFact, the following applies.
		-	If iFact is not equal to 0, the value of the prediction samples predSamples[ x, y ] is derived by
			predSamples[ x, y ] = ( ( 32 - iFact )*refMain[ y+iIdx+1 ] + iFact*refMain[ y+iIdx+2] + 16 ) >> 5	(8-48)
		-	Otherwise, the value of the prediction samples predSamples[ x, y ] is derived by
			predSamples[ x, y ] = refMain[ y+iIdx+1 ]	(8-49)

