Changeset 1066 in 3DVCSoftware


Ignore:
Timestamp:
13 Oct 2014, 12:19:36 (10 years ago)
Author:
tech
Message:

Merged 12.0-dev1@1065.

Location:
trunk
Files:
2 added
4 deleted
52 edited

Legend:

Unmodified
Added
Removed
  • trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg

    r1040 r1066  
    2222ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2323DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    24 ViewOrderIndex                : 0 0 1 1     # ViewOrderIndex (m)
     24ViewOrderIndex                : 0 0 1 1     # ViewOrderIndex, per layer (m)
    2525DepthFlag                     : 0 1 0 1     # DepthFlag  (m)
    26 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     26LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2727SplittingFlag                 : 0           # Splitting Flag
    28 ViewId                        : 1 0         # ViewId per ViewOrderIndex (m)
     28ViewId                        : 1 0         # ViewId, per ViewOrderIndex (m)
    2929
    3030#======== VPS/ Layer sets ================
    3131VpsNumLayerSets               : 3           # Number of layer sets   
    32 LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set
    33 LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set
    34 LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set
    35 
     32LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     33LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
     34LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2
     35
     36#======== VPS / Output layer sets ================
    3637DefaultTargetOutputLayerIdc   : 0           # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3738OutputLayerSetIdx             : 2           # Indices of layer sets used to derive additional output layer sets
    3839LayerIdsInAddOutputLayerSet_0 : 2 3         # Indices in VPS of output layers in additional output layer set
    39 ProfileLevelTierIdx           : 0 0 0 0     # Indices to profile level tier (TBD)
     40
     41#======== VPS / PTLI ================
     42Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     43Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     44Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     45InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     46
     47ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     48ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     49ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     50ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     51ProfileTierLevelIdx_4         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    4052
    4153#======== VPS / Dependencies ================
     
    164176AdvMultiviewResPred                 : 1                # Advanced inter-view residual prediction (0:off, 1:on)
    165177IlluCompEnable                      : 1                # Enable Illumination compensation ( 0: off, 1: on )  (v/d)
     178IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    166179ViewSynthesisPred                   : 1                # View synthesis prediction
    167 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     180DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    168181IvMvScaling                         : 1                # Interview motion vector scaling
    169182SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
    170 
     183SubPUMPILog2Size                    : 3                # Log2 of sub-PU size for MPI (3...6)
     184DBBP                                : 1                # Depth-based Block Partitioning
    171185
    172186#========== depth coding tools ==========
  • trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view_AllIntra.cfg

    r872 r1066  
    1313ReconFile_1                   : rec_2.yuv                         
    1414
    15 NumberOfLayers                : 2           # number of layers to be coded
     15NumberOfLayers                : 2           # Number of layers
    1616
    1717#======== VPS ============================
    18 ScalabilityMask               : 1           # Scalability Mask             ( 1: View Scalability, shall be 1 for MV-HEVC )
     18ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    1919DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    20 ViewId                        : 0 1         # ViewId  (m)
    21 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     20ViewOrderIndex                : 0 1         # ViewOrderIndex, per layer (m)
     21LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2222SplittingFlag                 : 0           # Splitting Flag
     23ViewId                        : 1 0         # ViewId, per ViewOrderIndex (m)
    2324
     25#======== VPS/ Layer sets ================
     26VpsNumLayerSets               : 2            # Number of layer sets   
     27LayerIdsInSet_0               : 0            # Indices in VPS of layers in layer set 0
     28LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 1
     29
     30#======== VPS / Output layer sets ================
     31DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
     32
     33OutputLayerSetIdx             : 1            # Indices of layer sets used to derive additional output layer sets
     34LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
     35
     36#======== VPS / PTLI ================
     37Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     38Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     39Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     40InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     41
     42ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     43ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     44ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     45
     46#======== VPS / Dependencies ================
     47DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
     48DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    2449
    2550#========== Camera parameters ==========
  • trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg

    r1040 r1066  
    2626ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2727DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    28 ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex (m)
     28ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m)
    2929DepthFlag                     : 0 1 0 1 0 1 # DepthFlag  (m)
    30 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     30LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    3131SplittingFlag                 : 0           # Splitting Flag
    32 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
     32ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
    3333
    3434#======== VPS/ Layer sets ================
    3535VpsNumLayerSets               : 5           # Number of layer sets   
    36 LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set
    37 LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set
    38 LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set
    39 LayerIdsInSet_3               : 0 1 4 5     # Indices in VPS of layers in layer set
    40 LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set
    41 
     36LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     37LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
     38LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2
     39LayerIdsInSet_3               : 0 1 4 5     # Indices in VPS of layers in layer set 3
     40LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4
     41
     42#======== VPS / Output layer sets ================
    4243DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    4344OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
    44 LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of additional output layers
    45 LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of additional output layers
    46 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     45LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of output layers in additional output layer set 0
     46LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of output layers in additional output layer set 1
     47
     48
     49#======== VPS / PTLI ================
     50Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     51Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     52Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     53InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     54
     55ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     56ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     57ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     58ProfileTierLevelIdx_3         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     59ProfileTierLevelIdx_4         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     60ProfileTierLevelIdx_5         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     61ProfileTierLevelIdx_6         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
    4762
    4863#======== VPS / Dependencies ================
     
    179194AdvMultiviewResPred                 : 1                # Advanced inter-view residual prediction (0:off, 1:on)
    180195IlluCompEnable                      : 1                # Enable Illumination compensation ( 0: off, 1: on )  (v/d)
     196IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    181197ViewSynthesisPred                   : 1                # View synthesis prediction
    182 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     198DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    183199IvMvScaling                         : 1                # Interview motion vector scaling
    184200SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
    185 
     201SubPUMPILog2Size                    : 3                # Log2 of sub-PU size for MPI (3...6)
     202DBBP                                : 1                # Depth-based Block Partitioning
    186203
    187204#========== depth coding tools ==========
  • trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view_AllIntra.cfg

    r872 r1066  
    1515ReconFile_2                   : rec_6.yuv                           
    1616
    17 NumberOfLayers                : 3           # number of layers to be coded
     17NumberOfLayers                : 3           # Number of layers
    1818
    1919#======== VPS ============================
    20 ScalabilityMask               : 1           # Scalability Mask             ( 1: View Scalability, shall be 1 for MV-HEVC )
     20ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2121DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    22 ViewId                        : 0 1 2       # ViewId  (m)
    23 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     22ViewOrderIndex                : 0 1 2       # ViewOrderIndex, per layer (m)
     23LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2424SplittingFlag                 : 0           # Splitting Flag
     25ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
     26
     27#======== VPS / Layer sets ================
     28VpsNumLayerSets               : 4            # Number of layer sets   
     29LayerIdsInSet_0               : 0            # Indices in VPS of layers in layer set 0
     30LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 1
     31LayerIdsInSet_2               : 0 2          # Indices in VPS of layers in layer set 2
     32LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
     33
     34#======== VPS / Output layer sets ================
     35DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
     36
     37OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     38LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
     39LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     40
     41#======== VPS / PTLI ================
     42Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     43Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     44Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     45InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     46
     47ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     48ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     49ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     50ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     51ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     52ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     53
     54#======== VPS / Dependencies ================
     55DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
     56DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers
     57
     58DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     59DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    2560
    2661#========== Camera parameters ==========
  • trunk/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg

    r1040 r1066  
    2626ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2727DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    28 ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex (m)
     28ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m)
    2929DepthFlag                     : 0 1 1 0 1 0 # DepthFlag  (m)
    30 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     30LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    3131SplittingFlag                 : 0           # Splitting Flag
    32 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
     32ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
    3333
    3434#======== VPS/ Layer sets ================
     
    4040LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set
    4141
     42#======== VPS / Output layer sets ================
    4243DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    4344OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
    44 LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of additional output layers
    45 LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of additional output layers
    46 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     45LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of output layers in additional output layer set 0
     46LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of output layers in additional output layer set 1
     47
     48
     49#======== VPS / PTLI ================
     50Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     51Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     52Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     53InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     54
     55ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     56ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     57ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     58ProfileTierLevelIdx_3         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     59ProfileTierLevelIdx_4         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     60ProfileTierLevelIdx_5         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     61ProfileTierLevelIdx_6         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
    4762
    4863#======== VPS / Dependencies ================
     
    228243AdvMultiviewResPred                 : 1                # Advanced inter-view residual prediction (0:off, 1:on)
    229244IlluCompEnable                      : 1                # Enable Illumination compensation ( 0: off, 1: on )  (v/d)
     245IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    230246ViewSynthesisPred                   : 1                # View synthesis prediction
    231 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     247DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    232248IvMvScaling                         : 1                # Interview motion vector scaling
     249SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
     250SubPUMPILog2Size                    : 3                # Log2 of sub-PU size for MPI (3...6)
    233251DBBP                                : 1                # Depth-based Block Partitioning
    234252
  • trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg

    r872 r1066  
    1717LayerIdsInSet_3               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set
    1818
     19#======== VPS / Output layer sets ================
    1920DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    2021OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
    2122LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of additional output layers
    2223LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of additional output layers
    23 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     24
     25#======== VPS / PTLI ================
     26Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     27Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     28Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     29InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     30
     31ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     32ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     33ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     34ProfileTierLevelIdx_3         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     35ProfileTierLevelIdx_4         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     36ProfileTierLevelIdx_5         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     37
    2438
    2539#======== VPS / Dependencies ================
  • trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view.cfg

    r872 r1066  
    1313LayerIdsInSet_2               : 0 1 2        # LayerIdcs in vps of layer set
    1414
     15#======== VPS / Output layer sets ================
    1516DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1617OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
    1718LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set
    1819LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set
    19 ProfileLevelTierIdx           : 0 0 0 0 0    # Indices to profile level tier (TBD)
     20
     21#======== VPS / PTLI ================
     22Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     23Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     24Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     25InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     26
     27ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     28ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     29ProfileTierLevelIdx_2         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     30ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     31ProfileTierLevelIdx_4         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    2032
    2133#======== VPS / Dependencies ================
  • trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg

    r872 r1066  
    33#======== VPS/ Layer sets ================
    44VpsNumLayerSets               : 4           # Number of layer sets   
    5 LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set
    6 LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set
    7 LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set
    8 LayerIdsInSet_3               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set
     5LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     6LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
     7LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2
     8LayerIdsInSet_3               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 3
    99
     10#======== VPS / Output layer sets ================
    1011DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1112OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
    1213LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of additional output layers
    1314LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of additional output layers
    14 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     15
     16#======== VPS / PTLI ================
     17Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     18Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     19Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     20InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     21
     22ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     23ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_3         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     26ProfileTierLevelIdx_4         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     27ProfileTierLevelIdx_5         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     28
     29
    1530
    1631#======== VPS / Dependencies ================
  • trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg

    r872 r1066  
    11#======== VPS/ Layer sets ================
    22VpsNumLayerSets               : 4           # Number of layer sets   
    3 LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set
    4 LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set
    5 LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set
    6 LayerIdsInSet_3               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set
     3LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     4LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
     5LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2
     6LayerIdsInSet_3               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 3
    77
     8#======== VPS / Output layer sets ================
    89DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    910OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
    10 LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of additional output layers
    11 LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of additional output layers
    12 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     11LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of output layers in additional output layer set 0
     12LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of output layers in additional output layer set 1
     13
     14#======== VPS / PTLI ================
     15Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     16Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     17Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     18InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     19
     20ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     21ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     22ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     23ProfileTierLevelIdx_3         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_4         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_5         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     26
     27
    1328
    1429#======== VPS / Dependencies ================
  • trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view.cfg

    r872 r1066  
    66LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set
    77
     8#======== VPS / Output layer sets ================
    89DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    910OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
    10 LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set
    11 LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set
    12 ProfileLevelTierIdx           : 0 0 0 0 0 0  # Indices to profile level tier (TBD)
     11LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
     12LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     13
     14#======== VPS / PTLI ================
     15Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     16Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     17Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     18InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     19
     20ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     21ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     22ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     23ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
    1326
    1427#======== VPS / Dependencies ================
  • trunk/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg

    r1040 r1066  
    2626ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2727DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    28 ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex (m)
     28ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m)
    2929DepthFlag                     : 0 1 0 1 0 1 # DepthFlag  (m)
    30 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     30LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    3131SplittingFlag                 : 0           # Splitting Flag
    32 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
     32ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
    3333
    3434#======== VPS/ Layer sets ================
    3535VpsNumLayerSets               : 5           # Number of layer sets   
    36 LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set
    37 LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set
    38 LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set
    39 LayerIdsInSet_3               : 0 1 4 5     # Indices in VPS of layers in layer set
    40 LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set
    41 
     36LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     37LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
     38LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2
     39LayerIdsInSet_3               : 0 1 4 5     # Indices in VPS of layers in layer set 3
     40LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4
     41
     42#======== VPS / Output layer sets ================
    4243DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    4344OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
    44 LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of additional output layers
    45 LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of additional output layers
    46 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     45LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of output layers in additional output layer set 0
     46LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of output layers in additional output layer set 1
     47
     48
     49#======== VPS / PTLI ================
     50Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     51Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     52Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     53InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     54
     55ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     56ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     57ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     58ProfileTierLevelIdx_3         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     59ProfileTierLevelIdx_4         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     60ProfileTierLevelIdx_5         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     61ProfileTierLevelIdx_6         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
    4762
    4863#======== VPS / Dependencies ================
     
    237252
    238253#========== multiview coding tools ==========
    239 IvMvPred                            : 1                # Inter-view motion prediction
     254IvMvPred                            : 1 1              # Inter-view motion prediction
    240255AdvMultiviewResPred                 : 1                # Advanced inter-view residual prediction (0:off, 1:on)
    241256IlluCompEnable                      : 1                # Enable Illumination compensation ( 0: off, 1: on )  (v/d)
     257IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    242258ViewSynthesisPred                   : 1                # View synthesis prediction
    243 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     259DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    244260IvMvScaling                         : 1                # Interview motion vector scaling
    245 
    246 
     261SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
     262SubPUMPILog2Size                    : 3                # Log2 of sub-PU size for MPI (3...6)
     263DBBP                                : 1                # Depth-based Block Partitioning
    247264
    248265#========== depth coding tools ==========
    249266VSO                       : 1                                      # use of view synthesis optimization for depth coding
    250267DMM                                : 1
     268IVP                                : 1                 # use of intra-view prediction mode
    251269SDC                                : 1
    252270DLT                                : 1
     
    255273InterSDC                           : 1                             # use of inter sdc
    256274MPI                                : 1
    257 
     275SingleDepthMode                    : 1                 # use of single depth mode
    258276#========== view synthesis optimization (VSO) ==========
    259277VSOConfig                 : [cx0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) B(oo2) I(s0.25 s0.5 s0.75 s1.25 s1.5 s1.75)][cx2 B(cc1) I(s1.25 s1.5 s1.75)] # VSO configuration string
  • trunk/cfg/3D-HEVC/baseCfg_2view+depth.cfg

    r1040 r1066  
    2222ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2323DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    24 ViewOrderIndex                : 0 0 1 1     # ViewOrderIndex (m)
     24ViewOrderIndex                : 0 0 1 1     # ViewOrderIndex, per layer (m)
    2525DepthFlag                     : 0 1 0 1     # DepthFlag  (m)
    26 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     26LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2727SplittingFlag                 : 0           # Splitting Flag
    28 ViewId                        : 1 0         # ViewId per ViewOrderIndex (m)
     28ViewId                        : 1 0         # ViewId, per ViewOrderIndex (m)
    2929
    3030#======== VPS/ Layer sets ================
    3131VpsNumLayerSets               : 3           # Number of layer sets   
    32 LayerIdsInSet_0               : 0           # LayerIds in vps of layer set
    33 LayerIdsInSet_1               : 0 1         # LayerIds in vps of layer set
    34 LayerIdsInSet_2               : 0 1 2 3     # LayerIds in vps of layer set
    35 
    36 DefaultTargetOutputLayerIdc: 0          # Output highest layer of layer sets by default
    37 OutputLayerSetIdx             : 2           # Indices of layer sets used as additional output layer sets
    38 LayerIdsInAddOutputLayerSet_0 : 2 3         # LayerIds in vps of additional output layers
    39 ProfileLevelTierIdx           : 0 0 0 0     # Indices to profile level tier (TBD)
     32LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     33LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
     34LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2
     35
     36#======== VPS / Output layer sets ================
     37DefaultTargetOutputLayerIdc   : 0           # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
     38OutputLayerSetIdx             : 2           # Indices of layer sets used to derive additional output layer sets
     39LayerIdsInAddOutputLayerSet_0 : 2 3         # Indices in VPS of output layers in additional output layer set
     40
     41#======== VPS / PTLI ================
     42Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     43Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     44Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     45InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     46
     47ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     48ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     49ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     50ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     51ProfileTierLevelIdx_4         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    4052
    4153#======== VPS / Dependencies ================
     
    7082#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    7183#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs         #ActiveRefLayerPics     refLayerPicPosIl_L0     
    72 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    73 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    74 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    75 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    76 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    77 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    78 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    79 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
    80    
    81 FrameI_l1:  I    0     0        0.442    0            0              0           0                0                            0                                          0             
    82 Frame1_l1:  B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0             
    83 Frame2_l1:  B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0             
    84 Frame3_l1:  B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0             
    85 Frame4_l1:  B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0             
    86 Frame5_l1:  B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0             
    87 Frame6_l1:  B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0             
    88 Frame7_l1:  B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0             
    89 Frame8_l1:  B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0             
    90 
    91 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1        -1 
    92 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1        -1 
    93 Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1        -1 
    94 Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1        -1 
    95 Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1        -1 
    96 Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    97 Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1        -1 
    98 Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1        -1 
    99 Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    100 
    101 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1        -1 
    102 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1        -1 
    103 Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1        -1 
    104 Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1        -1 
    105 Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1        -1 
    106 Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    107 Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1        -1 
    108 Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1        -1 
    109 Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
     84Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
     85Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
     86Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
     87Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
     88Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
     89Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
     90Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
     91Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
     92                                                                                                     
     93FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
     94Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
     95Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
     96Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
     97Frame4_l1:  B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0             
     98Frame5_l1:  B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0             
     99Frame6_l1:  B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0             
     100Frame7_l1:  B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0             
     101Frame8_l1:  B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0             
     102
     103FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1 
     104Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1 
     105Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1 
     106Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1 
     107Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1 
     108Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1 
     109Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1 
     110Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1 
     111Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1 
     112
     113FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1 
     114Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1 
     115Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1 
     116Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1 
     117Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1 
     118Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1 
     119Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1 
     120Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1 
     121Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1 
    110122
    111123#=========== Motion Search =============
     
    200212IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    201213ViewSynthesisPred                   : 1                # View synthesis prediction
    202 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     214DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    203215IvMvScaling                         : 1                # Interview motion vector scaling
    204216SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
  • trunk/cfg/3D-HEVC/baseCfg_2view.cfg

    r950 r1066  
    22# (m) specification per layer/dimension/layerset possible
    33# (c) cyclic repetition of values, if not given for all layers/dimensions/layersets. (e.g. 5 layers and 1 2 3 -> 1 2 3 1 2  )
    4 # (v/d) two values possible first for depth layer, second for texture layers
    54
    65#======== File I/O =====================
     
    1413ReconFile_1                   : rec_2.yuv                         
    1514
    16 NumberOfLayers                : 2           # number of layers to be coded
     15NumberOfLayers                : 2           # Number of layers
    1716
    1817#======== VPS ============================
    1918ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2019DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    21 ViewOrderIndex                : 0 1         # ViewOrderIndex (m)
    22 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     20ViewOrderIndex                : 0 1         # ViewOrderIndex, per layer (m)
     21LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2322SplittingFlag                 : 0           # Splitting Flag
    24 ViewId                        : 1 0         # ViewId per ViewOrderIndex (m)
     23ViewId                        : 1 0         # ViewId, per ViewOrderIndex (m)
    2524
    2625#======== VPS/ Layer sets ================
    2726VpsNumLayerSets               : 2            # Number of layer sets   
    2827LayerIdsInSet_0               : 0            # Indices in VPS of layers in layer set 0
    29 LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 3
     28LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 1
    3029
     30#======== VPS / Output layer sets ================
    3131DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3232
     
    3434LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    3535
    36 ProfileLevelTierIdx           : 0 0 0        # Indices to profile level tier (TBD)
     36#======== VPS / PTLI ================
     37Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     38Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     39Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     40InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     41
     42ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     43ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     44ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    3745
    3846#======== VPS / Dependencies ================
     
    6371#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    6472#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    65 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    66 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    67 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    68 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    69 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    70 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    71 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    72 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
     73Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
     74Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
     75Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
     76Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
     77Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
     78Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
     79Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
     80Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    7381   
    74 FrameI_l1:  P    0     3     0.442    0        0        0      1     0                         0                                  1          0          0          -1
    75 Frame1_l1:  B    8     4     0.442    0        0        0      4     4      -8 -10 -12 -16     0                                  1          0          1          -1
    76 Frame2_l1:  B    4     5     0.3536   0        0        0      3     3      -4 -6  4           1       4   5      1 1 0 0 1       1          0          1          -1
    77 Frame3_l1:  B    2     6     0.3536   0        0        0      3     4      -2 -4  2 6         1       2   4      1 1 1 1         1          0          1          -1
    78 Frame4_l1:  B    1     7     0.68     0        0        0      3     4      -1  1  3 7         1       1   5      1 0 1 1 1       1          0          1          -1
    79 Frame5_l1:  B    3     7     0.68     0        0        0      3     4      -1 -3  1 5         1      -2   5      1 1 1 1 0       1          0          2          -1
    80 Frame6_l1:  B    6     6     0.3536   0        0        0      3     4      -2 -4 -6 2         1      -3   5      1 1 1 1 0       1          0          2          -1
    81 Frame7_l1:  B    5     7     0.68     0        0        0      3     4      -1 -5  1 3         1       1   5      1 0 1 1 1       1          0          2          -1
    82 Frame8_l1:  B    7     7     0.68     0        0        0      3     4      -1 -3 -7 1         1      -2   5      1 1 1 1 0       1          0          2          -1
     82FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
     83Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
     84Frame2_l1:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1       4    5     1 1 0 0 1       1          0         1          -1
     85Frame3_l1:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1       2    4     1 1 1 1         1          0         1          -1
     86Frame4_l1:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1       1    5     1 0 1 1 1       1          0         1          -1
     87Frame5_l1:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1      -2    5     1 1 1 1 0       1          0         2          -1
     88Frame6_l1:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1      -3    5     1 1 1 1 0       1          0         2          -1
     89Frame7_l1:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1       1    5     1 0 1 1 1       1          0         2          -1
     90Frame8_l1:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1      -2    5     1 1 1 1 0       1          0         2          -1
    8391
    8492#=========== Motion Search =============
     
    175183IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    176184ViewSynthesisPred                   : 1                # View synthesis prediction
    177 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     185DepthRefinement                     : 0                # Disparity refined by depth DoNBDV
    178186IvMvScaling                         : 1                # Interview motion vector scaling
     187SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
     188SubPUMPILog2Size                    : 3                # Log2 of sub-PU size for MPI (3...6)
     189DBBP                                : 0                # Depth-based Block Partitioning
    179190
    180191### DO NOT ADD ANYTHING BELOW THIS LINE ###
  • trunk/cfg/3D-HEVC/baseCfg_3view+depth.cfg

    r1040 r1066  
    2626ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2727DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    28 ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex (m)
     28ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m)
    2929DepthFlag                     : 0 1 0 1 0 1 # DepthFlag  (m)
    30 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     30LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    3131SplittingFlag                 : 0           # Splitting Flag
    32 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
    33 
    34 #======== VPS/ Layer sets ================
     32ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
     33
     34#======== VPS / Layer sets ================
    3535VpsNumLayerSets               : 5           # Number of layer sets   
    3636LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     
    4040LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4
    4141
     42#======== VPS / Output layer sets ================
    4243DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    4344OutputLayerSetIdx             : 2 3          # Indices of layer sets used to derive additional output layer sets
     
    4546LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of output layers in additional output layer set 1
    4647
    47 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     48
     49#======== VPS / PTLI ================
     50Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     51Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     52Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     53InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     54
     55ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     56ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     57ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     58ProfileTierLevelIdx_3         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     59ProfileTierLevelIdx_4         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     60ProfileTierLevelIdx_5         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     61ProfileTierLevelIdx_6         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
    4862
    4963#======== VPS / Dependencies ================
     
    8296#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    8397#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
    84 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    85 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    86 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    87 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    88 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    89 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    90 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    91 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
    92    
    93 FrameI_l1:  I    0     0        0.442    0            0              0           0                0                            0                                          0             
    94 Frame1_l1:  B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0             
    95 Frame2_l1:  B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0             
    96 Frame3_l1:  B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0             
    97 Frame4_l1:  B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0             
    98 Frame5_l1:  B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0             
    99 Frame6_l1:  B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0             
    100 Frame7_l1:  B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0             
    101 Frame8_l1:  B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0             
     98Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
     99Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
     100Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
     101Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
     102Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
     103Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
     104Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
     105Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
     106                                                                                                     
     107FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
     108Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
     109Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
     110Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
     111Frame4_l1:  B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0             
     112Frame5_l1:  B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0             
     113Frame6_l1:  B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0             
     114Frame7_l1:  B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0             
     115Frame8_l1:  B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0             
    102116
    103117FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
     
    231245IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    232246ViewSynthesisPred                   : 1                # View synthesis prediction
    233 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     247DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    234248IvMvScaling                         : 1                # Interview motion vector scaling
    235249SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
  • trunk/cfg/3D-HEVC/baseCfg_3view.cfg

    r964 r1066  
    1515ReconFile_2                   : rec_6.yuv                           
    1616
    17 NumberOfLayers                : 3           # number of layers to be coded
     17NumberOfLayers                : 3           # Number of layers
    1818
    1919#======== VPS ============================
    2020ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    2121DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    22 ViewOrderIndex                : 0 1 2       # ViewOrderIndex (m)
    23 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     22ViewOrderIndex                : 0 1 2       # ViewOrderIndex, per layer (m)
     23LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2424SplittingFlag                 : 0           # Splitting Flag
    25 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
     25ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
    2626
    2727#======== VPS / Layer sets ================
     
    3232LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
    3333
     34#======== VPS / Output layer sets ================
    3435DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3536
     
    3839LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    3940
    40 ProfileLevelTierIdx           : 0 0 0 0 0 0   # Indices to profile level tier (TBD)
     41#======== VPS / PTLI ================
     42Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     43Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     44Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     45InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     46
     47ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     48ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     49ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     50ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     51ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     52ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
    4153
    4254#======== VPS / Dependencies ================
    4355DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
    4456DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers
     57
    4558DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    4659DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     
    6982#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0
    7083
    71 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    72 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    73 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    74 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    75 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    76 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    77 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    78 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
     84Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
     85Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
     86Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
     87Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
     88Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
     89Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
     90Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
     91Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    7992   
    8093FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
     
    189202IlluCompEnable                      : 1                # Enable Illumination compensation ( 0: off, 1: on )   (v/d)
    190203IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    191 ViewSynthesisPred                   : 0                # View synthesis prediction
    192 DepthRefinement                     : 0                # Dispary refined by depth DoNBDV
     204ViewSynthesisPred                   : 1                # View synthesis prediction
     205DepthRefinement                     : 0                # Disparity refined by depth DoNBDV
    193206IvMvScaling                         : 1                # Interview motion vector scaling
    194207SubPULog2Size                       : 3                # Log2 of sub-PU size for IvMvPred (2...6)
  • trunk/cfg/3D-HEVC/fullCfg.cfg

    r1040 r1066  
    1010InputFile_3                   : newspapercc_2_depth.yuv                             
    1111InputFile_4                   : newspapercc_6.yuv                               
    12 InputFile_5                   : newspapercc_6_depth.yuv                             
     12InputFile_5                   : newspapercc_6_depth.yuv           
     13InputFile_6                   :       
     14InputFile_7                   :       
     15InputFile_8                   :       
     16InputFile_9                   :       
     17InputFile_10                  :       
     18InputFile_11                  :       
     19                   
    1320
    1421BitstreamFile                 : stream.bit                         
     
    1926ReconFile_3                   : rec_2_depth.yuv                         
    2027ReconFile_4                   : rec_6.yuv                         
    21 ReconFile_5                   : rec_6_depth.yuv                           
     28ReconFile_5                   : rec_6_depth.yuv     
     29ReconFile_6                   :       
     30ReconFile_7                   :       
     31ReconFile_8                   :       
     32ReconFile_9                   :       
     33ReconFile_10                   :       
     34ReconFile_11                   :       
     35                     
    2236
    2337FramesToBeEncoded             : 3           # Number of frames to be coded
     
    2640SourceHeight                  : 768         # Input  frame height
    2741NumberOfLayers                : 6
     42TargetEncLayerIdList          :             # Layer Id in Nuh to be encoded, (empty:-> all layers will be encode)
    2843
    2944#======== VPS ============================
    3045ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
    3146DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
    32 ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex (m)
     47ViewOrderIndex                : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m)
    3348DepthFlag                     : 0 1 0 1 0 1 # DepthFlag  (m)
    34 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     49LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    3550SplittingFlag                 : 0           # Splitting Flag
    36 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
    37 
     51ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
     52OutputVpsInfo                 : 0           # Output VPS information
     53#======== VPS/ Layer sets ================
    3854VpsNumLayerSets               : 5           # Number of layer sets   
    3955LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
     
    4258LayerIdsInSet_3               : 0 1 4 5     # Indices in VPS of layers in layer set 3
    4359LayerIdsInSet_4               : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4
    44 
     60LayerIdsInSet_5               :
     61LayerIdsInSet_6               :
     62LayerIdsInSet_7               :
     63LayerIdsInSet_8               :
     64LayerIdsInSet_9               :
     65LayerIdsInSet_10              :
     66
     67NumAddLayerSets               : 0            # Specifies the number of additional layer sets
     68HighestLayerIdxPlus1_0        : -1           # Highest layer idx plus 1 for the 0-th additional layer set, per independent layer (m) (first value will be ignored)
     69HighestLayerIdxPlus1_1        : -1           # Highest layer idx plus 1 for the 1-th additional layer set, per independent layer (m) (first value will be ignored)
     70HighestLayerIdxPlus1_2        : -1           # Highest layer idx plus 1 for the 2-th additional layer set, per independent layer (m) (first value will be ignored)
     71HighestLayerIdxPlus1_3        : -1           # Highest layer idx plus 1 for the 4-th additional layer set, per independent layer (m) (first value will be ignored)
     72HighestLayerIdxPlus1_4        : -1           # Highest layer idx plus 1 for the 5-th additional layer set, per independent layer (m) (first value will be ignored)
     73HighestLayerIdxPlus1_5        : -1           # Highest layer idx plus 1 for the 6-th additional layer set, per independent layer (m) (first value will be ignored)
     74HighestLayerIdxPlus1_6        : -1           # Highest layer idx plus 1 for the 7-th additional layer set, per independent layer (m) (first value will be ignored)
     75
     76#======== VPS / Output layer sets ================
    4577DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    4678
     
    5082LayerIdsInDefOutputLayerSet_3 :              # Indices in VPS of output layers in layer set 3 (when DefaultTargetOutputLayerIdc is equal to 2)
    5183LayerIdsInDefOutputLayerSet_4 :              # Indices in VPS of output layers in layer set 4 (when DefaultTargetOutputLayerIdc is equal to 2)
     84LayerIdsInDefOutputLayerSet_5 :              # Indices in VPS of output layers in layer set 5 (when DefaultTargetOutputLayerIdc is equal to 2)
     85LayerIdsInDefOutputLayerSet_6 :              # Indices in VPS of output layers in layer set 6 (when DefaultTargetOutputLayerIdc is equal to 2)
     86LayerIdsInDefOutputLayerSet_7 :              # Indices in VPS of output layers in layer set 7 (when DefaultTargetOutputLayerIdc is equal to 2)
     87LayerIdsInDefOutputLayerSet_8 :              # Indices in VPS of output layers in layer set 8 (when DefaultTargetOutputLayerIdc is equal to 2)
     88LayerIdsInDefOutputLayerSet_9 :              # Indices in VPS of output layers in layer set 9 (when DefaultTargetOutputLayerIdc is equal to 2)
    5289
    5390
     
    5592LayerIdsInAddOutputLayerSet_0 : 2 3          # Indices in VPS of output layers in additional output layer set 0
    5693LayerIdsInAddOutputLayerSet_1 : 4 5          # Indices in VPS of output layers in additional output layer set 1
    57 
    58 ProfileLevelTierIdx           : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD)
     94LayerIdsInAddOutputLayerSet_2 :              # Indices in VPS of output layers in additional output layer set 2
     95LayerIdsInAddOutputLayerSet_3 :              # Indices in VPS of output layers in additional output layer set 3
     96LayerIdsInAddOutputLayerSet_4 :              # Indices in VPS of output layers in additional output layer set 4
     97LayerIdsInAddOutputLayerSet_5 :              # Indices in VPS of output layers in additional output layer set 5
     98LayerIdsInAddOutputLayerSet_6 :              # Indices in VPS of output layers in additional output layer set 6
     99LayerIdsInAddOutputLayerSet_7 :              # Indices in VPS of output layers in additional output layer set 7
     100LayerIdsInAddOutputLayerSet_8 :              # Indices in VPS of output layers in additional output layer set 8
     101LayerIdsInAddOutputLayerSet_9 :              # Indices in VPS of output layers in additional output layer set 9
     102LayerIdsInAddOutputLayerSet_10:              # Indices in VPS of output layers in additional output layer set 10
     103
     104
     105#======== VPS / PTLI ================
     106Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     107Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     108Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     109InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     110
     111ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     112ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     113ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     114ProfileTierLevelIdx_3         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     115ProfileTierLevelIdx_4         : 1 2 2 2 2 2                # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     116ProfileTierLevelIdx_5         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     117ProfileTierLevelIdx_6         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
     118ProfileTierLevelIdx_7         :                            # VpsProfileTierLevel indices of layers in output layer set 7 (m) (should be -1, when layer is not necessary)
     119ProfileTierLevelIdx_8         :                            # VpsProfileTierLevel indices of layers in output layer set 8 (m) (should be -1, when layer is not necessary)
     120ProfileTierLevelIdx_9         :                            # VpsProfileTierLevel indices of layers in output layer set 9 (m) (should be -1, when layer is not necessary)
     121ProfileTierLevelIdx_10        :                           # VpsProfileTierLevel indices of layers in output layer set 10 (m) (should be -1, when layer is not necessary)
     122ProfileTierLevelIdx_11        :                           # VpsProfileTierLevel indices of layers in output layer set 11 (m) (should be -1, when layer is not necessary)
     123ProfileTierLevelIdx_12        :                           # VpsProfileTierLevel indices of layers in output layer set 12 (m) (should be -1, when layer is not necessary)
     124ProfileTierLevelIdx_13        :                           # VpsProfileTierLevel indices of layers in output layer set 13 (m) (should be -1, when layer is not necessary)
    59125
    60126#======== VPS / Dependencies ================
     
    93159
    94160#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    95 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     collocatedRefLayerIdx
     161#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
    96162Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    97163Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
     
    113179Frame8_l1:  B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0             
    114180
    115 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1        -1 
    116 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1        -1 
    117 Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1        -1 
    118 Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1        -1 
    119 Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1        -1 
    120 Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    121 Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1        -1 
    122 Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1        -1 
    123 Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    124 
    125 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1        -1 
    126 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1        -1 
    127 Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1        -1 
    128 Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1        -1 
    129 Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1        -1 
    130 Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    131 Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1        -1 
    132 Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1        -1 
    133 Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    134 
    135 FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1        -1 
    136 Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1        -1 
    137 Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1        -1 
    138 Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1        -1 
    139 Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1        -1 
    140 Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    141 Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1        -1 
    142 Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1        -1 
    143 Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    144 
    145 FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1        -1 
    146 Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1        -1 
    147 Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1        -1 
    148 Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1        -1 
    149 Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1        -1 
    150 Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
    151 Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1        -1 
    152 Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1        -1 
    153 Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1        -1 
     181FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
     182Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
     183Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1   
     184Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1   
     185Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1   
     186Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1   
     187Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1   
     188Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1   
     189Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1   
     190
     191FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
     192Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
     193Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1   
     194Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1   
     195Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1   
     196Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1   
     197Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1   
     198Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1   
     199Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1   
     200
     201FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
     202Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
     203Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1   
     204Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1   
     205Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1   
     206Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1   
     207Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1   
     208Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1   
     209Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1   
     210
     211FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
     212Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
     213Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1   
     214Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1   
     215Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1   
     216Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1   
     217Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1   
     218Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1   
     219Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1   
    154220
    155221#=========== Motion Search =============
     
    238304RCForceIntraQP                      : 0                # Rate control: force intra QP to be equal to initial QP
    239305
    240 DepthMADPred                        : 0                # 0: Disable Depth based MAD prediction for extended view 1: Enable Depth based MAD prediction for extended view
    241 TargetBitAssign                     : 0                # Manual assignment of target bit-rate
    242 ViewWiseTargetBits                  : 950000 315000 358000      # View-wise target bit-rate setting
     306#DepthMADPred                        : 0                # 0: Disable Depth based MAD prediction for extended view 1: Enable Depth based MAD prediction for extended view
     307#TargetBitAssign                     : 0                # Manual assignment of target bit-rate
     308#ViewWiseTargetBits                  : 950000 315000 358000      # View-wise target bit-rate setting
    243309
    244310#============ Rate Control URQ ======================
     
    255321IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
    256322ViewSynthesisPred                   : 1                # View synthesis prediction
    257 DepthRefinement                     : 1                # Dispary refined by depth DoNBDV
     323DepthRefinement                     : 1                # Disparity refined by depth DoNBDV
    258324IvMvScaling                         : 1                # Interview motion vector scaling
    259325SubPULog2Size                       : 3                            # Log2 of sub-PU size for IvMvPred (2...6)
     326SubPUMPILog2Size                    : 3                # Log2 of sub-PU size for MPI (3...6)
     327DBBP                                : 1                # Depth-based Block Partitioning
    260328
    261329#========== depth coding tools ==========
     
    269337InterSDC                           : 1                             # use of inter sdc
    270338MPI                                : 1
    271 
     339SingleDepthMode                    : 1                 # use of single depth mode
    272340#========== view synthesis optimization (VSO) ==========
    273341VSOConfig                 : [cx0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) B(oo2) I(s0.25 s0.5 s0.75 s1.25 s1.5 s1.75)][cx2 B(cc1) I(s1.25 s1.5 s1.75)] # VSO configuration string
  • trunk/cfg/MV-HEVC/NonCTC/gopCfg_IBP_3view.cfg

    r872 r1066  
    1313LayerIdsInSet_2               : 0 1 2        # Indices in VPS of layers in layer set 2
    1414
     15#======== VPS / Output layer sets ================
    1516DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1617OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     
    1819LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    1920
    20 ProfileLevelTierIdx           : 0 0 0 0 0    # Indices to profile level tier (TBD)
     21
     22#======== VPS / PTLI ================
     23Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     24Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     25Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     26InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     27
     28ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     29ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     30ProfileTierLevelIdx_2         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     31ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     32ProfileTierLevelIdx_4         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    2133
    2234#======== VPS / Dependencies ================
     
    2537DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    2638DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     39
    2740
    2841#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
  • trunk/cfg/MV-HEVC/NonCTC/gopCfg_IPB_on_IRAP_3view.cfg

    r872 r1066  
    88LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
    99
     10#======== VPS / Output layer sets ================
    1011DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1112OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     
    1314LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    1415
    15 ProfileLevelTierIdx           : 0 0 0 0 0 0  # Indices to profile level tier (TBD)
     16
     17#======== VPS / PTLI ================
     18Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     19Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     20Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     21InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     22
     23ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     26ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     27ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     28ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     29
    1630
    1731#======== VPS / Dependencies ================
  • trunk/cfg/MV-HEVC/NonCTC/gopCfg_NoIv_3view.cfg

    r872 r1066  
    99LayerIdsInSet_6               : 0 1 2        # Indices in VPS of layers in layer set 3
    1010
     11#======== VPS / Output layer sets ================
    1112DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1213
    1314OutputLayerSetIdx             :              # Indices of layer sets used to derive additional output layer sets
     15
     16#======== VPS / PTLI ================
     17Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     18Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     19Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     20InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     21
     22ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     23ProfileTierLevelIdx_1         : 2                          # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_2         : 2                          # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     26ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     27ProfileTierLevelIdx_5         : 2 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     28ProfileTierLevelIdx_6         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
     29
    1430
    1531
     
    1733DirectRefLayers_1             :             # Indices in VPS of direct reference layers
    1834DirectRefLayers_2             :             # Indices in VPS of direct reference layers
     35DirectRefLayers_3             :             # Indices in VPS of direct reference layers
     36DirectRefLayers_4             :             # Indices in VPS of direct reference layers
     37DirectRefLayers_5             :             # Indices in VPS of direct reference layers
     38
    1939DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    2040DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
  • trunk/cfg/MV-HEVC/NonCTC/gopCfg_PIP_on_IRAP_3view.cfg

    r872 r1066  
    88LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
    99
     10#======== VPS / Output layer sets ================
    1011DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1112OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     
    1314LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    1415
    15 ProfileLevelTierIdx           : 0 0 0 0 0 0  # Indices to profile level tier (TBD)
     16
     17#======== VPS / PTLI ================
     18Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     19Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     20Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     21InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     22
     23ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     26ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     27ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     28ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     29
    1630
    1731#======== VPS / Dependencies ================
  • trunk/cfg/MV-HEVC/NonCTC/layerwise_startup_IBP_3view.cfg

    r964 r1066  
    1111LayerIdsInSet_0               : 0            # Indices in VPS of layers in layer set 0
    1212LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 1
    13 LayerIdsInSet_2               : 0 1 2        # Indices in VPS of layers in layer set 3
     13LayerIdsInSet_2               : 0 1 2        # Indices in VPS of layers in layer set 2
    1414
     15#======== VPS / Output layer sets ================
    1516DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    1617OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
    1718LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    1819LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    19 ProfileLevelTierIdx           : 0 0 0 0 0    # Indices to profile level tier (TBD)
     20
    2021
    2122#======== VPS / Dependencies ================
     
    2425DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    2526DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     27
     28#======== VPS / PTLI ================
     29Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     30Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     31Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     32InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     33
     34ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     35ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     36ProfileTierLevelIdx_2         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     37ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     38ProfileTierLevelIdx_4         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     39
    2640
    2741#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
  • trunk/cfg/MV-HEVC/baseCfg_2view.cfg

    r872 r1066  
    1313ReconFile_1                   : rec_2.yuv                         
    1414
    15 NumberOfLayers                : 2           # number of layers to be coded
     15NumberOfLayers                : 2           # Number of layers
    1616
    1717#======== VPS ============================
    18 ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, shall be 2 for MV-HEVC )
     18ScalabilityMask               : 2           # Scalability Mask             ( Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary )
    1919DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    20 ViewOrderIndex                : 0 1         # ViewOrderIndex (m)
    21 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     20ViewOrderIndex                : 0 1         # ViewOrderIndex, per layer (m)
     21LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2222SplittingFlag                 : 0           # Splitting Flag
    23 ViewId                        : 1 0         # ViewId per ViewOrderIndex (m)
     23ViewId                        : 1 0         # ViewId, per ViewOrderIndex (m)
    2424
    2525#======== VPS/ Layer sets ================
    2626VpsNumLayerSets               : 2            # Number of layer sets   
    2727LayerIdsInSet_0               : 0            # Indices in VPS of layers in layer set 0
    28 LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 3
     28LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 1
    2929
     30#======== VPS / Output layer sets ================
    3031DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3132
    3233OutputLayerSetIdx             : 1            # Indices of layer sets used to derive additional output layer sets
    3334LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    34 ProfileLevelTierIdx           : 0 0 0        # Indices to profile level tier (TBD)
     35
     36#======== VPS / PTLI ================
     37Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     38Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     39Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     40InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     41
     42ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     43ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     44ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    3545
    3646#======== VPS / Dependencies ================
    3747DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
    3848DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     49
     50
    3951
    4052#======== Unit definition ================
     
    5668#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    5769#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    58 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    59 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    60 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    61 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    62 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    63 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    64 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    65 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
     70Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0      0
     71Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1      4    5     1 1 0 0 1         0
     72Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1      2    4     1 1 1 1           0
     73Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1      1    5     1 0 1 1 1         0
     74Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1     -2    5     1 1 1 1 0         0
     75Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1     -3    5     1 1 1 1 0         0
     76Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1      1    5     1 0 1 1 1         0
     77Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1     -2    5     1 1 1 1 0         0
    6678   
    6779FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0          0          -1       
  • trunk/cfg/MV-HEVC/baseCfg_3view.cfg

    r964 r1066  
    1515ReconFile_2                   : rec_6.yuv                           
    1616
    17 NumberOfLayers                : 3           # number of layers to be coded
     17NumberOfLayers                : 3           # Number of layers
    1818
    1919#======== VPS ============================
    20 ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, shall be 2 for MV-HEVC )
     20ScalabilityMask               : 2           # Scalability Mask             ( Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary )
    2121DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    2222ViewOrderIndex                : 0 1 2       # ViewOrderIndex, per layer (m)
     
    3131LayerIdsInSet_2               : 0 2          # Indices in VPS of layers in layer set 2
    3232LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
    33 LayerIdsInSet_4               :
    34 LayerIdsInSet_5               :
    35 LayerIdsInSet_6               :
    36 
    37 
     33
     34#======== VPS / Output layer sets ================
    3835DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3936
     
    4138LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    4239LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    43 LayerIdsInAddOutputLayerSet_2 :              # Indices in VPS of output layers in additional output layer set 1
    44 LayerIdsInAddOutputLayerSet_3 :              # Indices in VPS of output layers in additional output layer set 1
    45 LayerIdsInAddOutputLayerSet_4 :              # Indices in VPS of output layers in additional output layer set 1
    46 
    47 ProfileLevelTierIdx           : 0 0 0 0 0 0  # Indices to profile level tier (TBD)
     40
     41#======== VPS / PTLI ================
     42Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     43Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     44Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     45InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     46
     47ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     48ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     49ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     50ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     51ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     52ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
    4853
    4954#======== VPS / Dependencies ================
    5055DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
    5156DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers
     57DirectRefLayers_3             :             # Indices in VPS of direct reference layers
     58DirectRefLayers_4             :             # Indices in VPS of direct reference layers
     59DirectRefLayers_5             :             # Indices in VPS of direct reference layers
     60
    5261DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    5362DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     63DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     64DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     65DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    5466
    5567#======== Unit definition ================
     
    7284#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    7385
    74 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    75 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    76 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    77 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    78 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    79 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    80 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    81 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
     86Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0      0
     87Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1      4    5     1 1 0 0 1         0
     88Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1      2    4     1 1 1 1           0
     89Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1      1    5     1 0 1 1 1         0
     90Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1     -2    5     1 1 1 1 0         0
     91Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1     -3    5     1 1 1 1 0         0
     92Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1      1    5     1 0 1 1 1         0
     93Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1     -2    5     1 1 1 1 0         0
    8294   
    8395FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1       
  • trunk/cfg/MV-HEVC/fullCfg.cfg

    r872 r1066  
    88InputFile_1                   : newspapercc_2.yuv                               
    99InputFile_2                   : newspapercc_6.yuv                             
     10InputFile_3                   :                               
     11InputFile_4                   :                               
     12InputFile_5                   :       
     13InputFile_6                   :       
     14InputFile_7                   :       
     15InputFile_8                   :       
     16InputFile_9                   :       
     17InputFile_10                   :       
     18InputFile_11                   :       
    1019
    1120BitstreamFile                 : stream.bit                         
     
    1423ReconFile_1                   : rec_2.yuv                         
    1524ReconFile_2                   : rec_6.yuv                           
     25ReconFile_3                   :                           
     26ReconFile_4                   :                         
     27ReconFile_5                   :                           
     28ReconFile_6                   :       
     29ReconFile_7                   :       
     30ReconFile_8                   :       
     31ReconFile_9                   :       
     32ReconFile_10                   :       
     33ReconFile_11                   :       
     34
     35
     36NumberOfLayers                : 3           # Number of layers
     37TargetEncLayerIdList          :             # Layer Id in Nuh to be encoded, (empty:-> all layers will be encode)
    1638
    1739FramesToBeEncoded             : 3           # Number of frames to be coded
     
    1941SourceWidth                   : 1024        # Input  frame width
    2042SourceHeight                  : 768         # Input  frame height
    21 NumberOfLayers                : 3
    2243
    2344#======== VPS ============================
    24 ScalabilityMask               : 2           # Scalability Mask             ( 2: View Scalability, shall be 2 for MV-HEVC )
     45ScalabilityMask               : 2           # Scalability Mask             ( Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary )
    2546DimensionIdLen                : 3           # Number of bits to store Ids,  per scalability dimension, (m)
    26 ViewOrderIndex                : 0 1 2       # View Order Index (m)
    27 LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling ) (m)
     47ViewOrderIndex                : 0 1 2       # ViewOrderIndex, per layer (m)
     48AuxId                         :             # Auxiliary Id, per layer (m)
     49LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
    2850SplittingFlag                 : 0           # Splitting Flag
    29 ViewId                        : 1 0 2       # ViewId per ViewOrderIndex (m)
     51ViewId                        : 1 0 2       # ViewId, per ViewOrderIndex (m)
     52OutputVpsInfo                 : 0           # Output VPS information
    3053
    3154#======== VPS/ Layer sets ================
     
    3558LayerIdsInSet_2               : 0 2          # Indices in VPS of layers in layer set 2
    3659LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
     60LayerIdsInSet_4               :
     61LayerIdsInSet_5               :
     62LayerIdsInSet_6               :
     63LayerIdsInSet_7               :
     64LayerIdsInSet_8               :
     65LayerIdsInSet_9               :
     66LayerIdsInSet_10              :
     67
     68NumAddLayerSets               : 0            # Specifies the number of additional layer sets
     69HighestLayerIdxPlus1_0        : -1           # Highest layer idx plus 1 for the 0-th additional layer set, per independent layer (m) (first value will be ignored)
     70HighestLayerIdxPlus1_1        : -1           # Highest layer idx plus 1 for the 1-th additional layer set, per independent layer (m) (first value will be ignored)
     71HighestLayerIdxPlus1_2        : -1           # Highest layer idx plus 1 for the 2-th additional layer set, per independent layer (m) (first value will be ignored)
     72HighestLayerIdxPlus1_3        : -1           # Highest layer idx plus 1 for the 4-th additional layer set, per independent layer (m) (first value will be ignored)
     73HighestLayerIdxPlus1_4        : -1           # Highest layer idx plus 1 for the 5-th additional layer set, per independent layer (m) (first value will be ignored)
     74HighestLayerIdxPlus1_5        : -1           # Highest layer idx plus 1 for the 6-th additional layer set, per independent layer (m) (first value will be ignored)
     75HighestLayerIdxPlus1_6        : -1           # Highest layer idx plus 1 for the 7-th additional layer set, per independent layer (m) (first value will be ignored)
     76
     77#======== VPS / Output layer sets ================
    3778
    3879DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
     
    4182LayerIdsInDefOutputLayerSet_2 :              # Indices in VPS of output layers in layer set 2 (when DefaultTargetOutputLayerIdc is equal to 2)
    4283LayerIdsInDefOutputLayerSet_3 :              # Indices in VPS of output layers in layer set 3 (when DefaultTargetOutputLayerIdc is equal to 2)
     84LayerIdsInDefOutputLayerSet_4 :              # Indices in VPS of output layers in layer set 4 (when DefaultTargetOutputLayerIdc is equal to 2)
     85LayerIdsInDefOutputLayerSet_5 :              # Indices in VPS of output layers in layer set 5 (when DefaultTargetOutputLayerIdc is equal to 2)
     86LayerIdsInDefOutputLayerSet_6 :              # Indices in VPS of output layers in layer set 6 (when DefaultTargetOutputLayerIdc is equal to 2)
     87LayerIdsInDefOutputLayerSet_7 :              # Indices in VPS of output layers in layer set 7 (when DefaultTargetOutputLayerIdc is equal to 2)
     88LayerIdsInDefOutputLayerSet_8 :              # Indices in VPS of output layers in layer set 8 (when DefaultTargetOutputLayerIdc is equal to 2)
     89LayerIdsInDefOutputLayerSet_9 :              # Indices in VPS of output layers in layer set 9 (when DefaultTargetOutputLayerIdc is equal to 2)
    4390
    4491
     
    4693LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    4794LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
    48 
    49 
    50 ProfileLevelTierIdx           : 0 0 0 0      # Indices to profile level tier (TBD)
     95LayerIdsInAddOutputLayerSet_2 :              # Indices in VPS of output layers in additional output layer set 2
     96LayerIdsInAddOutputLayerSet_3 :              # Indices in VPS of output layers in additional output layer set 3
     97LayerIdsInAddOutputLayerSet_4 :              # Indices in VPS of output layers in additional output layer set 4
     98LayerIdsInAddOutputLayerSet_5 :              # Indices in VPS of output layers in additional output layer set 5
     99LayerIdsInAddOutputLayerSet_6 :              # Indices in VPS of output layers in additional output layer set 6
     100LayerIdsInAddOutputLayerSet_7 :              # Indices in VPS of output layers in additional output layer set 7
     101LayerIdsInAddOutputLayerSet_8 :              # Indices in VPS of output layers in additional output layer set 8
     102LayerIdsInAddOutputLayerSet_9 :              # Indices in VPS of output layers in additional output layer set 9
     103LayerIdsInAddOutputLayerSet_10:              # Indices in VPS of output layers in additional output layer set 10
     104
     105#======== VPS / PTLI ================
     106
     107Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     108Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     109Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     110InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     111
     112ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
     113ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
     114ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     115ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     116ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     117ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     118ProfileTierLevelIdx_6         :                            # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary)
     119ProfileTierLevelIdx_7         :                            # VpsProfileTierLevel indices of layers in output layer set 7 (m) (should be -1, when layer is not necessary)
     120ProfileTierLevelIdx_8         :                            # VpsProfileTierLevel indices of layers in output layer set 8 (m) (should be -1, when layer is not necessary)
     121ProfileTierLevelIdx_9         :                            # VpsProfileTierLevel indices of layers in output layer set 9 (m) (should be -1, when layer is not necessary)
     122ProfileTierLevelIdx_10        :                           # VpsProfileTierLevel indices of layers in output layer set 10 (m) (should be -1, when layer is not necessary)
     123ProfileTierLevelIdx_11        :                           # VpsProfileTierLevel indices of layers in output layer set 11 (m) (should be -1, when layer is not necessary)
     124ProfileTierLevelIdx_12        :                           # VpsProfileTierLevel indices of layers in output layer set 12 (m) (should be -1, when layer is not necessary)
     125ProfileTierLevelIdx_13        :                           # VpsProfileTierLevel indices of layers in output layer set 13 (m) (should be -1, when layer is not necessary)
     126ProfileTierLevelIdx_14        :                           # VpsProfileTierLevel indices of layers in output layer set 14 (m) (should be -1, when layer is not necessary)
     127
     128#======== VPS / Dependencies ================
     129DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
     130DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers
     131DirectRefLayers_3             :             # Indices in VPS of direct reference layers
     132DirectRefLayers_4             :             # Indices in VPS of direct reference layers
     133DirectRefLayers_5             :             # Indices in VPS of direct reference layers
     134
     135DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     136DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     137DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     138DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     139DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     140
     141
    51142#======== Unit definition ================
    52143MaxCUWidth                    : 64          # Maximum coding unit width in pixel
     
    67158#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    68159#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    69 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    70 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    71 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    72 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    73 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    74 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    75 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    76 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
     160
     161Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0      0
     162Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1      4    5     1 1 0 0 1         0
     163Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1      2    4     1 1 1 1           0
     164Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1      1    5     1 0 1 1 1         0
     165Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1     -2    5     1 1 1 1 0         0
     166Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1     -3    5     1 1 1 1 0         0
     167Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1      1    5     1 0 1 1 1         0
     168Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1     -2    5     1 1 1 1 0         0
    77169   
    78 FrameI_l1:  P    0     3        0.442    0            0              0           1                0                            0                                          1             -1                 0                  -1
    79 Frame1_l1:  B    8     4        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          1             -1                 1                  -1
    80 Frame2_l1:  B    4     5        0.3536   0            0              0           3                3         -4 -6  4           1       4        5         1 1 0 0 1       1             -1                 1                  -1
    81 Frame3_l1:  B    2     6        0.3536   0            0              0           3                4         -2 -4  2 6         1       2        4         1 1 1 1         1             -1                 1                  -1
    82 Frame4_l1:  B    1     7        0.68     0            0              0           3                4         -1  1  3 7         1       1        5         1 0 1 1 1       1             -1                 1                  -1
    83 Frame5_l1:  B    3     7        0.68     0            0              0           3                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       1             -1                 2                  -1
    84 Frame6_l1:  B    6     6        0.3536   0            0              0           3                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       1             -1                 2                  -1
    85 Frame7_l1:  B    5     7        0.68     0            0              0           3                4         -1 -5  1 3         1       1        5         1 0 1 1 1       1             -1                 2                  -1
    86 Frame8_l1:  B    7     7        0.68     0            0              0           3                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       1             -1                 2                  -1
    87 
    88 FrameI_l2:  P    0     3        0.442    0            0              0           1                0                            0                                          1             -2                 0                  -1
    89 Frame1_l2:  B    8     4        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          1             -2                 1                  -1
    90 Frame2_l2:  B    4     5        0.3536   0            0              0           3                3         -4 -6  4           1       4        5         1 1 0 0 1       1             -2                 1                  -1
    91 Frame3_l2:  B    2     6        0.3536   0            0              0           3                4         -2 -4  2 6         1       2        4         1 1 1 1         1             -2                 1                  -1
    92 Frame4_l2:  B    1     7        0.68     0            0              0           3                4         -1  1  3 7         1       1        5         1 0 1 1 1       1             -2                 1                  -1
    93 Frame5_l2:  B    3     7        0.68     0            0              0           3                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       1             -2                 2                  -1
    94 Frame6_l2:  B    6     6        0.3536   0            0              0           3                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       1             -2                 2                  -1
    95 Frame7_l2:  B    5     7        0.68     0            0              0           3                4         -1 -5  1 3         1       1        5         1 0 1 1 1       1             -2                 2                  -1
    96 Frame8_l2:  B    7     7        0.68     0            0              0           3                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       1             -2                 2                  -1
     170FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1       
     171Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   1          0         1          -1       
     172Frame2_l1:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         1          0         1          -1       
     173Frame3_l1:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           1          0         1          -1       
     174Frame4_l1:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         1          0         1          -1       
     175Frame5_l1:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         1          0         2          -1       
     176Frame6_l1:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         1          0         2          -1       
     177Frame7_l1:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         1          0         2          -1       
     178Frame8_l1:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         1          0         2          -1       
     179
     180FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1       
     181Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   1          0         1          -1       
     182Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         1          0         1          -1       
     183Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           1          0         1          -1       
     184Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         1          0         1          -1       
     185Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         1          0         2          -1       
     186Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         1          0         2          -1       
     187Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         1          0         2          -1       
     188Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         1          0         2          -1       
     189
     190FrameI_l3:
     191Frame1_l3:
     192Frame2_l3:
     193Frame3_l3:
     194Frame4_l3:
     195Frame5_l3:
     196Frame6_l3:
     197Frame7_l3:
     198Frame8_l3:
     199   
     200FrameI_l4:
     201Frame1_l4:
     202Frame2_l4:
     203Frame3_l4:
     204Frame4_l4:
     205Frame5_l4:
     206Frame6_l4:
     207Frame7_l4:
     208Frame8_l4:
     209
     210FrameI_l5:
     211Frame1_l5:
     212Frame2_l5:
     213Frame3_l5:
     214Frame4_l5:
     215Frame5_l5:
     216Frame6_l5:
     217Frame7_l5:
     218Frame8_l5:
     219
    97220
    98221#=========== Motion Search =============
  • trunk/source/App/TAppDecoder/TAppDecCfg.cpp

    r872 r1066  
    9494  ("TarDecLayerIdSetFile,l", cfg_TargetDecLayerIdSetFile, string(""), "targetDecLayerIdSet file name. The file should include white space separated LayerId values to be decoded. Omitting the option or a value of -1 in the file decodes all layers.")
    9595  ("RespectDefDispWindow,w", m_respectDefDispWindow, 0, "Only output content inside the default display window\n")
     96#if H_MV
     97#if H_MV_HLS10_GEN_FIX
     98  ("OutputVpsInfo,v", m_outputVpsInfo, false, "Output information about the layer dependencies and layer sets")
     99#endif
     100#endif
    96101  ;
    97102  po::setDefaults(opts);
  • trunk/source/App/TAppDecoder/TAppDecCfg.h

    r964 r1066  
    8080
    8181#if H_MV
     82#if H_MV_HLS10_GEN_FIX
     83  Bool          m_outputVpsInfo;                     ///< Output VPS information
     84#endif
    8285  Void xAppendToFileNameEnd( Char* pchInputFileName, const Char* pchStringToAppend, Char*& rpchOutputFileName); ///< create filenames
    8386#endif
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r976 r1066  
    239239          {
    240240            TComVPS* vps = m_vps;
    241           if ( m_targetOptLayerSetIdx == -1 )
     241            if ( m_targetOptLayerSetIdx == -1 )
     242            {
     243              // Not normative! Corresponds to specification by "External Means". (Should be set equal to 0, when no external means available. )
     244              m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1();
     245            }
     246
     247            for (Int dI = 0; dI < m_numDecoders; dI++ )
     248            {
     249              m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
     250            }
     251
     252            if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() )
     253            {
     254              fprintf(stderr, "\ntarget output layer set index must be in the range of 0 to %d, inclusive \n", vps->getNumOutputLayerSets() - 1 );           
     255              exit(EXIT_FAILURE);
     256            }
     257            m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
     258          }
     259#if H_MV_HLS10_GEN_FIX
     260          if (m_outputVpsInfo )
    242261          {
    243             // Not normative! Corresponds to specification by "External Means". (Should be set equal to 0, when no external means available. )
    244             m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1();
     262#if H_MV_HLS10_AUX
     263            m_vps->printScalabilityId();
     264#endif
     265            m_vps->printLayerDependencies();
     266            m_vps->printLayerSets();
     267            m_vps->printPTL();
    245268          }
    246 
    247           for (Int dI = 0; dI < m_numDecoders; dI++ )
    248           {
    249             m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
    250           }
    251 
    252           if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() )
    253           {
    254             fprintf(stderr, "\ntarget output layer set index must be in the range of 0 to %d, inclusive \n", vps->getNumOutputLayerSets() - 1 );           
    255             exit(EXIT_FAILURE);
    256           }
    257           m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
    258         }
    259       }
     269#endif
     270        }
    260271#if H_3D
    261272        if (nalu.m_nalUnitType == NAL_UNIT_VPS )
     
    569580  Int dpbFullness = 0;
    570581#if H_MV
     582#if H_MV_HLS10_ADD_LAYERSETS
     583  TComSPS* activeSPS = m_tDecTop[ decIdx ]->getActiveSPS();
     584#else
    571585  // preliminary fix
    572586  TComSPS* activeSPS = m_tDecTop[0]->getActiveSPS();
     587#endif
    573588#else
    574589  TComSPS* activeSPS = m_cTDecTop.getActiveSPS();
     
    11401155    Int curLayerId = m_tDecTop[dIdx]->getLayerId();
    11411156    Int curLayerIdxInVps = m_vps->getLayerIdInNuh( curLayerId  );
     1157#if H_MV_HLS10_REF_PRED_LAYERS
     1158    if ( m_vps->getDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) )
     1159#else
    11421160    if ( m_vps->getInDirectDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) )
     1161#endif
    11431162    {
    11441163      TComPic* curPic = m_ivPicLists.getPic( curLayerId, pocLastPic );
  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r1039 r1066  
    241241  {"main-still-picture", Profile::MAINSTILLPICTURE},
    242242#if H_MV
     243#if H_MV_HLS10_PTL
     244  {"multiview-main", Profile::MULTIVIEWMAIN},
     245#if H_3D
     246  {"3d-main"       , Profile::MAIN3D},
     247#endif
     248
     249#else
    243250  {"main-stereo",    Profile::MAINSTEREO},
    244251  {"main-multiview", Profile::MAINMULTIVIEW},
    245252#if H_3D
    246253  {"main-3d"    , Profile::MAIN3D},
     254#endif
    247255#endif
    248256#endif
     
    333341#if H_MV
    334342  vector<Int>   cfg_dimensionLength;
     343#if H_MV_HLS10_PTL
     344  string        cfg_profiles;
     345  string        cfg_levels;
     346  string        cfg_tiers;
     347#endif
    335348#if H_3D
    336349  cfg_dimensionLength.push_back( 2  );  // depth
     
    367380  ("NumberOfLayers",        m_numberOfLayers     , 1,                     "Number of layers")
    368381#if !H_3D
     382#if H_MV_HLS10_AUX
     383  ("ScalabilityMask",       m_scalabilityMask    , 2                    , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary")   
     384#else
    369385  ("ScalabilityMask",       m_scalabilityMask    , 2                    , "Scalability Mask")   
     386#endif
    370387#else
    371388  ("ScalabilityMask",       m_scalabilityMask    , 3                    , "Scalability Mask, 1: Texture 3: Texture + Depth ")   
     
    374391  ("ViewOrderIndex",        m_viewOrderIndex     , std::vector<Int>(1,0), "View Order Index per layer")
    375392  ("ViewId",                m_viewId             , std::vector<Int>(1,0), "View Id per View Order Index")
     393#if H_MV_HLS10_AUX
     394  ("AuxId",                 m_auxId              , std::vector<Int>(1,0), "AuxId per layer")
     395#endif
    376396#if H_3D
    377397  ("DepthFlag",             m_depthFlag          , std::vector<Int>(1,0), "Depth Flag")
     
    388408#endif
    389409#endif
    390   ("LayerIdInNuh",          m_layerIdInNuh       , std::vector<Int>(1,0), "LayerId in Nuh")
     410#if H_MV_HLS10_GEN_FIX
     411  ("TargetEncLayerIdList",  m_targetEncLayerIdList, std::vector<Int>(0,0), "LayerIds in Nuh to be encoded") 
     412#endif
     413  ("LayerIdInNuh",          m_layerIdInNuh       , std::vector<Int>(1,0), "LayerId in Nuh") 
    391414  ("SplittingFlag",         m_splittingFlag      , false                , "Splitting Flag")   
    392415
     
    394417  ("VpsNumLayerSets",       m_vpsNumLayerSets    , 1                    , "Number of layer sets")   
    395418  ("LayerIdsInSet_%d",      m_layerIdsInSets     , std::vector<Int>(1,0), MAX_VPS_OP_SETS_PLUS1 ,"LayerIds of Layer set") 
     419#if H_MV_HLS10_ADD_LAYERSETS
     420  ("NumAddLayerSets"     , m_numAddLayerSets     , 0                                              , "NumAddLayerSets     ")
     421  ("HighestLayerIdxPlus1_%d", m_highestLayerIdxPlus1, std::vector< Int  >(0,0)  ,MAX_VPS_NUM_ADD_LAYER_SETS, "HighestLayerIdxPlus1")
     422#endif
    396423  ("DefaultTargetOutputLayerIdc"     , m_defaultOutputLayerIdc     , 0, "Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet")
    397424  ("OutputLayerSetIdx",     m_outputLayerSetIdx  , std::vector<Int>(0,0), "Indices of layer sets used as additional output layer sets") 
     
    400427  ("LayerIdsInDefOutputLayerSet_%d", m_layerIdsInDefOutputLayerSet      , std::vector<Int>(0,0), MAX_VPS_OP_SETS_PLUS1, "Indices in VPS of output layers in layer set") 
    401428  ("AltOutputLayerFlag",    m_altOutputLayerFlag , std::vector<Bool>(1,0), "Alt output layer flag")
     429 
     430#if H_MV_HLS10_PTL
     431  ("ProfileTierLevelIdx_%d",  m_profileTierLevelIdx, std::vector<Int>(0), MAX_NUM_LAYERS, "Indices to profile level tier for ols")
     432#else
    402433  ("ProfileLevelTierIdx",   m_profileLevelTierIdx, std::vector<Int>(1,0), "Indices to profile level tier")
    403  
     434#endif
    404435  // Layer dependencies
    405436  ("DirectRefLayers_%d",    m_directRefLayers    , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIds of direct reference layers")
     
    431462 
    432463  // Profile and level
     464#if H_MV_HLS10_PTL
     465  ("Profile", cfg_profiles,   string(""),           "Profile in VpsProfileTierLevel (Indication only)")
     466  ("Level",   cfg_levels ,    string(""),           "Level indication in VpsProfileTierLevel (Indication only)")
     467  ("Tier",    cfg_tiers  ,    string(""),           "Tier indication in VpsProfileTierLevel (Indication only)")
     468  ("InblFlag",m_inblFlag ,    std::vector<Bool>(0), "InblFlags in VpsProfileTierLevel (Indication only)" )
     469#else
    433470  ("Profile", m_profile,   Profile::NONE, "Profile to be used when encoding (Incomplete)")
    434471  ("Level",   m_level,     Level::NONE,   "Level limit to be used, eg 5.1 (Incomplete)")
    435472  ("Tier",    m_levelTier, Level::MAIN,   "Tier to use for interpretation of --Level")
    436 
     473#endif
    437474  ("ProgressiveSource", m_progressiveSourceFlag, false, "Indicate that source is progressive")
    438475  ("InterlacedSource",  m_interlacedSourceFlag,  false, "Indicate that source is interlaced")
     
    613650#endif
    614651#if H_MV
    615 
     652#if H_MV_HLS10_GEN_FIX
     653// A lot of this stuff could should actually be derived by the encoder.
     654#endif // H_MV_HLS10_GEN
    616655  // VPS VUI
    617656  ("VpsVuiPresentFlag"           , m_vpsVuiPresentFlag           , false                                           , "VpsVuiPresentFlag           ")
     
    637676  ("CtuBasedOffsetEnabledFlag"   , m_ctuBasedOffsetEnabledFlag   , std::vector< Bool >(1,0)  ,MAX_NUM_LAYERS       , "CtuBasedOffsetEnabledFlag    per direct reference for the N-th layer")
    638677  ("MinHorizontalCtuOffsetPlus1" , m_minHorizontalCtuOffsetPlus1 , std::vector< Int  >(1,0)  ,MAX_NUM_LAYERS       , "MinHorizontalCtuOffsetPlus1  per direct reference for the N-th layer")
     678#if H_MV_HLS10_VPS_VUI
     679  ("SingleLayerForNonIrapFlag", m_singleLayerForNonIrapFlag, false                                          , "SingleLayerForNonIrapFlag")
     680  ("HigherLayerIrapSkipFlag"  , m_higherLayerIrapSkipFlag  , false                                          , "HigherLayerIrapSkipFlag  ")
     681#endif
    639682#endif
    640683
     
    742785  ("SEISubBitstreamAvgBitRate",               m_sbPropAvgBitRate,             std::vector< Int  >(1,0)  ,"Specifies average bit rate of the i-th sub-bitstream")
    743786  ("SEISubBitstreamMaxBitRate",               m_sbPropMaxBitRate,             std::vector< Int  >(1,0)  ,"Specifies maximum bit rate of the i-th sub-bitstream")
     787
     788#if H_MV_HLS10_GEN_FIX
     789  ("OutputVpsInfo",                           m_outputVpsInfo,                false                     ,"Output information about the layer dependencies and layer sets")
     790#endif
    744791#endif
    745792#if H_3D
     
    792839#endif //H_3D
    793840  ;
    794   #if H_MV
     841
     842#if H_MV
    795843  // parse coding structure
    796844  for( Int k = 0; k < MAX_NUM_LAYERS; k++ )
     
    10341082  }
    10351083  m_iNumberOfViews = (Int) uniqueViewOrderIndices.size();
     1084#if H_MV_HLS10_AUX
     1085  xResizeVector( m_auxId );
     1086#endif
    10361087
    10371088#if H_3D
     
    10671118  xResizeVector( m_wppInUseFlag );
    10681119
     1120#if H_MV_HLS10_ADD_LAYERSETS
     1121  for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + m_numAddLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++)
     1122#else
    10691123  for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++)
     1124#endif
    10701125  {   
    10711126    m_altOutputLayerFlag.push_back( false );     
     
    11771232    }
    11781233  }
     1234
     1235#if H_MV
     1236#if H_MV_HLS10_PTL
     1237  // parse PTL
     1238  Bool anyEmpty = false;
     1239  if( cfg_profiles.empty() )
     1240  {
     1241#if H_3D
     1242    cfg_profiles = string("main main 3d-main");
     1243#else
     1244    cfg_profiles = string("main main multiview-main");   
     1245#endif
     1246    fprintf(stderr, "\nWarning: No profiles given, using defaults: %s", cfg_profiles.c_str() );
     1247    anyEmpty = true;
     1248  }
     1249
     1250  if( cfg_levels.empty() )
     1251  {
     1252    cfg_levels = string("none none none");
     1253    fprintf(stderr, "\nWarning: No levels given, using defaults: %s", cfg_levels.c_str() );
     1254    anyEmpty = true;
     1255  }
     1256
     1257  if( cfg_tiers.empty() )
     1258  {
     1259    cfg_tiers = string("main main main");
     1260    fprintf(stderr, "\nWarning: No tiers given, using defaults: %s", cfg_tiers.c_str());
     1261    anyEmpty = true;
     1262  }
     1263
     1264  if( m_inblFlag.empty() )
     1265  {
     1266    fprintf(stderr, "\nWarning: No inblFlags given, using defaults:");
     1267    for( Int i = 0; i < 3; i++)
     1268    {
     1269      m_inblFlag.push_back( false );
     1270      fprintf(stderr," %d", (Int) m_inblFlag[i]);
     1271    }
     1272    anyEmpty = true;
     1273  }   
     1274
     1275  if ( anyEmpty )
     1276  {
     1277    fprintf( stderr, "\n" );
     1278  }
     1279
     1280  xReadStrToEnum( cfg_profiles, m_profile   );
     1281  xReadStrToEnum( cfg_levels,   m_level     );
     1282  xReadStrToEnum( cfg_tiers ,   m_levelTier );
     1283#endif
     1284#endif
    11791285#if H_3D
    11801286  // set global varibles
     
    12911397    fprintf(stderr, "******************************************************************\n");
    12921398  }
     1399
     1400
     1401#if !H_MV_HLS10_PTL
    12931402  if( m_profile==Profile::NONE )
    12941403  {
     
    13031412    fprintf(stderr, "***************************************************************************\n");
    13041413  }
     1414#endif
    13051415
    13061416  Bool check_failed = false; /* abort if there is a fatal configuration problem */
     
    13211431  xConfirmPara( m_scalabilityMask != 2 && m_scalabilityMask != 3, "Scalability Mask must be equal to 2 or 3. ");
    13221432#else
     1433#if H_MV_HLS10_AUX
     1434  xConfirmPara( m_scalabilityMask != 2 && m_scalabilityMask != 8 && m_scalabilityMask != 10, "Scalability Mask must be equal to 2, 8 or 10");
     1435#else
    13231436  xConfirmPara( m_scalabilityMask != 2 , "Scalability Mask must be equal to 2. ");
     1437#endif
    13241438#endif
    13251439
     
    13321446
    13331447  m_dimIds.push_back( m_viewOrderIndex );   
    1334   xConfirmPara(  m_dimensionIdLen.size() < m_dimIds.size(), "DimensionIdLen must be given for all dimensions. "   );   Int dimBitOffset[MAX_NUM_SCALABILITY_TYPES+1];
     1448#if H_MV_HLS10_AUX
     1449  for (Int i = 0; i < m_auxId.size(); i++)
     1450  {
     1451    xConfirmPara( !( ( m_auxId[i] >= 0 && m_auxId[i] <= 2 ) || ( m_auxId[i] >= 128 && m_auxId[i] <= 159 ) ) , "AuxId shall be in the range of 0 to 2, inclusive, or 128 to 159, inclusive");
     1452  }
     1453  if ( m_scalabilityMask & ( 1 << AUX_ID ) )
     1454  {
     1455    m_dimIds.push_back ( m_auxId );
     1456  }
     1457#endif 
     1458  xConfirmPara(  m_dimensionIdLen.size() < m_dimIds.size(), "DimensionIdLen must be given for all dimensions. "   );
     1459  Int dimBitOffset[MAX_NUM_SCALABILITY_TYPES+1];
    13351460
    13361461  dimBitOffset[ 0 ] = 0;
     
    14281553  {   
    14291554    Int refLayerSetIdx = m_outputLayerSetIdx[ lsIdx ];
     1555#if H_MV_HLS10_ADD_LAYERSETS
     1556    xConfirmPara(  refLayerSetIdx < 0 || refLayerSetIdx >= m_vpsNumLayerSets + m_numAddLayerSets, "Output layer set idx must be greater or equal to 0 and less than the VpsNumLayerSets plus NumAddLayerSets." );
     1557#else
    14301558    xConfirmPara(  refLayerSetIdx < 0 || refLayerSetIdx >= m_vpsNumLayerSets, "Output layer set idx must be greater or equal to 0 and less than the VpsNumLayerSets." );
    1431 
     1559#endif
     1560#if !H_MV_HLS10_ADD_LAYERSETS
    14321561    for (Int i = 0; i < m_layerIdsInAddOutputLayerSet[ lsIdx ].size(); i++)
    14331562    {
     
    14431572      xConfirmPara( !isAlsoInLayerSet, "All output layers of a output layer set be included in corresponding layer set.");
    14441573    }
     1574#endif
    14451575  }
    14461576
     
    14541584      anyDefaultOutputFlag = anyDefaultOutputFlag || ( m_layerIdsInDefOutputLayerSet[lsIdx].size() != 0 );
    14551585    }   
     1586#if H_MV_HLS10_ADD_LAYERSETS
     1587    if ( anyDefaultOutputFlag )
     1588    {   
     1589      printf( "\nWarning: Ignoring LayerIdsInDefOutputLayerSet parameters, since defaultTargetOuputLayerIdc is not equal 2.\n" );   
     1590    }
     1591#else
    14561592    printf( "\nWarning: Ignoring LayerIdsInDefOutputLayerSet parameters, since defaultTargetOuputLayerIdc is not equal 2.\n" );   
     1593#endif
    14571594  }
    14581595  else 
     
    14761613  }
    14771614
     1615#if H_MV_HLS10_ADD_LAYERSETS
     1616  xConfirmPara( m_altOutputLayerFlag.size() < m_vpsNumLayerSets + m_numAddLayerSets + m_outputLayerSetIdx.size(), "The number of alt output layer flags must be equal to the number of layer set additional output layer sets plus the number of output layer set indices" );
     1617#else
    14781618  xConfirmPara( m_altOutputLayerFlag.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" );
    1479   xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" );
    1480 
    1481   // Layer Dependencies 
     1619#endif
     1620
     1621  // PTL
     1622#if H_MV_HLS10_PTL
     1623    xConfirmPara( ( m_profile.size() != m_inblFlag.size() || m_profile.size() != m_level.size()  ||  m_profile.size() != m_levelTier.size() ), "The number of Profiles, Levels, Tiers and InblFlags must be equal." );
     1624
     1625    if ( m_numberOfLayers > 1)
     1626    {
     1627      xConfirmPara( m_profile.size() <= 1, "The number of profiles, tiers, levels, and inblFlags must be greater than 1.");
     1628      xConfirmPara( m_inblFlag[0], "VpsProfileTierLevel[0] must have inblFlag equal to 0");
     1629      if (m_profile.size() > 1 )
     1630      {
     1631        xConfirmPara( m_profile[0]  != m_profile[1], "The profile in VpsProfileTierLevel[1] must be equal to the profile in VpsProfileTierLevel[0].");
     1632        xConfirmPara( m_inblFlag[0] != m_inblFlag[1], "inblFlag in VpsProfileTierLevel[1] must be equal to the inblFlag in VpsProfileTierLevel[0].");
     1633      }
     1634    }
     1635#else
     1636    xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" );
     1637#endif
     1638
     1639    // Layer Dependencies 
    14821640  for (Int i = 0; i < m_numberOfLayers; i++ )
    14831641  {
     
    23412499#endif
    23422500#if H_MV
     2501#if H_MV_HLS10_GEN_FIX
     2502  xPrintParaVector( "NuhLayerId"     , m_layerIdInNuh );
     2503  if ( m_targetEncLayerIdList.size() > 0)
     2504  {
     2505    xPrintParaVector( "TargetEncLayerIdList"     , m_targetEncLayerIdList );
     2506  }
     2507#endif
    23432508  xPrintParaVector( "ViewIdVal"     , m_viewId );
    23442509  xPrintParaVector( "ViewOrderIndex", m_viewOrderIndex );
     2510#if H_MV_HLS10_AUX
     2511  xPrintParaVector( "AuxId", m_auxId );
     2512#endif
    23452513#endif
    23462514#if H_3D
  • trunk/source/App/TAppEncoder/TAppEncCfg.h

    r1039 r1066  
    7878  std::vector<Int>       m_viewId;                            ///< view id
    7979  std::vector<Int>       m_viewOrderIndex;                    ///< view order index 
     80#if H_MV_HLS10_AUX
     81  std::vector<Int>       m_auxId;                             ///< auxiliary id
     82#endif
    8083#if H_3D
    8184  std::vector<Int>       m_depthFlag;                         ///< depth flag
     85#endif
     86#if H_MV_HLS10_GEN_FIX
     87  std::vector<Int>       m_targetEncLayerIdList;              ///< layer Ids in Nuh to be encoded
    8288#endif
    8389  std::vector<Int>       m_layerIdInNuh;                      ///< layer Id in Nuh for each layer
     
    8995  Int                    m_vpsNumLayerSets;                   ///< Number of layer sets
    9096  std::vector< std::vector<Int> > m_layerIdsInSets;           ///< LayerIds in vps of layer set
    91   Int                    m_defaultOutputLayerIdc;       ///< Specifies output layers of layer sets, 0: output all layers, 1: output highest layers, 2: specified by LayerIdsInDefOuputLayerSet
     97#if H_MV_HLS10_ADD_LAYERSETS
     98  Int                    m_numAddLayerSets;                    ///< Number of additional layer sets
     99  std::vector< std::vector<Int> > m_highestLayerIdxPlus1;      ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored)
     100#endif
     101  Int                    m_defaultOutputLayerIdc;             ///< Specifies output layers of layer sets, 0: output all layers, 1: output highest layers, 2: specified by LayerIdsInDefOuputLayerSet
    92102  std::vector<Int>       m_outputLayerSetIdx;                 ///< Indices of layer sets used as additional output layer sets 
    93103  std::vector< std::vector<Int> > m_layerIdsInAddOutputLayerSet; ///< LayerIds in vps of additional output layers
    94104  std::vector< std::vector<Int> > m_layerIdsInDefOutputLayerSet; ///< Indices in vps of output layers in layer sets
     105#if H_MV_HLS10_ADD_LAYERSETS
     106  std::vector< std::vector< Int > > m_profileTierLevelIdx;      ///< Indices of of profile, per layer in layer set
     107#else
    95108  std::vector<Int>       m_profileLevelTierIdx;               ///< Indices of of profile level tier
     109#endif
    96110  std::vector<Bool>      m_altOutputLayerFlag;                ///< Alt output layer flag
    97111
     
    124138  std::vector< std::vector<Bool > > m_ctuBasedOffsetEnabledFlag;
    125139  std::vector< std::vector<Int  > > m_minHorizontalCtuOffsetPlus1;
     140#if H_MV_HLS10_VPS_VUI
     141  Bool m_singleLayerForNonIrapFlag;
     142  Bool m_higherLayerIrapSkipFlag;
     143#endif // H_MV_HLS10_VPS_VUI
     144
    126145
    127146#if H_3D_IV_MERGE
     
    174193 
    175194  // profile/level
     195#if H_MV_HLS10_PTL
     196#if H_MV
     197  std::vector< Profile::Name > m_profile;
     198  std::vector< Level::Tier   > m_levelTier;
     199  std::vector< Level::Name   > m_level;
     200  std::vector< Bool          > m_inblFlag;
     201#else
    176202  Profile::Name m_profile;
    177203  Level::Tier   m_levelTier;
    178204  Level::Name   m_level;
     205#endif
     206#endif
     207
    179208  Bool m_progressiveSourceFlag;
    180209  Bool m_interlacedSourceFlag;
    181210  Bool m_nonPackedConstraintFlag;
    182211  Bool m_frameOnlyConstraintFlag;
    183  
    184212  // coding structure
    185213#if H_MV
     
    440468  std::vector<Int>  m_sbPropAvgBitRate;
    441469  std::vector<Int>  m_sbPropMaxBitRate;
     470#if H_MV_HLS10_GEN_FIX
     471  Bool              m_outputVpsInfo;
     472#endif
    442473#endif
    443474#if H_3D
     
    506537  Void  xPrintUsage     ();                                   ///< print usage
    507538#if H_MV
     539
     540#if H_MV_HLS10_PTL
     541  template<typename T>
     542  Void xReadStrToEnum(string in, std::vector<T> &val)
     543  {
     544    val.clear();
     545
     546    char* cElement = NULL;
     547    char* cString = new char[in.size()+1];
     548    strcpy(cString, in.c_str());
     549
     550    cElement = strtok( cString, " " );
     551    while ( cElement != NULL )
     552    {
     553      T profile;       
     554      std::istringstream ss( cElement );
     555      ss >> profile;
     556      val.push_back( profile );
     557      cElement = strtok( NULL, " " );
     558    }
     559    delete[] cString;
     560  }
     561#endif
     562
     563
    508564  template <typename T>
    509565  Void xResizeVector(  std::vector<T> & rpcVector )
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r1039 r1066  
    133133  xSetLayerIds             ( vps );   
    134134  xSetDimensionIdAndLength ( vps );
    135   xSetDependencies( vps );
     135  xSetDependencies         ( vps );
     136  xSetRepFormat            ( vps );
    136137  xSetProfileTierLevel     ( vps );
    137   xSetRepFormat            ( vps );
    138138  xSetLayerSets            ( vps );
    139139  xSetDpbSize              ( vps );
     
    144144  xDeriveDltArray          ( vps, dlt );
    145145#endif
    146 
     146#if H_MV_HLS10_GEN_FIX
     147  if ( m_targetEncLayerIdList.size() == 0 )
     148  {
     149    for (Int i = 0; i < m_numberOfLayers; i++ )
     150    {
     151      m_targetEncLayerIdList.push_back( vps.getLayerIdInNuh( i ) );
     152    }
     153  }
     154  for( Int i = (Int) m_targetEncLayerIdList.size()-1 ; i >= 0 ; i--)
     155  {
     156    Int iNuhLayerId = m_targetEncLayerIdList[i];
     157    Bool allRefLayersPresent = true;
     158    for( Int j = 0; j < vps.getNumRefLayers( iNuhLayerId ); j++)
     159    {
     160      allRefLayersPresent = allRefLayersPresent && xLayerIdInTargetEncLayerIdList( vps.getIdRefLayer( iNuhLayerId, j) );
     161    }
     162    if ( !allRefLayersPresent )
     163    {
     164      printf("\nCannot encode layer with nuh_layer_id equal to %d since not all reference layers are in TargetEncLayerIdList\n", iNuhLayerId);
     165      m_targetEncLayerIdList.erase( m_targetEncLayerIdList.begin() + i  );
     166    }
     167  }
     168#endif
     169
     170#if H_MV_HLS10_ADD_LAYERSETS
     171  if ( m_outputVpsInfo )
     172  { 
     173#if H_MV_HLS10_AUX
     174    vps.printScalabilityId();
     175#endif
     176    vps.printLayerDependencies();
     177    vps.printLayerSets();
     178    vps.printPTL();
     179  }
     180#endif
    147181
    148182  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
     
    200234    m_cTEncTop.setUseDMM                       ( isDepth ? m_useDMM               : false );
    201235#if SEPARATE_FLAG_I0085
     236#if LGE_FCO_I0116
     237    m_cTEncTop.setUseIVP                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP               : false );
     238#else
    202239    m_cTEncTop.setUseIVP                       ( isDepth ? m_useIVP               : false );
     240#endif
    203241#endif
    204242    m_cTEncTop.setUseSDC                       ( isDepth ? m_useSDC               : false );
     
    210248#if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    211249#if H_3D_QTLPC
     250#if LGE_FCO_I0116
     251    m_cTEncTop.setUseQTL                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bUseQTL               : false );
     252#else
    212253    m_cTEncTop.setUseQTL                       ( isDepth ? m_bUseQTL               : false );
     254#endif
    213255#if !MTK_I0099_VPS_EX2   
    214256    m_cTEncTop.setUsePC                        ( isDepth ? m_bUsePC                : false );
     
    224266#endif
    225267#if H_3D_IV_MERGE
    226     m_cTEncTop.setUseMPI               ( isDepth ? m_bMPIFlag    : false );
     268#if LGE_FCO_I0116
     269    m_cTEncTop.setUseMPI                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bMPIFlag    : false );
     270#else
     271    m_cTEncTop.setUseMPI                       ( isDepth ? m_bMPIFlag    : false );
     272#endif
    227273#endif
    228274#endif // H_3D
     
    236282#endif
    237283
     284#if H_MV
     285  m_cTEncTop.setProfile(m_profile[0]);
     286  m_cTEncTop.setLevel  (m_levelTier[0], m_level[0]);
     287#else
    238288  m_cTEncTop.setProfile(m_profile);
    239289  m_cTEncTop.setLevel(m_levelTier, m_level);
     290#endif
    240291  m_cTEncTop.setProgressiveSourceFlag(m_progressiveSourceFlag);
    241292  m_cTEncTop.setInterlacedSourceFlag(m_interlacedSourceFlag);
     
    789840 
    790841#if H_MV
     842#if H_MV_HLS10_GEN_FIX
     843  while ( (m_targetEncLayerIdList.size() != 0 ) && !allEos )
     844#else
    791845  while ( !allEos )
     846#endif
    792847  {
    793848    for(Int layer=0; layer < m_numberOfLayers; layer++ )
    794849    {
     850#if H_MV_HLS10_GEN_FIX
     851      if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) ))
     852      {
     853        continue;
     854      }
     855#endif
     856
    795857      Int frmCnt = 0;
    796858      while ( !eos[layer] && !(frmCnt == gopSize))
     
    832894      for(Int layer=0; layer < m_numberOfLayers; layer++ )
    833895      {
     896#if H_MV_HLS10_GEN_FIX
     897        if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) ))
     898        {
     899          continue;
     900        }
     901#endif
     902
    834903#if H_3D_VSO       
    835904          if( m_bUseVSO && m_bUseEstimatedVSD && iNextPoc < m_framesToBeEncoded )
     
    858927  for(Int layer=0; layer < m_numberOfLayers; layer++ )
    859928  {
     929#if H_MV_HLS10_GEN_FIX
     930    if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) ))
     931    {
     932      continue;
     933    }
     934#endif
    860935    m_acTEncTopList[layer]->printSummary( m_acTEncTopList[layer]->getNumAllPicCoded(), m_isField );
    861936  }
     
    13211396  // Max sub layers, + presence flag
    13221397  Bool subLayersMaxMinus1PresentFlag = false;
     1398#if !H_MV_FIX_SUB_LAYERS_MAX_MINUS1
    13231399  Int  subLayersMaxMinus1 = -1;
     1400#endif
    13241401  for (Int curLayerIdInVps = 0; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++ )
    1325   {
    1326     Int curSubLayersMaxMinus1 = -1;
     1402  {   
     1403    Int curSubLayersMaxMinus1 = 0;
    13271404    for( Int i = 0; i < getGOPSize(); i++ )
    13281405    {
     
    13321409
    13331410    vps.setSubLayersVpsMaxMinus1( curLayerIdInVps, curSubLayersMaxMinus1 );
     1411#if !H_MV_FIX_SUB_LAYERS_MAX_MINUS1
    13341412    if ( subLayersMaxMinus1 == -1 )
    13351413    {
     
    13401418      subLayersMaxMinus1PresentFlag = subLayersMaxMinus1PresentFlag || ( curSubLayersMaxMinus1 != subLayersMaxMinus1 );
    13411419    }
     1420#else
     1421    subLayersMaxMinus1PresentFlag = subLayersMaxMinus1PresentFlag || ( curSubLayersMaxMinus1 != vps.getMaxSubLayersMinus1() );
     1422#endif
    13421423  }
    13431424
     
    13481429  Bool maxTidRefPresentFlag = false;
    13491430  for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++)
    1350     {
     1431  {
    13511432    for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++)
    1352       {
     1433    {
    13531434      Int maxTid = -1;
     1435#if H_MV_FIX_LOOP_GOPSIZE
     1436      for( Int i = 0; i < ( getGOPSize() + 1); i++ )
     1437      {       
     1438        GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1439        GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1440#else
    13541441      for( Int i = 0; i < getGOPSize(); i++ )
    13551442      {       
    13561443        GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][i];
    1357         GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][i];
    1358        
     1444        GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][i];     
     1445#endif
    13591446        for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++)
    13601447        {       
    13611448          if ( m_directRefLayers[ curLayerIdInVps ][ geCur.m_interLayerPredLayerIdc[ j ]] == refLayerIdInVps )
    13621449          {
     1450#if H_MV_FIX_LOOP_GOPSIZE
     1451            Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 );
     1452            Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1453            maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId );
     1454#else
    13631455            maxTid = std::max( maxTid, geRef.m_temporalId );
     1456#endif
    13641457          }
    13651458        }
     
    14871580Void TAppEncTop::xSetProfileTierLevel( TComVPS& vps )
    14881581{
     1582#if H_MV_HLS10_PTL
     1583
     1584  // SET PTL
     1585  assert( m_profile.size() == m_level.size() && m_profile.size() == m_levelTier.size() );
     1586  vps.setVpsNumProfileTierLevelMinus1( (Int) m_profile.size() - 1 );
     1587  for ( Int ptlIdx = 0; ptlIdx <= vps.getVpsNumProfileTierLevelMinus1(); ptlIdx++ )
     1588  {
     1589    if ( ptlIdx > 1 )
     1590    {
     1591      Bool vpsProfilePresentFlag = ( m_profile[ptlIdx] != m_profile[ptlIdx - 1] )
     1592        || ( m_inblFlag[ptlIdx ] != m_inblFlag[ptlIdx - 1] );
     1593      vps.setVpsProfilePresentFlag( ptlIdx, vpsProfilePresentFlag );
     1594    }
     1595
     1596    xSetProfileTierLevel( vps, ptlIdx, -1, m_profile[ptlIdx], m_level[ptlIdx],
     1597      m_levelTier[ ptlIdx ], m_progressiveSourceFlag, m_interlacedSourceFlag,
     1598      m_nonPackedConstraintFlag, m_frameOnlyConstraintFlag,  m_inblFlag[ptlIdx] );     
     1599  } 
     1600#else
    14891601  const Int vpsNumProfileTierLevelMinus1 = 0; //TBD
    14901602  vps.setVpsNumProfileTierLevelMinus1( vpsNumProfileTierLevelMinus1 );
     
    14941606    vps.setVpsProfilePresentFlag( i, true );
    14951607  }
    1496 }
    1497 
     1608#endif
     1609}
     1610
     1611#if H_MV_HLS10_PTL
     1612Void TAppEncTop::xSetProfileTierLevel(TComVPS& vps, Int profileTierLevelIdx, Int subLayer, Profile::Name profile, Level::Name level, Level::Tier tier, Bool progressiveSourceFlag, Bool interlacedSourceFlag, Bool nonPackedConstraintFlag, Bool frameOnlyConstraintFlag, Bool inbldFlag)
     1613{
     1614  TComPTL* ptlStruct = vps.getPTL( profileTierLevelIdx );   
     1615  assert( ptlStruct != NULL );
     1616
     1617  ProfileTierLevel* ptl;
     1618  if ( subLayer == -1 )
     1619  {
     1620    ptl = ptlStruct->getGeneralPTL();
     1621  }
     1622  else
     1623  {
     1624    ptl = ptlStruct->getSubLayerPTL(  subLayer );
     1625  }
     1626
     1627  assert( ptl != NULL );
     1628
     1629  ptl->setProfileIdc( profile );
     1630  ptl->setTierFlag  ( tier    );
     1631  ptl->setLevelIdc  ( level   );
     1632  ptl->setProfileCompatibilityFlag( profile, true );
     1633#if H_MV_HLS10_PTL_INBL_FIX
     1634  ptl->setInbldFlag( inbldFlag );
     1635#endif
     1636
     1637  switch ( profile )
     1638  {
     1639  case Profile::MAIN:
     1640    break;
     1641  case Profile::MULTIVIEWMAIN:
     1642#if H_3D
     1643  case Profile::MAIN3D:
     1644#endif
     1645    ptl->setMax12bitConstraintFlag      ( true  );
     1646    ptl->setMax12bitConstraintFlag      ( true  );
     1647    ptl->setMax10bitConstraintFlag      ( true  );
     1648    ptl->setMax8bitConstraintFlag       ( true  );
     1649    ptl->setMax422chromaConstraintFlag  ( true  );
     1650    ptl->setMax420chromaConstraintFlag  ( true  );
     1651    ptl->setMaxMonochromeConstraintFlag ( false );
     1652    ptl->setIntraConstraintFlag         ( false );
     1653    ptl->setOnePictureOnlyConstraintFlag( false );
     1654    ptl->setLowerBitRateConstraintFlag  ( true  );       
     1655    break;
     1656  default:
     1657    assert( 0 ); // other profiles currently not supported
     1658    break;
     1659  }
     1660}
     1661#endif
    14981662
    14991663Void TAppEncTop::xSetRepFormat( TComVPS& vps )
     
    15131677  //repFormat->setSeparateColourPlaneVpsFlag( );
    15141678
     1679#if H_MV_HLS10_GEN_VSP_CONF_WIN
     1680  repFormat->setConformanceWindowVpsFlag( true );
     1681  repFormat->setConfWinVpsLeftOffset    ( m_confLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
     1682  repFormat->setConfWinVpsRightOffset   ( m_confRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     1683  repFormat->setConfWinVpsTopOffset     ( m_confTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
     1684  repFormat->setConfWinVpsBottomOffset  ( m_confBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
     1685#endif
     1686
    15151687  assert( vps.getRepFormat( 0 ) == NULL );
    15161688  vps.setRepFormat( 0 , repFormat );
     
    15281700  { 
    15291701    Int currLsIdx = vps.olsIdxToLsIdx( i );
     1702#if !H_MV_HLS10_ADD_LAYERSETS
    15301703    std::vector<Int> targetDecLayerIdList = vps.getTargetDecLayerIdList( i );
     1704#endif
    15311705    Bool subLayerFlagInfoPresentFlag = false;
    15321706
     
    15341708    {   
    15351709      Bool subLayerDpbInfoPresentFlag = false;
     1710#if !H_MV_HLS10_ADD_LAYERSETS
    15361711      assert( vps.getNumLayersInIdList( currLsIdx ) == targetDecLayerIdList.size() );
     1712#endif
    15371713      for( Int k = 0; k < vps.getNumLayersInIdList( currLsIdx ); k++ )   
    15381714      {
     1715#if H_MV_HLS10_DBP_SIZE
     1716        Int layerIdInVps = vps.getLayerIdInVps( vps.getLayerSetLayerIdList( currLsIdx, k ) );
     1717        if ( vps.getNecessaryLayerFlag( i,k ) && ( vps.getVpsBaseLayerInternalFlag() || vps.getLayerSetLayerIdList( currLsIdx, k ) != 0 ) )
     1718        {       
     1719          dpbSize->setMaxVpsDecPicBufferingMinus1( i, k, j, m_maxDecPicBufferingMvc[ layerIdInVps ][ j ] - 1 );
     1720          if ( j > 0 )
     1721          {
     1722            subLayerDpbInfoPresentFlag = subLayerDpbInfoPresentFlag || ( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) != dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j - 1 ) );
     1723          }
     1724        }
     1725        else
     1726        {
     1727          if (vps.getNecessaryLayerFlag(i,k) && j == 0 && k == 0 )
     1728          {         
     1729            dpbSize->setMaxVpsDecPicBufferingMinus1(i, k ,j, 0 );
     1730          }
     1731        }
     1732#else
    15391733        Int layerIdInVps = vps.getLayerIdInVps( targetDecLayerIdList[k] );           
    15401734        dpbSize->setMaxVpsDecPicBufferingMinus1( i, k, j, m_maxDecPicBufferingMvc[ layerIdInVps ][ j ] - 1 );
     1735
    15411736        if ( j > 0 )
    15421737        {
    15431738          subLayerDpbInfoPresentFlag = subLayerDpbInfoPresentFlag || ( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) != dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j - 1 ) );
    15441739        }
     1740#endif
    15451741      }       
    15461742
    15471743      Int maxNumReorderPics = MIN_INT;
     1744#if H_MV_HLS10_DBP_SIZE
     1745      for ( Int idx = 0; idx < vps.getNumLayersInIdList( currLsIdx ); idx++ )
     1746      {
     1747        if (vps.getNecessaryLayerFlag(i, idx ))
     1748        {       
     1749          Int layerIdInVps = vps.getLayerIdInVps( vps.getLayerSetLayerIdList(currLsIdx, idx) );       
     1750          maxNumReorderPics = std::max( maxNumReorderPics, m_numReorderPicsMvc[ layerIdInVps ][ j ] );
     1751        }
     1752      }
     1753#else
    15481754      for ( Int idx = 0; idx < targetDecLayerIdList.size(); idx++ )
    15491755      {
     
    15511757        maxNumReorderPics = std::max( maxNumReorderPics, m_numReorderPicsMvc[ layerIdInVps ][ j ] );
    15521758      }
     1759#endif
    15531760      assert( maxNumReorderPics != MIN_INT );
    15541761
     
    15761783}
    15771784
    1578 
    15791785Void TAppEncTop::xSetLayerSets( TComVPS& vps )
    15801786{   
     
    15981804  // Additional output layer sets + profileLevelTierIdx
    15991805  vps.setDefaultOutputLayerIdc      ( m_defaultOutputLayerIdc );   
     1806#if H_MV_HLS10_ADD_LAYERSETS
     1807  if( vps.getNumIndependentLayers() == 0 && m_numAddLayerSets > 0  )
     1808  {
     1809    fprintf( stderr, "\nWarning: Ignoring additional layer sets since NumIndependentLayers is equal to 0.\n");           
     1810  }
     1811  else
     1812  {
     1813    vps.setNumAddLayerSets( m_numAddLayerSets );
     1814    if ( m_highestLayerIdxPlus1.size() < vps.getNumAddLayerSets() )
     1815    {
     1816      fprintf(stderr, "\nError: Number of highestLayerIdxPlus1 parameters must be greater than or equal to NumAddLayerSets\n");
     1817      exit(EXIT_FAILURE);
     1818    }
     1819
     1820    for (Int i = 0; i < vps.getNumAddLayerSets(); i++)
     1821    {
     1822      if ( m_highestLayerIdxPlus1[ i ].size() < vps.getNumIndependentLayers() )
     1823      {
     1824        fprintf(stderr, "Error: Number of elements in highestLayerIdxPlus1[ %d ] parameters must be greater than or equal to NumIndependentLayers(= %d)\n", i, vps.getNumIndependentLayers());
     1825        exit(EXIT_FAILURE);
     1826      }
     1827
     1828      for (Int j = 1; j < vps.getNumIndependentLayers(); j++)
     1829      {
     1830        if ( m_highestLayerIdxPlus1[ i ][ j ]  < 0 || m_highestLayerIdxPlus1[ i ][ j ] > vps.getNumLayersInTreePartition( j ) )
     1831        {
     1832          fprintf(stderr, "Error: highestLayerIdxPlus1[ %d ][ %d ] shall be in the range of 0 to NumLayersInTreePartition[ %d ] (= %d ), inclusive. \n", i, j, j, vps.getNumLayersInTreePartition( j ) );
     1833          exit(EXIT_FAILURE);
     1834        }
     1835        vps.setHighestLayerIdxPlus1( i, j, m_highestLayerIdxPlus1[ i ][ j ] );
     1836      }
     1837      vps.deriveAddLayerSetLayerIdList( i );
     1838    }       
     1839  } 
     1840#else
    16001841  vps.setNumAddLayerSets            ( 0                             ); 
     1842#endif
    16011843  vps.setNumAddOlss                 ( numAddOuputLayerSets          );
    16021844  vps.initTargetLayerIdLists();
    16031845
     1846#if H_MV_HLS10_ADD_LAYERSETS
     1847  for (Int olsIdx = 0; olsIdx < vps.getNumLayerSets() + numAddOuputLayerSets; olsIdx++)
     1848  {
     1849    Int addOutLsIdx = olsIdx - vps.getNumLayerSets();     
     1850#else
    16041851  for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + numAddOuputLayerSets; olsIdx++)
    16051852  {
    16061853    Int addOutLsIdx = olsIdx - m_vpsNumLayerSets;     
    1607    
     1854#endif   
    16081855    vps.setLayerSetIdxForOlsMinus1( olsIdx, ( ( addOutLsIdx < 0 ) ?  olsIdx  : m_outputLayerSetIdx[ addOutLsIdx ] ) - 1 );
    16091856
     1857#if H_MV_HLS10_ADD_LAYERSETS
     1858    Int lsIdx = vps.olsIdxToLsIdx( olsIdx );
     1859#else
    16101860    std::vector<Int>& layerIdList    = m_layerIdsInSets[ vps.olsIdxToLsIdx( olsIdx ) ];
    1611 
     1861#endif
    16121862    if (vps.getDefaultOutputLayerIdc() == 2 || addOutLsIdx >= 0 )
    16131863    {
     1864#if H_MV_HLS10_ADD_LAYERSETS
     1865      for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++)
     1866#else
    16141867      for ( Int i = 0; i < layerIdList.size(); i++)
     1868#endif
    16151869      {
    16161870        vps.setOutputLayerFlag( olsIdx, i, ( olsIdx == 0 && i == 0 ) ? vps.inferOutputLayerFlag(olsIdx, i ) : false ); // This is a software only fix for a bug in the spec. In spec outputLayerFlag neither present nor inferred for this case !
     
    16221876      for (Int j = 0; j < outLayerIdList.size(); j++)
    16231877      {   
     1878#if H_MV_HLS10_ADD_LAYERSETS
     1879        for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++)
     1880        {
     1881          if ( vps.getLayerSetLayerIdList( lsIdx, i ) == outLayerIdList[ j ] )
     1882#else
    16241883        for (Int i = 0; i < layerIdList.size(); i++ )
    16251884        {
    16261885          if ( layerIdList[ i ] == outLayerIdList[ j ] )
     1886#endif
    16271887          {
    16281888            vps.setOutputLayerFlag( olsIdx, i, true );       
     
    16311891          }
    16321892        }
    1633         assert( outputLayerInLayerSetFlag ); // The output layer is not not in the layer set.
     1893#if H_MV_HLS10_ADD_LAYERSETS
     1894        if ( !outputLayerInLayerSetFlag )
     1895        {
     1896          fprintf(stderr, "Error: Output layer %d in output layer set %d not in corresponding layer set %d \n", outLayerIdList[ j ], olsIdx , lsIdx );
     1897          exit(EXIT_FAILURE);
     1898        }
     1899#else
     1900        assert( outputLayerInLayerSetFlag ); // The output layer is not in the layer set.
     1901#endif
    16341902      }
    16351903    }
    16361904    else
    16371905    {
     1906#if H_MV_HLS10_ADD_LAYERSETS
     1907      for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++)
     1908#else
    16381909      for ( Int i = 0; i < layerIdList.size(); i++)
     1910#endif
    16391911      {
    16401912        vps.setOutputLayerFlag( olsIdx, i, vps.inferOutputLayerFlag( olsIdx, i ) );       
     
    16421914    }
    16431915
     1916#if H_MV_HLS10_NESSECARY_LAYER
     1917    vps.deriveNecessaryLayerFlags( olsIdx );
     1918#endif
    16441919    vps.deriveTargetLayerIdList(  olsIdx );
    16451920
     1921#if H_MV_HLS10_PTL
     1922    // SET profile_tier_level_index.
     1923    if ( olsIdx == 0 )
     1924    {   
     1925      vps.setProfileTierLevelIdx( 0, 0 , vps.getMaxLayersMinus1() > 0 ? 1 : 0 );
     1926    }
     1927    else
     1928    {
     1929      if( (Int) m_profileTierLevelIdx[ olsIdx ].size() < vps.getNumLayersInIdList( lsIdx ) )
     1930      {
     1931        fprintf( stderr, "Warning: Not enough profileTierLevelIdx values given for the %d-th OLS. Inferring default values.\n", olsIdx );
     1932      }
     1933      for (Int j = 0; j < vps.getNumLayersInIdList( lsIdx ); j++)
     1934      {
     1935        if( j < (Int) m_profileTierLevelIdx[ olsIdx ].size() )
     1936        {
     1937          vps.setProfileTierLevelIdx(olsIdx, j, m_profileTierLevelIdx[olsIdx][j] );
     1938#if H_MV_HLS10_PTL_FIX
     1939          if( !vps.getNecessaryLayerFlag(olsIdx,j) && m_profileTierLevelIdx[ olsIdx ][ j ] != -1 )
     1940          {
     1941            fprintf( stderr, "Warning: The %d-th layer in the %d-th OLS is not necessary such that profileTierLevelIdx[%d][%d] will be ignored. Set value to -1 to suppress warning.\n", j,olsIdx,olsIdx,j );
     1942          }         
     1943        }
     1944        else if ( vps.getNecessaryLayerFlag(olsIdx,j) )
     1945#else
     1946        }
     1947        else
     1948#endif
     1949        {
     1950          // setting default values
     1951          if ( j == 0 || vps.getVpsNumProfileTierLevelMinus1() < 1 )
     1952          {
     1953            // set base layer as default
     1954            vps.setProfileTierLevelIdx(olsIdx, j, 1 );
     1955          }
     1956          else
     1957          {
     1958            // set VpsProfileTierLevel[2] as default
     1959            vps.setProfileTierLevelIdx(olsIdx, j, 2 );
     1960          }
     1961        }
     1962      }
     1963    }
     1964#else
    16461965    if ( olsIdx > 0 )
    16471966    {
    16481967      vps.setProfileLevelTierIdx( olsIdx, m_profileLevelTierIdx[ olsIdx ] );
    16491968    }
     1969#endif
    16501970   
    16511971    if ( vps.getNumOutputLayersInOutputLayerSet( olsIdx ) == 1 &&
     
    16852005    if( pcVPSVUI->getBitRatePresentVpsFlag( )  ||  pcVPSVUI->getPicRatePresentVpsFlag( ) )
    16862006    {
     2007#if H_MV_HLS10_VPS_VUI
     2008      for( Int i = 0; i  <  vps.getNumLayerSets(); i++ )
     2009#else
    16872010      for( Int i = 0; i  <=  vps.getVpsNumLayerSetsMinus1(); i++ )
     2011#endif
    16882012      {
    16892013        for( Int j = 0; j  <=  vps.getMaxTLayers(); j++ )
     
    17342058        for( Int j = 0; j < vps.getNumDirectRefLayers( vps.getLayerIdInNuh( i ) ) ; j++ )
    17352059        { 
     2060#if H_MV_HLS10_REF_PRED_LAYERS
     2061          Int layerIdx = vps.getLayerIdInVps( vps.getIdDirectRefLayer(vps.getLayerIdInNuh( i ) , j  )); 
     2062#else
    17362063          Int layerIdx = vps.getLayerIdInVps( vps.getRefLayerId(vps.getLayerIdInNuh( i ) , j  )); 
     2064#endif
    17372065          if( pcVPSVUI->getTilesInUseFlag( i )  &&  pcVPSVUI->getTilesInUseFlag( layerIdx ) ) 
    17382066          {
     
    17522080      }
    17532081    }
     2082
     2083#if H_MV_HLS10_VPS_VUI
     2084  pcVPSVUI->setSingleLayerForNonIrapFlag( m_singleLayerForNonIrapFlag );
     2085  pcVPSVUI->setHigherLayerIrapSkipFlag( m_higherLayerIrapSkipFlag );
     2086#endif
    17542087
    17552088    pcVPSVUI->setIlpRestrictedRefLayersFlag( m_ilpRestrictedRefLayersFlag );
     
    18082141  }
    18092142}
    1810 #endif
     2143#if H_MV_HLS10_GEN_FIX
     2144Bool TAppEncTop::xLayerIdInTargetEncLayerIdList(Int nuhLayerId)
     2145{
     2146  return  ( std::find(m_targetEncLayerIdList.begin(), m_targetEncLayerIdList.end(), nuhLayerId) != m_targetEncLayerIdList.end()) ;
     2147}
     2148#endif
     2149
     2150
     2151#endif
     2152
     2153
    18112154#if H_3D
    18122155Void TAppEncTop::xSetVPSExtension2( TComVPS& vps )
     
    18162159    Bool isDepth      = ( vps.getDepthId( layer ) == 1 ) ;
    18172160    Bool isLayerZero  = ( layer == 0 );
     2161#if LGE_FCO_I0116
     2162    Bool isDepthFirst = (layer > 1 ? true : false);
     2163#endif
    18182164
    18192165#if H_3D_ARP
     
    18382184    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );
    18392185#if SEPARATE_FLAG_I0085
     2186#if LGE_FCO_I0116
     2187    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP && !isDepthFirst );
     2188#else
    18402189    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP );
     2190#endif
    18412191#endif
    18422192#endif
     
    18662216#endif
    18672217#if MTK_I0099_VPS_EX2
     2218#if LGE_FCO_I0116
     2219    vps.setLimQtPredFlag         ( layer, isDepth && m_bLimQtPredFlag && !isDepthFirst );
     2220#else
    18682221    vps.setLimQtPredFlag         ( layer, isDepth && m_bLimQtPredFlag );
     2222#endif
    18692223#endif
    18702224#if H_3D_NBDV_REF
     
    18812235#endif
    18822236#if H_3D_IV_MERGE
     2237#if LGE_FCO_I0116
     2238    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag && !isDepthFirst );
     2239#else
    18832240    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag );
     2241#endif
    18842242#endif
    18852243  } 
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r976 r1066  
    132132  Void xSetLayerSets              ( TComVPS& vps );
    133133  Void xSetProfileTierLevel       ( TComVPS& vps );
     134
     135#if H_MV_HLS10_PTL
     136  Void xSetProfileTierLevel( TComVPS& vps, Int profileTierLevelIdx, Int subLayer,                             
     137                             Profile::Name profile, Level::Name level, Level::Tier tier,
     138                             Bool progressiveSourceFlag, Bool interlacedSourceFlag,
     139                             Bool nonPackedConstraintFlag, Bool frameOnlyConstraintFlag,
     140                             Bool inbldFlag );
     141#endif
    134142  Void xSetRepFormat              ( TComVPS& vps );
    135143  Void xSetDpbSize                ( TComVPS& vps );
     
    137145  GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc );
    138146  Int  xGetMax( std::vector<Int>& vec);
     147#if H_MV_HLS10_GEN_FIX
     148  Bool xLayerIdInTargetEncLayerIdList( Int nuhLayerId );
     149#endif
    139150#endif
    140151#if H_3D
  • trunk/source/Lib/TLibCommon/TComDataCU.cpp

    r1039 r1066  
    41774177    TComPic * pcTexPic = m_pcSlice->getTexturePic();
    41784178#if H_3D_FCO
     4179#if LGE_FCO_I0116
     4180    if (pcTexPic && pcTexPic->getReconMark())
     4181#else
    41794182    if (pcTexturePic->getReconMark())
     4183#endif
    41804184    {
    41814185#endif   
     
    61606164  TComMv cMv;
    61616165#if MTK_I0093
    6162   Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ];
     6166#if H_3D_FIX_64BIT_SHIFT
     6167  Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ];
     6168#else
     6169  Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[  1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ];
     6170#endif
    61636171#else
    61646172  Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[ 128 ];
  • trunk/source/Lib/TLibCommon/TComRom.cpp

    r1039 r1066  
    7171    c <<= 1;
    7272  } 
     73
     74#if H_MV
     75#if H_MV_HLS_PTL_LIMITS
     76 g_generalTierAndLevelLimits[ Level::LEVEL1   ] = TComGeneralTierAndLevelLimits(    36864,     350,  INT_MIN,   16,   1,   1 );
     77 g_generalTierAndLevelLimits[ Level::LEVEL2   ] = TComGeneralTierAndLevelLimits(   122880,    1500,  INT_MIN,   16,   1,   1 );
     78 g_generalTierAndLevelLimits[ Level::LEVEL2_1 ] = TComGeneralTierAndLevelLimits(   245760,    3000,  INT_MIN,   20,   1,   1 );
     79 g_generalTierAndLevelLimits[ Level::LEVEL3   ] = TComGeneralTierAndLevelLimits(   552960,    6000,  INT_MIN,   30,   2,   2 );
     80 g_generalTierAndLevelLimits[ Level::LEVEL3_1 ] = TComGeneralTierAndLevelLimits(   983040,   10000,  INT_MIN,   40,   3,   3 );
     81 g_generalTierAndLevelLimits[ Level::LEVEL4   ] = TComGeneralTierAndLevelLimits(  2228224,   12000,    30000,   75,   5,   5 );
     82 g_generalTierAndLevelLimits[ Level::LEVEL4_1 ] = TComGeneralTierAndLevelLimits(  2228224,   20000,    50000,   75,   5,   5 );
     83 g_generalTierAndLevelLimits[ Level::LEVEL5   ] = TComGeneralTierAndLevelLimits(  8912896,   25000,   100000,  200,  11,  10 );
     84 g_generalTierAndLevelLimits[ Level::LEVEL5_1 ] = TComGeneralTierAndLevelLimits(  8912896,   40000,   160000,  200,  11,  10 );
     85 g_generalTierAndLevelLimits[ Level::LEVEL5_2 ] = TComGeneralTierAndLevelLimits(  8912896,   60000,   240000,  200,  11,  10 );
     86 g_generalTierAndLevelLimits[ Level::LEVEL6   ] = TComGeneralTierAndLevelLimits( 35651584,   60000,   240000,  600,  22,  20 );
     87 g_generalTierAndLevelLimits[ Level::LEVEL6_1 ] = TComGeneralTierAndLevelLimits( 35651584,  120000,   480000,  600,  22,  20 );
     88 g_generalTierAndLevelLimits[ Level::LEVEL6_2 ] = TComGeneralTierAndLevelLimits( 35651584,  240000,   800000,  600,  22,  20 );
     89#endif
     90#endif
     91
    7392}
    7493
     
    369388
    370389Char  g_aucConvertToBit  [ MAX_CU_SIZE+1 ];
    371 
     390#if !MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    372391#if H_3D_IC
    373392UInt g_aICEnableCANDIDATE[10] = { 0, };
    374393UInt g_aICEnableNUM[ 10 ] = { 0, };
    375394Int g_lastlayer=0;
     395#endif
    376396#endif
    377397#if ENC_DEC_TRACE
     
    383403UInt64 g_nSymbolCounter = 0;
    384404#if H_MV_ENC_DEC_TRAC
    385 Bool g_traceCU = true;
    386 Bool g_tracePU = true;
    387 Bool g_traceTU = true;
     405Bool g_traceCU = false;
     406Bool g_tracePU = false;
     407Bool g_traceTU = false;
    388408Bool g_disableHLSTrace = false;
    389409UInt64 g_stopAtCounter       = 0;
  • trunk/source/Lib/TLibCommon/TComRom.h

    r1039 r1066  
    187187// ==========================================
    188188
     189#if H_MV_HLS_PTL_LIMITS
     190class TComGeneralTierAndLevelLimits
     191{
     192public:
     193  TComGeneralTierAndLevelLimits::TComGeneralTierAndLevelLimits
     194  ( Int maxLumaPs,
     195    Int maxCPBMainTier,
     196    Int maxCPBHighTier,
     197    Int maxSliceSegmentsPerPicture,
     198    Int maxTileRows,
     199    Int maxTileCols )
     200  : m_maxLumaPs                 ( maxLumaPs                     ),
     201    m_maxCPBMainTier            ( maxCPBMainTier                ),
     202    m_maxCPBHighTier            ( maxCPBHighTier                ),
     203    m_maxSliceSegmentsPerPicture( maxSliceSegmentsPerPicture    ),
     204    m_maxTileRows               ( maxTileRows                   ),
     205    m_maxTileCols               ( maxTileCols                   );
     206  {};
     207
     208  Int getMaxLumaPs                 ( ) { return m_maxLumaPs                 ; };
     209  Int getMaxCPBMainTier            ( ) { return m_maxCPBMainTier            ; };
     210  Int getMaxCPBHighTier            ( ) { return m_maxCPBHighTier            ; };
     211  Int getMaxSliceSegmentsPerPicture( ) { return m_maxSliceSegmentsPerPicture; };
     212  Int getMaxTileRows               ( ) { return m_maxTileRows               ; };
     213  Int getMaxTileCols               ( ) { return m_maxTileCols               ; };
     214
     215private:
     216  const Int m_maxLumaPs;
     217  const Int m_maxCPBMainTier;
     218  const Int m_maxCPBHighTier;
     219  const Int m_maxSliceSegmentsPerPicture;
     220  const Int m_maxTileRows;
     221  const Int m_maxTileCols;
     222};
     223
     224extern std::map< Level::Name, TComGeneralTierAndLevelLimits > g_generalTierAndLevelLimits;   
     225
     226#endif
    189227// ====================================================================================================================
    190228// Misc.
     
    192230
    193231extern       Char   g_aucConvertToBit  [ MAX_CU_SIZE+1 ];   // from width to log2(width)-2
    194 
     232#if !MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    195233#if H_3D_IC
    196234extern UInt g_aICEnableCANDIDATE[10];
    197235extern UInt g_aICEnableNUM[ 10 ]; //10 layers
    198236extern Int  g_lastlayer;
     237#endif
    199238#endif
    200239
  • trunk/source/Lib/TLibCommon/TComSlice.cpp

    r1039 r1066  
    1 /* The copyright in this software is being made available under the BSD
     1/* The copyright in this software is being made available under the BSD
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
     
    103103, m_temporalLayerNonReferenceFlag ( false )
    104104, m_enableTMVPFlag                ( true )
     105#if I0044_SLICE_TMVP
     106, m_availableForTMVPRefFlag       ( true )
     107#endif
    105108#if H_MV
    106109, m_refPicSetInterLayer0           ( NULL )
     
    725728
    726729        assert( rpsCurrList[li][ orgIdx ] != NULL );
     730#if DISCARDABLE_PIC_RPS
     731        assert( rpsCurrList[li][ orgIdx ]->getSlice(0)->getDiscardableFlag() == 0 );    // Inter-layer RPS shall not contain picture with discardable_flag = 1.
     732#endif
    727733        m_apcRefPicList    [li][rIdx] = rpsCurrList    [li][ orgIdx ];
    728734        m_bIsUsedAsLongTerm[li][rIdx] = usedAsLongTerm [li][ orgIdx ] ;
     
    18751881#if H_MV
    18761882  m_vpsBaseLayerInternalFlag = true;
     1883#if H_MV_HLS10_GEN_VSP_BASE_LAYER_AVAIL
     1884  m_vpsBaseLayerAvailableFlag = true;
     1885#endif
    18771886#endif
    18781887
     
    19001909  {
    19011910    m_layerSetIdxForOlsMinus1[i]  = -1;
     1911#if !H_MV_HLS10_PTL
    19021912    m_profileLevelTierIdx[i]      = 0;
     1913#endif
    19031914    for ( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++)
    19041915    {
     1916#if H_MV_HLS10_PTL
     1917#if H_MV_HLS10_PTL_FIX
     1918      m_profileTierLevelIdx[i][j] = -1;
     1919#else
     1920      m_profileTierLevelIdx[i][j] = false;
     1921#endif
     1922#endif
    19051923      m_outputLayerFlag[i][j] = false;
    19061924    }
     
    19661984      m_directDependencyFlag[i][j] = false;
    19671985      m_directDependencyType[i][j] = -1;
     1986#if H_MV_HLS10_REF_PRED_LAYERS
     1987      m_dependencyFlag  [i][j]    = false;
     1988      m_idDirectRefLayer[i][j]    = -1;
     1989      m_idPredictedLayer[i][j]    = -1;
     1990      m_idRefLayer      [i][j]    = -1;
     1991#else
    19681992      m_refLayerId[i][j]           = -1;
     1993#endif
    19691994      m_maxTidIlRefPicsPlus1[i][j]  = 7;
    19701995    }
     
    20502075  assert( getVpsNumRepFormatsMinus1() <= 255 );
    20512076
     2077#if H_MV_HLS10_ADD_LAYERSETS
     2078  // The value of num_add_layer_sets shall be in the range of 0 to 1023, inclusive.
     2079  assert( getNumAddLayerSets() >= 0 && getNumAddLayerSets() <= 1023 );
     2080#endif
    20522081  return true;
    20532082}
     
    20812110Void TComVPS::setRefLayers()
    20822111{
     2112
     2113#if H_MV_HLS10_REF_PRED_LAYERS
     2114  for( Int i = 0; i  <=  getMaxLayersMinus1(); i++ )
     2115  {
     2116    for( Int j = 0; j  <=  getMaxLayersMinus1(); j++ )
     2117    {
     2118      m_dependencyFlag[ i ][ j ] = getDirectDependencyFlag( i , j );
     2119      for( Int k = 0; k < i; k++ )
     2120      {
     2121        if( getDirectDependencyFlag(i , k )  &&  m_dependencyFlag[k][j] )
     2122        {
     2123          m_dependencyFlag[ i ][ j ] = true;
     2124        }
     2125      }
     2126    }
     2127  }
     2128
     2129  for( Int i = 0; i  <=  getMaxLayersMinus1(); i++ )
     2130  {
     2131    Int iNuhLId = getLayerIdInNuh( i );
     2132    Int d = 0;
     2133    Int r = 0;
     2134    Int p = 0;
     2135    for( Int j = 0; j  <=  getMaxLayersMinus1(); j++ )
     2136    {
     2137      Int jNuhLid = getLayerIdInNuh( j );
     2138      if( getDirectDependencyFlag( i , j ) )
     2139      {
     2140        m_idDirectRefLayer[iNuhLId][d++] = jNuhLid;
     2141      }
     2142      if( getDependencyFlag( i , j ) )
     2143      {
     2144        m_idRefLayer      [iNuhLId][r++] = jNuhLid;
     2145      }
     2146      if( getDependencyFlag( j , i ) )
     2147      {
     2148        m_idPredictedLayer[iNuhLId][p++] = jNuhLid;
     2149      }
     2150    }
     2151    m_numDirectRefLayers[ iNuhLId ] = d;
     2152    m_numRefLayers      [ iNuhLId ] = r;
     2153    m_numPredictedLayers[ iNuhLId ] = p;
     2154  }
     2155 
     2156  Bool layerIdInListFlag[ 64 ];
     2157  for( Int i = 0; i  <=  63; i++ )
     2158  {
     2159    layerIdInListFlag[ i ] = 0;
     2160  }
     2161
     2162  Int k = 0;
     2163  for( Int i = 0; i  <=  getMaxLayersMinus1(); i++ )
     2164  {
     2165    Int iNuhLId = getLayerIdInNuh( i );
     2166    if( getNumDirectRefLayers( iNuhLId )  ==  0 )
     2167    {
     2168      m_treePartitionLayerIdList[ k ][ 0 ] = iNuhLId;
     2169      Int h = 1; 
     2170      for( Int j = 0; j < getNumPredictedLayers( iNuhLId ); j++ ) 
     2171      {
     2172        Int predLId = getIdPredictedLayer( iNuhLId, j );
     2173        if ( !layerIdInListFlag[ predLId ] )
     2174        {
     2175          m_treePartitionLayerIdList[ k ][ h++ ] = predLId;
     2176          layerIdInListFlag[ predLId ] = 1;
     2177        }         
     2178      }
     2179      m_numLayersInTreePartition[ k++ ] = h;
     2180    }
     2181  }
     2182  m_numIndependentLayers = k;
     2183#else // H_MV_HLS10_GEN
     2184
    20832185  for( Int i = 0; i  <= getMaxLayersMinus1(); i++ )
    20842186  {
     
    21162218    }
    21172219  }
    2118 
     2220 
    21192221  for( Int i = 0; i <= getMaxLayersMinus1(); i++ )  // Bug in spec "<" instead of "<="
    21202222  {
     
    21362238    countedLayerIdxFlag[ i ] = 0;
    21372239  }
    2138  
    21392240  for( Int i = 0, k = 0; i  <=  getMaxLayersMinus1(); i++ )
    21402241  {
     
    21442245      m_treePartitionLayerIdList[ k ][ 0 ] = iNuhLId;
    21452246      m_numLayersInTreePartition[ k ]      = 1;
     2247
    21462248      for( Int j = 0; j < m_numPredictedLayers[ iNuhLId ]; j++ ) 
    21472249      {
     
    21542256      }
    21552257      k++;
    2156     }
    2157     m_numIndependentLayers = k;
    2158   }
    2159 }
    2160 
     2258
     2259      m_numIndependentLayers = k;
     2260    }
     2261  }
     2262#endif // H_MV_HLS10_GEN
     2263}
     2264
     2265#if !H_MV_HLS10_REF_PRED_LAYERS
    21612266Int TComVPS::getRefLayerId( Int layerIdInNuh, Int idx )
    21622267{
     
    21662271  return refLayerIdInNuh;
    21672272}
     2273#endif
    21682274
    21692275Int TComVPS::getScalabilityId( Int layerIdInVps, ScalabilityType scalType )
     
    22032309  for ( i = 0; i < iNumViews ; i++ )
    22042310  {
     2311#if H_3D_FIX_UNINIT
     2312    m_bCamParPresent[i] = false;
     2313#endif
    22052314    m_bCamParInSliceHeader[i] = false;
    22062315    m_aaaiCodedScale[i] = new Int*[ 2 ];
     
    23152424{
    23162425  assert( lsIdx >= 0 );
     2426#if H_MV_HLS10_ADD_LAYERSETS
     2427  assert( lsIdx <= getNumLayerSets() );
     2428#else
    23172429  assert( lsIdx <= getVpsNumLayerSetsMinus1() );
     2430#endif
    23182431  return (Int) m_layerSetLayerIdList[ lsIdx ].size();
    23192432}
     
    23392452}
    23402453
     2454#if !H_MV_HLS10_REF_PRED_LAYERS
    23412455Bool TComVPS::getInDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Int depth /*= 0 */ )
    23422456{
     2457#if H_MV_HLS10_REF_PRED_LAYERS
     2458  // TBD: Remove getInDirectDependencyFlag entirely.
     2459  return getDependencyFlag( depLayeridInVps, refLayeridInVps );
     2460#else
    23432461  assert( depth < 65 );
    23442462  Bool dependentFlag = getDirectDependencyFlag( depLayeridInVps, refLayeridInVps );
     
    23522470  }
    23532471  return dependentFlag;
    2354 }
     2472#endif
     2473}
     2474#endif
    23552475
    23562476Void TComVPS::deriveLayerSetLayerIdList()
     
    23782498
    23792499  Int lsIdx = olsIdxToLsIdx( i );     
    2380  
     2500
    23812501  for( Int j = 0; j < getNumLayersInIdList( lsIdx ); j++ )
    23822502  {
    2383     m_targetDecLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
     2503#if H_MV_HLS10_NESSECARY_LAYER
     2504    if ( getNecessaryLayerFlag( i , j ))
     2505    {
     2506#endif
     2507      m_targetDecLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
     2508#if H_MV_HLS10_NESSECARY_LAYER
     2509    }
     2510#endif
     2511
    23842512    if( getOutputLayerFlag( i, j  ))
    23852513    {
     
    24292557}
    24302558
     2559#if !H_MV_HLS10_ADD_LAYERSETS
    24312560Void TComVPS::inferDbpSizeLayerSetZero( TComSPS* sps, Bool encoder )
    24322561{
     
    24512580  }
    24522581}
    2453 
     2582#endif
    24542583Bool TComVPS::getAltOutputLayerFlagVar( Int i )
    24552584{
     
    24652594}
    24662595
     2596#if !H_MV_HLS10_MAXNUMPICS
    24672597Int TComVPS::getMaxNumPics( Int layerId )
    24682598{
     
    24832613  return maxNumPics;
    24842614}
    2485 
     2615#endif
     2616
     2617#if !H_MV_HLS10_REF_PRED_LAYERS
    24862618Void TComVPS::xSetRefLayerFlags( Int currLayerId )
    24872619{
     
    24962628  }
    24972629}
     2630
     2631#endif
     2632
     2633#if H_MV_HLS10_PTL_FIX
     2634Int TComVPS::inferProfileTierLevelIdx(Int i, Int j)
     2635{
     2636  Bool inferZero        = ( i == 0 && j == 0 &&  getVpsBaseLayerInternalFlag() );
     2637  Bool inferGreaterZero = getNecessaryLayerFlag(i,j) && ( getVpsNumProfileTierLevelMinus1() == 0 );
     2638  assert( inferZero || inferGreaterZero );
     2639
     2640  Bool ptlIdx = 0; // inference for greaterZero
     2641  if ( inferZero )
     2642  {
     2643    ptlIdx = getMaxLayersMinus1() > 0 ? 1 : 0;
     2644    if ( inferGreaterZero )
     2645    {
     2646      assert( ptlIdx == 0 ); 
     2647      // This should never happen since :
     2648      // When vps_max_layers_minus1 is greater than 0, the value of vps_num_profile_tier_level_minus1 shall be greater than or equal to 1.
     2649    }
     2650  }
     2651  return ptlIdx;
     2652}
     2653#endif
     2654
     2655#if H_MV_HLS10_ADD_LAYERSETS
     2656Void TComVPS::deriveAddLayerSetLayerIdList(Int i)
     2657{
     2658  assert( m_layerSetLayerIdList.size() ==  ( getVpsNumLayerSetsMinus1() + 1 + i ) );
     2659  std::vector<Int> layerSetLayerIdList;
     2660
     2661  for( Int treeIdx = 1; treeIdx < getNumIndependentLayers(); treeIdx++ )
     2662  {
     2663    // The value of highest_layer_idx_plus1[ i ][ j ] shall be in the range of 0 to NumLayersInTreePartition[ j ], inclusive.
     2664    assert( getHighestLayerIdxPlus1( i, treeIdx ) >= 0 && getHighestLayerIdxPlus1( i, treeIdx ) <= getNumLayersInTreePartition( treeIdx ) );
     2665
     2666    for( Int layerCnt = 0; layerCnt < getHighestLayerIdxPlus1( i, treeIdx ); layerCnt++ )
     2667    {
     2668      layerSetLayerIdList.push_back( getTreePartitionLayerIdList( treeIdx, layerCnt ) );
     2669    }
     2670  }
     2671  m_layerSetLayerIdList.push_back( layerSetLayerIdList );
     2672
     2673  //It is a requirement of bitstream conformance that
     2674  //NumLayersInIdList[ vps_num_layer_sets_minus1 + 1 + i ] shall be greater than 0.
     2675  assert( getNumLayersInIdList( getVpsNumLayerSetsMinus1() + 1 + i ) > 0 );
     2676}
     2677
     2678#endif
     2679
     2680#if H_MV_HLS10_NESSECARY_LAYER
     2681Void TComVPS::deriveNecessaryLayerFlags(Int olsIdx)
     2682{
     2683  AOF( olsIdx >= 0 && olsIdx < getNumOutputLayerSets() );
     2684  Int lsIdx = olsIdxToLsIdx( olsIdx );
     2685  for( Int lsLayerIdx = 0; lsLayerIdx < getNumLayersInIdList( lsIdx) ; lsLayerIdx++ )
     2686  {
     2687    m_necessaryLayerFlag[ olsIdx ][ lsLayerIdx ] = 0;
     2688  }
     2689  for( Int lsLayerIdx = 0; lsLayerIdx < getNumLayersInIdList( lsIdx ); lsLayerIdx++ )
     2690  {
     2691    if( getOutputLayerFlag( olsIdx, lsLayerIdx  ))
     2692    {
     2693      m_necessaryLayerFlag[ olsIdx ][ lsLayerIdx ] = 1;
     2694      Int currLayerId = getLayerSetLayerIdList( lsIdx, lsLayerIdx );
     2695      for( Int rLsLayerIdx = 0; rLsLayerIdx < lsLayerIdx; rLsLayerIdx++ )
     2696      {
     2697        Int refLayerId = getLayerSetLayerIdList( lsIdx, rLsLayerIdx );
     2698        if( getDependencyFlag( getLayerIdInVps( currLayerId ), getLayerIdInVps( refLayerId ) ) )
     2699        {
     2700          m_necessaryLayerFlag[ olsIdx ][ rLsLayerIdx ] = 1;
     2701        }
     2702      }
     2703    }
     2704  }
     2705  m_numNecessaryLayers[ olsIdx ] = 0;
     2706  for( Int lsLayerIdx = 0; lsLayerIdx < getNumLayersInIdList( lsIdx ); lsLayerIdx++ )
     2707  {
     2708    m_numNecessaryLayers[ olsIdx ]  +=  m_necessaryLayerFlag[ olsIdx ][ lsLayerIdx ];
     2709  }
     2710}
     2711#endif
     2712
     2713#if H_MV_HLS10_ADD_LAYERSETS
     2714Void TComVPS::printPTL()
     2715{
     2716  std::vector<Int> idx;
     2717  std::vector<Int> num;
     2718  std::vector< std::vector<Int> > ptlInfo;
     2719
     2720  std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "PTLI" << std::endl;
     2721
     2722  for ( Int i = 0; i <= getVpsNumProfileTierLevelMinus1(); i++ )
     2723  {
     2724    std::vector<Int> curPtlInfo;
     2725    ProfileTierLevel* ptl = getPTL( i )->getGeneralPTL();
     2726    curPtlInfo.push_back( (Int) ptl->getProfileIdc()  );
     2727    curPtlInfo.push_back( (Int) ptl->getTierFlag()    );
     2728    curPtlInfo.push_back( (Int) ptl->getLevelIdc()    );
     2729    curPtlInfo.push_back( (Int) ptl->getInbldFlag()   );
     2730
     2731    idx.push_back ( i );
     2732    num.push_back ( 4 );
     2733    ptlInfo.push_back( curPtlInfo );
     2734  }
     2735
     2736  xPrintArray( "VpsProfileTierLevel", getVpsNumProfileTierLevelMinus1() + 1, idx, num, ptlInfo, false  );
     2737
     2738  num.clear();
     2739  idx.clear();
     2740  for (Int i = 0; i < getNumOutputLayerSets(); i++)
     2741  {
     2742    num.push_back ( getNumLayersInIdList( olsIdxToLsIdx( i ))  );
     2743    idx.push_back( i );
     2744  }
     2745
     2746  xPrintArray( "profile_tier_level_idx", getNumOutputLayerSets(), idx, num, m_profileTierLevelIdx, true );
     2747  std::cout << std::endl;
     2748}
     2749
     2750Void TComVPS::printLayerDependencies()
     2751{
     2752  vector<Int> fullArray;
     2753  vector<Int> range;
     2754
     2755#if H_3D
     2756  vector<Int> depthId;
     2757#endif
     2758
     2759#if H_MV_HLS10_AUX
     2760  vector<Int> viewOrderIndex;
     2761  vector<Int> auxId;
     2762  vector<Int> dependencyId;
     2763  vector<Int> viewId;
     2764#endif
     2765  for (Int i = 0; i <= getMaxLayersMinus1(); i++ )
     2766  {
     2767    fullArray.push_back( getMaxLayersMinus1() + 1 );
     2768    range.push_back( i );
     2769#if H_MV_HLS10_AUX     
     2770    viewOrderIndex.push_back( getViewIndex   ( i ) );
     2771    dependencyId  .push_back( getDependencyId( i ) );
     2772    auxId         .push_back( getAuxId       ( i ) );     
     2773    viewId        .push_back( getViewId      ( getLayerIdInNuh( i ) ) );
     2774#if H_3D 
     2775    depthId.push_back( getDepthId( i ) );
     2776#endif
     2777#endif
     2778  }
     2779  std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Layer Dependencies" << std::endl;
     2780  xPrintArray( "direct_dependency_flag", getMaxLayersMinus1()+1, range, fullArray, m_directDependencyFlag, false );
     2781  xPrintArray( "DependencyFlag", getMaxLayersMinus1()+1, range, fullArray, m_dependencyFlag, false );
     2782  xPrintArray( "layer_id_in_nuh", getMaxLayersMinus1()+1, m_layerIdInNuh, true  );     
     2783  xPrintArray( "IdPredictedLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numPredictedLayers, m_idPredictedLayer, true );
     2784  xPrintArray( "IdRefLayer"      , getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefLayers, m_idRefLayer, true );
     2785  xPrintArray( "IdDirectRefLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numDirectRefLayers, m_idDirectRefLayer, true );
     2786  std::cout << std::endl;
     2787}
     2788
     2789#if H_MV_HLS10_AUX
     2790Void TComVPS::printScalabilityId()
     2791{
     2792  vector<Int> layerIdxInVps;
     2793
     2794#if H_3D
     2795  vector<Int> depthId;
     2796#endif
     2797
     2798  vector<Int> viewOrderIndex;
     2799  vector<Int> auxId;
     2800  vector<Int> dependencyId;
     2801  vector<Int> viewId;
     2802
     2803  for (Int i = 0; i <= getMaxLayersMinus1(); i++ )
     2804  {
     2805    Int layerIdInNuh = getLayerIdInNuh( i );
     2806    layerIdxInVps  .push_back( i );
     2807    viewOrderIndex.push_back( getViewIndex   ( layerIdInNuh ) );
     2808    dependencyId  .push_back( getDependencyId( layerIdInNuh ) );
     2809    auxId         .push_back( getAuxId       ( layerIdInNuh ) );     
     2810    viewId        .push_back( getViewId      ( layerIdInNuh ) );
     2811#if H_3D 
     2812    depthId       .push_back( getDepthId     ( layerIdInNuh ) );
     2813#endif
     2814  }
     2815
     2816  std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Scalability Ids" << std::endl;
     2817  xPrintArray( "layerIdxInVps"  , getMaxLayersMinus1()+1, layerIdxInVps,          false );
     2818  xPrintArray( "layer_id_in_nuh", getMaxLayersMinus1()+1, m_layerIdInNuh, false );     
     2819
     2820  xPrintArray( "ViewOrderIndex", getMaxLayersMinus1()+1, viewOrderIndex, false );     
     2821  xPrintArray( "DependencyId"  , getMaxLayersMinus1()+1, dependencyId  , false );     
     2822  xPrintArray( "AuxId"         , getMaxLayersMinus1()+1, auxId         , false );     
     2823  xPrintArray( "ViewId"        , getMaxLayersMinus1()+1, viewId        , false );     
     2824
     2825  std::cout << std::endl;
     2826}
     2827#endif
     2828
     2829Void TComVPS::printLayerSets()
     2830{
     2831  vector<Int> fullArray;
     2832  vector<Int> numLayersInIdList;
     2833  vector<Int> rangeLayerSets;
     2834
     2835
     2836  for (Int i = 0; i < getNumLayerSets(); i++ )
     2837  {
     2838    numLayersInIdList.push_back( getNumLayersInIdList( i ) );       
     2839    rangeLayerSets.push_back( i );
     2840  }
     2841
     2842  vector<Int> rangeOutputLayerSets;
     2843  vector<Int> numOutputLayersInOutputLayerSet;
     2844  vector<Int> numDecLayer;
     2845  vector<Int> numLayersInLayerSetForOutputLayerSet;
     2846  vector<Int> vOlsIdxToLsIdx;
     2847  for (Int i = 0; i < getNumOutputLayerSets(); i++ )
     2848  {
     2849    vOlsIdxToLsIdx.push_back( olsIdxToLsIdx(i));
     2850    numOutputLayersInOutputLayerSet.push_back( getNumOutputLayersInOutputLayerSet( i ) );       
     2851    numDecLayer.push_back( (Int) m_targetDecLayerIdLists[ i ].size() );
     2852    rangeOutputLayerSets.push_back( i );
     2853    numLayersInLayerSetForOutputLayerSet.push_back( getNumLayersInIdList( olsIdxToLsIdx( i ) ) );
     2854  }
     2855
     2856  vector<Int> rangeIndependentLayers;
     2857  for(Int i = 0; i < getNumIndependentLayers(); i++ )
     2858  {
     2859    rangeIndependentLayers.push_back( i );   
     2860  }
     2861
     2862  vector<Int> rangeAddLayerSets;
     2863  vector<Int> numHighestLayerIdxPlus1;
     2864  for(Int i = 0; i < getNumAddLayerSets(); i++ )
     2865  {
     2866    rangeAddLayerSets.push_back( i );   
     2867    numHighestLayerIdxPlus1.push_back( getNumIndependentLayers() );
     2868  }
     2869
     2870  std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Layer Sets" << std::endl;     
     2871  xPrintArray( "TreePartitionLayerIdList", getNumIndependentLayers(), rangeIndependentLayers, m_numLayersInTreePartition, m_treePartitionLayerIdList, true );
     2872  xPrintArray( "highest_layer_idx_plus1", getNumAddLayerSets(), rangeAddLayerSets, numHighestLayerIdxPlus1, m_highestLayerIdxPlus1, true );
     2873  xPrintArray( "LayerSetLayerIdList" , (Int) getNumLayerSets()      , rangeLayerSets      , numLayersInIdList, m_layerSetLayerIdList, true );
     2874  xPrintArray( "OlsIdxToLsIdx", (Int) vOlsIdxToLsIdx.size(), vOlsIdxToLsIdx, true );
     2875  xPrintArray( "OutputLayerFlag"     , getNumOutputLayerSets(), rangeOutputLayerSets, numLayersInLayerSetForOutputLayerSet, m_outputLayerFlag, true );
     2876  xPrintArray( "TargetOptLayerIdList", getNumOutputLayerSets(), rangeOutputLayerSets, numOutputLayersInOutputLayerSet, m_targetOptLayerIdLists, true );
     2877  xPrintArray( "NecessaryLayerFlag"  , getNumOutputLayerSets(), rangeOutputLayerSets, numLayersInLayerSetForOutputLayerSet, m_necessaryLayerFlag   , true );
     2878  xPrintArray( "TargetDecLayerIdList", getNumOutputLayerSets(), rangeOutputLayerSets, numDecLayer,                     m_targetDecLayerIdLists, true );
     2879  std::cout << endl;
     2880}
     2881
     2882#endif
    24982883
    24992884#endif // H_MV
     
    25792964#endif
    25802965
     2966#if !H_MV_HLS10_PPS
    25812967  m_numScaledRefLayerOffsets = 0;
    25822968
     
    25902976    m_scaledRefLayerLeftOffset     [i] = 0;
    25912977    m_scaledRefLayerTopOffset      [i] = 0;
    2592     m_scaledRefLayerRightOffset    [i] = 0;
     2978    m_scaledRefLayerRiFghtOffset    [i] = 0;
    25932979    m_scaledRefLayerBottomOffset   [i] = 0;
    25942980  }
     2981#endif
    25952982#endif
    25962983}
     
    29673354Void TComSPS::inferRepFormat( TComVPS* vps, Int layerIdCurr )
    29683355{
     3356#if H_MV_HLS10_MULTILAYERSPS
     3357  if ( getMultiLayerExtSpsFlag() )
     3358#else
    29693359  if ( layerIdCurr > 0 )
     3360#endif
    29703361  {
    29713362    Int            repFormatIdx = getUpdateRepFormatFlag() ?  getSpsRepFormatIdx() : vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) ;
    29723363    TComRepFormat* repFormat    = vps->getRepFormat( repFormatIdx );
    2973       setChromaFormatIdc( repFormat->getChromaFormatVpsIdc() );         
    2974       //// ToDo: add when supported:
    2975       // setSeperateColourPlaneFlag( repFormat->getSeparateColourPlaneVpsFlag() ) ;
    2976 
    2977       setPicWidthInLumaSamples ( repFormat->getPicWidthVpsInLumaSamples()  );
    2978       setPicHeightInLumaSamples( repFormat->getPicHeightVpsInLumaSamples() );
    2979 
    2980       setBitDepthY             ( repFormat->getBitDepthVpsLumaMinus8()   + 8 );
    2981       setQpBDOffsetY           ( (Int) (6*( getBitDepthY() - 8 )) );
    2982 
    2983       setBitDepthC             ( repFormat->getBitDepthVpsChromaMinus8() + 8 );
    2984       setQpBDOffsetC           ( (Int) (6* ( getBitDepthC() -8 ) ) );
    2985     if ( getLayerId() > 0 && getUpdateRepFormatFlag() )
     3364    setChromaFormatIdc( repFormat->getChromaFormatVpsIdc() );         
     3365    //// ToDo: add when supported:
     3366    // setSeperateColourPlaneFlag( repFormat->getSeparateColourPlaneVpsFlag() ) ;
     3367
     3368    setPicWidthInLumaSamples ( repFormat->getPicWidthVpsInLumaSamples()  );
     3369    setPicHeightInLumaSamples( repFormat->getPicHeightVpsInLumaSamples() );
     3370
     3371    setBitDepthY             ( repFormat->getBitDepthVpsLumaMinus8()   + 8 );
     3372    setQpBDOffsetY           ( (Int) (6*( getBitDepthY() - 8 )) );
     3373
     3374    setBitDepthC             ( repFormat->getBitDepthVpsChromaMinus8() + 8 );
     3375    setQpBDOffsetC           ( (Int) (6* ( getBitDepthC() -8 ) ) );
     3376 #if H_MV_HLS10_GEN_VSP_CONF_WIN
     3377    Window &spsConf    = getConformanceWindow();   
     3378
     3379    // Scaled later
     3380    spsConf.setScaledFlag( false );
     3381    spsConf.setWindowLeftOffset  ( repFormat->getConfWinVpsLeftOffset()    );
     3382    spsConf.setWindowRightOffset ( repFormat->getConfWinVpsRightOffset()   );
     3383    spsConf.setWindowTopOffset   ( repFormat->getConfWinVpsTopOffset()     );
     3384    spsConf.setWindowBottomOffset( repFormat->getConfWinVpsBottomOffset()  );   
     3385#endif
     3386
     3387#if H_MV_HLS10_MULTILAYERSPS
     3388   if ( getMultiLayerExtSpsFlag() && getUpdateRepFormatFlag() )
     3389#else
     3390   if ( getLayerId() > 0 && getUpdateRepFormatFlag() )
     3391#endif
    29863392    {
    29873393      assert( getChromaFormatIdc()      <=  repFormat->getChromaFormatVpsIdc()         );
     
    30173423  const std::vector<Int>& targetDecLayerIdList = vps->getTargetDecLayerIdList( vps->olsIdxToLsIdx( targetOptLayerSetIdx ));
    30183424
     3425#if H_MV_HLS10_MULTILAYERSPS
     3426  if ( getMultiLayerExtSpsFlag() )
     3427#else
    30193428  if (getLayerId() > 0 )
     3429#endif
    30203430  {
    30213431    Int layerIdx = 0;         
     
    30353445      Int maxDecPicBufferingMinus1 = vps->getDpbSize()->getMaxVpsDecPicBufferingMinus1( targetOptLayerSetIdx, layerIdx, i ) ;
    30363446
    3037       if ( encoder )
     3447#if H_MV_HLS10_MULTILAYERSPS
     3448      // This preliminary fix needs to be checked.
     3449      Int maxNumReorderPics       = vps->getDpbSize()->getMaxVpsNumReorderPics( targetOptLayerSetIdx, i );
     3450      Int maxLatencyIncreasePlus1 = vps->getDpbSize()->getMaxVpsLatencyIncreasePlus1( targetOptLayerSetIdx, i );
     3451#endif
     3452      if ( encoder )     
    30383453      {
    30393454        assert( getMaxDecPicBuffering( i ) - 1 == maxDecPicBufferingMinus1 );
     3455#if H_MV_HLS10_MULTILAYERSPS
     3456        // This preliminary fix needs to be checked.
     3457        assert( getNumReorderPics( i )     == maxNumReorderPics       );
     3458        assert( getMaxLatencyIncrease( i ) == maxLatencyIncreasePlus1 );
     3459#endif   
     3460
    30403461      }
    30413462      else
    30423463      {
     3464#if !H_MV_HLS10_MULTILAYERSPS
    30433465        setMaxDecPicBuffering(i, maxDecPicBufferingMinus1 + 1 );
    3044       }
    3045     }
     3466#else
     3467        // This preliminary fix needs to be checked.
     3468        setMaxDecPicBuffering( maxDecPicBufferingMinus1 + 1 , i);
     3469        setNumReorderPics    ( maxNumReorderPics, i );
     3470        setMaxLatencyIncrease( maxLatencyIncreasePlus1 - 1 , i);
     3471#endif
     3472      }
     3473    }   
    30463474  }
    30473475}
     
    30493477Void TComSPS::checkRpsMaxNumPics( TComVPS* vps, Int currLayerId )
    30503478{
     3479#if !H_MV_HLS10_MAXNUMPICS
    30513480  // In spec, when rps is in SPS, nuh_layer_id of SPS is used instead
    30523481  // of nuh_layer_id of slice (currLayerId), this seems to be a bug.
    3053 
     3482#endif
    30543483  for (Int i = 0; i < getRPSList()->getNumberOfReferencePictureSets(); i++ )
    30553484  {
     
    30573486    if ( !rps->getInterRPSPrediction() )
    30583487    {
     3488#if H_MV_HLS10_MAXNUMPICS
     3489      rps->checkMaxNumPics( vps->getVpsExtensionFlag(), MAX_INT, getLayerId(), getMaxDecPicBuffering( getSpsMaxSubLayersMinus1() ) - 1 );   // INT_MAX to be replaced by DpbSize
     3490#else
    30593491      rps->checkMaxNumPics( vps->getVpsExtensionFlag(), vps->getMaxNumPics( currLayerId ),
    30603492        getLayerId(), getMaxDecPicBuffering( getSpsMaxSubLayersMinus1() ) - 1 ); 
    3061     }
    3062   }
    3063 }
    3064 
     3493#endif
     3494    }
     3495  }
     3496}
     3497
     3498#if H_MV_HLS10_MULTILAYERSPS
     3499Void TComSPS::inferSpsMaxSubLayersMinus1(Bool atPsActivation, TComVPS* vps)
     3500{
     3501  assert( getLayerId() != 0 );
     3502  if ( !atPsActivation   )
     3503  {
     3504    assert( vps == NULL );
     3505    if (getSpsExtOrMaxSubLayersMinus1() != 7)
     3506    {
     3507      setSpsMaxSubLayersMinus1( getSpsExtOrMaxSubLayersMinus1() );
     3508    }
     3509  }
     3510  else
     3511  {
     3512    assert( vps != NULL );
     3513    if (getSpsExtOrMaxSubLayersMinus1() == 7)
     3514    {
     3515      setSpsMaxSubLayersMinus1( vps->getMaxSubLayersMinus1() );
     3516    }
     3517  }
     3518}
     3519#endif
    30653520#endif
    30663521
     
    34253880{
    34263881  TComVPS* vps = getVPS();
     3882#if H_MV_HLS10_REF_PRED_LAYERS
     3883  Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) );
     3884#else
    34273885  Int refLayerIdx = vps->getLayerIdInVps( vps->getRefLayerId( getLayerId(), i ) );
     3886#endif
    34283887
    34293888  Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >=  getTLayer() )  && ( getTLayer() == 0  ) &&
     
    34963955Int TComSlice::getRefPicLayerId( Int i )
    34973956{
     3957#if H_MV_HLS10_REF_PRED_LAYERS
     3958  return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) );
     3959#else
    34983960  return getVPS()->getRefLayerId( getLayerId(), getInterLayerPredLayerIdc( i ) );
     3961#endif
    34993962}
    35003963
     
    36024065      m_bApplyIC = true;
    36034066      Int refLayer = curLayer-1;
    3604       if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) )
     4067#if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     4068      Int ICEnableCandidate = getICEnableCandidate(refLayer);
     4069      Int ICEnableNum = getICEnableNum(refLayer);
     4070      if( (refLayer>=0) && (ICEnableCandidate>0) )
    36054071      {   
    3606         Double ratio=Double(g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]);
     4072        Double ratio=Double(ICEnableNum/Double(ICEnableCandidate));
    36074073
    36084074        if( ratio > IC_LOW_LATENCY_ENCODING_THRESHOLD)
    3609 {
     4075        {
    36104076          m_bApplyIC=true;
    36114077        }
     
    36154081        }
    36164082      }
     4083      setICEnableCandidate(curLayer, 0);
     4084      setICEnableNum(curLayer, 0);
     4085#else
     4086      if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) )
     4087      {   
     4088        Double ratio=Double(g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]);
     4089
     4090        if( ratio > IC_LOW_LATENCY_ENCODING_THRESHOLD)
     4091{
     4092          m_bApplyIC=true;
     4093        }
     4094        else
     4095        {
     4096          m_bApplyIC=false;
     4097        }
     4098      }
    36174099      g_aICEnableNUM[curLayer]=0;
    36184100      g_aICEnableCANDIDATE[curLayer]=0;
    36194101      g_lastlayer=getDepth();
     4102#endif
    36204103    }
    36214104  }
     
    37274210
    37284211#if H_3D_DDD
     4212#if LGE_FCO_I0116
     4213  if( getIsDepth() && getViewIndex() > 0 && getVPS()->getMPIFlag(layerIdInVPS))
     4214#else
    37294215  if( getIsDepth() && getViewIndex() > 0 )
     4216#endif
    37304217  {
    37314218      TComSlice *pcTextSlice = getTexturePic()->getSlice( 0 );
     
    42094696, m_nonPackedConstraintFlag(false)
    42104697, m_frameOnlyConstraintFlag(false)
     4698#if H_MV_HLS10_PTL
     4699  , m_max12bitConstraintFlag      ( false )
     4700  , m_max10bitConstraintFlag      ( false )
     4701  , m_max8bitConstraintFlag       ( false )
     4702  , m_max422chromaConstraintFlag  ( false )
     4703  , m_max420chromaConstraintFlag  ( false )
     4704  , m_maxMonochromeConstraintFlag ( false )
     4705  , m_intraConstraintFlag         ( false )
     4706  , m_onePictureOnlyConstraintFlag( false )
     4707  , m_lowerBitRateConstraintFlag  ( false )
     4708  , m_inbldFlag                   ( false )
     4709#endif
    42114710{
    42124711  ::memset(m_profileCompatibilityFlag, 0, sizeof(m_profileCompatibilityFlag));
    42134712}
     4713
     4714#if H_MV_HLS10_PTL_INFER_FIX
     4715Bool ProfileTierLevel::getV2ConstraintsPresentFlag()
     4716{
     4717  return (
     4718    getProfileIdc( ) ==  4 || getProfileCompatibilityFlag( 4 ) || getProfileIdc( ) ==  5 || getProfileCompatibilityFlag( 5 )  ||
     4719    getProfileIdc( ) ==  6 || getProfileCompatibilityFlag( 6 ) || getProfileIdc( ) ==  7 || getProfileCompatibilityFlag( 7 )
     4720    );
     4721}
     4722
     4723Bool ProfileTierLevel::getInbldPresentFlag()
     4724{
     4725  return (
     4726    ( getProfileIdc() >= 1 && getProfileIdc() <= 5 )  || getProfileCompatibilityFlag( 1 ) || getProfileCompatibilityFlag( 2 ) ||
     4727    getProfileCompatibilityFlag( 3 ) || getProfileCompatibilityFlag( 4 )  ||   getProfileCompatibilityFlag( 5 )
     4728    );
     4729}
     4730
     4731Void ProfileTierLevel::copyV2ConstraintFlags(ProfileTierLevel* ptlRef)
     4732{
     4733  setMax12bitConstraintFlag         ( ptlRef->getMax12bitConstraintFlag       ( ) );
     4734  setMax10bitConstraintFlag         ( ptlRef->getMax10bitConstraintFlag       ( ) );
     4735  setMax8bitConstraintFlag          ( ptlRef->getMax8bitConstraintFlag        ( ) );
     4736  setMax422chromaConstraintFlag     ( ptlRef->getMax422chromaConstraintFlag   ( ) );
     4737  setMax420chromaConstraintFlag     ( ptlRef->getMax420chromaConstraintFlag   ( ) );
     4738  setMaxMonochromeConstraintFlag    ( ptlRef->getMaxMonochromeConstraintFlag  ( ) );
     4739  setIntraConstraintFlag            ( ptlRef->getIntraConstraintFlag          ( ) );
     4740  setOnePictureOnlyConstraintFlag   ( ptlRef->getOnePictureOnlyConstraintFlag ( ) );
     4741  setLowerBitRateConstraintFlag     ( ptlRef->getLowerBitRateConstraintFlag   ( ) );
     4742}
     4743
     4744Void ProfileTierLevel::copyProfile(ProfileTierLevel* ptlRef)
     4745{
     4746  setProfileSpace            ( ptlRef->getProfileSpace              ( ) );
     4747  setTierFlag                ( ptlRef->getTierFlag                  ( ) );
     4748  setProfileIdc              ( ptlRef->getProfileIdc                ( ) );
     4749  for (Int j = 0; j < 32; j++)
     4750  {     
     4751    setProfileCompatibilityFlag(j, ptlRef->getProfileCompatibilityFlag  ( j ) );           
     4752  }
     4753  setProgressiveSourceFlag   ( ptlRef->getProgressiveSourceFlag     ( ) );
     4754  setInterlacedSourceFlag    ( ptlRef->getInterlacedSourceFlag      ( ) );
     4755  setNonPackedConstraintFlag ( ptlRef->getNonPackedConstraintFlag   ( ) );
     4756  setFrameOnlyConstraintFlag ( ptlRef->getFrameOnlyConstraintFlag   ( ) );
     4757  copyV2ConstraintFlags      ( ptlRef );
     4758}
     4759
     4760#endif
    42144761
    42154762TComPTL::TComPTL()
     
    42204767
    42214768#if H_MV
     4769#if !H_MV_HLS10_PTL_INFER_FIX
    42224770Void TComPTL::copyLevelFrom( TComPTL* source )
    42234771{
     
    42294777  }
    42304778}
     4779#else
     4780Void TComPTL::inferGeneralValues(Bool profilePresentFlag, Int k, TComPTL* refPTL)
     4781{
     4782  ProfileTierLevel* refProfileTierLevel = NULL;
     4783  if ( k > 0 )
     4784  {   
     4785    assert( refPTL != NULL);
     4786    refProfileTierLevel = refPTL->getGeneralPTL();
     4787  }
     4788
     4789  ProfileTierLevel* curProfileTierLevel = getGeneralPTL( );
     4790
     4791  if( !profilePresentFlag )
     4792  {
     4793    assert( k > 0 );
     4794    assert( refProfileTierLevel != NULL );
     4795    curProfileTierLevel->copyProfile( refProfileTierLevel);
     4796  }
     4797  else
     4798  {
     4799    if ( !curProfileTierLevel->getV2ConstraintsPresentFlag() )
     4800    {
     4801      curProfileTierLevel->setMax12bitConstraintFlag         ( false );
     4802      curProfileTierLevel->setMax10bitConstraintFlag         ( false );
     4803      curProfileTierLevel->setMax8bitConstraintFlag          ( false );
     4804      curProfileTierLevel->setMax422chromaConstraintFlag     ( false );
     4805      curProfileTierLevel->setMax420chromaConstraintFlag     ( false );
     4806      curProfileTierLevel->setMaxMonochromeConstraintFlag    ( false );
     4807      curProfileTierLevel->setIntraConstraintFlag            ( false );
     4808      curProfileTierLevel->setOnePictureOnlyConstraintFlag   ( false );
     4809      curProfileTierLevel->setLowerBitRateConstraintFlag     ( false );   
     4810    }
     4811
     4812    if ( !curProfileTierLevel->getInbldPresentFlag() )
     4813    {
     4814      curProfileTierLevel->setInbldFlag( false );
     4815    }     
     4816  }
     4817}
     4818
     4819Void TComPTL::inferSubLayerValues(Int maxNumSubLayersMinus1, Int k, TComPTL* refPTL)
     4820{
     4821  assert( k == 0 || refPTL != NULL );
     4822
     4823  for (Int i = maxNumSubLayersMinus1; i >= 0; i--)
     4824  {
     4825    ProfileTierLevel* refProfileTierLevel;
     4826    if ( k != 0 )
     4827    {
     4828      refProfileTierLevel = refPTL->getSubLayerPTL( i );
     4829    }
     4830    else
     4831    {
     4832      if ( i == maxNumSubLayersMinus1)     
     4833      {
     4834        refProfileTierLevel = getGeneralPTL();
     4835      }
     4836      else
     4837      {
     4838        refProfileTierLevel = getSubLayerPTL( i + 1 );
     4839      }
     4840    }   
     4841
     4842    ProfileTierLevel* curProfileTierLevel = getSubLayerPTL( i );
     4843    if( !getSubLayerLevelPresentFlag( i ) )
     4844    {
     4845      curProfileTierLevel->setLevelIdc( refProfileTierLevel->getLevelIdc() );
     4846    }
     4847
     4848    if( !getSubLayerProfilePresentFlag( i ) )
     4849    {
     4850      curProfileTierLevel->copyProfile( refProfileTierLevel);
     4851    }
     4852    else
     4853    {
     4854      if ( !curProfileTierLevel->getV2ConstraintsPresentFlag() )
     4855      {
     4856        curProfileTierLevel->copyV2ConstraintFlags( refProfileTierLevel );
     4857      }
     4858
     4859      if ( !curProfileTierLevel->getInbldPresentFlag() )
     4860      {
     4861      &nbs