kenIdx and vice versa 0<=nC< 2 2 <= nC < 4 4 <= nC < 8 Rec. ITU-T H.264 (01/2012) Table G-10 - Mapping of (nx, nY) to coeffTokenIdx and vice versa 0<=nC<2 2< nC < 4 4<=nC< G.9.2.2 Alternative parsing process for run information Inputs to this process are bits from slice data and the number of non-zero transform coefficient levels TotalCoeff( coeff_token). Output of this process is a list of runs of zero transform coefficient levels preceding non-zero transform coefficient levels called runVal. The variable maxCoeff is derived as follows: If the CAVLC parsing process is invoked for Intra16x16DCLevel, CbIntra16x16DCLevel, or CrIntra16x16DCLevel, maxCoeff is set equal to 16. Otherwise, if the CAVLC parsing process is invoked for ChromaDCLevel, maxCoeff is set equal to 4 chroma_format_idc. Otherwise, if the CAVLC parsing process is invoked for LumaLevel4x4 or LumaLevel8x8, maxCoeff is set equal to (scan_idx_end-scan_idx_start+1) Otherwise (the CAVLC parsing process is invoked for Intra16x16ACLevel, CbIntra16x16ACLevel, CrIntra16x16ACLevel, or ChromaACLevel), maxCoeff is set equal to (scan_idx_end - Max( 1, scan_idx_start) +1). Initially, an index is set equal to 0. The variable zerosLeft is derived as follows: If the number of non-zero transform coefficient levels TotalCoeff( coeff_token) is equal to the maximum number of non-zero transform coefficient levels maxCoeff, a variable zerosLeft is set equal to 0. Otherwise (the number of non-zero transform coefficient levels TotalCoeff( coeff_token) is less than the maximum number of non-zero transform coefficient levels maxCoeff), total_zeros is decoded and zerosLeft is set equal to its value. The VLC used to decode total_zeros is derived as follows: If maxCoeff is less than or equal to 4, one of the VLCs specified in Table 9-9(a) is used with tzVlcIndex being derived by tzVlcIndex = TotalCoeff( coeff_token) + 4 maxCoeff (G-360) Rec. ITU-T H.264 (01/2012) Otherwise, if maxCoeff is greater than 4 and less than or equal to 8, one of the VLCs specified in Table 9-9(b) is us