CONTENTS

 

Foreword     xix
 0     Introduction 
        0.1     Prologue 
        0.2     Purpose 
        0.3     Applications 
        0.4     Publication and versions of this specification 
        0.5     Profiles and levels 
        0.6     Overview of the design characteristics 
                  0.6.1     Predictive coding 
                  0.6.2     Coding of progressive and interlaced video 
                  0.6.3     Picture partitioning into macroblocks and smaller partitions 
                  0.6.4     Spatial redundancy reduction 
        0.7     How to read this specification 
 1     Scope 
 2     Normative references 
 3     Definitions 
 4     Abbreviations 
 5     Conventions 
        5.1     Arithmetic operators 
        5.2     Logical operators 
        5.3     Relational operators 
        5.4     Bit-wise operators 
        5.5     Assignment operators 
        5.6     Range notation 
        5.7     Mathematical functions 
        5.8     Variables, syntax elements, and tables 
        5.9     Text description of logical operations 
       5.10     Processes 
 6     Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships 
        6.1     Bitstream formats 
        6.2     Source, decoded, and output picture formats 
        6.3     Spatial subdivision of pictures and slices 
        6.4     Inverse scanning processes and derivation processes for neighbours 
                  6.4.1     Inverse macroblock scanning process 
                  6.4.2     Inverse macroblock partition and sub-macroblock partition scanning process 
                               6.4.2.1     Inverse macroblock partition scanning process 
                               6.4.2.2     Inverse sub-macroblock partition scanning process 
                  6.4.3     Inverse 4x4 luma block scanning process 
                  6.4.4     Inverse 4x4 Cb or Cr block scanning process for ChromaArrayType equal to 3 
                  6.4.5     Inverse 8x8 luma block scanning process 
                  6.4.6     Inverse 8x8 Cb or Cr block scanning process for ChromaArrayType equal to 3 
                  6.4.7     Derivation process of the availability for macroblock addresses 
                  6.4.8     Derivation process for neighbouring macroblock addresses and their availability 
                  6.4.9     Derivation process for neighbouring macroblock addresses and their availability in MBAFF frames    
                  6.4.10     Derivation processes for neighbouring macroblocks, blocks, and partitions 
                               6.4.10.1     Derivation process for neighbouring macroblocks 
                               6.4.10.2     Derivation process for neighbouring 8x8 luma block 
                               6.4.10.3     Derivation process for neighbouring 8x8 chroma blocks for ChromaArrayType equal to  3    
                               6.4.10.4     Derivation process for neighbouring 4x4 luma blocks 
                               6.4.10.5     Derivation process for neighbouring 4x4 chroma blocks 
                               6.4.10.6     Derivation process for neighbouring 4x4 chroma blocks for ChromaArrayType equal to  3    
                               6.4.10.7     Derivation process for neighbouring partitions 
                  6.4.11     Derivation process for neighbouring locations 
                               6.4.11.1     Specification for neighbouring locations in fields and non-MBAFF frames 
                               6.4.11.2     Specification for neighbouring locations in MBAFF frames 
 7     Syntax and semantics 
        7.1     Method of specifying syntax in tabular form  
        7.2     Specification of syntax functions, categories, and descriptors 
        7.3     Syntax in tabular form  
                  7.3.1     NAL unit syntax 
                  7.3.2     Raw byte sequence payloads and RBSP trailing bits syntax 
                               7.3.2.1     Sequence parameter set RBSP syntax 
                               7.3.2.1.1     Sequence parameter set data syntax 
                               7.3.2.1.1.1     Scaling list syntax 
                               7.3.2.1.2     Sequence parameter set extension RBSP syntax 
                               7.3.2.2     Picture parameter set RBSP syntax 
                               7.3.2.3     Supplemental enhancement information RBSP syntax 
                               7.3.2.3.1     Supplemental enhancement information message syntax 
                               7.3.2.4     Access unit delimiter RBSP syntax 
                               7.3.2.5     End of sequence RBSP syntax 
                               7.3.2.6     End of stream RBSP syntax 
                               7.3.2.7     Filler data RBSP syntax 
                               7.3.2.8     Slice layer without partitioning RBSP syntax 
                               7.3.2.9     Slice data partition RBSP syntax 
                               7.3.2.9.1     Slice data partition A RBSP syntax 
                               7.3.2.9.2     Slice data partition B RBSP syntax 
                               7.3.2.9.3     Slice data partition C RBSP syntax 
                               7.3.2.10     RBSP slice trailing bits syntax 
                               7.3.2.11     RBSP trailing bits syntax 
                  7.3.3     Slice header syntax 
                               7.3.3.1     Reference picture list reordering syntax 
                               7.3.3.2     Prediction weight table syntax 
                               7.3.3.3     Decoded reference picture marking syntax 
                  7.3.4     Slice data syntax 
                  7.3.5     Macroblock layer syntax 
                               7.3.5.1     Macroblock prediction syntax 
                               7.3.5.2     Sub-macroblock prediction syntax 
                               7.3.5.3     Residual data syntax 
                               7.3.5.3.1     Residual luma syntax 
                               7.3.5.3.2     Residual block CAVLC syntax 
                               7.3.5.3.3     Residual block CABAC syntax 
        7.4     Semantics 
                  7.4.1     NAL unit semantics 
                               7.4.1.1     Encapsulation of an SODB within an RBSP (informative)
                               7.4.1.2     Order of NAL units and association to coded pictures, access units, and video sequences 
                               7.4.1.2.1     Order of sequence and picture parameter set RBSPs and their activation 
                               7.4.1.2.2     Order of access units and association to coded video sequences 
                               7.4.1.2.3     Order of NAL units and coded pictures and association to access units 
                               7.4.1.2.4     Detection of the first VCL NAL unit of a primary coded picture 
                               7.4.1.2.5     Order of VCL NAL units and association to coded pictures 
                  7.4.2     Raw byte sequence payloads and RBSP trailing bits semantics 
                               7.4.2.1     Sequence parameter set RBSP semantics 
                               7.4.2.1.1     Sequence parameter set data semantics 
                               7.4.2.1.1.1     Scaling list semantics 
                               7.4.2.1.2     Sequence parameter set extension RBSP semantics 
                               7.4.2.2     Picture parameter set RBSP semantics 
                               7.4.2.3     Supplemental enhancement information RBSP semantics 
                               7.4.2.3.1     Supplemental enhancement information message semantics 
                               7.4.2.4     Access unit delimiter RBSP semantics 
                               7.4.2.5     End of sequence RBSP semantics 
                               7.4.2.6     End of stream RBSP semantics 
                               7.4.2.7     Filler data RBSP semantics 
                               7.4.2.8     Slice layer without partitioning RBSP semantics 
                               7.4.2.9     Slice data partition RBSP semantics 
                               7.4.2.9.1     Slice data partition A RBSP semantics 
                               7.4.2.9.2     Slice data partition B RBSP semantics 
                               7.4.2.9.3     Slice data partition C RBSP semantics 
                               7.4.2.10     RBSP slice trailing bits semantics 
                               7.4.2.11     RBSP trailing bits semantics 
                  7.4.3     Slice header semantics 
                               7.4.3.1     Reference picture list reordering semantics 
                               7.4.3.2     Prediction weight table semantics 
                               7.4.3.3     Decoded reference picture marking semantics 
                  7.4.4     Slice data semantics 
                  7.4.5     Macroblock layer semantics 
                               7.4.5.1     Macroblock prediction semantics 
                               7.4.5.2     Sub-macroblock prediction semantics 
                               7.4.5.3     Residual data semantics 
                               7.4.5.3.1     Residual luma data semantics 
                               7.4.5.3.2     Residual block CAVLC semantics 
                               7.4.5.3.3     Residual block CABAC semantics 
 8     Decoding process 
        8.1     NAL unit decoding process 
        8.2     Slice decoding process 
                  8.2.1     Decoding process for picture order count
                               8.2.1.1     Decoding process for picture order count type 0 
                               8.2.1.2     Decoding process for picture order count type 1 
                               8.2.1.3     Decoding process for picture order count type 2 
                  8.2.2     Decoding process for macroblock to slice group map 
                               8.2.2.1     Specification for interleaved slice group map type 
                               8.2.2.2     Specification for dispersed slice group map type 
                               8.2.2.3     Specification for foreground with left-over slice group map type 
                               8.2.2.4     Specification for box-out slice group map types 
                               8.2.2.5     Specification for raster scan slice group map types 
                               8.2.2.6     Specification for wipe slice group map types 
                               8.2.2.7     Specification for explicit slice group map type 
                               8.2.2.8     Specification for conversion of map unit to slice group map to macroblock to slice group map    
                  8.2.3     Decoding process for slice data partitioning 
                  8.2.4     Decoding process for reference picture lists construction 
                               8.2.4.1     Decoding process for picture numbers 
                               8.2.4.2     Initialisation process for reference picture lists 
                               8.2.4.2.1     Initialisation process for the reference picture list for P and SP slices in frames 
                               8.2.4.2.2     Initialisation process for the reference picture list for P and SP slices in fields 
                               8.2.4.2.3     Initialisation process for reference picture lists for B slices in frames 
                               8.2.4.2.4     Initialisation process for reference picture lists for B slices in fields 
                               8.2.4.2.5     Initialisation process for reference picture lists in fields 
                               8.2.4.3     Reordering process for reference picture lists 
                               8.2.4.3.1     Reordering process of reference picture lists for short-term reference pictures 
                               8.2.4.3.2     Reordering process of reference picture lists for long-term reference pictures 
                  8.2.5     Decoded reference picture marking process 
                               8.2.5.1     Sequence of operations for decoded reference picture marking process 
                               8.2.5.2     Decoding process for gaps in frame_num  
                               8.2.5.3     Sliding window decoded reference picture marking process 
                               8.2.5.4     Adaptive memory control decoded reference picture marking process 
                               8.2.5.4.1     Marking process of a short-term reference picture as “unused for reference” 
                               8.2.5.4.2     Marking process of a long-term reference picture as “unused for reference” 
                               8.2.5.4.3     Assignment process of a LongTermFrameIdx to a short-term reference picture 
                               8.2.5.4.4     Decoding process for MaxLongTermFrameIdx 
                               8.2.5.4.4.1     Marking process of all reference pictures as “unused for reference” and setting MaxLongTermFrameIdx to “no long-term frame indices”    
                               8.2.5.4.5     Process for assigning a long-term frame index to the current picture 
        8.3     Intra prediction process 
                  8.3.1     Intra_4x4 prediction process for luma samples 
                               8.3.1.1     Derivation process for the Intra4x4PredMode 
                               8.3.1.2     Intra_4x4 sample prediction 
                               8.3.1.2.1     Specification of Intra_4x4_Vertical prediction mode 
                               8.3.1.2.2     Specification of Intra_4x4_Horizontal prediction mode 
                               8.3.1.2.3     Specification of Intra_4x4_DC prediction mode 
                               8.3.1.2.4     Specification of Intra_4x4_Diagonal_Down_Left prediction mode 
                               8.3.1.2.5     Specification of Intra_4x4_Diagonal_Down_Right prediction mode 
                               8.3.1.2.6     Specification of Intra_4x4_Vertical_Right prediction mode 
                               8.3.1.2.7     Specification of Intra_4x4_Horizontal_Down prediction mode 
                               8.3.1.2.8     Specification of Intra_4x4_Vertical_Left prediction mode 
                               8.3.1.2.9     Specification of Intra_4x4_Horizontal_Up prediction mode 
                  8.3.2     Intra_8x8 prediction process for luma samples 
                               8.3.2.1     Derivation process for Intra8x8PredMode 
                               8.3.2.2     Intra_8x8 sample prediction 
                               8.3.2.2.1     Reference sample filtering process for Intra_8x8 sample prediction 
                               8.3.2.2.2     Specification of Intra_8x8_Vertical prediction mode 
                               8.3.2.2.3     Specification of Intra_8x8_Horizontal prediction mode 
                               8.3.2.2.4     Specification of Intra_8x8_DC prediction mode 
                               8.3.2.2.5     Specification of Intra_8x8_Diagonal_Down_Left prediction mode 
                               8.3.2.2.6     Specification of Intra_8x8_Diagonal_Down_Right prediction mode 
                               8.3.2.2.7     Specification of Intra_8x8_Vertical_Right prediction mode 
                               8.3.2.2.8     Specification of Intra_8x8_Horizontal_Down prediction mode 
                               8.3.2.2.9     Specification of Intra_8x8_Vertical_Left prediction mode 
                               8.3.2.2.10     Specification of Intra_8x8_Horizontal_Up prediction mode 
                  8.3.3     Intra_16x16 prediction process for luma samples 
                               8.3.3.1     Specification of Intra_16x16_Vertical prediction mode 
                               8.3.3.2     Specification of Intra_16x16_Horizontal prediction mode 
                               8.3.3.3     Specification of Intra_16x16_DC prediction mode 
                               8.3.3.4     Specification of Intra_16x16_Plane prediction mode 
                  8.3.4     Intra prediction process for chroma samples 
                               8.3.4.1     Specification of Intra_Chroma_DC prediction mode 
                               8.3.4.2     Specification of Intra_Chroma_Horizontal prediction mode 
                               8.3.4.3     Specification of Intra_Chroma_Vertical prediction mode 
                               8.3.4.4     Specification of Intra_Chroma_Plane prediction mode 
                               8.3.4.5     Intra prediction for chroma samples with ChromaArrayType equal to 3 
                  8.3.5     Sample construction process for I_PCM macroblocks 
        8.4     Inter prediction process 
                  8.4.1     Derivation process for motion vector components and reference indices 
                               8.4.1.1     Derivation process for luma motion vectors for skipped macroblocks in P and SP slices 
                               8.4.1.2     Derivation process for luma motion vectors for B_Skip, B_Direct_16x16, and B_Direct_8x8    
                               8.4.1.2.1     Derivation process for the co-located 4x4 sub-macroblock partitions 
                               8.4.1.2.2     Derivation process for spatial direct luma motion vector and reference index prediction mode    
                               8.4.1.2.3     Derivation process for temporal direct luma motion vector and reference index prediction mode    
                               8.4.1.3     Derivation process for luma motion vector prediction 
                               8.4.1.3.1     Derivation process for median luma motion vector prediction 
                               8.4.1.3.2     Derivation process for motion data of neighbouring partitions 
                               8.4.1.4     Derivation process for chroma motion vectors 
                  8.4.2     Decoding process for Inter prediction samples 
                               8.4.2.1     Reference picture selection process 
                               8.4.2.2     Fractional sample interpolation process 
                               8.4.2.2.1     Luma sample interpolation process 
                               8.4.2.2.2     Chroma sample interpolation process 
                               8.4.2.3     Weighted sample prediction process 
                               8.4.2.3.1     Default weighted sample prediction process 
                               8.4.2.3.2     Weighted sample prediction process 
                  8.4.3     Derivation process for prediction weights 
        8.5     Transform coefficient decoding process and picture construction process prior to deblocking filter process 
                  8.5.1     Specification of transform decoding process for 4x4 luma residual blocks 
                  8.5.2     Specification of transform decoding process for luma samples of Intra_16x16 macroblock prediction mode    
                  8.5.3     Specification of transform decoding process for 8x8 luma residual blocks 
                  8.5.4     Specification of transform decoding process for chroma samples 
                  8.5.5     Specification of transform decoding process for chroma samples with ChromaArrayType equal to 3    
                  8.5.6     Inverse scanning process for transform coefficients 
                  8.5.7     Inverse scanning process for 8x8 transform coefficients 
                  8.5.8     Derivation process for the chroma quantisation parameters and scaling function 
                  8.5.9     Scaling and transformation process for DC transform coefficients for Intra_16x16 macroblock type    
                  8.5.10     Scaling and transformation process for chroma DC transform coefficients 
                               8.5.10.1     Transformation process for chroma DC transform coefficients 
                               8.5.10.2     Scaling process for chroma DC transform coefficients 
                  8.5.11     Scaling and transformation process for residual 4x4 blocks 
                               8.5.11.1     Scaling process for residual 4x4 blocks 
                               8.5.11.2     Transformation process for residual 4x4 blocks 
                  8.5.12     Scaling and transformation process for residual 8x8 blocks 
                               8.5.12.1     Scaling process for residual 8x8 blocks 
                               8.5.12.2     Transformation process for residual 8x8 blocks 
                  8.5.13     Picture construction process prior to deblocking filter process 
                  8.5.14     Intra residual transform-bypass decoding process 
        8.6     Decoding process for P macroblocks in SP slices or SI macroblocks 
                  8.6.1     SP decoding process for non-switching pictures 
                               8.6.1.1     Luma transform coefficient decoding process 
                               8.6.1.2     Chroma transform coefficient decoding process 
                  8.6.2     SP and SI slice decoding process for switching pictures 
                               8.6.2.1     Luma transform coefficient decoding process 
                               8.6.2.2     Chroma transform coefficient decoding process 
        8.7     Deblocking filter process 
                  8.7.1     Filtering process for block edges 
                  8.7.2     Filtering process for a set of samples across a horizontal or vertical block edge 
                               8.7.2.1     Derivation process for the luma content dependent boundary filtering strength 
                               8.7.2.2     Derivation process for the thresholds for each block edge 
                               8.7.2.3     Filtering process for edges with bS less than 4 
                               8.7.2.4     Filtering process for edges for bS equal to 4 
 9     Parsing process 
        9.1     Parsing process for Exp-Golomb codes 
                  9.1.1     Mapping process for signed Exp-Golomb codes 
                  9.1.2     Mapping process for coded block pattern 
        9.2     CAVLC parsing process for transform coefficient levels 
                  9.2.1     Parsing process for total number of transform coefficient levels and trailing ones 
                  9.2.2     Parsing process for level information 
                               9.2.2.1     Parsing process for level_prefix 
                  9.2.3     Parsing process for run information 
                  9.2.4     Combining level and run information 
        9.3     CABAC parsing process for slice data 
                  9.3.1     Initialisation process 
                               9.3.1.1     Initialisation process for context variables 
                               9.3.1.2     Initialisation process for the arithmetic decoding engine 
                  9.3.2     Binarization process 
                               9.3.2.1     Unary (U) binarization process 
                               9.3.2.2     Truncated unary (TU) binarization process 
                               9.3.2.3     Concatenated unary/ k-th order Exp-Golomb (UEGk) binarization process 
                               9.3.2.4     Fixed-length (FL) binarization process 
                               9.3.2.5     Binarization process for macroblock type and sub-macroblock type 
                               9.3.2.6     Binarization process for coded block pattern 
                               9.3.2.7     Binarization process for mb_qp_delta 
                  9.3.3     Decoding process flow  
                               9.3.3.1     Derivation process for ctxIdx 
                               9.3.3.1.1     Assignment process of ctxIdxInc using neighbouring syntax elements 
                               9.3.3.1.1.1     Derivation process of ctxIdxInc for the syntax element mb_skip_flag 
                               9.3.3.1.1.2     Derivation process of ctxIdxInc for the syntax element mb_field_decoding_flag 
                               9.3.3.1.1.3     Derivation process of ctxIdxInc for the syntax element mb_type 
                               9.3.3.1.1.4     Derivation process of ctxIdxInc for the syntax element coded_block_pattern 
                               9.3.3.1.1.5     Derivation process of ctxIdxInc for the syntax element mb_qp_delta 
                               9.3.3.1.1.6     Derivation process of ctxIdxInc for the syntax elements ref_idx_l0 and ref_idx_l1 
                               9.3.3.1.1.7     Derivation process of ctxIdxInc for the syntax elements mvd_l0 and mvd_l1 
                               9.3.3.1.1.8     Derivation process of ctxIdxInc for the syntax element intra_chroma_pred_mode 
                               9.3.3.1.1.9     Derivation process of ctxIdxInc for the syntax element coded_block_flag 
                               9.3.3.1.1.10     Derivation process of ctxIdxInc for the syntax element transform_size_8x8_flag 
                               9.3.3.1.2     Assignment process of ctxIdxInc using prior decoded bin values 
                               9.3.3.1.3     Assignment process of ctxIdxInc for syntax elements significant_coeff_flag, last_significant_coeff_flag, and coeff_abs_level_minus1    
                               9.3.3.2     Arithmetic decoding process 
                               9.3.3.2.1     Arithmetic decoding process for a binary decision 
                               9.3.3.2.1.1     State transition process 
                               9.3.3.2.2     Renormalization process in the arithmetic decoding engine 
                               9.3.3.2.3     Bypass decoding process for binary decisions 
                               9.3.3.2.4     Decoding process for binary decisions before termination 
                  9.3.4     Arithmetic encoding process (informative)
                               9.3.4.1     Initialisation process for the arithmetic encoding engine (informative)
                               9.3.4.2     Encoding process for a binary decision (informative)
                               9.3.4.3     Renormalization process in the arithmetic encoding engine (informative)
                               9.3.4.4     Bypass encoding process for binary decisions (informative)
                               9.3.4.5     Encoding process for a binary decision before termination (informative)
                               9.3.4.6     Byte stuffing process (informative)
 Annex A Profiles and levels    
        A.1     Requirements on video decoder capability 
        A.2     Profiles 
                  A.2.1     Baseline profile 
                  A.2.2     Main profile 
                  A.2.3     Extended profile 
                  A.2.4     High profile 
                  A.2.5     High 10 profile 
                  A.2.6     High 4:2:2 profile 
                  A.2.7     High 4:4:4 Predictive profile 
                  A.2.8     High 10 Intra profile 
                  A.2.9     High 4:2:2 Intra profile 
                  A.2.10     High 4:4:4 Intra profile 
                  A.2.11     CAVLC 4:4:4 Intra profile 
        A.3     Levels 
                  A.3.1     Level limits common to the Baseline, Main, and Extended profiles 
                  A.3.2     Level limits common to the High, High 10, High 4:2:2, High 4:4:4 Predictive, High 10 Intra, High 4:2:2 Intra, High 4:4:4 Intra, and CAVLC 4:4:4 Intra profiles    
                  A.3.3     Profile-specific level limits 
                               A.3.3.1     Baseline profile level limits 
                               A.3.3.2     Main, High, High 10, High 4:2:2, High 4:4:4 Predictive, High 10 Intra, High 4:2:2 Intra, High 4:4:4 Intra, and CAVLC 4:4:4 Intra profile level limits    
                               A.3.3.3     Extended Profile level limits 
                  A.3.4     Effect of level limits on frame rate (informative)
 Annex B Byte stream format    
        B.1     Byte stream NAL unit syntax and semantics 
                  B.1.1     Byte stream NAL unit syntax 
                  B.1.2     Byte stream NAL unit semantics 
        B.2     Byte stream NAL unit decoding process 
        B.3     Decoder byte-alignment recovery (informative)
 Annex C Hypothetical reference decoder    
        C.1     Operation of coded picture buffer (CPB)
                  C.1.1     Timing of bitstream arrival
                  C.1.2     Timing of coded picture removal
        C.2     Operation of the decoded picture buffer (DPB)
                  C.2.1     Decoding of gaps in frame_num and storage of "non-existing" frames 
                  C.2.2     Picture decoding and output
                  C.2.3     Removal of pictures from the DPB before possible insertion of the current picture 
                  C.2.4     Current decoded picture marking and storage 
                               C.2.4.1     Marking and storage of a reference decoded picture into the DPB  
                               C.2.4.2     Storage of a non-reference picture into the DPB  
        C.3     Bitstream conformance 
        C.4     Decoder conformance 
                  C.4.1     Operation of the output order DPB  
                  C.4.2     Decoding of gaps in frame_num and storage of "non-existing" pictures 
                  C.4.3     Picture decoding 
                  C.4.4     Removal of pictures from the DPB before possible insertion of the current picture 
                  C.4.5     Current decoded picture marking and storage 
                               C.4.5.1     Storage and marking of a reference decoded picture into the DPB  
                               C.4.5.2     Storage and marking of a non-reference decoded picture into the DPB  
                               C.4.5.3     "Bumping" process 
 Annex D Supplemental enhancement information    
        D.1     SEI payload syntax 
                  D.1.1     Buffering period SEI message syntax 
                  D.1.2     Picture timing SEI message syntax 
                  D.1.3     Pan-scan rectangle SEI message syntax 
                  D.1.4     Filler payload SEI message syntax 
                  D.1.5     User data registered by ITU-T Rec. T.35 SEI message syntax 
                  D.1.6     User data unregistered SEI message syntax 
                  D.1.7     Recovery point SEI message syntax 
                  D.1.8     Decoded reference picture marking repetition SEI message syntax 
                  D.1.9     Spare picture SEI message syntax 
                  D.1.10     Scene information SEI message syntax 
                  D.1.11     Sub-sequence information SEI message syntax 
                  D.1.12     Sub-sequence layer characteristics SEI message syntax 
                  D.1.13     Sub-sequence characteristics SEI message syntax 
                  D.1.14     Full-frame freeze SEI message syntax 
                  D.1.15     Full-frame freeze release SEI message syntax 
                  D.1.16     Full-frame snapshot SEI message syntax 
                  D.1.17     Progressive refinement segment start SEI message syntax 
                  D.1.18     Progressive refinement segment end SEI message syntax 
                  D.1.19     Motion-constrained slice group set SEI message syntax 
                  D.1.20     Film grain characteristics SEI message syntax 
                  D.1.21     Deblocking filter display preference SEI message syntax 
                  D.1.22     Stereo video information SEI message syntax 
                  D.1.23     Post-filter hint SEI message syntax 
                  D.1.24     Tone mapping information SEI message syntax 
                  D.1.25     Reserved SEI message syntax 
        D.2     SEI payload semantics 
                  D.2.1     Buffering period SEI message semantics 
                  D.2.2     Picture timing SEI message semantics 
                  D.2.3     Pan-scan rectangle SEI message semantics 
                  D.2.4     Filler payload SEI message semantics 
                  D.2.5     User data registered by ITU-T Rec. T.35 SEI message semantics 
                  D.2.6     User data unregistered SEI message semantics 
                  D.2.7     Recovery point SEI message semantics 
                  D.2.8     Decoded reference picture marking repetition SEI message semantics 
                  D.2.9     Spare picture SEI message semantics 
                  D.2.10     Scene information SEI message semantics 
                  D.2.11     Sub-sequence information SEI message semantics 
                  D.2.12     Sub-sequence layer characteristics SEI message semantics 
                  D.2.13     Sub-sequence characteristics SEI message semantics 
                  D.2.14     Full-frame freeze SEI message semantics 
                  D.2.15     Full-frame freeze release SEI message semantics 
                  D.2.16     Full-frame snapshot SEI message semantics 
                  D.2.17     Progressive refinement segment start SEI message semantics 
                  D.2.18     Progressive refinement segment end SEI message semantics 
                  D.2.19     Motion-constrained slice group set SEI message semantics 
                  D.2.20     Film grain characteristics SEI message semantics 
                  D.2.21     Deblocking filter display preference SEI message semantics 
                  D.2.22     Stereo video information SEI message semantics 
                  D.2.23     Post-filter hint SEI message semantics 
                  D.2.24     Tone mapping information SEI message semantics 
                  D.2.25     Reserved SEI message semantics 
 Annex E Video usability information    
        E.1     VUI syntax 
                  E.1.1     VUI parameters syntax 
                  E.1.2     HRD parameters syntax 
        E.2     VUI semantics 
                  E.2.1     VUI parameters semantics 
                  E.2.2     HRD parameters semantics 
 Annex G Scalable video coding    
        G.1     Scope 
        G.2     Normative References 
        G.3     Definitions 
        G.4     Abbreviations 
        G.5     Conventions 
        G.6     Source, coded, decoded and output data formats, scanning processes, neighbouring and reference layer relationships    
                  G.6.1     Derivation process for reference layer macroblocks 
                               G.6.1.1     Field-to-frame reference layer macroblock conversion process 
                               G.6.1.2     Frame-to-field reference layer macroblock conversion process 
                  G.6.2     Derivation process for reference layer partitions 
                  G.6.3     Derivation process for reference layer sample locations in resampling 
        G.7     Syntax and semantics 
                  G.7.1     Method of specifying syntax in tabular form  
                  G.7.2     Specification of syntax functions, categories, and descriptors 
                  G.7.3     Syntax in tabular form  
                               G.7.3.1     NAL unit syntax 
                               G.7.3.1.1     NAL unit header SVC extension syntax 
                               G.7.3.2     Raw byte sequence payloads and RBSP trailing bits syntax 
                               G.7.3.2.1     Sequence parameter set RBSP syntax 
                               G.7.3.2.1.1     Sequence parameter set data syntax 
                               G.7.3.2.1.2     Sequence parameter set extension RBSP syntax 
                               G.7.3.2.1.3     Subset sequence parameter set RBSP syntax 
                               G.7.3.2.1.4     Sequence parameter set SVC extension syntax 
                               G.7.3.2.2     Picture parameter set RBSP syntax 
                               G.7.3.2.3     Supplemental enhancement information RBSP syntax 
                               G.7.3.2.3.1     Supplemental enhancement information message syntax 
                               G.7.3.2.4     Access unit delimiter RBSP syntax 
                               G.7.3.2.5     End of sequence RBSP syntax 
                               G.7.3.2.6     End of stream RBSP syntax 
                               G.7.3.2.7     Filler data RBSP syntax 
                               G.7.3.2.8     Slice layer without partitioning RBSP syntax 
                               G.7.3.2.9     Slice data partition RBSP syntax 
                               G.7.3.2.10     RBSP slice trailing bits syntax 
                               G.7.3.2.11     RBSP trailing bits syntax 
                               G.7.3.2.12     Prefix NAL unit RBSP syntax 
                               G.7.3.2.13     Slice layer in scalable extension RBSP syntax 
                               G.7.3.3     Slice header syntax 
                               G.7.3.3.1     Reference picture list reordering syntax 
                               G.7.3.3.2     Prediction weight table syntax 
                               G.7.3.3.3     Decoded reference picture marking syntax 
                               G.7.3.3.4     Slice header in scalable extension syntax 
                               G.7.3.3.5     Decoded reference base picture marking syntax 
                               G.7.3.4     Slice data syntax 
                               G.7.3.4.1     Slice data in scalable extension syntax 
                               G.7.3.5     Macroblock layer syntax 
                               G.7.3.5.1     Macroblock prediction syntax 
                               G.7.3.5.2     Sub-macroblock prediction syntax 
                               G.7.3.5.3     Residual data syntax 
                               G.7.3.5.3.1     Residual luma syntax 
                               G.7.3.5.3.2     Residual block CAVLC syntax 
                               G.7.3.5.3.3     Residual block CABAC syntax 
                               G.7.3.6     Macroblock layer in scalable extension syntax 
                               G.7.3.6.1     Macroblock prediction in scalable extension syntax 
                               G.7.3.6.2     Sub-macroblock prediction in scalable extension syntax 
                  G.7.4     Semantics 
                               G.7.4.1     NAL unit semantics 
                               G.7.4.1.1     NAL unit header SVC extension semantics 
                               G.7.4.1.2     Order of NAL units and association to coded pictures, access units, and video sequences    
                               G.7.4.1.2.1     Order of SVC sequence parameter set RBSPs and picture parameter set RBSPs and their activation    
                               G.7.4.1.2.2     Order of access units and association to coded video sequences 
                               G.7.4.1.2.3     Order of NAL units and coded pictures and association to access units 
                               G.7.4.1.2.4     Detection of the first VCL NAL unit of a primary coded picture 
                               G.7.4.1.2.5     Order of VCL NAL units and association to coded pictures 
                               G.7.4.2     Raw byte sequence payloads and RBSP trailing bits semantics 
                               G.7.4.2.1     Sequence parameter set RBSP semantics 
                               G.7.4.2.1.1     Sequence parameter set data semantics 
                               G.7.4.2.1.2     Sequence parameter set extension RBSP semantics 
                               G.7.4.2.1.3     Subset sequence parameter set RBSP semantics 
                               G.7.4.2.1.4     Sequence parameter set SVC extension semantics 
                               G.7.4.2.2     Picture parameter set RBSP semantics 
                               G.7.4.2.3     Supplemental enhancement information RBSP semantics 
                               G.7.4.2.3.1     Supplemental enhancement information message semantics 
                               G.7.4.2.4     Access unit delimiter RBSP semantics 
                               G.7.4.2.5     End of sequence RBSP semantics 
                               G.7.4.2.6     End of stream RBSP semantics 
                               G.7.4.2.7     Filler data RBSP semantics 
                               G.7.4.2.8     Slice layer without partitioning RBSP semantics 
                               G.7.4.2.9     Slice data partition RBSP semantics 
                               G.7.4.2.10     RBSP slice trailing bits semantics 
                               G.7.4.2.11     RBSP trailing bits semantics 
                               G.7.4.2.12     Prefix NAL unit RBSP semantics 
                               G.7.4.2.13     Slice layer in scalable extension RBSP semantics 
                               G.7.4.3     Slice header semantics 
                               G.7.4.3.1     Reference picture list reordering semantics 
                               G.7.4.3.2     Prediction weight table semantics 
                               G.7.4.3.3     Decoded reference picture marking semantics 
                               G.7.4.3.4     Slice header in scalable extension semantics 
                               G.7.4.3.5     Decoded reference base picture marking semantics 
                               G.7.4.4     Slice data semantics 
                               G.7.4.4.1     Slice data in scalable extension semantics 
                               G.7.4.5     Macroblock layer semantics 
                               G.7.4.5.1     Macroblock prediction semantics 
                               G.7.4.5.2     Sub-macroblock prediction semantics 
                               G.7.4.5.3     Residual data semantics 
                               G.7.4.5.3.1     Residual luma semantics 
                               G.7.4.5.3.2     Residual block CAVLC semantics 
                               G.7.4.5.3.3     Residual block CABAC semantics 
                               G.7.4.6     Macroblock layer in scalable extension semantics 
                               G.7.4.6.1     Macroblock prediction in scalable extension semantics 
                               G.7.4.6.2     Sub-macroblock prediction in scalable extension semantics 
        G.8     SVC decoding process 
                  G.8.1     SVC initialisation and decoding processes 
                               G.8.1.1     Derivation process for the set of layer representations required for decoding 
                               G.8.1.2     Array assignment, initialisation, and restructuring processes 
                               G.8.1.2.1     Array assignment and initialisation process 
                               G.8.1.2.2     Array restructuring process 
                               G.8.1.3     Layer representation decoding processes 
                               G.8.1.3.1     Base decoding process for layer representations without resolution change 
                               G.8.1.3.2     Base decoding process for layer representations with resolution change 
                               G.8.1.3.3     Target layer representation decoding process 
                               G.8.1.4     Slice decoding processes 
                               G.8.1.4.1     Base decoding process for slices without resolution change 
                               G.8.1.4.2     Base decoding process for slices with resolution change 
                               G.8.1.5     Macroblock initialisation and decoding processes 
                               G.8.1.5.1     Macroblock initialisation process 
                               G.8.1.5.1.1     Derivation process for macroblock type, sub-macroblock type, and inter-layer predictors for reference indices and motion vectors    
                               G.8.1.5.1.2     Derivation process for quantisation parameters and transform type 
                               G.8.1.5.2     Base decoding process for macroblocks in slices without resolution change 
                               G.8.1.5.3     Base decoding process for macroblocks in slices with resolution change 
                               G.8.1.5.4     Macroblock decoding process prior to decoding a layer representation without resolution change and tcoeff_level_prediction_flag equal to 0    
                               G.8.1.5.5     Macroblock decoding process prior to resolution change 
                               G.8.1.5.6     Target macroblock decoding process 
                  G.8.2     SVC reference picture lists construction and decoded reference picture marking process 
                               G.8.2.1     SVC decoding process for picture order count
                               G.8.2.2     SVC decoding process for picture numbers 
                               G.8.2.3     SVC decoding process for reference picture lists construction 
                               G.8.2.4     SVC decoded reference picture marking process 
                               G.8.2.4.1     SVC reference picture marking process for a dependency representation 
                               G.8.2.5     SVC decoding process for gaps in frame_num  
                  G.8.3     SVC intra decoding processes 
                               G.8.3.1     SVC derivation process for intra prediction modes 
                               G.8.3.1.1     SVC derivation process for Intra_4x4 prediction modes 
                               G.8.3.1.2     SVC derivation process for Intra_8x8 prediction modes 
                               G.8.3.2     SVC intra sample prediction and construction process 
                               G.8.3.2.1     SVC intra prediction and construction process for luma samples or chroma samples with ChromaArrayType equal to 3    
                               G.8.3.2.1.1     SVC construction process for luma samples and chroma samples with ChromaArrayType equal to 3 of I_PCM macroblocks    
                               G.8.3.2.1.2     SVC Intra_4x4 sample prediction and construction process 
                               G.8.3.2.1.3     SVC Intra_8x8 sample prediction and construction process 
                               G.8.3.2.1.4     SVC Intra_16x16 sample prediction and construction process 
                               G.8.3.2.2     SVC intra prediction and construction process for chroma samples 
                               G.8.3.2.2.1     SVC construction process for chroma samples of I_PCM macroblocks 
                               G.8.3.2.2.2     SVC intra prediction and construction process for chroma samples with ChromaArrayType equal to 1 or 2    
                  G.8.4     SVC Inter prediction process 
                               G.8.4.1     SVC derivation process for motion vector components and reference indices 
                               G.8.4.1.1     SVC derivation process for luma motion vector components and reference indices of a macroblock or sub-macroblock partition    
                               G.8.4.1.2     SVC derivation process for luma motion vectors and reference indices for B_Skip, B_Direct_16x16, and B_Direct_8x8 in NAL units with nal_unit_type equal to 20    
                               G.8.4.2     SVC decoding process for Inter prediction samples 
                               G.8.4.2.1     SVC derivation process for prediction weights 
                               G.8.4.2.2     Intra-inter prediction combination process 
                  G.8.5     SVC transform coefficient decoding and sample array construction processes 
                               G.8.5.1     Transform coefficient scaling and refinement process 
                               G.8.5.1.1     Refinement process for luma transform coefficients or chroma transform coefficients with ChromaArrayType equal to 3    
                               G.8.5.1.1.1     Assignment process for luma transform coefficient values or chroma transform coefficient values with ChromaArrayType equal to 3 for I_PCM macroblocks    
                               G.8.5.1.1.2     Refinement process for transform coefficients of residual 4x4 blocks 
                               G.8.5.1.1.3     Refinement process for transform coefficients of residual 8x8 blocks 
                               G.8.5.1.1.4     Refinement process for transform coefficients of Intra_16x16 macroblocks 
                               G.8.5.1.2     Refinement process for chroma transform coefficients 
                               G.8.5.1.2.1     Assignment process for chroma transform coefficient values for I_PCM macroblocks    
                               G.8.5.1.2.2     Refinement process for chroma transform coefficients with ChromaArrayType equal to 1 or 2    
                               G.8.5.2     Transform coefficient level scaling process prior to transform coefficient refinement
                               G.8.5.3     Residual construction and accumulation process 
                               G.8.5.3.1     Construction process for luma residuals or chroma residuals with ChromaArrayType equal to 3    
                               G.8.5.3.1.1     Construction process for luma residuals or chroma residuals with ChromaArrayType equal to 3 of I_PCM macroblocks    
                               G.8.5.3.1.2     Construction process for residual 4x4 blocks 
                               G.8.5.3.1.3     Construction process for residual 8x8 blocks 
                               G.8.5.3.1.4     Construction process for residuals of Intra_16x16 macroblocks 
                               G.8.5.3.2     Construction process for chroma residuals 
                               G.8.5.3.2.1     Construction process for chroma residuals of I_PCM macroblocks 
                               G.8.5.3.2.2     Construction process for chroma residuals with ChromaArrayType equal to 1 or 2 
                               G.8.5.4     Sample array accumulation process 
                               G.8.5.4.1     Picture sample array construction process 
                               G.8.5.4.2     Macroblock sample array extraction process 
                               G.8.5.4.3     Picture sample array construction process for a colour component
                               G.8.5.4.4     Macroblock sample array extraction process for a colour component
                               G.8.5.5     Sample array re-initialisation process 
                  G.8.6     Resampling processes for prediction data, intra samples, and residual samples 
                               G.8.6.1     Derivation process for inter-layer predictors for macroblock type, sub-macroblock type, reference indices, and motion vectors    
                               G.8.6.1.1     Derivation process for reference layer partition identifications 
                               G.8.6.1.2     Derivation process for inter-layer predictors for reference indices and motion vectors 
                               G.8.6.1.3     Derivation process for inter-layer predictors for P and B macroblock and sub-macroblock types    
                               G.8.6.2     Resampling process for intra samples 
                               G.8.6.2.1     Resampling process for intra samples of a macroblock colour component
                               G.8.6.2.2     Reference layer sample array construction process prior to intra resampling 
                               G.8.6.2.2.1     Derivation process for reference layer slice and intra macroblock identifications 
                               G.8.6.2.2.2     Construction process for not available sample values prior to intra resampling 
                               G.8.6.2.3     Interpolation process for Intra_Base prediction 
                               G.8.6.2.4     Vertical interpolation process for Intra_Base prediction 
                               G.8.6.3     Resampling process for residual samples 
                               G.8.6.3.1     Resampling process for residual samples of a macroblock colour component
                               G.8.6.3.2     Reference layer sample array construction process prior to residual resampling 
                               G.8.6.3.2.1     Derivation process for reference layer transform block identifications 
                               G.8.6.3.3     Interpolation process for residual prediction 
                               G.8.6.3.4     Vertical interpolation process for residual prediction 
                  G.8.7     SVC deblocking filter processes 
                               G.8.7.1     Deblocking filter process for Intra_Base prediction 
                               G.8.7.2     Deblocking filter process for target representations 
                               G.8.7.3     Derivation process for quantisation parameters used in the deblocking filter process 
                               G.8.7.4     Macroblock deblocking filter process 
                               G.8.7.4.1     SVC filtering process for block edges 
                               G.8.7.4.2     SVC filtering process for a set of samples across a horizontal or vertical block edge 
                               G.8.7.4.3     SVC derivation process for the luma content dependent boundary filtering strength 
                  G.8.8     Specification of bitstream subsets 
                               G.8.8.1     Sub-bitstream extraction process 
                               G.8.8.2     Specification of the base layer bitstream  
        G.9     Parsing process 
                  G.9.1     Alternative parsing process for coded block pattern 
                  G.9.2     Alternative CAVLC parsing process for transform coefficient levels 
                               G.9.2.1     Additional parsing process for total number of transform coefficient levels and trailing ones    
                               G.9.2.2     Alternative parsing process for run information 
                  G.9.3     Alternative CABAC parsing process for slice data in scalable extension 
                               G.9.3.1     Initialisation process 
                               G.9.3.2     Binarization process 
                               G.9.3.3     Decoding process flow  
                               G.9.3.3.1     Derivation process for ctxIdx 
                               G.9.3.3.2     Assignment process of ctxIdxInc using neighbouring syntax elements 
                               G.9.3.3.2.1     Derivation process of ctxIdxInc for the syntax element base_mode_flag 
                               G.9.3.3.2.2     Derivation process of ctxIdxInc for the syntax element residual_prediction_flag 
       G.10     Profiles and levels 
                  G.10.1     Profiles 
                               G.10.1.1     Scalable Baseline profile 
                               G.10.1.2     Scalable High profile 
                               G.10.1.3     Scalable High Intra profile 
                  G.10.2     Levels 
                               G.10.2.1     Level limits common to Scalable Baseline, Scalable High, and Scalable High Intra profiles    
                               G.10.2.2     Profile specific level limits 
       G.11     Byte stream format
       G.12     Hypothetical reference decoder
       G.13     Supplemental enhancement information 
                  G.13.1     SEI payload syntax 
                               G.13.1.1     Scalability information SEI message syntax 
                               G.13.1.2     Layers not present SEI message syntax 
                               G.13.1.3     Layer dependency change SEI message syntax 
                               G.13.1.4     Sub-picture scalable layer SEI message syntax 
                               G.13.1.5     Non-required layer representation SEI message syntax 
                               G.13.1.6     Priority layer information SEI message syntax 
                               G.13.1.7     Scalable nesting SEI message syntax 
                               G.13.1.8     Base layer temporal HRD SEI message syntax 
                               G.13.1.9     Quality layer integrity check SEI message syntax 
                               G.13.1.10     Redundant picture property SEI message syntax 
                               G.13.1.11     Temporal level zero dependency representation index SEI message syntax 
                               G.13.1.12     Temporal level switching point SEI message syntax 
                  G.13.2     SEI payload semantics 
                               G.13.2.1     Scalability information SEI message semantics 
                               G.13.2.2     Layers not present SEI message semantics 
                               G.13.2.3     Layer dependency change SEI message semantics 
                               G.13.2.4     Sub-picture scalable layer SEI message semantics 
                               G.13.2.5     Non-required layer representation SEI message semantics 
                               G.13.2.6     Priority layer information SEI message semantics 
                               G.13.2.7     Scalable nesting SEI message semantics 
                               G.13.2.8     Base layer temporal HRD SEI message semantics 
                               G.13.2.9     Quality layer integrity check SEI message semantics 
                               G.13.2.10     Redundant picture property SEI message semantics 
                               G.13.2.11     Temporal level zero dependency representation index SEI message semantics 
                               G.13.2.12     Temporal level switching point SEI message semantics 
       G.14     SVC video usability information extension 
                  G.14.1     SVC VUI parameters extension syntax 
                  G.14.2     SVC VUI parameters extension semantics