cluding P_Skip B_Skip macroblock types). The value of QPy is derived as QPy = ( QPY,PREV + b_qp_delta + 52+2* QpBdOffsety % ( 52 + QpBdOffsety ) ) - QpBdOffsety (7-36) where QPY,PREV is the luma quantisation parameter, QPy, of the previous macroblock in decoding order in the current slice. For the first macroblock in the slice QPY,PREV is initially set equal to SliceQPy derived in Equation 7-29 at the start of each slice. The value of QP'Y is derived as QP'y=QPy+QpBdOffsety (7-37) Rec. ITU-T H.264 (01/2012) The variable TransformBypassModeFlag is derived as follows: If qpprime_y_zero_transform_bypass_flag is equal to 1 and QP'/ is equal to 0, TransformBypassModeFlag is set equal to 1. Otherwise qpprime_y_zero_transform_bypass_flag is equal to 0 or QP'/Y is not equal to 0), TransformBypassModeFlagi is set equal to 0. 7.4.5.1 Macroblock prediction semantics All samples of the macroblock are predicted. The prediction modes are derived using the following syntax elements. prev_intra4x4_pred_mode_flag[ luma4x4BlkIdx ] and em_intra4x4_pred_mode[luma4x4BlkIdx ] specify the Intra_4x4 prediction of the 4x4 luma block with index luma4x4BlkIdx = 0..15. When ChromaArrayType is equal to 3, prev_intra4x4_pred_mode_flag[luma4x4BlkIdx ] and rem_intra4x4_pred_mode[luma4x4BlkIdx ] also specify the Intra 4x4 prediction of the 4x4 Cb block with luma4x4BlkIdx equal to cb4x4BlkIdx for cb4x4BlkIdx = 0..15 and the Intra 4x4 prediction of the 4x4 Cr block with luma4x4BlkIdx equal to cr4x4BlkIdx for cr4x4BlkIdx = 0..15. prev_intra8x8_pred_mode_flag[luma8x8BlkIdx] and rem_intra8x8_pred_mode[luma8x8BlkIdx ] specify the Intra 8x8 prediction of the 8x8 luma block with index luma8x8BlkIdx = 0..3. When ChromaArrayType is equal to 3, prev_intra8x8_pred_mode_flag[luma8x8BlkIdx] and rem_intra8x8_pred_mode[luma8x8BlkIdx] also specify the Intra 8x8 prediction of the 8x8 Cb block with luma8x8BlkIdx equal to cb8x8BlkIdx for cb8x8BlkIdx = 0..3 and the Intra_8x8 prediction of the 8x8 Cr block with index luma8x8BlkIdx equal to cr8x8BlkIdx for cr8x8BlkIdx