PS transIdxMPS pStateIdx transIdxLPS transIdxMPS pStateIdx transIdxLPS transIdxMPS 9.3.3.2.2 Renormalization process in the arithmetic decoding engine Inputs to this process are bits from slice data and the variables codIRange and codIOffset. Outputs of this process are the updated variables codIRange and codIOffset. A flowchart of the renormalization is shown in Figure 9-4. The current value of codIRange is first compared to 256 and further steps are specified as follows: If codIRange is greater than or equal to 256, no renormalization is needed and the RenormD process is finished; Otherwise (codIRange is less than 256), the renormalization loop is entered. Within this loop, the value of codIRange is doubled, i.e., left-shifted by 1 and a single bit is shifted into codIOffset by using read_bits(1). The bitstream shall not contain data that result in a value of codIOffset being greater than or equal to codIRange upon completion of this process. RenormD codIRange < 256 codIRange = codIRange << 1 codIOffset = codIOffset << 1 codIOffset = codIOffset read_bits(1) H.264(09)_F9-4 Figure 9-4 - Flowchart of renormalization Rec. ITU-T H.264 (01/2012) 9.3.3.2.3 Bypass decoding process for binary decisions Inputs to this process are bits from slice data and the variables codIRange and codIOffset. Outputs of this process are the updated variable codIOffset and the decoded value inVal. The bypass decoding process is invoked when bypassFlag is equal to 1. Figure 9-5 shows a flowchart of the corresponding process. First, the value of codIOffset is doubled, i.e., left-shifted by 1 and a single bit is shifted into codIOffset by using read_bits( Then, the value of codIOffset is compared to the value of codIRange and further steps are specified as follows: If codIOffset is greater than or equal to codIRange, the variable binVal is set equal to 1 and codIOffset is decremented by codIRange. Otherwise (codIOffset is less than codIRange), the variable binVal is set equal to 0. The bitstream shall not contain data that result in a value