nagement_control_operation ue(v) if( (memory_management_control_operation ==1 memory management control operation ==3) difference_of_pic_nums_minus1 ue(v) if(memory_management_control_operation==2) long_term_pic_num ue(v) if( memory_management_control_operation == 311 memory_management_control_operation ==6) long_term_frame_idx ue(v) (memory_management_control_operation== 4) max_long_term_frame_idx_plus1 ue(v) while(memory_management_control_operation!= 0 Rec. ITU-T H.264 (01/2012) 7.3.4 Slice data syntax slice_data() { Descriptor if( entropy_coding_mode_flag) while( !byte_aligned() ) cabac_alignment_one_bit CurrMbAddr = first_mb_in_slice * (1 + MbaffFrameFlag moreDataFlag = 1 prevMbSkipped = 0 if( lice_type!=I && slice_type!=SI) if( !entropy_coding_mode_flag) { mb_skip_run ue(v) prevMbSkipped=(mb_skip_run>0) for(i=0;i<mb_skip_run;i++) CurrMbAddr=NextMbAddress(CurrMbAddr) mb_skip_run>0) moreDataFlag = more_rbsp_data() } else { mb_skip_flag ae(v) moreDataFlag = !mb_skip_flag if( moreDataFlag ) { if( MbaffFrameFlag && (CurrMbAddr % 2 == 0 ( CurrMbAddr % 2 == 1 && prevMbSkipped ) mb_field_decoding_flag u(1) ae(v) macroblock_layer() 2 234 if( !entropy_coding_mode_flag) moreDataFlag =more_rbsp_data() else { if( slice_type!=I && slice_type !=SI) prevMbSkipped = mb_skip_flag if( MbaffFrameFlag && CurrMbAddr%2== 0) moreDataFlag =1 else { end_of_slice_flag ae(v) moreDataFlag = !end_of_slice_flag CurrMbAddr = NextMbAddress( CurrMbAddr ) } while( moreDataFlag ) Rec. ITU-T H.264 (01/2012) 7.3.5 Macroblock layer syntax macroblock_layer() { Descriptor mb_type ue(v) | ae(v) if( (mb_type==I_PCM){ while(!byte_aligned()) pcm_alignment_zero_bit for(i=0;i<256;it+) pcm_sample_luma|i i] for(i=0;i<2*MbWidthC*MbHeightC; i++) pcm_sample_chroma|i } else { noSubMbPartSizeLessThan8x8Flag=1 if(mb_type!=I_NxN && MbPartPredMode(mb_type,0) != Intra_16x16 && NumMbPart(mb_type)==4){ sub_mb_pred(mb_type) for(mbPartIdx=0;mbPartIdx<4;mbPartIdx++) = if( (sub_mb_type[mbPartIdx] !=B_Direct_8x8) { if( NumSubMbPart(sub_mb_type[mbPartIdx ]) > SubMbPartSiz