Changeset 1179 in 3DVCSoftware


Ignore:
Timestamp:
7 Apr 2015, 17:05:30 (9 years ago)
Author:
tech
Message:

Merged branch 13.1-dev0@1178.

Location:
trunk
Files:
187 edited

Legend:

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

    r1124 r1179  
    5656DirectRefLayers_3             : 1 2         # Indices in VPS of direct reference layers
    5757
    58 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    59 DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    60 DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     58DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     59DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     60DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    6161
    6262#========== Camera parameters ==========
     
    194194InterSdcFlag                        : 1                             # use of inter sdc
    195195MpiFlag                             : 1
    196 IntraSingleFlag                     : 1                 # use of single depth mode
     196DepthIntraSkip                      : 1     
     197
    197198#========== view synthesis optimization (VSO) ==========
    198199
  • trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view_AllIntra.cfg

    r1084 r1179  
    4646#======== VPS / Dependencies ================
    4747DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
    48 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     48DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    4949
    5050#========== Camera parameters ==========
  • trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg

    r1124 r1179  
    6868DirectRefLayers_5             : 1 4         # Indices in VPS of direct reference layers
    6969
    70 DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    71 DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    72 DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    73 DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    74 DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     70DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     71DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     72DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     73DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     74DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    7575
    7676#========== Camera parameters ==========
     
    212212InterSdcFlag                        : 1                             # use of inter sdc
    213213MpiFlag                             : 1
    214 IntraSingleFlag                     : 1                 # use of single depth mode
     214DepthIntraSkip                      : 1     
     215
    215216#========== view synthesis optimization (VSO) ==========
    216217VSOConfig                 : [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/NonCTC/allintra/baseCfg_3view_AllIntra.cfg

    r1084 r1179  
    5656DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers
    5757
    58 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    59 DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     58DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     59DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    6060
    6161#========== Camera parameters ==========
  • trunk/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg

    r1124 r1179  
    6868DirectRefLayers_5             : 0 1         # Indices in VPS of direct reference layers
    6969
    70 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    71 DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    72 DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    73 DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    74 DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     70DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     71DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     72DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     73DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     74DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    7575
    7676#========== Camera parameters ==========
     
    260260InterSdcFlag                        : 1                             # use of inter sdc
    261261MpiFlag                             : 1
     262DepthIntraSkip                      : 1 
    262263
    263264#========== view synthesis optimization (VSO) ==========
  • trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg

    r1124 r1179  
    4444DirectRefLayers_5             : 1 3 4       # Indices in VPS of direct reference layers
    4545
    46 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    47 DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    48 DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    49 DependencyTypes_4             : 2 2 2 2     # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    50 DependencyTypes_5             : 2 2 2       # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     46DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     47DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     48DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     49DependencyTypes_4             : 2 0 2 0     # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     50DependencyTypes_5             : 2 2 6       # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    5151
    5252
    5353#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    54 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    55 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    56 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    57 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    58 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    59 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    60 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    61 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    62 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    63    
    64 FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
    65 Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
    66 Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
    67 Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
    68 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             
    69 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             
    70 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             
    71 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             
    72 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             
    73 
    74 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         
    75 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         
    76 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         
    77 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         
    78 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         
    79 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         
    80 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         
    81 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         
    82 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         
    83 
    84 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         
    85 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         
    86 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         
    87 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         
    88 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         
    89 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         
    90 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         
    91 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         
    92 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         
    93 
    94 FrameI_l4:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0     
    95 Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1     
    96 Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       2            0 1       1 -1       -1 1     
    97 Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         2            0 1       1 -1       -1 1     
    98 Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       2            0 1       1 -1       -1 1     
    99 Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2     
    100 Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       2            0 1       2 -1       -1 2     
    101 Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       2            0 1       2 -1       -1 2     
    102 Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2     
    103 
    104 FrameI_l5:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0       
    105 Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1       
    106 Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       2            0 1       1 -1       -1 1       
    107 Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         2            0 1       1 -1       -1 1       
    108 Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       2            0 1       1 -1       -1 1       
    109 Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2       
    110 Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       2            0 1       2 -1       -1 2       
    111 Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       2            0 1       2 -1       -1 2       
    112 Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2       
     54#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0       interCompPred
     55Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
     56Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
     57Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
     58Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
     59Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
     60Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0         
     61Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
     62Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
     63                                                                                                                                                                             
     64FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                             1         
     65Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             1         
     66Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             1         
     67Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             1         
     68Frame4_l1:  B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             1         
     69Frame5_l1:  B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             1         
     70Frame6_l1:  B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             1         
     71Frame7_l1:  B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             1         
     72Frame8_l1:  B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             1
     73                                                                                                                                                                             
     74FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1   
     75Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1          1   
     76Frame2_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   
     77Frame3_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   
     78Frame4_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   
     79Frame5_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   
     80Frame6_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   
     81Frame7_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   
     82Frame8_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   
     83                                                                                                                                                                             
     84FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1   
     85Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1          1   
     86Frame2_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   
     87Frame3_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   
     88Frame4_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   
     89Frame5_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   
     90Frame6_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   
     91Frame7_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   
     92Frame8_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   
     93                                                                                                                                                                             
     94FrameI_l4:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0        1
     95Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1        1
     96Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       2            0 1       1 -1       -1 1        1
     97Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         2            0 1       1 -1       -1 1        1
     98Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       2            0 1       1 -1       -1 1        1
     99Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2        1
     100Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       2            0 1       2 -1       -1 2        1
     101Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       2            0 1       2 -1       -1 2        1
     102Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2        1
     103                                                                                                                                                                             
     104FrameI_l5:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0        1   
     105Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1        1   
     106Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       2            0 1       1 -1       -1 1        1   
     107Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         2            0 1       1 -1       -1 1        1   
     108Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       2            0 1       1 -1       -1 1        1   
     109Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2        1   
     110Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       2            0 1       2 -1       -1 2        1   
     111Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       2            0 1       2 -1       -1 2        1   
     112Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       2            0 1       2 -1       -1 2        1   
    113113
    114114### DO NOT ADD ANYTHING BELOW THIS LINE ###
  • trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view.cfg

    r1066 r1179  
    3434DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
    3535DirectRefLayers_2             : 0 1         # Indices in VPS of direct reference layers
    36 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    37 DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     36DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     37DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    3838
    3939#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    40 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    41 
    42 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
    43 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0
    44 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0
    45 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0
    46 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0
    47 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0
    48 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0
    49 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0
    50                                                                                                                                    
    51 FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1 
    52 Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   1          0         1          -1 
    53 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 
    54 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 
    55 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 
    56 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 
    57 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 
    58 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 
    59 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 
    60                                                                                                                                                                                
    61 FrameI_l2:  B    0     3     0.442    0        0        0        1      0                        0                                   2          0 1       0 -1       -1 0
    62 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   2          0 1       1 -1       -1 1
    63 Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         2          0 1       1 -1       -1 1
    64 Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           2          0 1       1 -1       -1 1
    65 Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         2          0 1       1 -1       -1 1
    66 Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         2          0 1       2 -1       -1 2
    67 Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         2          0 1       2 -1       -1 2
    68 Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         2          0 1       2 -1       -1 2
    69 Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         2          0 1       2 -1       -1 2
     40#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0       interCompPred
     41                                                                                                                                                                                 
     42Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                           0
     43Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                           0
     44Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                           0
     45Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0                                           0
     46Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0                                           0       
     47Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0                                           0
     48Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0                                           0
     49Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0                                           0
     50                                                                                                                                                                                          
     51FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1          0       
     52Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   1          0         1          -1          0       
     53Frame2_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          0       
     54Frame3_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          0       
     55Frame4_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          0       
     56Frame5_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          0       
     57Frame6_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          0       
     58Frame7_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          0
     59Frame8_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          0
     60                                                                                                                                                                           
     61FrameI_l2:  B    0     3     0.442    0        0        0        1      0                        0                                   2          0 1       0 -1       -1 0        0
     62Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   2          0 1       1 -1       -1 1        0
     63Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         2          0 1       1 -1       -1 1        0
     64Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           2          0 1       1 -1       -1 1        0
     65Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         2          0 1       1 -1       -1 1        0
     66Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         2          0 1       2 -1       -1 2        0
     67Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         2          0 1       2 -1       -1 2        0
     68Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         2          0 1       2 -1       -1 2        0
     69Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         2          0 1       2 -1       -1 2        0
    7070
    7171### DO NOT ADD ANYTHING BELOW THIS LINE ###
  • trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg

    r1124 r1179  
    3636DirectRefLayers_5             : 1 3 4       # Indices in VPS of direct reference layers
    3737
    38 DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    39 DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    40 DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    41 DependencyTypes_4             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    42 DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     38DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     39DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     40DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     41DependencyTypes_4             : 2 0 2 0     # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     42DependencyTypes_5             : 2 2 6       # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    4343
    4444
    4545#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    46 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
    47 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    48 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    49 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    50 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    51 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    52 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    53 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    54 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    55    
    56 FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
    57 Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
    58 Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
    59 Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
    60 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             
    61 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             
    62 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             
    63 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             
    64 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             
    65 
    66 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
    67 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    68 Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    69 Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    70 Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    71 Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    72 Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    73 Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    74 Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    75 
    76 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
    77 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0 
    78 Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0 
    79 Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0 
    80 Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0 
    81 Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0 
    82 Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0 
    83 Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0 
    84 Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0 
    85 
    86 FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
    87 Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0 
    88 Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0 
    89 Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0 
    90 Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0 
    91 Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0 
    92 Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0 
    93 Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0 
    94 Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0 
    95 
    96 FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
    97 Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0   
    98 Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0   
    99 Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0   
    100 Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0   
    101 Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0   
    102 Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0   
    103 Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0   
    104 Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0   
     46#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0       interCompPred
     47Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
     48Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
     49Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
     50Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
     51Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
     52Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0         
     53Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
     54Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
     55                                                                                                                                                                             
     56FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                             1         
     57Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0         
     58Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0         
     59Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0         
     60Frame4_l1:  B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0         
     61Frame5_l1:  B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0         
     62Frame6_l1:  B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0         
     63Frame7_l1:  B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0         
     64Frame8_l1:  B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
     65                                                                                                                                                                             
     66FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
     67Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
     68Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
     69Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
     70Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
     71Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
     72Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0
     73Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
     74Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
     75                                                                                                                                                                             
     76FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
     77Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
     78Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
     79Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
     80Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
     81Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
     82Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0
     83Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
     84Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
     85                                                                                                                                                                             
     86FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
     87Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
     88Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
     89Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
     90Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
     91Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
     92Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0
     93Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
     94Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
     95                                                                                                                                                                             
     96FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
     97Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
     98Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
     99Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
     100Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
     101Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
     102Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0
     103Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
     104Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
    105105
    106106### DO NOT ADD ANYTHING BELOW THIS LINE ###
  • trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg

    r1124 r1179  
    2525ProfileTierLevelIdx_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)
    2626
    27 
    28 
    2927#======== VPS / Dependencies ================
    3028DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
     
    3432DirectRefLayers_5             : 4           # Indices in VPS of direct reference layers
    3533
    36 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    37 DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    38 DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    39 DependencyTypes_4             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    40 DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     34DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     35DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     36DependencyTypes_3             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     37DependencyTypes_4             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     38DependencyTypes_5             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    4139
    4240
    4341#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    44 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
    45 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    46 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    47 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    48 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    49 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    50 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    51 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    52 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    53    
    54 FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
    55 Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
    56 Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
    57 Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
    58 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             
    59 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             
    60 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             
    61 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             
    62 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             
    63 
    64 FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                 0 
    65 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0 
    66 Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0 
    67 Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0 
    68 Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0 
    69 Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0 
    70 Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0 
    71 Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0 
    72 Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0 
    73                                                                                                                                    
    74 FrameI_l3:  I    0     3     0.442    0        0        0        1      0                        0                                 0 
    75 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0 
    76 Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0 
    77 Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0 
    78 Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0 
    79 Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0 
    80 Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0 
    81 Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0 
    82 Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0 
    83                                                                                                                                    
    84 FrameI_l4:  I    0     3     0.442    0        0        0        1      0                        0                                 0
    85 Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    86 Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    87 Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    88 Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    89 Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    90 Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    91 Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    92 Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    93                                                                                                                                    
    94 FrameI_l5:  I    0     3     0.442    0        0        0        1      0                        0                                 0 
    95 Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0 
    96 Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0 
    97 Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0 
    98 Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0 
    99 Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0 
    100 Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0 
    101 Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0 
    102 Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0 
     42#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   interCompPred
     43Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
     44Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
     45Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
     46Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         0
     47Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         0
     48Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         0         
     49Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         0
     50Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         0
     51                                                                                                                                                                         
     52FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                         1         
     53Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1         
     54Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1         
     55Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1         
     56Frame4_l1:  B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         1         
     57Frame5_l1:  B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         1         
     58Frame6_l1:  B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         1         
     59Frame7_l1:  B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         1         
     60Frame8_l1:  B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         1
     61                                                                                                                                                                         
     62FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         0
     63Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
     64Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
     65Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
     66Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         0
     67Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         0
     68Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         0
     69Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         0
     70Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         0
     71                                                                                                                                                                        
     72FrameI_l3:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         1
     73Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1
     74Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1
     75Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1
     76Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         1
     77Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         1
     78Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         1
     79Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         1
     80Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         1
     81                                                                                                                                                                        
     82FrameI_l4:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         0
     83Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
     84Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
     85Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
     86Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         0
     87Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         0
     88Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         0
     89Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         0
     90Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         0
     91                                                                                                                                                                        
     92FrameI_l5:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         1
     93Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1
     94Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1
     95Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1
     96Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         1
     97Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         1
     98Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         1
     99Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         1
     100Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         1
    103101
    104102### DO NOT ADD ANYTHING BELOW THIS LINE ###
  • trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view.cfg

    r1066 r1179  
    2222ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    2323ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    24 ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (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)
    2525ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
    2626
     
    2828DirectRefLayers_1             :             # Indices in VPS of direct reference layers
    2929DirectRefLayers_2             :             # Indices in VPS of direct reference layers
    30 DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    31 DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     30DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     31DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    3232
    3333#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    34 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    35 
    36 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
    37 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0
    38 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0
    39 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0
    40 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0
    41 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0
    42 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0
    43 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0
    44                                                                                                                                    
    45 FrameI_l1:  I    0     3     0.442    0        0        0        1      0                        0                                   0
    46 Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
    47 Frame2_l1:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0
    48 Frame3_l1:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0
    49 Frame4_l1:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         0
    50 Frame5_l1:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0
    51 Frame6_l1:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0
    52 Frame7_l1:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0
    53 Frame8_l1:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0
    54                                                                                                                                      
    55 FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                   0
    56 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
    57 Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0
    58 Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0
    59 Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         0
    60 Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0
    61 Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0
    62 Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0
    63 Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0
    64 
    65 ### DO NOT ADD ANYTHING BELOW THIS LINE ###
    66 ### DO NOT DELETE THE EMPTY LINE BELOW ###
     34#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0    interCompPred
     35Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                        0
     36Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                        0
     37Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                        0
     38Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0                                        0
     39Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0                                        0
     40Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0                                        0         
     41Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0                                        0
     42Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0                                        0
     43                                                                                                                                                                         
     44FrameI_l1:  I    0     3     0.442    0        0        0        1      0                        0                                   0                                        0         
     45Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                        0         
     46Frame2_l1:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                        0         
     47Frame3_l1:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                        0         
     48Frame4_l1:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         0                                        0         
     49Frame5_l1:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0                                        0         
     50Frame6_l1:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0                                        0         
     51Frame7_l1:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0                                        0         
     52Frame8_l1:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0                                        0
     53                                                                                                                                                                         
     54FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                   0                                        0
     55Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                        0
     56Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                        0
     57Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                        0
     58Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1         0                                        0
     59Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0                                        0
     60Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0                                        0
     61Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0                                        0
     62Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0                                        0
     63                                                                                                                                                                         
     64### DO NOT ADD ANYTHING BELOW THIS LINE ###                                                                                                                                   
     65### DO NOT DELETE THE EMPTY LINE BELOW ###                                                                                                                                   
  • trunk/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg

    r1124 r1179  
    6868DirectRefLayers_5             : 1 4          # Indices in VPS of direct reference layers
    6969
    70 DependencyTypes_1             : 2            # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    71 DependencyTypes_2             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    72 DependencyTypes_3             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    73 DependencyTypes_4             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    74 DependencyTypes_5             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     70DependencyTypes_1             : 2            # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     71DependencyTypes_2             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     72DependencyTypes_3             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     73DependencyTypes_4             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     74DependencyTypes_5             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    7575
    7676#========== Camera parameters ==========
     
    273273InterSdcFlag                        : 1                             # use of inter sdc
    274274MpiFlag                             : 1
    275 IntraSingleFlag                     : 1                 # use of single depth mode
     275DepthIntraSkip                      : 1     
     276
    276277#========== view synthesis optimization (VSO) ==========
    277278VSOConfig                 : [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

    r1124 r1179  
    5656DirectRefLayers_3             : 1 2         # Indices in VPS of direct reference layers
    5757
    58 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    59 DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    60 DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     58DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     59DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     60DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    6161
    6262#========== Camera parameters ==========
     
    8181
    8282#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    83 #         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             
    102 
    103 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1 
    104 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1 
    105 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 
    106 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 
    107 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 
    108 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 
    109 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 
    110 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 
    111 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 
    112 
    113 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1 
    114 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1 
    115 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 
    116 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 
    117 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 
    118 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 
    119 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 
    120 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 
    121 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 
     83#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs         #ActiveRefLayerPics     refLayerPicPosIl_L0     interCompPred
     84Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 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                                         0
     86Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         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                                         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                                         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                                         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                                         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                                         0
     92                                                                                                                                                                         
     93FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                         1       
     94Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1       
     95Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1       
     96Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1       
     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                                         1       
     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                                         1       
     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                                         1       
     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                                         1       
     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                                         1
     102                                                                                                                                                                         
     103FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1      1
     104Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -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      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      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      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      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      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      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      1
     112                                                                                                                                                                         
     113FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1      1
     114Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -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      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      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      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      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      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      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      1
    122122
    123123#=========== Motion Search =============
     
    228228InterSdcFlag                        : 1                             # use of inter sdc
    229229MpiFlag                             : 1
    230 IntraSingleFlag                     : 1                 # use of single depth mode
     230DepthIntraSkip                      : 1     
     231
    231232#========== view synthesis optimization (VSO) ==========
    232233
  • trunk/cfg/3D-HEVC/baseCfg_2view.cfg

    r1124 r1179  
    4646#======== VPS / Dependencies ================
    4747DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers
    48 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     48DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    4949
    5050#========== Camera parameters ==========
     
    7070
    7171#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    72 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
    73 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    74 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    75 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    76 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    77 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    78 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    79 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    80 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    81    
    82 FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
    83 Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
    84 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
    85 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
    86 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
    87 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
    88 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
    89 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
    90 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
     72#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0         interCompPred     
     73Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 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                                            0
     75Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            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                                            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                                            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                                            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                                            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                                            0
     81                                                                                                                                                                           
     82FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1          0       
     83Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1          0       
     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          0       
     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          0       
     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          0       
     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          0       
     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          0       
     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          0       
     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          0
    9191
    9292#=========== Motion Search =============
  • trunk/cfg/3D-HEVC/baseCfg_3view+depth.cfg

    r1124 r1179  
    6868DirectRefLayers_5             : 1 4         # Indices in VPS of direct reference layers
    6969
    70 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    71 DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    72 DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    73 DependencyTypes_4             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    74 DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     70DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     71DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     72DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     73DependencyTypes_4             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     74DependencyTypes_5             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    7575
    7676#========== Camera parameters ==========
     
    9595
    9696#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    97 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
    98 Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
    99 Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
    100 Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
    101 Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
    102 Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
    103 Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
    104 Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
    105 Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
    106                                                                                                      
    107 FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
    108 Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
    109 Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
    110 Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
    111 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             
    112 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             
    113 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             
    114 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             
    115 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             
    116 
    117 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    118 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    119 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   
    120 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   
    121 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   
    122 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   
    123 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   
    124 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   
    125 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   
    126 
    127 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    128 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    129 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   
    130 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   
    131 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   
    132 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   
    133 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   
    134 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   
    135 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   
    136 
    137 FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    138 Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    139 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   
    140 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   
    141 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   
    142 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   
    143 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   
    144 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   
    145 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   
    146 
    147 FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    148 Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    149 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   
    150 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   
    151 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   
    152 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   
    153 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   
    154 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   
    155 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   
     97#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0      interCompPred
     98Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 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                                            0
     100Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            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                                            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                                            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                                            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                                            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                                            0
     106                                                                                                                                                                           
     107FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                            1       
     108Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            1       
     109Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            1       
     110Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            1       
     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                                            1       
     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                                            1       
     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                                            1       
     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                                            1       
     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                                            1
     116                                                                                                                                                                           
     117FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     118Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
     119Frame2_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
     120Frame3_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
     121Frame4_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
     122Frame5_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
     123Frame6_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
     124Frame7_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
     125Frame8_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
     126                                                                                                                                                                           
     127FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     128Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
     129Frame2_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
     130Frame3_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
     131Frame4_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
     132Frame5_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
     133Frame6_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
     134Frame7_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
     135Frame8_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
     136                                                                                                                                                                           
     137FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     138Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
     139Frame2_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
     140Frame3_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
     141Frame4_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
     142Frame5_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
     143Frame6_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
     144Frame7_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
     145Frame8_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
     146                                                                                                                                                                           
     147FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     148Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
     149Frame2_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
     150Frame3_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
     151Frame4_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
     152Frame5_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
     153Frame6_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
     154Frame7_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
     155Frame8_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
    156156
    157157#=========== Motion Search =============
     
    261261InterSdcFlag                        : 1                             # use of inter sdc
    262262MpiFlag                             : 1
    263 IntraSingleFlag                     : 1                 # use of single depth mode
     263DepthIntraSkip                      : 1     
     264
    264265#========== view synthesis optimization (VSO) ==========
    265266VSOConfig                 : [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_3view.cfg

    r1124 r1179  
    5656DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers
    5757
    58 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    59 DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     58DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     59DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    6060
    6161#========== Camera parameters ==========
     
    8080
    8181#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    82 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0
    83 
    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:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
    94 Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
    95 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
    96 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
    97 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
    98 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
    99 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
    100 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
    101 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
    102 
    103 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
    104 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
    105 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
    106 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
    107 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
    108 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
    109 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
    110 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
    111 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
     82#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0      interCompPred
     83                                                                                                                                                                               
     84Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 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                                            0
     86Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            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                                            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                                            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                                            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                                            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                                            0
     92                                                                                                                                                                                       
     93FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1          0       
     94Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1          0       
     95Frame2_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          0       
     96Frame3_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          0       
     97Frame4_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          0       
     98Frame5_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          0       
     99Frame6_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          0       
     100Frame7_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          0
     101Frame8_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          0
     102                                                                                                                                                                               
     103FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1          0
     104Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1          0
     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          0
     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          0
     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          0
     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          0
     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          0
     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          0
     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          0
    112112
    113113#=========== Motion Search =============
  • trunk/cfg/3D-HEVC/deltaCfg_3view.cfg

    r1124 r1179  
    3838
    3939
    40 
    41 DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     40DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     41DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    4242DependencyTypes_3             :
    4343DependencyTypes_4             :
     
    4545
    4646   
    47 FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
    48 Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
    49 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
    50 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
    51 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
    52 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
    53 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
    54 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
    55 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
     47FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1        1
     48Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1        1
     49Frame2_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        1
     50Frame3_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        1
     51Frame4_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        1
     52Frame5_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        1
     53Frame6_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        1
     54Frame7_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        1
     55Frame8_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        1
    5656
    5757FrameI_l3: 
  • trunk/cfg/3D-HEVC/fullCfg.cfg

    r1124 r1179  
    131131DirectRefLayers_5             : 1 4         # Indices in VPS of direct reference layers
    132132
    133 DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    134 DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    135 DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    136 DependencyTypes_4             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
    137 DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
     133DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     134DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     135DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     136DependencyTypes_4             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
     137DependencyTypes_5             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
    138138
    139139#========== Camera parameters ==========
     
    159159
    160160#                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
    161 #         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
    162 Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
    163 Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
    164 Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
    165 Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
    166 Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
    167 Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
    168 Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
    169 Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
    170    
    171 FrameI_l1:  I    0     0        0.442    0            0              0           0                0                            0                                          0             
    172 Frame1_l1:  B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0             
    173 Frame2_l1:  B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0             
    174 Frame3_l1:  B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0             
    175 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             
    176 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             
    177 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             
    178 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             
    179 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             
    180 
    181 FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    182 Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    183 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   
    184 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   
    185 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   
    186 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   
    187 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   
    188 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   
    189 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   
    190 
    191 FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    192 Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    193 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   
    194 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   
    195 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   
    196 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   
    197 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   
    198 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   
    199 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   
    200 
    201 FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    202 Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    203 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   
    204 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   
    205 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   
    206 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   
    207 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   
    208 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   
    209 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   
    210 
    211 FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1   
    212 Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1   
    213 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   
    214 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   
    215 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   
    216 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   
    217 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   
    218 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   
    219 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   
     161#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0      interCompPred
     162Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            0
     163Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            0
     164Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            0
     165Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                            0
     166Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                            0
     167Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                            0                                               
     168Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                            0
     169Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                            0
     170                                                                             
     171FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                            1                    
     172Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            1             
     173Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            1             
     174Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            1             
     175Frame4_l1:  B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                            1             
     176Frame5_l1:  B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                            1             
     177Frame6_l1:  B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                            1             
     178Frame7_l1:  B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                            1             
     179Frame8_l1:  B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                            1
     180
     181FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     182Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -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         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         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         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         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         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         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         1
     190
     191FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     192Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -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         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         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         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         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         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         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         1
     200
     201FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     202Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -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         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         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         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         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         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         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         1
     210
     211FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
     212Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -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         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         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         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         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         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         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         1
    220220
    221221#=========== Motion Search =============
     
    337337InterSdcFlag                        : 1                             # use of inter sdc
    338338MpiFlag                             : 1
    339 IntraSingleFlag                     : 1                 # use of single depth mode
     339DepthIntraSkip                      : 1     
     340
    340341#========== view synthesis optimization (VSO) ==========
    341342VSOConfig                 : [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/baseCfg_2view.cfg

    r1084 r1179  
    9494FEN                           : 1           # Fast encoder decision
    9595FDM                           : 1           # Fast Decision for Merge RD cost
     96DispSearchRangeRestriction    : 0           # Limit Search range for vertical component of disparity vector
     97VerticalDispSearchRange       : 56          # Vertical Search range in pixel
    9698
    9799#======== Quantization =============
  • trunk/cfg/MV-HEVC/baseCfg_3view.cfg

    r1084 r1179  
    120120FEN                           : 1           # Fast encoder decision
    121121FDM                           : 1           # Fast Decision for Merge RD cost
     122DispSearchRangeRestriction    : 0           # Limit Search range for vertical component of disparity vector
     123VerticalDispSearchRange       : 56          # Vertical Search range in pixel
    122124
    123125#======== Quantization =============
  • trunk/cfg/MV-HEVC/fullCfg.cfg

    r1084 r1179  
    226226FEN                           : 1           # Fast encoder decision
    227227FDM                           : 1           # Fast Decision for Merge RD cost
     228DispSearchRangeRestriction    : 0           # Limit Search range for vertical component of disparity vector
     229VerticalDispSearchRange       : 56          # Vertical Search range in pixel
    228230
    229231#======== Quantization =============
  • trunk/source/App/TAppDecoder/TAppDecCfg.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppDecoder/TAppDecCfg.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    248248            {
    249249              m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
     250#if H_3D_ANNEX_SELECTION_FIX
     251              m_tDecTop[decIdx]->setProfileIdc( );
     252#endif
    250253            }
    251254
     
    10501053    m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags );
    10511054    m_tDecTop[ decIdx ]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );   
     1055#if H_3D_ANNEX_SELECTION_FIX
     1056    m_tDecTop[ decIdx ]->setProfileIdc           ( );   
     1057#endif
    10521058
    10531059#if H_3D
  • trunk/source/App/TAppDecoder/TAppDecTop.h

    r976 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppDecoder/decmain.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    225225  }
    226226#endif
     227#if HHI_INTER_COMP_PRED_K0052
     228#if H_3D
     229  in>>entry.m_interCompPredFlag;
     230#endif
     231#endif
    227232  return in;
    228233}
     
    477482  ("FastSearch",              m_iFastSearch,                1, "0:Full search  1:Diamond  2:PMVFAST")
    478483  ("SearchRange,-sr",         m_iSearchRange,              96, "Motion search range")
     484#if SONY_MV_V_CONST_C0078
     485  ("DispSearchRangeRestriction",  m_bUseDisparitySearchRangeRestriction, false, "restrict disparity search range")
     486  ("VerticalDispSearchRange",     m_iVerticalDisparitySearchRange, 56, "vertical disparity search range")
     487#endif
    479488  ("BipredSearchRange",       m_bipredSearchRange,          4, "Motion search range for bipred refinement")
    480489  ("HadamardME",              m_bUseHADME,               true, "Hadamard ME for fractional-pel")
     
    785794  ("QtPredFlag"            , m_qtPredFlag            , true                                           , "Quad tree prediction from texture to depth")
    786795  ("InterSdcFlag"          , m_interSdcFlag          , true                                           , "Inter depth DCs"                           )
     796#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     797  ("DepthIntraSkip"        , m_depthIntraSkipFlag    , true                                           , "Depth intra skip mode"                     )
     798#else
    787799  ("IntraSingleFlag"       , m_intraSingleFlag       , true                                           , "Intra single mode"                         )
     800#endif
    788801#endif //H_3D
    789802  ;
     
    15461559    {
    15471560      xConfirmPara( m_directRefLayers[i][j] < 0 || m_directRefLayers[i][j] >= i , "Reference layer id shall be greater than or equal to 0 and less than dependent layer id");
    1548       xConfirmPara( m_dependencyTypes[i][j] < 0 || m_dependencyTypes[i][j] >  2 , "Dependency type shall be greater than or equal to 0 and less than 3");
     1561#if H_3D_DIRECT_DEP_TYPE
     1562      xConfirmPara( m_dependencyTypes[i][j] < 0 || m_dependencyTypes[i][j] >  6 , "Dependency type shall be greater than or equal to 0 and less than 7");
     1563#else
     1564      xConfirmPara( m_dependencyTypes[i][j] < 0 || m_dependencyTypes[i][j] >  2 , "Dependency type shall be greater than or equal to 0 and less than 3");
     1565#endif
    15491566    }       
    15501567  } 
     
    15821599  xConfirmPara( m_iSearchRange < 0 ,                                                        "Search Range must be more than 0" );
    15831600  xConfirmPara( m_bipredSearchRange < 0 ,                                                   "Search Range must be more than 0" );
     1601#if SONY_MV_V_CONST_C0078
     1602  xConfirmPara( m_iVerticalDisparitySearchRange <= 0 ,                                      "Vertical Disparity Search Range must be more than 0" );
     1603#endif
    15841604  xConfirmPara( m_iMaxDeltaQP > 7,                                                          "Absolute Delta QP exceeds supported range (0 to 7)" );
    15851605  xConfirmPara( m_iMaxCuDQPDepth > m_uiMaxCUDepth - 1,                                          "Absolute depth for a minimum CuDQP exceeds maximum coding unit depth" );
     
    16971717  xConfirmPara( m_pchBaseViewCameraNumbers  == 0                ,   "BaseViewCameraNumbers must be given" );
    16981718#if BUG_FIX_TK65
     1719#if HHI_CAM_PARA_K0052
     1720  xConfirmPara( m_iNumberOfViews != m_cCameraData.getBaseViewNumbers().size() ,   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
     1721#else
    16991722  xConfirmPara( ( ((UInt) m_numberOfLayers >> 1 ) != m_cCameraData.getBaseViewNumbers().size() ) && ( m_numberOfLayers != m_cCameraData.getBaseViewNumbers().size() ),   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
     1723#endif
    17001724#else
    17011725  xConfirmPara( ((UInt) m_numberOfLayers >> 1 ) != m_cCameraData.getBaseViewNumbers().size(),   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
     
    24532477  printf("Min PCM size                 : %d\n", 1 << m_uiPCMLog2MinSize);
    24542478  printf("Motion search range          : %d\n", m_iSearchRange );
     2479#if SONY_MV_V_CONST_C0078
     2480  printf("Disp search range restriction: %d\n", m_bUseDisparitySearchRangeRestriction );
     2481  printf("Vertical disp search range   : %d\n", m_iVerticalDisparitySearchRange );
     2482#endif
    24552483#if H_MV
    24562484  xPrintParaVector( "Intra period", m_iIntraPeriod );
     
    26042632  printf( "QtPred:%d "                 , m_qtPredFlag             ? 1 : 0 );
    26052633  printf( "InterSdc:%d "               , m_interSdcFlag           ? 1 : 0 );
     2634#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2635  printf( "DepthIntraSkip:%d "         , m_depthIntraSkipFlag     ? 1 : 0 );
     2636#else
    26062637  printf( "IntraSingle:%d "            , m_intraSingleFlag        ? 1 : 0 );
     2638#endif
    26072639#endif
    26082640
  • trunk/source/App/TAppEncoder/TAppEncCfg.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    289289  Int       m_iSearchRange;                                   ///< ME search range
    290290  Int       m_bipredSearchRange;                              ///< ME search range for bipred refinement
     291#if SONY_MV_V_CONST_C0078
     292  Bool      m_bUseDisparitySearchRangeRestriction;            ///< restrict vertical search range for inter-view prediction
     293  Int       m_iVerticalDisparitySearchRange;                  ///< ME vertical search range for inter-view prediction
     294#endif
    291295  Bool      m_bUseFastEnc;                                    ///< flag for using fast encoder setting
    292296  Bool      m_bUseEarlyCU;                                    ///< flag for using Early CU setting
     
    484488  Bool                   m_qtPredFlag;
    485489  Bool                   m_interSdcFlag;
     490#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     491  Bool                   m_depthIntraSkipFlag;
     492#else
    486493  Bool                   m_intraSingleFlag;
    487 
     494#endif
    488495#endif
    489496  // internal member functions
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    140140  xSetVPSVUI               ( vps );
    141141#if H_3D
     142#if HHI_CAM_PARA_K0052
     143  xSetCamPara              ( vps );
     144#endif
     145#endif
     146#if H_3D
    142147  m_ivPicLists.setVPS      ( &vps );
    143148  xDeriveDltArray          ( vps, dlt );
     
    196201      m_sps3dExtension.setQtPredFlag            ( d, m_qtPredFlag            );
    197202      m_sps3dExtension.setInterSdcFlag          ( d, m_interSdcFlag          );
     203#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     204      m_sps3dExtension.setDepthIntraSkipFlag    ( d, m_depthIntraSkipFlag    ); 
     205#else
    198206      m_sps3dExtension.setIntraSingleFlag       ( d, m_intraSingleFlag       ); 
    199     }
    200   }
    201 #endif
    202 
     207#endif
     208    }
     209  }
     210#endif
    203211  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
    204212  {
     
    221229    //====== Camera Parameters =========
    222230    m_cTEncTop.setCameraParameters             ( &m_cCameraData );     
     231#if !HHI_CAM_PARA_K0052
    223232    m_cTEncTop.setCamParPrecision              ( m_cCameraData.getCamParsCodedPrecision  () );
    224233    m_cTEncTop.setCamParInSliceHeader          ( m_cCameraData.getVaryingCameraParameters() );
     234
    225235    m_cTEncTop.setCodedScale                   ( m_cCameraData.getCodedScale             () );
    226236    m_cTEncTop.setCodedOffset                  ( m_cCameraData.getCodedOffset            () );
     237#endif
    227238#if H_3D_VSO
    228239    //====== VSO =========
     
    348359  m_cTEncTop.setBipredSearchRange            ( m_bipredSearchRange );
    349360
     361#if SONY_MV_V_CONST_C0078
     362  m_cTEncTop.setUseDisparitySearchRangeRestriction ( m_bUseDisparitySearchRangeRestriction );
     363  m_cTEncTop.setVerticalDisparitySearchRange ( m_iVerticalDisparitySearchRange );
     364#endif
    350365  //====== Quality control ========
    351366  m_cTEncTop.setMaxDeltaQP                   ( m_iMaxDeltaQP  );
     
    636651  }
    637652#endif
     653#if H_3D_ANNEX_SELECTION_FIX
     654#if H_3D
     655 /// SET Profiles
     656  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
     657  {
     658    Int profileIdc = -1;
     659    for (Int olsIdx = 0; olsIdx < vps.getNumOutputLayerSets(); olsIdx++ )
     660    {   
     661      Int lsIdx = vps.olsIdxToLsIdx( olsIdx );
     662      for(Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++ )
     663      {
     664        if( vps.getLayerIdInNuh( layerIdInVps) == vps.getLayerSetLayerIdList(lsIdx, i) )
     665        {
     666          Int ptlIdx = vps.getProfileTierLevelIdx( olsIdx, i );
     667          if ( ptlIdx != -1 )
     668          {
     669            Int curProfileIdc = vps.getPTL(ptlIdx)->getGeneralPTL()->getProfileIdc();
     670            if (profileIdc == -1)   
     671            {
     672              profileIdc = curProfileIdc;
     673            }
     674            else
     675            {   
     676              if ( profileIdc != curProfileIdc )
     677              {             
     678                fprintf(stderr, "Error: ProfileIdc for layer with index %d in VPS not equal in all OLSs. \n", layerIdInVps );
     679                exit(EXIT_FAILURE);
     680              }
     681            }
     682          }
     683        }
     684      }
     685    }
     686    if (profileIdc == -1 )
     687    {
     688      fprintf(stderr, "Error: No profile given for layer with index %d in VPS not equal in all OLS. \n", layerIdInVps );
     689      exit(EXIT_FAILURE);
     690    }
     691    m_acTEncTopList[ layerIdInVps ]->setProfileIdc( profileIdc );
     692  }
     693#endif
     694#endif
    638695#if H_3D_VSO
    639696  if ( m_bUseVSO )
     
    742799{
    743800#if H_3D
     801#if !HHI_CAM_PARA_K0052
    744802  for ( Int viewIndex = 0; viewIndex < m_vps->getNumViews(); viewIndex++ )
    745803  {
     
    747805      m_cCameraData.getVaryingCameraParameters(), m_cCameraData.getCodedScale(), m_cCameraData.getCodedOffset() );
    748806  }
     807#endif
    749808#endif
    750809
     
    13291388
    13301389  assert( m_iNumberOfViews == vps.getNumViews() );
     1390
     1391
     1392#if HHI_INTER_COMP_PRED_K0052
     1393#if H_3D
     1394  vps.initViewCompLayer( );
     1395#endif
     1396#endif
    13311397}
    13321398
     
    13461412  Bool defaultDirectDependencyFlag = false;
    13471413
     1414#if H_3D_DIRECT_DEP_TYPE
     1415  Int directDepTypeLenMinus2 = 0; 
     1416#endif
    13481417  for( Int depLayer = 1; depLayer < m_numberOfLayers; depLayer++ )
    13491418  {
     
    13551424      vps.setDirectDependencyFlag( depLayer, refLayer, true);
    13561425      Int curDirectDependencyType = m_dependencyTypes[depLayer][i];
    1357 
     1426#if H_3D_DIRECT_DEP_TYPE       
     1427      directDepTypeLenMinus2 = std::max( directDepTypeLenMinus2, gCeilLog2( curDirectDependencyType + 1  ) - 2 ); 
     1428#endif
    13581429      if ( defaultDirectDependencyType != -1 )   
    13591430      {
     
    13721443  vps.setDefaultDirectDependencyFlag( defaultDirectDependencyFlag );       
    13731444  vps.setDefaultDirectDependencyType( defaultDirectDependencyFlag ? defaultDirectDependencyType : -1 );       
     1445
     1446#if H_3D_DIRECT_DEP_TYPE       
     1447  assert( directDepTypeLenMinus2 <= 1 );
     1448  vps.setDirectDepTypeLenMinus2( directDepTypeLenMinus2 );
     1449#endif
     1450
    13741451
    13751452  vps.setRefLayers();
     
    14181495#endif
    14191496              {
     1497#if !HHI_INTER_COMP_PRED_K0052               
    14201498                Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 );
     1499#endif
    14211500                Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1501#if HHI_INTER_COMP_PRED_K0052
     1502                // refAlwaysIntra actually not needed, since TemporalIds need to be aligned within an AU.
     1503                // Thus, reference pictures of IRAP pictures have TemporalId equal to 0.
     1504                maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId );
     1505#else
    14221506                maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId );
     1507#endif
    14231508              }
    14241509            }
     
    14281513        else
    14291514        {       
     1515#if HHI_INTER_COMP_PRED_K0052
     1516          if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) )
     1517          {         
     1518            Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false );
     1519            if ( nuhLayerIdTex == refLayerIdInNuh )
     1520            {
     1521              for( Int i = 0; i < ( getGOPSize() + 1); i++ )
     1522              {       
     1523                GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1524                GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1525                if ( geCur.m_interCompPredFlag )
     1526                {
     1527                  Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1528                  maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId );
     1529                }
     1530              }
     1531            }
     1532          }
     1533          if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0  && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_depthBasedBlkPartFlag ) )
     1534          {             
     1535            for( Int i = 0; i < ( getGOPSize() + 1); i++ )
     1536            {       
     1537              GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1538              GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1539
     1540              if ( geCur.m_interCompPredFlag )
     1541              {
     1542                for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++ )
     1543                {
     1544                  Int nuhLayerIdDep = vps.getLayerIdInNuh( vps.getViewIndex( vps.getIdRefListLayer( curLayerIdInNuh, geCur.m_interLayerPredLayerIdc[j] ) ), true );
     1545                  if ( nuhLayerIdDep == refLayerIdInNuh )
     1546                  {
     1547                    Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1548                    maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId );
     1549                  }
     1550                }
     1551              }
     1552            }
     1553          }       
     1554#else
    14301555          if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) )
    14311556          {         
     
    14581583            }
    14591584          }       
     1585#endif
    14601586        }
    1461       }
     1587      } // if ( vps.getDirectDependencyFlag( curLayerIdInVps, refLayerIdInVps ) )
    14621588      vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 );
    14631589#endif
    1464     }   
    1465   }
     1590    }  // Loop curLayerIdInVps
     1591  } // Loop refLayerIdInVps
    14661592
    14671593  // Max temporal id for inter layer reference pictures presence flag
     
    16731799Void TAppEncTop::xSetRepFormat( TComVPS& vps )
    16741800{
     1801
     1802#if H_3D_DISABLE_CHROMA
     1803  Bool anyDepth = false;
     1804  for ( Int i = 0; i < m_numberOfLayers; i++ )
     1805  {
     1806    vps.setVpsRepFormatIdx( i, m_depthFlag[ i ] ? 1 : 0 );
     1807    anyDepth = anyDepth || m_depthFlag[ i ];
     1808  } 
     1809
     1810  vps.setRepFormatIdxPresentFlag( anyDepth );
     1811  vps.setVpsNumRepFormatsMinus1 ( anyDepth ? 1 : 0  );
     1812
     1813  for ( Int j = 0; j <= vps.getVpsNumRepFormatsMinus1(); j++ )
     1814  {
     1815    TComRepFormat* repFormat = new TComRepFormat;
     1816
     1817    repFormat->setBitDepthVpsChromaMinus8   ( g_bitDepthC - 8 );
     1818    repFormat->setBitDepthVpsLumaMinus8     ( g_bitDepthY - 8 );
     1819    repFormat->setChromaFormatVpsIdc        ( j == 1 ? CHROMA_400 : CHROMA_420 );
     1820    repFormat->setPicHeightVpsInLumaSamples ( m_iSourceHeight );
     1821    repFormat->setPicWidthVpsInLumaSamples  ( m_iSourceWidth  );   
     1822    repFormat->setChromaAndBitDepthVpsPresentFlag( true );   
     1823    // ToDo not supported yet.
     1824    //repFormat->setSeparateColourPlaneVpsFlag( );
     1825#if H_MV_FIX_CONF_WINDOW
     1826    Bool conformanceWindowVpsFlag = ( m_confWinBottom != 0 ) || ( m_confWinRight != 0 ) || ( m_confWinTop != 0 ) || ( m_confWinBottom != 0 );
     1827    repFormat->setConformanceWindowVpsFlag( conformanceWindowVpsFlag );
     1828    if ( conformanceWindowVpsFlag )
     1829    {   
     1830      repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
     1831      repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     1832      repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
     1833      repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
     1834    }
     1835#else
     1836    repFormat->setConformanceWindowVpsFlag( true );
     1837    repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
     1838    repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     1839    repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
     1840    repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
     1841#endif
     1842    assert( vps.getRepFormat( j ) == NULL );
     1843    vps.setRepFormat( j , repFormat );
     1844  };
     1845
     1846
     1847#else
    16751848  vps.setRepFormatIdxPresentFlag( false );
    16761849  vps.setVpsNumRepFormatsMinus1 ( 0    );
     
    17011874  assert( vps.getRepFormat( 0 ) == NULL );
    17021875  vps.setRepFormat( 0 , repFormat );
     1876#endif
    17031877}
    17041878
     
    20752249  }
    20762250}
     2251
     2252#if HHI_CAM_PARA_K0052
     2253#if H_3D
     2254Void TAppEncTop::xSetCamPara                ( TComVPS& vps )
     2255{
     2256  vps.setCpPrecision( m_cCameraData.getCamParsCodedPrecision());
     2257
     2258  for ( Int n = 1; n < vps.getNumViews(); n++ )
     2259  { 
     2260    Int i      = vps.getViewOIdxList( n );
     2261    Int iInVps = vps.getVoiInVps    ( i );
     2262    vps.setNumCp( iInVps,  n);   
     2263
     2264    if ( vps.getNumCp( iInVps ) > 0 )
     2265    {
     2266      vps.setCpInSliceSegmentHeaderFlag( iInVps, m_cCameraData.getVaryingCameraParameters() );
     2267
     2268      for( Int m = 0; m < vps.getNumCp( iInVps ); m++ )
     2269      {
     2270        vps.setCpRefVoi( iInVps, m, vps.getViewOIdxList( m ) );
     2271        if( !vps.getCpInSliceSegmentHeaderFlag( iInVps ) )
     2272        {
     2273          Int j = vps.getCpRefVoi( iInVps, m );
     2274          Int jInVps = vps.getVoiInVps( j );         
     2275
     2276          vps.setVpsCpScale   ( iInVps, jInVps, m_cCameraData.getCodedScale() [ jInVps ][ iInVps ] ) ;
     2277          vps.setVpsCpInvScale( iInVps, jInVps, m_cCameraData.getCodedScale() [ iInVps ][ jInVps ] ) ;
     2278          vps.setVpsCpOff     ( iInVps, jInVps, m_cCameraData.getCodedOffset()[ jInVps ][ iInVps ] ) ;
     2279          vps.setVpsCpInvOff  ( iInVps, jInVps, m_cCameraData.getCodedOffset()[ iInVps ][ jInVps ] ) ;
     2280        }
     2281      }
     2282    }
     2283  }
     2284  vps.deriveCpPresentFlag();
     2285}
     2286#endif
     2287#endif
     2288
     2289
    20772290Bool TAppEncTop::xLayerIdInTargetEncLayerIdList(Int nuhLayerId)
    20782291{
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    142142  Void xSetDpbSize                ( TComVPS& vps );
    143143  Void xSetVPSVUI                 ( TComVPS& vps );
     144#if HHI_CAM_PARA_K0052
     145#if H_3D
     146  Void xSetCamPara                ( TComVPS& vps );
     147#endif
     148#endif
    144149  GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc );
    145150  Int  xGetMax( std::vector<Int>& vec);
  • trunk/source/App/TAppEncoder/encmain.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/TAppExtrCfg.cpp

    r56 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/TAppExtrCfg.h

    r42 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/TAppExtrTop.cpp

    r608 r1179  
    44// * granted under this license. 
    55// *
    6 // * Copyright (c) 2010-2011, ISO/IEC
     6// * Copyright (c) 2010-2015, ITU/ISO/IEC
    77// * All rights reserved.
    88// *
  • trunk/source/App/TAppExtractor/TAppExtrTop.h

    r608 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/extrmain.cpp

    r608 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/RendererMain.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererCfg.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererCfg.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererTop.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererTop.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TAppCommon/TAppComCamPara.cpp

    r1133 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    399399
    400400
     401#if !HHI_CAM_PARA_K0052
    401402Void
    402403TAppComCamPara::xGetViewOrderIndices( const std::vector<Int>& raiId2SortedId, std::vector<Int>& raiVOIdx )
     
    411412  }
    412413}
     414#endif
    413415
    414416
     
    447449    else
    448450    {
    449     Int     iBaseView  = m_aiBaseViews[ iBaseViewId ];
    450     Double  dFL1, dFLX;
    451     Double  dCP1, dCPX;
    452     Double  dCS1, dCSX;
    453     Double  dZN1, dZNX;
    454     Double  dZF1, dZFX;
    455     Bool    bInterpolated;
    456     xGetGeometryData( iBaseView, m_uiFirstFrameId, dFL1, dCP1, dCS1, bInterpolated );  AOT( bInterpolated );
    457     xGetZNearZFar   ( iBaseView, m_uiFirstFrameId, dZN1, dZF1 );
    458 
    459     for( UInt uiFrameId = m_uiFirstFrameId + 1; !bChangeDetected && uiFrameId <= m_uiLastFrameId; uiFrameId++ )
    460     {
    461       xGetGeometryData( iBaseView, uiFrameId, dFLX, dCPX, dCSX, bInterpolated );  AOT( bInterpolated );
    462       xGetZNearZFar   ( iBaseView, uiFrameId, dZNX, dZFX );
    463 
    464       if( dFL1 != dFLX || dCP1 != dCPX || dCS1 != dCSX || dZN1 != dZNX || dZF1 != dZFX )
    465       {
    466         bChangeDetected = true;
    467       }
    468     }
    469   }
     451      Int     iBaseView  = m_aiBaseViews[ iBaseViewId ];
     452      Double  dFL1, dFLX;
     453      Double  dCP1, dCPX;
     454      Double  dCS1, dCSX;
     455      Double  dZN1, dZNX;
     456      Double  dZF1, dZFX;
     457      Bool    bInterpolated;
     458      xGetGeometryData( iBaseView, m_uiFirstFrameId, dFL1, dCP1, dCS1, bInterpolated );  AOT( bInterpolated );
     459      xGetZNearZFar   ( iBaseView, m_uiFirstFrameId, dZN1, dZF1 );
     460
     461      for( UInt uiFrameId = m_uiFirstFrameId + 1; !bChangeDetected && uiFrameId <= m_uiLastFrameId; uiFrameId++ )
     462      {
     463        xGetGeometryData( iBaseView, uiFrameId, dFLX, dCPX, dCSX, bInterpolated );  AOT( bInterpolated );
     464        xGetZNearZFar   ( iBaseView, uiFrameId, dZNX, dZFX );
     465
     466        if( dFL1 != dFLX || dCP1 != dCPX || dCS1 != dCSX || dZN1 != dZNX || dZF1 != dZFX )
     467        {
     468          bChangeDetected = true;
     469        }
     470      }
     471    }
    470472  }
    471473  return bChangeDetected;
     
    721723  else
    722724  {
    723   Double  dScale, dOffset;
    724   Bool    bInterpolated = xGetShiftParameterReal( uiSourceView, uiTargetView, uiFrame, false, bByIdx, dScale, dOffset );
    725   AOT(    bInterpolated ); // must be base view
    726 
    727   Double  dMultOffset   = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 ) );
    728   Double  dMultScale    = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 + m_uiInputBitDepth ) );
    729   riOffset              = (Int)floor( dMultOffset * dOffset + .5 );
    730   riScale               = (Int)floor( dMultScale  * dScale  + .5 );
    731 }
    732 
     725    Double  dScale, dOffset;
     726    Bool    bInterpolated = xGetShiftParameterReal( uiSourceView, uiTargetView, uiFrame, false, bByIdx, dScale, dOffset );
     727    AOT(    bInterpolated ); // must be base view
     728
     729    Double  dMultOffset   = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 ) );
     730    Double  dMultScale    = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 + m_uiInputBitDepth ) );
     731    riOffset              = (Int)floor( dMultOffset * dOffset + .5 );
     732    riScale               = (Int)floor( dMultScale  * dScale  + .5 );
     733  }
    733734}
    734735
     
    958959
    959960
     961
     962#if !HHI_CAM_PARA_K0052
    960963Void
    961964TAppComCamPara::xSetPdmConversionParams()
     
    995998  }
    996999}
     1000#endif
    9971001
    9981002
     
    12801284
    12811285  //===== set derived parameters =====
     1286#if !HHI_CAM_PARA_K0052
    12821287  xGetViewOrderIndices( m_aiBaseId2SortedId, m_aiViewOrderIndex );
     1288#endif
    12831289  m_bCamParsVaryOverTime = xGetCamParsChangeFlag();
    12841290
  • trunk/source/Lib/TAppCommon/TAppComCamPara.h

    r655 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    8585
    8686  // SPS and slice header related variables
     87#if !HHI_CAM_PARA_K0052
    8788  std::vector<Int>    m_aiViewOrderIndex;                     ///< list of view order indices
     89#endif
    8890  UInt                m_uiCamParsCodedPrecision;              ///< precision for coding of camera parameters (x: max error in disparity is 2^(-x) luma samples)
    8991  Bool                m_bCamParsVaryOverTime;                 ///< flag specifying whether camera parameters vary for given frame numbers
     
    145147  // getting conversion parameters for disparity to virtual depth conversion
    146148  Void  xGetCameraShifts          ( UInt uiSourceView, UInt uiTargetView, UInt uiFrame, Double& rdCamPosShift, Double& rdPicPosShift );
     149#if !HHI_CAM_PARA_K0052
    147150  Void  xSetPdmConversionParams   ();
     151#endif
    148152
    149153public:
     
    216220  Bool                getVaryingCameraParameters()  { return m_bCamParsVaryOverTime;    }
    217221  UInt                getCamParsCodedPrecision  ()  { return m_uiCamParsCodedPrecision; }
     222#if !HHI_CAM_PARA_K0052
    218223  std::vector<Int>&   getViewOrderIndex         ()  { return m_aiViewOrderIndex;        }
     224#endif
    219225  Int**               getCodedScale             ()  { return m_aaiCodedScale;           }
    220226  Int**               getCodedOffset            ()  { return m_aaiCodedOffset;          }
  • trunk/source/Lib/TAppCommon/program_options_lite.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TAppCommon/program_options_lite.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/AccessUnit.h

    r872 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/CommonDef.h

    r1134 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/ContextModel.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/ContextModel.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/ContextModel3DBuffer.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/ContextModel3DBuffer.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/ContextTables.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5151#define NUM_SPLIT_FLAG_CTX            3       ///< number of context models for split flag
    5252#define NUM_SKIP_FLAG_CTX             3       ///< number of context models for skip flag
     53#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     54#define NUM_DIS_FLAG_CTX              1
     55#define NUM_DIS_TYPE_CTX              1       
     56#else
    5357#if H_3D_SINGLE_DEPTH
    5458#define NUM_SINGLEDEPTH_FLAG_CTX                     1
    5559#define NUM_SINGLE_DEPTH_VALUE_DATA_CTX              1       
     60#endif
    5661#endif
    5762#define NUM_MERGE_FLAG_EXT_CTX        1       ///< number of context models for merge flag of merge extended
     
    153158  { CNU,  CNU,  CNU, },
    154159};
     160#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     161static const UChar
     162INIT_DIS_FLAG[3][NUM_DIS_FLAG_CTX] = 
     163{
     164    { 185 },
     165    { 185 },
     166    { 185 },
     167};
     168static const UChar
     169INIT_DIS_TYPE[3][NUM_DIS_TYPE_CTX] =
     170{
     171    { 137 },
     172    { 137 },
     173    { 137 },
     174};
     175#else
    155176#if H_3D_SINGLE_DEPTH
    156177static const UChar
     
    169190};
    170191#endif
     192#endif
    171193static const UChar
    172194INIT_MERGE_FLAG_EXT[3][NUM_MERGE_FLAG_EXT_CTX] =
  • trunk/source/Lib/TLibCommon/NAL.h

    r872 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/SEI.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/SEI.h

    r1084 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComBitCounter.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComBitStream.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComBitStream.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComCABACTables.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComCABACTables.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComDataCU.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6060 
    6161  m_skipFlag           = NULL;
     62#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     63  m_bDISFlag           = NULL;
     64  m_uiDISType          = NULL;
     65#else
    6266#if H_3D_SINGLE_DEPTH
    6367  m_singleDepthFlag     = NULL;
    6468  m_apSingleDepthValue  = NULL;
    65 #endif 
     69#endif
     70#endif
    6671  m_pePartSize         = NULL;
    6772  m_pePredMode         = NULL;
     
    181186
    182187    m_skipFlag           = new Bool[ uiNumPartition ];
     188#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     189    m_bDISFlag           = new Bool[ uiNumPartition ];
     190    m_uiDISType          = (UInt*)xMalloc(UInt, uiNumPartition);
     191#else
    183192#if H_3D_SINGLE_DEPTH
    184193    m_singleDepthFlag     = new Bool[ uiNumPartition ];
    185194    m_apSingleDepthValue  = (Pel*)xMalloc(Pel, uiNumPartition);
     195#endif
    186196#endif
    187197    m_pePartSize         = new Char[ uiNumPartition ];
     
    327337
    328338    if ( m_skipFlag           ) { delete[] m_skipFlag;          m_skipFlag          = NULL; }
     339#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     340    if ( m_bDISFlag           ) { delete[] m_bDISFlag;   m_bDISFlag     = NULL; }
     341    if ( m_uiDISType         ) { xFree(m_uiDISType);  m_uiDISType    = NULL; }
     342#else
    329343#if H_3D_SINGLE_DEPTH
    330344    if ( m_singleDepthFlag    ) { delete[] m_singleDepthFlag;   m_singleDepthFlag     = NULL; }
    331345    if ( m_apSingleDepthValue ) { xFree(m_apSingleDepthValue);  m_apSingleDepthValue  = NULL; }
     346#endif
    332347#endif
    333348    if ( m_pePartSize         ) { delete[] m_pePartSize;        m_pePartSize        = NULL; }
     
    491506    TComDataCU * pcFrom = pcPic->getCU(getAddr());
    492507    m_skipFlag[ui]   = pcFrom->getSkipFlag(ui);
     508#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     509    m_bDISFlag[ui]   = pcFrom->getDISFlag(ui);
     510    m_uiDISType[ui]  = pcFrom->getDISType(ui);
     511#else
    493512#if H_3D_SINGLE_DEPTH
    494513    m_singleDepthFlag[ui]    = pcFrom->getSingleDepthFlag(ui);
    495514    m_apSingleDepthValue[ui] = pcFrom->getSingleDepthValue(ui);
     515#endif
    496516#endif
    497517    m_pePartSize[ui] = pcFrom->getPartitionSize(ui);
     
    546566  {
    547567    memset( m_skipFlag          + firstElement, false,                    numElements * sizeof( *m_skipFlag ) );
     568#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     569    memset( m_bDISFlag          + firstElement, false,                    numElements * sizeof( *m_bDISFlag ) );
     570    memset( m_uiDISType         + firstElement,     0,                    numElements * sizeof( *m_uiDISType) );
     571#else
    548572#if H_3D_SINGLE_DEPTH
    549573    memset( m_singleDepthFlag     + firstElement, false,                  numElements * sizeof( *m_singleDepthFlag ) );
    550574    memset( m_apSingleDepthValue  + firstElement,     0,                  numElements * sizeof( *m_apSingleDepthValue ) );
     575#endif
    551576#endif
    552577    memset( m_pePartSize        + firstElement, SIZE_NONE,                numElements * sizeof( *m_pePartSize ) );
     
    733758      m_puhTransformSkip[2][ui] = 0;
    734759      m_skipFlag[ui]   = false;
     760#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     761      m_bDISFlag[ui]   = false;
     762      m_uiDISType[ui]  = 0;
     763#else
    735764#if H_3D_SINGLE_DEPTH
    736765      m_singleDepthFlag[ui]     = false;
    737766      m_apSingleDepthValue[ui]  = 0;
     767#endif
    738768#endif
    739769      m_pePartSize[ui] = SIZE_NONE;
     
    861891  memset( m_puhCbf[2],          0, iSizeInUchar );
    862892  memset( m_puhDepth,     uiDepth, iSizeInUchar );
    863 #if H_3D_NBDV
     893#if H_3D_NBDV && !SEC_ARP_REM_ENC_RESTRICT_K0035
    864894  m_pDvInfo->bDV = false;
    865895#endif
     
    904934  {
    905935    m_skipFlag[ui]   = false;
     936#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     937    m_bDISFlag[ui]   = false;
     938    m_uiDISType[ui]  = 0;
     939#else
    906940#if H_3D_SINGLE_DEPTH
    907941    m_singleDepthFlag[ui]   = false;
    908942    m_apSingleDepthValue[ui]= 0;
     943#endif
    909944#endif
    910945    m_pePartSize[ui] = SIZE_NONE;
     
    929964      m_puhTransformSkip[2][ui] = pcCU->getTransformSkip(uiPartOffset+ui,TEXT_CHROMA_V);
    930965      m_skipFlag[ui]   = pcCU->getSkipFlag(uiPartOffset+ui);
     966#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     967      m_bDISFlag[ui]    = pcCU->getDISFlag(uiPartOffset+ui);
     968      m_uiDISType[ui]   = pcCU->getDISType(uiPartOffset+ui);
     969#else
    931970#if H_3D_SINGLE_DEPTH
    932971      m_singleDepthFlag[ui]    = pcCU->getSingleDepthFlag(uiPartOffset+ui);
    933972      m_apSingleDepthValue[ui] = pcCU->getSingleDepthValue(uiPartOffset+ui);
     973#endif
    934974#endif
    935975      m_pePartSize[ui] = pcCU->getPartitionSize(uiPartOffset+ui);
     
    10781118 
    10791119  m_skipFlag=pcCU->getSkipFlag()          + uiPart;
     1120#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1121  m_bDISFlag     = pcCU->getDISFlag()     + uiPart;
     1122  m_uiDISType    = pcCU->getDISType()     + uiPart;
     1123#else
    10801124#if H_3D_SINGLE_DEPTH
    10811125  m_singleDepthFlag     = pcCU->getSingleDepthFlag()   + uiPart;
    10821126  m_apSingleDepthValue  = pcCU->getSingleDepthValue()  + uiPart;
    1083 #endif 
     1127#endif
     1128#endif
    10841129  m_phQP=pcCU->getQP()                    + uiPart;
    10851130  m_pePartSize = pcCU->getPartitionSize() + uiPart;
     
    12151260 
    12161261  m_skipFlag           = pcCU->getSkipFlag ()             + uiAbsPartIdx;
     1262#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1263  m_bDISFlag           = pcCU->getDISFlag ()              + uiAbsPartIdx;
     1264  m_uiDISType          = pcCU->getDISType()               + uiAbsPartIdx;
     1265#else
    12171266#if H_3D_SINGLE_DEPTH
    12181267  m_singleDepthFlag     = pcCU->getSingleDepthFlag ()             + uiAbsPartIdx;
    12191268  m_apSingleDepthValue  = pcCU->getSingleDepthValue ()            + uiAbsPartIdx;
    1220 #endif 
     1269#endif
     1270#endif
    12211271  m_pePartSize         = pcCU->getPartitionSize ()        + uiAbsPartIdx;
    12221272#if H_3D_NBDV
     
    12901340  Int sizeInChar  = sizeof( Char ) * uiNumPartition;
    12911341  memcpy( m_skipFlag   + uiOffset, pcCU->getSkipFlag(),       sizeof( *m_skipFlag )   * uiNumPartition );
     1342#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1343  memcpy( m_bDISFlag   + uiOffset, pcCU->getDISFlag(),       sizeof( *m_bDISFlag )   * uiNumPartition );
     1344  memcpy( m_uiDISType  + uiOffset, pcCU->getDISType(),       sizeof( *m_uiDISType )  * uiNumPartition);
     1345#else
    12921346#if H_3D_SINGLE_DEPTH
    12931347  memcpy( m_singleDepthFlag     + uiOffset, pcCU->getSingleDepthFlag(),       sizeof( *m_singleDepthFlag )   * uiNumPartition );
    12941348  memcpy( m_apSingleDepthValue  + uiOffset, pcCU->getSingleDepthValue(),      sizeof( *m_apSingleDepthValue ) * uiNumPartition);
     1349#endif
    12951350#endif
    12961351  memcpy( m_phQP       + uiOffset, pcCU->getQP(),             sizeInChar                        );
     
    14101465
    14111466  memcpy( rpcCU->getSkipFlag() + m_uiAbsIdxInLCU, m_skipFlag, sizeof( *m_skipFlag ) * m_uiNumPartition );
     1467#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1468  memcpy( rpcCU->getDISFlag()  + m_uiAbsIdxInLCU, m_bDISFlag,    sizeof( *m_bDISFlag )  * m_uiNumPartition );
     1469  memcpy( rpcCU->getDISType()  + m_uiAbsIdxInLCU, m_uiDISType,   sizeof( *m_uiDISType ) * m_uiNumPartition );
     1470#else
    14121471#if H_3D_SINGLE_DEPTH
    14131472  memcpy( rpcCU->getSingleDepthFlag()  + m_uiAbsIdxInLCU, m_singleDepthFlag,    sizeof( *m_singleDepthFlag ) * m_uiNumPartition );
    14141473  memcpy( rpcCU->getSingleDepthValue() + m_uiAbsIdxInLCU, m_apSingleDepthValue, sizeof( *m_apSingleDepthValue ) * m_uiNumPartition);
     1474#endif
    14151475#endif
    14161476  memcpy( rpcCU->getQP() + m_uiAbsIdxInLCU, m_phQP, sizeInChar  );
     
    15251585  Int sizeInChar  = sizeof( Char ) * uiQNumPart;
    15261586  memcpy( rpcCU->getSkipFlag()       + uiPartOffset, m_skipFlag,   sizeof( *m_skipFlag )   * uiQNumPart );
     1587#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1588  memcpy( rpcCU->getDISFlag()  + uiPartOffset, m_bDISFlag,    sizeof( *m_bDISFlag )   * uiQNumPart );
     1589  memcpy( rpcCU->getDISType()  + uiPartOffset, m_uiDISType,   sizeof( *m_uiDISType )  * uiQNumPart );
     1590#else
    15271591#if H_3D_SINGLE_DEPTH
    15281592  memcpy( rpcCU->getSingleDepthFlag()  + uiPartOffset, m_singleDepthFlag,    sizeof( *m_singleDepthFlag )   * uiQNumPart );
    15291593  memcpy( rpcCU->getSingleDepthValue() + uiPartOffset, m_apSingleDepthValue, sizeof( *m_apSingleDepthValue ) * uiQNumPart);
     1594#endif
    15301595#endif
    15311596  memcpy( rpcCU->getQP() + uiPartOffset, m_phQP, sizeInChar );
     
    23232388    Int iPictureHeight = depthPicYuv->getHeight();
    23242389   
     2390#if !HS_DBBP_CLEAN_K0048
    23252391    Int iWidth  = uiWidth;
    23262392    Int iHeight = uiHeight;
     2393#endif
    23272394   
    23282395    Bool depthRefineFlag = false;
     
    23372404    }
    23382405   
     2406#if HS_DBBP_CLEAN_K0048
     2407    Int depthPosX = Clip3(0,   iPictureWidth - 1,  iBlkX + ((cDv.getHor()+2)>>2));
     2408    Int depthPosY = Clip3(0,   iPictureHeight - 1, iBlkY + ((cDv.getVer()+2)>>2));
     2409#else
    23392410    Int depthPosX = Clip3(0,   iPictureWidth - iWidth,  iBlkX + ((cDv.getHor()+2)>>2));
    23402411    Int depthPosY = Clip3(0,   iPictureHeight- iHeight, iBlkY + ((cDv.getVer()+2)>>2));
     2412#endif
    23412413   
    23422414    pDepthPels = depthPicYuv->getLumaAddr() + depthPosX + depthPosY * uiDepthStride;
     
    23822454Void TComDataCU::setCbfSubParts( UInt uiCbf, TextType eTType, UInt uiAbsPartIdx, UInt uiDepth )
    23832455{
     2456
    23842457  UInt uiCurrPartNumb = m_pcPic->getNumPartInCU() >> (uiDepth << 1);
    23852458  memset( m_puhCbf[g_aucConvertTxtTypeToIdx[eTType]] + uiAbsPartIdx, uiCbf, sizeof( UChar ) * uiCurrPartNumb );
     
    24272500  memset( m_skipFlag + absPartIdx, skip, m_pcPic->getNumPartInCU() >> ( 2 * depth ) );
    24282501}
     2502
     2503#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2504Void TComDataCU::setDISFlagSubParts( Bool bDIS, UInt absPartIdx, UInt depth )
     2505{
     2506    assert( sizeof( *m_bDISFlag) == 1 );
     2507    memset( m_bDISFlag + absPartIdx, bDIS, m_pcPic->getNumPartInCU() >> ( 2 * depth ) );
     2508}
     2509
     2510Void TComDataCU::setDISTypeSubParts(UInt uiDISType, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth )
     2511{
     2512    setSubPartT( uiDISType, m_uiDISType, uiAbsPartIdx, uiDepth, uiPUIdx );
     2513}
     2514#else
    24292515#if H_3D_SINGLE_DEPTH
    24302516Void TComDataCU::setSingleDepthFlagSubParts( Bool singleDepth, UInt absPartIdx, UInt depth )
     
    24392525}
    24402526#endif
     2527#endif
     2528
    24412529Void TComDataCU::setPredModeSubParts( PredMode eMode, UInt uiAbsPartIdx, UInt uiDepth )
    24422530{
     
    41094197              }
    41104198            }
     4199#if !SHARP_SUBBLOCK_CLEAN_K0044
    41114200            if (iPUHeight + iPUWidth == 12)
    41124201            {
     
    41174206              }
    41184207            }
     4208#endif
    41194209
    41204210            iPartition ++;
     
    53325422}
    53335423
     5424#if SONY_MV_V_CONST_C0078
     5425Void TComDataCU::checkMV_V (TComMv&  rcMv,  RefPicList eRefPicList, int iRefIdx )
     5426{
     5427  if ( getSlice()->getSPS()->getInterViewMvVertConstraintFlag() )
     5428  {
     5429    if ( getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC() == getSlice()->getPOC() )
     5430    {
     5431        //When inter_view_mv_vert_constraint_flag is equal to 1,
     5432        //the vertical component of the motion vectors used for inter-layer prediction
     5433        //shall be equal to or less than 56 in units of luma samples
     5434        assert ( rcMv.getVer() <= (56<<2) );
     5435    }
     5436  }
     5437}
     5438#endif
     5439
    53345440UInt TComDataCU::getIntraSizeIdx(UInt uiAbsPartIdx)
    53355441{
     
    56745780  }
    56755781
    5676   if ( bIsCurrRefLongTerm || bIsColRefLongTerm )
     5782  if ( bIsCurrRefLongTerm || bIsColRefLongTerm ) // CY: this condition equals to both bIsCurrRefLongTerm and bIsColRefLongTerm being 1
    56775783  {
    56785784#if H_3D_TMVP
     5785#if !H_3D_FIX_TMVP_SCALING_VIEW_ID
    56795786    Int iCurrViewId    = m_pcSlice->getViewIndex ();
    56805787    Int iCurrRefViewId = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getViewIndex ();
    56815788    Int iColViewId     = pColCU->getSlice()->getViewIndex();
    56825789    Int iColRefViewId  = pColCU->getSlice()->getRefPic( eColRefPicList, pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr))->getViewIndex();
    5683     iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId );
    5684 
     5790#else
     5791    Int iCurrViewId    = m_pcSlice->getViewId ();
     5792    Int iCurrRefViewId = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getViewId ();
     5793    Int iColViewId     = pColCU->getSlice()->getViewId();
     5794    Int iColRefViewId  = pColCU->getSlice()->getRefPic( eColRefPicList, pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr))->getViewId();
     5795#endif
     5796#if H_3D_TMVP_SCALING_FIX_K0053
     5797    iScale = 4096;
     5798    if ( iCurrRefViewId != iCurrViewId && iColViewId != iColRefViewId )
     5799#endif
     5800      iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId );
     5801#if H_3D_TMVP_FIX_TICKET_97
     5802    if ( bMRG && iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) )
     5803#else
    56855804    if ( iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) )
     5805#endif
    56865806    {
    56875807      rcMv = cColMv.scaleMv( iScale );
     
    56955815#endif
    56965816  }
    5697   else
     5817  else // CY: both bIsCurrRefLongTerm and bIsColRefLongTerm are 0
    56985818  {
    56995819    iScale = xGetDistScaleFactor(iCurrPOC, iCurrRefPOC, iColPOC, iColRefPOC);
     
    58605980#endif
    58615981#if H_3D_IV_MERGE
     5982#if SEC_ARP_REM_ENC_RESTRICT_K0035
     5983Void TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp)
     5984#else
    58625985Bool TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp)
     5986#endif
    58635987{
    58645988
     
    58766000      pDisp->m_acNBDV = cMv;
    58776001      pDisp->m_aVIdxCan = iViewIdx;
    5878 
     6002#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    58796003      return true;
    5880   }
     6004#endif
     6005  }
     6006#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    58816007  return false;
    5882 }
    5883 #endif
    5884 
    5885 #if H_3D_SINGLE_DEPTH
    5886 Bool TComDataCU::getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index)
    5887 {
    5888 
     6008#endif
     6009}
     6010#endif
     6011
     6012#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     6013Bool TComDataCU::getNeighDepth ( UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index )
     6014{
     6015#if NEIGHBORING_PIX_AVAILABILITY_FIX
     6016  UInt  uiPartIdxLT, uiPartIdxRT;
     6017  this->deriveLeftRightTopIdxAdi( uiPartIdxLT, uiPartIdxRT, 0, 0 );
     6018  UInt uiMidPart, uiPartNeighbor; 
     6019  TComDataCU* pcCUNeighbor;
     6020  Bool bDepAvail = false;
     6021  Pel *pDepth  = this->getPic()->getPicYuvRec()->getLumaAddr();
     6022  Int iDepStride =  this->getPic()->getPicYuvRec()->getStride();
     6023
     6024  Int xP, yP, nPSW, nPSH;
     6025  this->getPartPosition( uiPartIdx, xP, yP, nPSW, nPSH );
     6026
     6027  switch( index )
     6028  {
     6029  case 0: // Mid Left
     6030    uiMidPart = g_auiZscanToRaster[uiPartIdxLT] + (nPSH>>1) / this->getPic()->getMinCUHeight() * this->getPic()->getNumPartInWidth();
     6031    pcCUNeighbor = this->getPULeft( uiPartNeighbor, g_auiRasterToZscan[uiMidPart] );
     6032    if ( pcCUNeighbor )
     6033    {
     6034      if( !this->getSlice()->getPPS()->getConstrainedIntraPred() )
     6035      {
     6036        *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ];
     6037        bDepAvail = true;
     6038      }
     6039      else if ( pcCUNeighbor->getPredictionMode( uiPartNeighbor ) == MODE_INTRA )
     6040      {
     6041        *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ];
     6042        bDepAvail = true;
     6043      }
     6044    }
     6045    break;
     6046  case 1: // Mid Above
     6047    uiMidPart = g_auiZscanToRaster[uiPartIdxLT] + (nPSW>>1) / this->getPic()->getMinCUWidth();
     6048    pcCUNeighbor = this->getPUAbove( uiPartNeighbor, g_auiRasterToZscan[uiMidPart] );
     6049    if( pcCUNeighbor )
     6050    {
     6051      if( !this->getSlice()->getPPS()->getConstrainedIntraPred() )
     6052      {
     6053        *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ];
     6054        bDepAvail = true;
     6055      }
     6056      else if ( pcCUNeighbor->getPredictionMode( uiPartNeighbor ) == MODE_INTRA )
     6057      {
     6058        *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ];
     6059        bDepAvail = true;
     6060      }
     6061    }
     6062    break;
     6063  default:
     6064    break;
     6065  }
     6066
     6067  return bDepAvail;
     6068#else
    58896069  Bool bDepAvail = false;
    58906070  Pel *pDepth  = this->getPic()->getPicYuvRec()->getLumaAddr();
     
    59126092    break;
    59136093  default:
     6094    break;
     6095  }
     6096  return bDepAvail;
     6097#endif
     6098}
     6099#else
     6100#if H_3D_SINGLE_DEPTH
     6101Bool TComDataCU::getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index)
     6102{
     6103
     6104  Bool bDepAvail = false;
     6105  Pel *pDepth  = this->getPic()->getPicYuvRec()->getLumaAddr();
     6106  Int iDepStride =  this->getPic()->getPicYuvRec()->getStride();
     6107
     6108  Int xP, yP, nPSW, nPSH;
     6109  this->getPartPosition(uiPartIdx, xP, yP, nPSW, nPSH);
     6110  UInt PicHeight=this->getPic()->getPicYuvRec()->getHeight();
     6111  UInt PicWidth=this->getPic()->getPicYuvRec()->getWidth();
     6112  switch(index)
     6113  {
     6114  case 0: // Mid Left
     6115    if( ( xP != 0 ) && ( ( yP + ( nPSH >> 1 ) ) < PicHeight ) )
     6116    {
     6117      *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ];
     6118      bDepAvail = true;
     6119    }
     6120    break;
     6121  case 1: // Mid Above
     6122    if( ( yP != 0 ) && ( ( xP + ( nPSW >> 1 ) ) < PicWidth ) )
     6123    {
     6124      *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ];
     6125      bDepAvail = true;
     6126    }
     6127    break;
     6128  default:
    59146129      break;
    59156130  }
    59166131  return bDepAvail;
    59176132}
    5918 
    5919 #endif
     6133#endif
     6134#endif
     6135
    59206136#if H_3D_NBDV
    59216137//Notes from QC:
     
    59236139//TBD#2: set of DvMCP values need to be done as part of inter-view motion prediction process. Remove this comment once merge related integration is done
    59246140//To be checked: Parallel Merge features for NBDV, related to DV_DERIVATION_PARALLEL_B0096 and LGE_IVMP_PARALLEL_MERGE_B0136 are not integrated. The need of these features due to the adoption of CU-based NBDV is not clear. We need confirmation on this, especially by proponents
     6141#if SEC_ARP_REM_ENC_RESTRICT_K0035
     6142Void TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo
     6143#else
    59256144Bool TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo
     6145#endif
    59266146#if H_3D_NBDV_REF
    59276147, Bool bDepthRefine
     
    59316151  //// ******* Init variables ******* /////
    59326152  // Init disparity struct for results
     6153#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    59336154  pDInfo->bDV = false;   
     6155#endif
    59346156  pDInfo->m_aVIdxCan = -1;
    59356157
     
    60266248        pDInfo->m_acDoNBDV  = cColMv;
    60276249#endif //H_3D_NBDV_REF
     6250#if SEC_ARP_REM_ENC_RESTRICT_K0035
     6251        return;
     6252#else
    60286253        return true;
     6254#endif
    60296255      }
    60306256    }
     
    60436269#endif
    60446270    ) )
     6271#if SEC_ARP_REM_ENC_RESTRICT_K0035
     6272    return;
     6273#else
    60456274    return true;
     6275#endif
    60466276
    60476277  //// ******* Get disparity from above block ******* /////
     
    60556285#endif
    60566286      ) )
     6287#if SEC_ARP_REM_ENC_RESTRICT_K0035
     6288      return;
     6289#else
    60576290      return true;
     6291#endif
    60586292  }
    60596293
     
    61016335          pDInfo->m_acDoNBDV = cDispVec;
    61026336#endif
     6337#if SEC_ARP_REM_ENC_RESTRICT_K0035
     6338          return;
     6339#else
    61036340          return true;
     6341#endif
    61046342        }
    61056343      }
     
    61376375      pDInfo->m_acDoNBDV = defaultDV;
    61386376#endif
     6377#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    61396378      return true;
    6140   }
     6379#endif
     6380  }
     6381#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    61416382  return false;
     6383#endif
    61426384}
    61436385
     
    67126954
    67136955              }
     6956#if !SHARP_SUBBLOCK_CLEAN_K0044
    67146957              if (iSPHeight + iSPWidth == 12)
    67156958              {
     
    67206963                }
    67216964              }
     6965#endif
    67226966              iPartition ++;
    67236967            }
     
    67526996      Int         iBaseAbsPartIdx;
    67536997
     6998#if SEC_SHIFTED_IVMC_POS_K0036
     6999      Int offsetW = (iLoopCan == 0) ? 0 : ( iWidth  * 2 );
     7000      Int offsetH = (iLoopCan == 0) ? 0 : ( iHeight * 2 );
     7001#else
    67547002      Int offsetW = (iLoopCan == 0) ? 0 : ( ((iWidth /2)*4) + 4 );
    67557003      Int offsetH = (iLoopCan == 0) ? 0 : ( ((iHeight/2)*4) + 4 );
     7004#endif
    67567005
    67577006      Int         iBasePosX   = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (cDv.getHor() + offsetW + 2 ) >> 2 ) );
  • trunk/source/Lib/TLibCommon/TComDataCU.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    110110  // -------------------------------------------------------------------------------------------------------------------
    111111  Bool*         m_skipFlag;           ///< array of skip flags
     112#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     113  Bool*         m_bDISFlag;         
     114  UInt*         m_uiDISType;
     115#else
    112116#if H_3D_SINGLE_DEPTH
    113117  Bool*         m_singleDepthFlag;           ///< array of single depth flags
    114118  Pel*          m_apSingleDepthValue;
     119#endif
    115120#endif
    116121  Char*         m_pePartSize;         ///< array of partition sizes
     
    308313  TComPic*      getPic                ()                        { return m_pcPic;           }
    309314  TComSlice*    getSlice              ()                        { return m_pcSlice;         }
     315#if H_3D_DISABLE_CHROMA
     316  Void         setSlice              ( TComSlice* pcSlice)     { m_pcSlice = pcSlice;       }
     317#endif
    310318  UInt&         getAddr               ()                        { return m_uiCUAddr;        }
    311319  UInt&         getZorderIdxInCU      ()                        { return m_uiAbsIdxInLCU; }
     
    342350  Void         setSkipFlag           ( UInt idx, Bool skip)     { m_skipFlag[idx] = skip;   }
    343351  Void         setSkipFlagSubParts   ( Bool skip, UInt absPartIdx, UInt depth );
     352#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     353  Bool*        getDISFlag            ()                         { return m_bDISFlag;          }
     354  Bool         getDISFlag            ( UInt idx)                { return m_bDISFlag[idx];     }
     355  Void         setDISFlag            ( UInt idx, Bool bDIS)     { m_bDISFlag[idx] = bDIS;   }
     356  Void         setDISFlagSubParts    ( Bool bDIS, UInt absPartIdx, UInt depth );
     357
     358  UInt*        getDISType            ()                         { return m_uiDISType; }
     359  UInt         getDISType            ( UInt idx)                { return m_uiDISType[idx];     }
     360  Void         getDISType            ( UInt idx, UInt uiDISType)     { m_uiDISType[idx] = uiDISType;   }
     361  Void         setDISTypeSubParts    ( UInt uiDISType, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth );
     362#else
    344363#if H_3D_SINGLE_DEPTH
    345364  Bool*        getSingleDepthFlag            ()                        { return m_singleDepthFlag;          }
     
    353372  Void         setSingleDepthValueSubParts   (Pel singleDepthValue, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth );
    354373#endif 
     374#endif
    355375  Char*         getPredictionMode     ()                        { return m_pePredMode;        }
    356376  PredMode      getPredictionMode     ( UInt uiIdx )            { return static_cast<PredMode>( m_pePredMode[uiIdx] ); }
     
    418438  UChar         getCbf    ( UInt uiIdx, TextType eType )                  { return m_puhCbf[g_aucConvertTxtTypeToIdx[eType]][uiIdx];  }
    419439  UChar*        getCbf    ( TextType eType )                              { return m_puhCbf[g_aucConvertTxtTypeToIdx[eType]];         }
     440
    420441  UChar         getCbf    ( UInt uiIdx, TextType eType, UInt uiTrDepth )  { return ( ( getCbf( uiIdx, eType ) >> uiTrDepth ) & 0x1 ); }
    421442  Void          setCbf    ( UInt uiIdx, TextType eType, UChar uh )        { m_puhCbf[g_aucConvertTxtTypeToIdx[eType]][uiIdx] = uh;    }
     443
    422444  Void          clearCbf  ( UInt uiIdx, TextType eType, UInt uiNumParts );
    423445  UChar         getQtRootCbf          ( UInt uiIdx )                      { return getCbf( uiIdx, TEXT_LUMA, 0 ) || getCbf( uiIdx, TEXT_CHROMA_U, 0 ) || getCbf( uiIdx, TEXT_CHROMA_V, 0 ); }
     
    484506  );
    485507  Bool          xGetColDisMV      ( Int currCandPic, RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx );
     508#if SEC_ARP_REM_ENC_RESTRICT_K0035
     509  Void          getDisMvpCandNBDV ( DisInfo* pDInfo
     510#else
    486511  Bool          getDisMvpCandNBDV ( DisInfo* pDInfo
     512#endif
    487513#if H_3D_NBDV_REF
    488514   , Bool bDepthRefine = false
     
    491517   
    492518#if H_3D
     519#if SEC_ARP_REM_ENC_RESTRICT_K0035
     520  Void          getDispforDepth  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
     521#else
    493522  Bool          getDispforDepth  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
     523#endif
    494524  Bool          getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm );
    495525#endif
     526#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     527   Bool          getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index);
     528#else
    496529#if H_3D_SINGLE_DEPTH
    497530   Bool          getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index);
     531#endif
    498532#endif
    499533#if H_3D_NBDV_REF
     
    591625 
    592626  Void          clipMv                ( TComMv&     rcMv     );
     627#if SONY_MV_V_CONST_C0078
     628  Void          checkMV_V (TComMv&  rcMv,  RefPicList eRefPicList, int iRefIdx );
     629#endif
    593630  Void          getMvPredLeft         ( TComMv&     rcMvPred )   { rcMvPred = m_cMvFieldA.getMv(); }
    594631  Void          getMvPredAbove        ( TComMv&     rcMvPred )   { rcMvPred = m_cMvFieldB.getMv(); }
  • trunk/source/Lib/TLibCommon/TComInterpolationFilter.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComInterpolationFilter.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComList.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComLoopFilter.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComLoopFilter.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComMotionInfo.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComMotionInfo.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6363typedef struct _DisCand
    6464{
     65#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    6566  Bool bDV;
     67#endif
    6668  TComMv m_acNBDV;              // DV from NBDV
    6769#if H_3D_NBDV_REF
  • trunk/source/Lib/TLibCommon/TComMv.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPattern.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPattern.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPic.cpp

    r976 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPic.h

    r976 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPicSym.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPicSym.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPicYuv.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPicYuv.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPicYuvMD5.cpp

    r872 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComPrediction.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    630630
    631631#if H_3D_DBBP
     632#if HS_DBBP_CLEAN_K0048
     633PartSize TComPrediction::getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize, TComDataCU*& pcCU)
     634#else
    632635PartSize TComPrediction::getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize)
     636#endif
    633637{
    634638  // find virtual partitioning for this CU based on depth block
     
    639643  Int iSumDepth = 0;
    640644  Int iSubSample = 4;
     645#if HS_DBBP_CLEAN_K0048
     646  Int iPictureWidth = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getWidth();
     647  Int iPictureHeight = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getHeight();
     648  TComMv cDv = pcCU->getSlice()->getDepthRefinementFlag(  ) ? pcCU->getDvInfo(0).m_acDoNBDV : pcCU->getDvInfo(0).m_acNBDV;
     649  if( pcCU->getSlice()->getDepthRefinementFlag(  ) )
     650  {
     651    cDv.setVer(0);
     652  }
     653  Int iBlkX = ( pcCU->getAddr() % pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getFrameWidthInCU() ) * g_uiMaxCUWidth  + g_auiRasterToPelX[ g_auiZscanToRaster[ pcCU->getZorderIdxInCU() ] ]+ ((cDv.getHor()+2)>>2);
     654  Int iBlkY = ( pcCU->getAddr() / pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getFrameWidthInCU() ) * g_uiMaxCUHeight + g_auiRasterToPelY[ g_auiZscanToRaster[ pcCU->getZorderIdxInCU() ] ]+ ((cDv.getVer()+2)>>2);
     655  UInt t=0;
     656
     657  for (Int y=0; y<uiSize; y+=iSubSample)
     658   {
     659    for (Int x=0; x<uiSize; x+=iSubSample)
     660   {
     661if (iBlkX+x>iPictureWidth)
     662{
     663    Int depthPel = pDepthPels[t];
     664    iSumDepth += depthPel;
     665}
     666else
     667{
     668    Int depthPel = pDepthPels[x];
     669    t=x;
     670    iSumDepth += depthPel;
     671}
     672   }
     673   
     674    // next row
     675    if (!(iBlkY+y+4>iPictureHeight))
     676    pDepthPels += uiDepthStride*iSubSample;
     677#else
    641678  for (Int y=0; y<uiSize; y+=iSubSample)
    642679  {
     
    650687    // next row
    651688    pDepthPels += uiDepthStride*iSubSample;
     689#endif
    652690  }
    653691 
     
    667705    for (Int x=0; x<uiSize; x+=iSubSample)
    668706    {
     707#if HS_DBBP_CLEAN_K0048
     708      Int depthPel = 0;
     709if (iBlkX+x>iPictureWidth)
     710{
     711    depthPel = pDepthPels[t];
     712}
     713else
     714{
     715    depthPel = pDepthPels[x];
     716     t=x;
     717}
     718#else
    669719      Int depthPel = pDepthPels[x];
     720#endif
    670721     
    671722      // decide which segment this pixel belongs to
     
    696747   
    697748    // next row
     749#if HS_DBBP_CLEAN_K0048
     750    if (!(iBlkY+y+4>iPictureHeight))
     751#endif
    698752    pDepthPels += uiDepthStride*iSubSample;
    699753  }
     
    719773}
    720774
     775#if HS_DBBP_CLEAN_K0048
     776Bool TComPrediction::getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask, TComDataCU*& pcCU)
     777#else
    721778Bool TComPrediction::getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask )
     779#endif
    722780{
    723781  // segmentation of texture block --> mask IDs
    724782  Pel*  pDepthBlockStart      = pDepthPels;
    725  
     783
    726784  // first compute average of depth block for thresholding
    727785  Int iSumDepth = 0;
    728786  Int uiMinDepth = MAX_INT;
    729787  Int uiMaxDepth = 0;
    730 
     788#if HS_DBBP_CLEAN_K0048
     789  uiMinDepth = pDepthPels[ 0 ];
     790  uiMaxDepth = pDepthPels[ 0 ];
     791  iSumDepth  = pDepthPels[ 0 ];
     792  UInt t=0;
     793  Int iPictureWidth = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getWidth();
     794  Int iPictureHeight = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getHeight(); 
     795  TComMv cDv = pcCU->getSlice()->getDepthRefinementFlag(  ) ? pcCU->getDvInfo(0).m_acDoNBDV : pcCU->getDvInfo(0).m_acNBDV;
     796  if( pcCU->getSlice()->getDepthRefinementFlag(  ) )
     797  {
     798    cDv.setVer(0);
     799  }
     800  Int iBlkX = ( pcCU->getAddr() % pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getFrameWidthInCU() ) * g_uiMaxCUWidth  + g_auiRasterToPelX[ g_auiZscanToRaster[ pcCU->getZorderIdxInCU() ] ]+ ((cDv.getHor()+2)>>2);
     801  Int iBlkY = ( pcCU->getAddr() / pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getFrameWidthInCU() ) * g_uiMaxCUHeight + g_auiRasterToPelY[ g_auiZscanToRaster[ pcCU->getZorderIdxInCU() ] ]+ ((cDv.getVer()+2)>>2);
     802  if (iBlkX>(Int)(iPictureWidth - uiWidth))
     803  {
     804    iSumDepth += pDepthPels[ iPictureWidth - iBlkX - 1 ];
     805    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ iPictureWidth - iBlkX - 1 ]);
     806    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ iPictureWidth - iBlkX - 1 ]);
     807  }
     808  else
     809  {
     810    iSumDepth += pDepthPels[ uiWidth - 1 ];
     811    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiWidth - 1 ]);
     812    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiWidth - 1 ]);
     813  }
     814  if (iBlkY>(Int)(iPictureHeight - uiHeight))
     815  {
     816    iSumDepth += pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) ];
     817    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) ]);
     818    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) ]);
     819  }
     820  else
     821  {
     822    iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) ];
     823    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
     824    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
     825  }
     826  if (iBlkY>(Int)(iPictureHeight - uiHeight) && iBlkX>(Int)(iPictureWidth - uiWidth))
     827  {
     828    iSumDepth += pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + iPictureWidth - iBlkX - 1 ];
     829    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + iPictureWidth - iBlkX - 1 ]);
     830    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + iPictureWidth - iBlkX - 1 ]);
     831  }
     832  else if (iBlkY>(Int)(iPictureHeight - uiHeight))
     833  {
     834    iSumDepth += pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + uiWidth - 1 ];
     835    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + uiWidth - 1 ]);
     836    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + uiWidth - 1 ]);
     837  }
     838  else if (iBlkX>(Int)(iPictureWidth - uiWidth))
     839  {
     840    iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) + iPictureWidth - iBlkX - 1 ];
     841    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + iPictureWidth - iBlkX - 1 ]);
     842    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + iPictureWidth - iBlkX - 1 ]);
     843  }
     844  else
     845  {
     846    iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ];
     847    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
     848    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
     849  }
     850#else
    731851  iSumDepth  = pDepthPels[ 0 ];
    732852  iSumDepth += pDepthPels[ uiWidth - 1 ];
     
    743863  uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
    744864  uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
    745 
    746  
     865#endif
     866
    747867  // don't generate mask for blocks with small depth range (encoder decision)
    748868  if( uiMaxDepth - uiMinDepth < 10 )
     
    750870    return false;
    751871  }
    752  
     872
    753873  AOF(uiWidth==uiHeight);
    754874  Int iMean = iSumDepth >> 2;
    755  
     875
    756876  // start again for segmentation
    757877  pDepthPels = pDepthBlockStart;
    758  
     878
    759879  Bool bInvertMask = pDepthPels[0]>iMean; // top-left segment needs to be mapped to partIdx 0
    760  
     880
    761881  // generate mask
    762882  UInt uiSumPix[2] = {0,0};
     
    765885    for (Int x=0; x<uiHeight; x++)
    766886    {
     887#if HS_DBBP_CLEAN_K0048
     888      Int depthPel = 0;
     889      if (iBlkX+x>iPictureWidth)
     890      {
     891        depthPel = pDepthPels[t];
     892      }
     893      else
     894      {
     895        depthPel = pDepthPels[x];
     896        t=x;
     897      }
     898#else
    767899      Int depthPel = pDepthPels[x];
    768      
     900#endif
     901
    769902      // decide which segment this pixel belongs to
    770903      Int ucSegment = (Int)(depthPel>iMean);
    771      
     904
    772905      if( bInvertMask )
    773906      {
    774907        ucSegment = 1-ucSegment;
    775908      }
    776      
     909
    777910      // count pixels for each segment
    778911      uiSumPix[ucSegment]++;
    779      
     912
    780913      // set mask value
    781914      pMask[x] = (Bool)ucSegment;
    782915    }
    783    
     916
    784917    // next row
    785     pDepthPels += uiDepthStride;
     918#if HS_DBBP_CLEAN_K0048
     919    if (!(iBlkY+y+1>iPictureHeight))
     920#endif
     921      pDepthPels += uiDepthStride;
    786922    pMask += MAX_CU_SIZE;
    787923  }
    788  
     924
    789925  // don't generate valid mask for tiny segments (encoder decision)
    790926  // each segment needs to cover at least 1/8th of block
     
    794930    return false;
    795931  }
    796  
     932
    797933  // all good
    798934  return true;
     
    11571293  TComMv      cMv         = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr );
    11581294  pcCU->clipMv(cMv);
    1159 
     1295#if SONY_MV_V_CONST_C0078
     1296  pcCU->checkMV_V(cMv, eRefPicList, iRefIdx );
     1297#endif
    11601298#if H_3D_ARP
    11611299  if(pcCU->getARPW( uiPartAddr ) > 0  && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC())
     
    12551393#if H_3D_NBDV
    12561394  DisInfo cDistparity;
     1395#if SEC_ARP_REM_ENC_RESTRICT_K0035
     1396  cDistparity.m_acNBDV = pcCU->getDvInfo(0).m_acNBDV;
     1397  cDistparity.m_aVIdxCan = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
     1398#else
    12571399  cDistparity.bDV           = pcCU->getDvInfo(uiPartAddr).bDV;
    12581400  if( cDistparity.bDV )
     
    12621404    cDistparity.m_aVIdxCan = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
    12631405  }
     1406#endif
    12641407#else
    12651408  assert(0); // ARP can be applied only when a DV is available
    12661409#endif
    1267 
     1410#if SEC_ARP_REM_ENC_RESTRICT_K0035
     1411  UChar dW = pcCU->getARPW ( uiPartAddr );
     1412#else
    12681413  UChar dW = cDistparity.bDV ? pcCU->getARPW ( uiPartAddr ) : 0;
    1269 
     1414#endif
     1415
     1416#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    12701417  if( cDistparity.bDV )
     1418#endif
    12711419  {
    12721420    Int arpRefIdx = pcCU->getSlice()->getFirstTRefIdx(eRefPicList);
     
    13201468      pYuvB0->clear(); pYuvB1->clear();
    13211469    }
    1322 
     1470#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    13231471    assert ( cDistparity.bDV );
    1324    
     1472#endif   
    13251473    TComMv cNBDV = cDistparity.m_acNBDV;
    13261474    pcCU->clipMv( cNBDV );
  • trunk/source/Lib/TLibCommon/TComPrediction.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    175175 
    176176#if H_3D_DBBP
     177#if HS_DBBP_CLEAN_K0048
     178  PartSize      getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize, TComDataCU*& pcCU);
     179  Bool          getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask, TComDataCU*& pcCU);
     180#else
    177181  PartSize      getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize);
    178182  Bool          getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask );
     183#endif
    179184  Void          combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr, UInt partSize );
    180185#endif
  • trunk/source/Lib/TLibCommon/TComRdCost.cpp

    r884 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    341341    else if( eDFunc >= DF_HADS && eDFunc <= DF_HADS16N )
    342342    {
     343#if !RWTH_DBBP_NO_SATD_K0028
    343344      rcDistParam.DistFunc = TComRdCost::xGetMaskedHADs;
     345#else
     346      rcDistParam.DistFunc = TComRdCost::xGetMaskedSAD;
     347#endif
    344348    }
    345349    else if( eDFunc >= DF_VSD && eDFunc <= DF_VSD16N )
     
    441445  if( m_bUseMask )
    442446  {
     447#if !RWTH_DBBP_NO_SATD_K0028
    443448    rcDistParam.DistFunc = (bHADME)?TComRdCost::xGetMaskedHADs:TComRdCost::xGetMaskedSAD;
     449#else
     450    rcDistParam.DistFunc = TComRdCost::xGetMaskedSAD;
     451#endif
    444452  }
    445453#endif
     
    464472  if( m_bUseMask )
    465473  {
     474#if !RWTH_DBBP_NO_SATD_K0028
    466475    rcDP.DistFunc = (bHadamard)?TComRdCost::xGetMaskedHADs:TComRdCost::xGetMaskedSAD;
     476#else
     477    rcDP.DistFunc = TComRdCost::xGetMaskedSAD;
     478#endif
    467479  }
    468480#endif
     
    717729}
    718730
     731#if !RWTH_DBBP_NO_SATD_K0028
    719732UInt TComRdCost::xGetMaskedHADs( DistParam* pcDtParam )
    720733{
     
    834847  return uiSum >> DISTORTION_PRECISION_ADJUSTMENT(pcDtParam->bitDepth-8);
    835848}
     849#endif
    836850
    837851UInt TComRdCost::xGetMaskedVSD( DistParam* pcDtParam )
  • trunk/source/Lib/TLibCommon/TComRdCost.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    320320  static UInt xGetMaskedSSE     ( DistParam* pcDtParam );
    321321  static UInt xGetMaskedSAD     ( DistParam* pcDtParam );
     322#if !RWTH_DBBP_NO_SATD_K0028
    322323  static UInt xGetMaskedHADs    ( DistParam* pcDtParam );
     324#endif
    323325  static UInt xGetMaskedVSD     ( DistParam* pcDtParam );
    324326#endif
  • trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComRom.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    391391Bool g_tracePU = false;
    392392Bool g_traceTU = false;
     393Bool g_disableNumbering = false;
    393394Bool g_disableHLSTrace = false;
    394 UInt64 g_stopAtCounter       = 0;
     395UInt64 g_stopAtCounter       = 937234;
    395396Bool g_traceCopyBack         = false;
    396397Bool g_decTraceDispDer       = false;
    397398Bool g_decTraceMvFromMerge   = false;
    398399Bool g_decTracePicOutput     = false;
    399 Bool g_stopAtPos             = false;
    400 Bool g_outputPos             = false;
     400Bool g_stopAtPos             = true;
     401Bool g_outputPos             = true;   
     402Bool g_traceCameraParameters = false;
     403Bool g_encNumberOfWrittenBits     = true;
    401404#endif
    402405#endif
     
    600603
    601604  Bool stopFlag = false;
    602   if ( g_stopAtPos && poc == 0 && layerId == 1 )
     605  if ( g_stopAtPos && poc == 0 && layerId == 2 )
    603606  {
    604607    Bool stopAtCU = true;
    605608    if ( stopAtCU )        // Stop at CU with specific size
    606609    {   
    607       stopFlag = ( cuPelX  == 888 ) && ( cuPelY  == 248 ) && ( cuWidth == 8 ) && ( cuHeight == 8);
     610      stopFlag = ( cuPelX  == 0 ) && ( cuPelY  == 0 ) && ( cuWidth == 8 ) && ( cuHeight == 8 );
    608611    }
    609612    else
     
    633636      std::cout << "Break point here." << std::endl;
    634637    }
    635     fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     638    if ( !g_disableNumbering )
     639    { 
     640      fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     641    }
    636642    fprintf( g_hTrace, "%-50s       : %d\n", symbolName, val );     
    637643    fflush ( g_hTrace );
     
    739745  assert( uiWidth == uiHeight );
    740746
     747#if SHARP_DMM_CLEAN_K0042
     748  Int posStart = 0, posEnd = 0;
     749#else
    741750  UChar    uhStartX = 0,    uhStartY = 0,    uhEndX = 0,    uhEndY = 0;
    742751  Int   iStepStartX = 0, iStepStartY = 0, iStepEndX = 0, iStepEndY = 0;
     752#endif
    743753
    744754  UInt uiBlockSize = 0;
     
    752762  for( UInt uiOri = 0; uiOri < 6; uiOri++ )
    753763  {
     764#if !SHARP_DMM_CLEAN_K0042
    754765    // init the edge line parameters for each of the 6 wedgelet types
    755766    switch( uiOri )
     
    762773    case( 5 ): {  uhStartX = (uiBlockSize-1); uhStartY = 0;               uhEndX = 0;               uhEndY = 0;               iStepStartX =  0; iStepStartY = +1; iStepEndX =  0; iStepEndY = +1; break; }
    763774    }
    764 
     775#endif
     776
     777#if SHARP_DMM_CLEAN_K0042
     778    posEnd = (Int) racWedgeList.size();
     779    if (uiOri == 0 || uiOri == 4)
     780    {
     781#endif
    765782    for( Int iK = 0; iK < uiBlockSize; iK += (uiWidth>=16 ?2:1))
    766783    {
    767784      for( Int iL = 0; iL < uiBlockSize; iL += ((uiWidth>=16 && uiOri<4)?2:1) )
    768785      {
     786#if SHARP_DMM_CLEAN_K0042
     787        Int xS = iK;
     788        Int yS = 0;
     789        Int xE = (uiOri == 0) ? 0 : iL;
     790        Int yE = (uiOri == 0) ? iL : uiBlockSize - 1;
     791        cTempWedgelet.setWedgelet( xS, yS, xE, yE, uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) );
     792#else
    769793        cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) );
     794#endif
    770795        addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList );
    771796      }
    772797    }
     798#if SHARP_DMM_CLEAN_K0042
     799    }
     800    else
     801    {
     802      for (Int pos = posStart; pos < posEnd; pos++)
     803      {
     804        cTempWedgelet.generateWedgePatternByRotate(racWedgeList[pos], uiOri);
     805        addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList );
     806      }
     807    }
     808    posStart = posEnd;
     809#endif
    773810  }
    774811
  • trunk/source/Lib/TLibCommon/TComRom.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    230230
    231231#ifndef ENC_DEC_TRACE
    232 #define ENC_DEC_TRACE   0
     232#define ENC_DEC_TRACE   0 
    233233#endif
    234234
     
    257257 extern Bool   g_traceTU;
    258258 extern Bool   g_disableHLSTrace;       // USE g_HLSTraceEnable to toggle HLS trace. Not this one!
     259 extern Bool   g_disableNumbering;      // Don't print numbers to trace file
    259260 extern UInt64 g_stopAtCounter;         // Counter to set breakpoint.
    260261 extern Bool   g_traceCopyBack;         // Output samples on copy back 
     
    264265 extern Bool   g_stopAtPos;             // Stop at position
    265266 extern Bool   g_outputPos;             // Output position
     267 extern Bool   g_traceCameraParameters; // Trace camera parameters
     268 extern Bool   g_encNumberOfWrittenBits;// Trace number of written bits
    266269
    267270#define DTRACE_CU(x,y)             writeToTraceFile( x,y, g_traceCU );
  • trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp

    r964 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2014, ITU/ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h

    r964 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2014, ITU/ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComSlice.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    137137#endif
    138138#if H_3D
     139#if HHI_INTER_COMP_PRED_K0052
     140, m_inCmpPredFlag                 ( false )
     141#endif
     142#if HHI_CAM_PARA_K0052
     143, m_numViews                        ( 0    )
     144#endif
    139145, m_depthToDisparityB             ( NULL )
    140146, m_depthToDisparityF             ( NULL )
    141147#endif
     148#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     149, m_bApplyDIS                     (false)
     150#else
    142151#if H_3D_SINGLE_DEPTH
    143152, m_bApplySingleDepthMode         (false)
     153#endif
    144154#endif
    145155#endif
     
    181191  m_iDefaultRefViewIdx = -1;
    182192  m_bDefaultRefViewIdxAvailableFlag = false;
     193#if HHI_INTER_COMP_PRED_K0052
     194  m_ivMvPredFlag           = false;
     195  m_ivMvScalingFlag        = false;
     196  m_ivResPredFlag          = false; 
     197  m_depthRefinementFlag    = false;
     198  m_viewSynthesisPredFlag  = false;
     199  m_depthBasedBlkPartFlag  = false;
     200  m_mpiFlag                = false;
     201  m_intraContourFlag       = false;
     202  m_intraSdcWedgeFlag      = false;
     203  m_qtPredFlag             = false;
     204  m_interSdcFlag           = false;
     205  m_depthIntraSkipFlag     = false;
     206  m_subPbSize              =  1 << 6;
     207  m_mpiSubPbSize           =  1 << 6;
     208#endif
    183209}
    184210
     
    188214  m_puiSubstreamSizes = NULL;
    189215#if H_3D
     216#if HHI_CAM_PARA_K0052   
     217  for( UInt i = 0; i < m_numViews; i++ )
     218#else
    190219  for( UInt i = 0; i < getViewIndex(); i++ )
     220#endif
    191221  {
    192222    if ( m_depthToDisparityB && m_depthToDisparityB[ i ] )
     
    198228    {
    199229      delete[] m_depthToDisparityF [ i ];
    200   }
     230    }
    201231  }
    202232
     
    575605  Int i;
    576606
     607#if HHI_RES_PRED_K0052
     608  m_pocsInCurrRPSs.clear();
     609#endif
     610
    577611  for(i=0; i < m_pcRPS->getNumberOfNegativePictures(); i++)
    578612  {
     
    585619      NumPocStCurr0++;
    586620      pcRefPic->setCheckLTMSBPresent(false); 
     621#if HHI_RES_PRED_K0052
     622      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() );
     623#endif
    587624    }
    588625  }
     
    598635      NumPocStCurr1++;
    599636      pcRefPic->setCheckLTMSBPresent(false); 
     637#if HHI_RES_PRED_K0052
     638      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() );
     639#endif
    600640    }
    601641  }
     
    610650      RefPicSetLtCurr[NumPocLtCurr] = pcRefPic;
    611651      NumPocLtCurr++;
     652#if HHI_RES_PRED_K0052
     653      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() );
     654#endif
    612655    }
    613656    if(pcRefPic==NULL)
     
    619662
    620663  Int numPocInterCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr;
     664#if HHI_RES_PRED_K0052
     665  assert( numPocInterCurr == (Int) m_pocsInCurrRPSs.size() );
     666#endif
    621667  numPocTotalCurr = numPocInterCurr + getNumActiveRefLayerPics( );
    622668  assert( numPocTotalCurr == getNumRpsCurrTempList() );
     
    791837Void TComSlice::setCamparaSlice( Int** aaiScale, Int** aaiOffset )
    792838
     839#if HHI_CAM_PARA_K0052
     840  Int voiInVps      = m_pcVPS->getVoiInVps(getViewIndex() );
     841  if( m_pcVPS->getNumCp( voiInVps ) > 0 )
     842  {   
     843    if( m_pcVPS->getCpInSliceSegmentHeaderFlag( voiInVps ) )
     844    {
     845      for( Int m = 0; m < m_pcVPS->getNumCp( voiInVps ); m++ )
     846      {     
     847        Int j      = m_pcVPS->getCpRefVoi( voiInVps, m );
     848        Int jInVps = m_pcVPS->getVoiInVps( j );
     849
     850        setCpScale   ( jInVps , aaiScale [ jInVps   ][ voiInVps ]);
     851        setCpInvScale( jInVps , aaiScale [ voiInVps ][ jInVps   ]);
     852        setCpOff     ( jInVps , aaiOffset[ jInVps   ][ voiInVps ]);
     853        setCpInvOff  ( jInVps , aaiOffset[ voiInVps ][ jInVps   ]);
     854      }
     855    }
     856  }
     857#else
    793858  if( m_pcVPS->hasCamParInSliceHeader( m_viewIndex ) )
    794859  {   
     
    801866    }
    802867  }
     868#endif
    803869}
    804870#endif
     
    10991165  }
    11001166#endif
     1167#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1168  m_bApplyDIS = pSrc->m_bApplyDIS;
     1169#else
    11011170#if H_3D_SINGLE_DEPTH
    11021171  m_bApplySingleDepthMode = pSrc->m_bApplySingleDepthMode;
     1172#endif
    11031173#endif
    11041174#if H_3D_IC
     
    21472217{
    21482218  m_numViews = 1;
    2149 #if HHI_VIEW_ID_LIST_I5_J0107
     2219#if HHI_VIEW_ID_LIST_I5_J0107 || HHI_INTER_COMP_PRED_K0052
    21502220#if H_3D
    21512221  AOF( m_viewOIdxList.size() == 0 );
     2222 
    21522223  m_viewOIdxList.push_back( 0 );       
    21532224#endif
     
    21702241      {
    21712242        m_numViews++;
    2172 #if HHI_VIEW_ID_LIST_I5_J0107
     2243#if HHI_VIEW_ID_LIST_I5_J0107  || HHI_INTER_COMP_PRED_K0052
    21732244#if H_3D
    21742245        m_viewOIdxList.push_back( getViewOrderIdx( lId ) );       
     
    22102281  Int i = 0, j = 0;
    22112282
     2283#if HHI_CAM_PARA_K0052
     2284  m_numCp    = new Int [ iNumViews ];
     2285  m_cpRefVoi = new Int*[ iNumViews ];
     2286  m_cpInSliceSegmentHeaderFlag = new Bool[ iNumViews ];
     2287
     2288  m_cpPresentFlag  = new Bool*[ iNumViews ];
     2289#else
    22122290  m_bCamParPresent = new Bool[ iNumViews ];
    22132291  m_bCamParInSliceHeader = new Bool[ iNumViews ];
     2292#endif
     2293 
    22142294
    22152295  m_aaaiCodedScale = new Int**[ iNumViews ];
     
    22172297  for ( i = 0; i < iNumViews ; i++ )
    22182298  {
     2299#if HHI_CAM_PARA_K0052
     2300    m_cpInSliceSegmentHeaderFlag[i] = false;     
     2301#else
    22192302    m_bCamParPresent[i] = false;
    22202303    m_bCamParInSliceHeader[i] = false;
     2304#endif
     2305   
    22212306    m_aaaiCodedScale[i] = new Int*[ 2 ];
    22222307    m_aaaiCodedOffset[i] = new Int*[ 2 ];
     2308
     2309#if HHI_CAM_PARA_K0052
     2310    m_numCp   [i] = 0;
     2311    m_cpRefVoi[i] = new Int[ iNumViews ];
     2312    m_cpPresentFlag[i] = new Bool[ iNumViews ];
     2313    for ( j = 0; j < iNumViews; j++)
     2314    {
     2315      m_cpRefVoi[i][j] = 0;
     2316      m_cpPresentFlag[i][j] = false;
     2317    }
     2318#endif
    22232319    for ( j = 0; j < 2; j++ )
    22242320    {
     
    22392335  Int i = 0, j = 0;
    22402336
     2337#if !HHI_CAM_PARA_K0052
    22412338  if ( m_bCamParPresent != NULL )
    22422339  {
     
    22472344    delete [] m_bCamParInSliceHeader;
    22482345  }
     2346#else
     2347  if ( m_numCp != NULL )
     2348  {
     2349    delete [] m_numCp;
     2350  }
     2351
     2352  if ( m_cpRefVoi != NULL )
     2353  {
     2354    for ( i = 0; i < iNumViews ; i++ )
     2355    {
     2356      delete [] m_cpRefVoi[i];
     2357    }
     2358    delete[] m_cpRefVoi;
     2359  }
     2360
     2361  if ( m_cpPresentFlag != NULL )
     2362  {
     2363    for ( i = 0; i < iNumViews ; i++ )
     2364    {
     2365      delete [] m_cpPresentFlag[i];
     2366    }
     2367    delete[] m_cpPresentFlag;
     2368  }
     2369
     2370
     2371  if ( m_cpInSliceSegmentHeaderFlag != NULL )
     2372  {
     2373    delete [] m_cpInSliceSegmentHeaderFlag;
     2374  }
     2375#endif
     2376
    22492377
    22502378  if ( m_aaaiCodedScale != NULL )
     
    22762404
    22772405
    2278 Void
    2279   TComVPS::initCamParaVPS( UInt uiViewIndex, Bool bCamParPresent, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
     2406#if !HHI_CAM_PARA_K0052
     2407Void TComVPS::initCamParaVPS( UInt uiViewIndex, Bool bCamParPresent, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
    22802408{
    22812409  AOT( uiViewIndex != 0 && !bCamParSlice && ( aaiScale == 0 || aaiOffset == 0 ) ); 
     
    22962424  }
    22972425}
     2426#endif
    22982427
    22992428#endif // H_3D
     
    27302859#endif
    27312860#if H_3D
     2861#if !HHI_CAM_PARA_K0052
    27322862, m_bCamParInSliceHeader      (false)
     2863#endif
    27332864#endif
    27342865{
     
    37543885      {
    37553886        Int layerIdInNuh = getRefPicLayerId( i );
     3887#if HHI_RES_PRED_K0052
     3888        TComPic* picV = getIvPic( getIsDepth(), getVPS()->getViewIndex( layerIdInNuh ) );
     3889        assert( picV != NULL );
     3890        std::vector<Int> pocsInCurrRPSsPicV = picV->getSlice(0)->getPocsInCurrRPSs();
     3891        Bool refRpRefAvailFlag = false;
     3892        for (Int idx = 0; idx < pocsInCurrRPSsPicV.size(); idx++)
     3893        {
     3894          if ( pocsInCurrRPSsPicV[idx] == prevPOC )
     3895          {
     3896            refRpRefAvailFlag = true;
     3897            break;
     3898          }
     3899        }
     3900
     3901        if (getFirstTRefIdx(eRefPicList) >= 0 && refRpRefAvailFlag )
     3902#else
    37563903        Int viewIdx = getVPS()->getViewId( layerIdInNuh );
    37573904        TComPic*pcPicPrev = ivPicLists->getPic(viewIdx, 0, prevPOC);
    37583905        if (getFirstTRefIdx(eRefPicList) >= 0 && pcPicPrev && pcPicPrev->getSlice( 0 )->isReferenced())
     3906#endif
    37593907        {
    37603908          m_arpRefPicAvailable[eRefPicList][layerIdInNuh] = true;
     
    39294077#if H_3D_NBDV_REF
    39304078  setupLUT = setupLUT || getDepthRefinementFlag( );
    3931 #endif
     4079#endif  
    39324080
    39334081#if H_3D_IV_MERGE
     
    39394087    return;
    39404088
     4089#if HHI_CAM_PARA_K0052
     4090  m_numViews = getVPS()->getNumViews();
     4091#endif
    39414092  /// GT: Allocation should be moved to a better place later;
    39424093  if ( m_depthToDisparityB == NULL )
    39434094  {
     4095#if HHI_CAM_PARA_K0052   
     4096    m_depthToDisparityB = new Int*[ m_numViews ];
     4097    for ( Int i = 0; i < getVPS()->getNumViews(); i++ )
     4098#else
    39444099    m_depthToDisparityB = new Int*[ getViewIndex() ];
    39454100    for ( Int i = 0; i < getViewIndex(); i++ )
     4101#endif
    39464102    {
    39474103      m_depthToDisparityB[ i ] = new Int[ Int(1 << g_bitDepthY) ];
     
    39494105  }
    39504106
     4107 
    39514108  if ( m_depthToDisparityF == NULL )
    39524109  {
     4110#if HHI_CAM_PARA_K0052   
     4111    m_depthToDisparityF = new Int*[ m_numViews ];
     4112    for ( Int i = 0; i < m_numViews; i++ )
     4113#else
    39534114    m_depthToDisparityF= new Int*[ getViewIndex() ];
    39544115    for ( Int i = 0; i < getViewIndex(); i++ )
     4116#endif
    39554117    {
    39564118      m_depthToDisparityF[ i ] = new Int[ Int(1 << g_bitDepthY) ];
     
    39634125  TComVPS* vps = getVPS();
    39644126
     4127#if HHI_CAM_PARA_K0052
     4128  Int log2Div = g_bitDepthY - 1 + vps->getCpPrecision();
     4129  Int voiInVps = vps->getVoiInVps( getViewIndex() );
     4130  Bool camParaSH = vps->getCpInSliceSegmentHeaderFlag( voiInVps ); 
     4131
     4132  Int* codScale     = camParaSH ? m_aaiCodedScale [ 0 ] : vps->getCodedScale    ( voiInVps );
     4133  Int* codOffset    = camParaSH ? m_aaiCodedOffset[ 0 ] : vps->getCodedOffset   ( voiInVps );
     4134  Int* invCodScale  = camParaSH ? m_aaiCodedScale [ 1 ] : vps->getInvCodedScale ( voiInVps );
     4135  Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : vps->getInvCodedOffset( voiInVps );
     4136
     4137
     4138  for (Int i = 0; i < voiInVps; i++)
     4139  {
     4140    Int iInVoi = vps->getVoiInVps( i );
     4141#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC
     4142    if ( g_traceCameraParameters )
     4143    {
     4144      std::cout << std::endl << "Cp: " << codScale   [ iInVoi ] << " " <<    codOffset[ iInVoi ] << " "
     4145                << invCodScale[ iInVoi ] << " " << invCodOffset[ iInVoi ] << " " << log2Div;
     4146    }
     4147#endif
     4148    for ( Int d = 0; d <= ( ( 1 << g_bitDepthY ) - 1 ); d++ )
     4149    {     
     4150      Int offset =    ( codOffset  [ iInVoi ] << g_bitDepthY ) + ( ( 1 << log2Div ) >> 1 );         
     4151      m_depthToDisparityB[ iInVoi ][ d ] = ( codScale [ iInVoi ] * d + offset ) >> log2Div;
     4152
     4153      Int invOffset = ( invCodOffset[ iInVoi ] << g_bitDepthY ) + ( ( 1 << log2Div ) >> 1 );         
     4154      m_depthToDisparityF[ iInVoi ][ d ] = ( invCodScale[ iInVoi ] * d + invOffset ) >> log2Div;
     4155    }
     4156  }
     4157#else
    39654158  Int log2Div = g_bitDepthY - 1 + vps->getCamParPrecision();
     4159
    39664160  Int viewIndex = getViewIndex();
    39674161
     
    39844178    }
    39854179  }
     4180#endif
    39864181}
    39874182#endif
     
    40234218
    40244219#if H_3D
    4025 
    40264220Void TComSlice::init3dToolParameters()
    40274221{
    40284222  Bool depthFlag = getIsDepth();
    40294223
     4224#if !HHI_INTER_COMP_PRED_K0052
    40304225  Bool depthOfRefViewsAvailFlag = false;
    40314226  Bool textOfCurViewAvailFlag = false;
     
    40724267    }
    40734268  }
     4269
    40744270
    40754271  Bool lidG0  = ( getLayerId() > 0 );
     
    40884284  m_intraSdcWedgeFlag      = sps3dExt->getIntraSdcWedgeFlag    ( depthFlag ) && lidG0                                     ;                         
    40894285  m_qtPredFlag             = sps3dExt->getQtPredFlag           ( depthFlag ) && lidG0           &&   textOfCurViewAvailFlag;
    4090   m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag ) && lidG0                                    ;                               
     4286  m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag ) && lidG0                                    ; 
     4287#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     4288  m_depthIntraSkipFlag     = sps3dExt->getDepthIntraSkipFlag   ( depthFlag ) && lidG0                                    ;                         
     4289#else
    40914290  m_intraSingleFlag        = sps3dExt->getIntraSingleFlag      ( depthFlag ) && lidG0                                    ;                         
     4291#endif
    40924292
    40934293  m_subPbSize              = lidG0 ? ( 1 << ( sps3dExt->getLog2SubPbSizeMinus3   ( depthFlag ) + 3 ) ) : getSPS()->getMaxCUWidth(); 
    40944294  m_mpiSubPbSize           = 1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 );
     4295#else
     4296  Bool nRLLG0 =  ( getVPS()->getNumRefListLayers( getLayerId() ) > 0 );     
     4297
     4298  TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension();
     4299
     4300  m_ivMvPredFlag           = sps3dExt->getIvMvPredFlag         ( depthFlag ) && nRLLG0                       ;                             
     4301  m_ivMvScalingFlag        = sps3dExt->getIvMvScalingFlag      ( depthFlag )                                 ;                             
     4302  m_ivResPredFlag          = sps3dExt->getIvResPredFlag        ( depthFlag ) && nRLLG0                       ;                               
     4303#if HHI_CAM_PARA_K0052
     4304  m_depthRefinementFlag    = sps3dExt->getDepthRefinementFlag  ( depthFlag )           && getInCompPredFlag() && m_cpAvailableFlag;
     4305  m_viewSynthesisPredFlag  = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && nRLLG0 && getInCompPredFlag() && m_cpAvailableFlag;
     4306#else
     4307  m_depthRefinementFlag    = sps3dExt->getDepthRefinementFlag  ( depthFlag )           && getInCompPredFlag();                           
     4308  m_viewSynthesisPredFlag  = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && nRLLG0 && getInCompPredFlag();                           
     4309#endif
     4310  m_depthBasedBlkPartFlag  = sps3dExt->getDepthBasedBlkPartFlag( depthFlag )           && getInCompPredFlag();                         
     4311  m_mpiFlag                = sps3dExt->getMpiFlag              ( depthFlag )           && getInCompPredFlag();
     4312  m_intraContourFlag       = sps3dExt->getIntraContourFlag     ( depthFlag )           && getInCompPredFlag();
     4313  m_intraSdcWedgeFlag      = sps3dExt->getIntraSdcWedgeFlag    ( depthFlag )                                 ;                         
     4314  m_qtPredFlag             = sps3dExt->getQtPredFlag           ( depthFlag )           && getInCompPredFlag();
     4315  m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag )                                 ; 
     4316  m_depthIntraSkipFlag     = sps3dExt->getDepthIntraSkipFlag   ( depthFlag )                                 ;                         
     4317
     4318  m_subPbSize              =  1 << ( sps3dExt->getLog2SubPbSizeMinus3   ( depthFlag ) + 3 ); 
     4319  m_mpiSubPbSize           =  1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 );
     4320
     4321#endif
    40954322
    40964323#if H_3D_OUTPUT_ACTIVE_TOOLS
     
    40984325  std::cout << "DepthFlag:              :" << getIsDepth()             << std::endl;
    40994326  std::cout << "ViewOrderIdx:           :" << getViewIndex()           << std::endl;
     4327#if HHI_INTER_COMP_PRED_K0052
     4328  std::cout << "InterCmpPredAvailableFlag:" << getInCmpPredAvailFlag() << std::endl;
     4329  std::cout << "InterCompPredFlag       :"  << getInCompPredFlag()     << std::endl;
     4330  //std::cout << "TextOfCurViewAvailFlag  :" << textOfCurViewAvailFlag   << std::endl;
     4331#else
    41004332  std::cout << "DepthOfRefViewsAvailFlag:" << depthOfRefViewsAvailFlag << std::endl;
    41014333  std::cout << "TextOfCurViewAvailFlag  :" << textOfCurViewAvailFlag   << std::endl;
     4334#endif
    41024335 
    41034336  std::cout << "ivMvPredFlag            :" << m_ivMvPredFlag           << std::endl;
     
    41124345  std::cout << "qtPredFlag              :" << m_qtPredFlag             << std::endl;
    41134346  std::cout << "interSdcFlag            :" << m_interSdcFlag           << std::endl;
     4347#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     4348  std::cout << "depthIntraSkipFlag      :" << m_depthIntraSkipFlag     << std::endl;   
     4349#else
    41144350  std::cout << "intraSingleFlag         :" << m_intraSingleFlag        << std::endl;   
     4351#endif
    41154352  std::cout << "subPbSize               :" << m_subPbSize              << std::endl;
    41164353  std::cout << "mpiSubPbSize            :" << m_mpiSubPbSize           << std::endl;
  • trunk/source/Lib/TLibCommon/TComSlice.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    914914  // VPS EXTENSION 2 SYNTAX ELEMENTS
    915915#if H_3D
     916#if HHI_CAM_PARA_K0052 
     917  Int*        m_numCp; 
     918  Int**       m_cpRefVoi;
     919  Bool**      m_cpPresentFlag;
     920  Int         m_cpPrecision;
     921  Bool*       m_cpInSliceSegmentHeaderFlag;
     922#else
    916923  UInt        m_uiCamParPrecision;
    917924  Bool*       m_bCamParInSliceHeader;
    918925  Bool*       m_bCamParPresent;
     926#endif
    919927  Int         ***m_aaaiCodedScale ;
    920928  Int         ***m_aaaiCodedOffset;
    921929
    922 #if HHI_VIEW_ID_LIST_I5_J0107
     930#if HHI_VIEW_ID_LIST_I5_J0107 ||  HHI_INTER_COMP_PRED_K0052
    923931  std::vector<Int>  m_viewOIdxList;
    924932#endif
    925 
     933#if HHI_INTER_COMP_PRED_K0052
     934  std::vector< std::vector<Bool> > m_viewCompLayerPresentFlag;
     935  std::vector< std::vector<Int>  > m_viewCompLayerId;
     936#endif
    926937#endif
    927938
     
    11521163  Int     getNumViews()                                                    { return m_numViews; }
    11531164  Void    initNumViews();
    1154 #if HHI_VIEW_ID_LIST_I5_J0107
     1165#if HHI_INTER_COMP_PRED_K0052
     1166#if H_3D
     1167  Void   initViewCompLayer( )
     1168  {
     1169    assert( m_viewCompLayerId.size() == 0 && m_viewCompLayerPresentFlag.size() == 0  );
     1170    for( Int i = 0; i < getNumViews(); i++ )
     1171    {
     1172      m_viewCompLayerId         .push_back( std::vector<Int>(0)  );
     1173      m_viewCompLayerPresentFlag.push_back( std::vector<Bool>(0) );     
     1174
     1175      for( Int depFlag = 0; depFlag  <=  1; depFlag++ )
     1176      {
     1177        Int iViewOIdx = getViewOIdxList( i );
     1178        Int layerId = -1;
     1179        for( Int j = 0; j  <=  getMaxLayersMinus1(); j++ )
     1180        {
     1181          Int jNuhLId = getLayerIdInNuh( j );
     1182          if( getVpsDepthFlag( jNuhLId ) == ( (Bool) depFlag )  &&  getViewOrderIdx( jNuhLId )  ==  iViewOIdx 
     1183            &&  getDependencyId( jNuhLId )  ==  0  &&  getAuxId( jNuhLId )  ==  0 )
     1184          {
     1185            layerId = jNuhLId;
     1186          }
     1187        }
     1188        m_viewCompLayerPresentFlag[ i ].push_back( layerId  !=  -1 );
     1189        m_viewCompLayerId         [ i ].push_back( layerId );       
     1190      }
     1191    }
     1192  };
     1193#endif
     1194#endif
     1195
     1196#if HHI_VIEW_ID_LIST_I5_J0107 || HHI_INTER_COMP_PRED_K0052
    11551197  Int     getViewOIdxList( Int i )                                         { return m_viewOIdxList[i]; }
    1156 #endif
    1157 
     1198#if HHI_CAM_PARA_K0052
     1199  std::vector<Int> getViewOIdxList( )                                               { return m_viewOIdxList; }
     1200#endif
     1201#endif
     1202
     1203#if HHI_INTER_COMP_PRED_K0052
     1204#if HHI_CAM_PARA_K0052
     1205  Int     getVoiInVps( Int viewOIdx )                                     
     1206#else
     1207  Int     getInvViewOIdxList( Int viewOIdx )                                     
     1208#endif
     1209  {   
     1210    for ( Int i = 0; i < m_viewOIdxList.size(); i++ )
     1211    {
     1212      if  ( m_viewOIdxList[ i ] == viewOIdx )
     1213      {
     1214        return i;
     1215      }
     1216    }
     1217    assert( 0 );   
     1218    return -1;
     1219  };
     1220
     1221#if HHI_CAM_PARA_K0052
     1222  Bool    getViewCompLayerPresentFlag (Int i, Bool d ) { return  m_viewCompLayerPresentFlag[ getVoiInVps(i) ][d]; }
     1223  Bool    getViewCompLayerId          (Int i, Bool d ) { return  m_viewCompLayerId         [ getVoiInVps(i) ][d]; }
     1224#else
     1225  Bool    getViewCompLayerPresentFlag (Int i, Bool d ) { return  m_viewCompLayerPresentFlag[ getInvViewOIdxList(i) ][d]; }
     1226  Bool    getViewCompLayerId          (Int i, Bool d ) { return  m_viewCompLayerId         [ getInvViewOIdxList(i) ][d]; }
     1227#endif
     1228#endif
    11581229  Bool    getDependencyFlag( Int i, Int j )                                { return m_dependencyFlag[i][j]; }
    11591230  Int     getNumDirectRefLayers( Int layerIdInNuh )                        { return m_numDirectRefLayers[ layerIdInNuh ];  };                               
     
    12761347  Void createCamPars(Int iNumViews);
    12771348  Void deleteCamPars();
     1349#if HHI_CAM_PARA_K0052
     1350  Void initCamParaVPS( Int vOIdxInVps, Int numCp, Bool cpInSliceSegmentHeaderFlag, Int* cpRefVoi, Int** aaiScale, Int** aaiOffset );
     1351#else
    12781352  Void initCamParaVPS      (  UInt uiViewIndex, Bool bCamParPresent = false, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
     1353#endif
     1354 
     1355#if HHI_CAM_PARA_K0052
     1356
     1357  Void setCpPrecision( Int  val ) { m_cpPrecision = val; }
     1358  Int  getCpPrecision(  ) { return m_cpPrecision; }
     1359
     1360  Void setNumCp( Int i, Int  val ) { m_numCp[i] = val; }
     1361  Int  getNumCp( Int i )           { return m_numCp[i]; }
     1362
     1363  Void setCpRefVoi( Int i, Int m, Int  val ) { m_cpRefVoi[i][m] = val; }
     1364  Int  getCpRefVoi( Int i, Int m )           { return m_cpRefVoi[i][m]; }   
     1365 
     1366  Void setCpInSliceSegmentHeaderFlag( Int i, Bool flag ) { m_cpInSliceSegmentHeaderFlag[i] = flag; }
     1367  Bool getCpInSliceSegmentHeaderFlag( Int i )            { return m_cpInSliceSegmentHeaderFlag[i]; }
     1368 
     1369  Void setVpsCpScale( Int i, Int j, Int  val ) { m_aaaiCodedScale [i][0][j] = val; }
     1370  Int  getVpsCpScale( Int i, Int j ) { return m_aaaiCodedScale[i][0][j]; }
     1371
     1372  Void setVpsCpOff( Int i, Int j, Int  val ) { m_aaaiCodedOffset[i][0][j] = val; }
     1373  Int  getVpsCpOff( Int i, Int j ) { return m_aaaiCodedOffset[i][0][j]; }
     1374
     1375  Void setVpsCpInvScale( Int i, Int j, Int  val ) { m_aaaiCodedScale[i][1][j] = val; }
     1376  Int  getVpsCpInvScale( Int i, Int j ) { return m_aaaiCodedScale[i][1][j]; }
     1377
     1378  Void setVpsCpInvOff( Int i, Int j, Int  val ) { m_aaaiCodedOffset[i][1][j] = val; }
     1379  Int  getVpsCpInvOff( Int i, Int j ) { return m_aaaiCodedOffset[i][1][j]; }
     1380
     1381// Derived
     1382  Void deriveCpPresentFlag( )
     1383  {
     1384    for( Int nInVps = 0; nInVps < getNumViews(); nInVps++  )
     1385    {
     1386      for( Int mInVps = 0; mInVps < getNumViews(); mInVps++ )
     1387      {
     1388        m_cpPresentFlag[nInVps][mInVps] = 0;
     1389      }
     1390    }
     1391
     1392   for( Int n = 1; n < getNumViews(); n++ )
     1393   {
     1394      Int iInVps = getVoiInVps(  getViewOIdxList( n ) );     
     1395      for( Int m = 0; m < getNumCp( iInVps ); m++ )
     1396      {
     1397         m_cpPresentFlag[ iInVps ][ getVoiInVps( getCpRefVoi( iInVps, m ) ) ] = 1;
     1398      }
     1399    }
     1400  }
     1401
     1402  Void setCpPresentFlag( Int i, Int m, Bool flag ) { m_cpPresentFlag[i][m] = flag; }
     1403  Bool getCpPresentFlag( Int i, Int m )           { return m_cpPresentFlag[i][m]; }   
     1404
     1405#else
    12791406  UInt getCamParPrecision    ()  { return m_uiCamParPrecision; }
     1407
    12801408  Bool getCamParPresent      ( Int viewIndex )  { return m_bCamParPresent[viewIndex]; }
    12811409  Void setCamParPresent      ( Int viewIndex, Bool val )  { m_bCamParPresent[viewIndex] = val; }
    12821410  Bool hasCamParInSliceHeader( Int viewIndex )  { return m_bCamParInSliceHeader[viewIndex]; }
    12831411  Void setHasCamParInSliceHeader( Int viewIndex, Bool b )  { m_bCamParInSliceHeader[viewIndex] = b; }
     1412#endif
     1413
     1414
    12841415  Int* getCodedScale         ( Int viewIndex )  { return m_aaaiCodedScale [viewIndex][0]; }
    12851416  Int* getCodedOffset        ( Int viewIndex )  { return m_aaaiCodedOffset[viewIndex][0]; }
     
    15741705      m_qtPredFlag            [d] = false;
    15751706      m_interSdcFlag          [d] = false;
    1576       m_intraSingleFlag       [d] = false;   
     1707#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1708      m_depthIntraSkipFlag    [d] = false;   
     1709#else
     1710      m_intraSingleFlag       [d] = false;
     1711#endif
    15771712    }
    15781713  }
     
    16171752  Bool getInterSdcFlag( Int d ) { return m_interSdcFlag[d]; }
    16181753
     1754#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1755  Void setDepthIntraSkipFlag( Int d, Bool flag ) { m_depthIntraSkipFlag[d] = flag; }
     1756  Bool getDepthIntraSkipFlag( Int d ) { return m_depthIntraSkipFlag[d]; }
     1757#else
    16191758  Void setIntraSingleFlag( Int d, Bool flag ) { m_intraSingleFlag[d] = flag; }
    16201759  Bool getIntraSingleFlag( Int d ) { return m_intraSingleFlag[d]; }
     1760#endif
    16211761
    16221762private:
     
    16351775  Bool        m_qtPredFlag            [2];
    16361776  Bool        m_interSdcFlag          [2];
     1777#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1778  Bool        m_depthIntraSkipFlag    [2]; 
     1779#else
    16371780  Bool        m_intraSingleFlag       [2]; 
     1781#endif
    16381782};
    16391783
     
    17401884#if H_3D
    17411885  TComSps3dExtension m_sps3dExtension;
     1886#if !HHI_CAM_PARA_K0052
    17421887  UInt        m_uiCamParPrecision;
    17431888  Bool        m_bCamParInSliceHeader;
     1889#endif
    17441890  Int         m_aaiCodedScale [2][MAX_NUM_LAYERS];
    17451891  Int         m_aaiCodedOffset[2][MAX_NUM_LAYERS];
     
    17591905  Void setChromaFormatIdc (Int i)    { m_chromaFormatIdc = i;          }
    17601906
     1907#if H_3D_DISABLE_CHROMA
     1908  static Int getWinUnitX (Int chromaFormatIdc) { assert (chromaFormatIdc >= 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitX[chromaFormatIdc];      }
     1909  static Int getWinUnitY (Int chromaFormatIdc) { assert (chromaFormatIdc >= 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitY[chromaFormatIdc];      }
     1910#else
    17611911  static Int getWinUnitX (Int chromaFormatIdc) { assert (chromaFormatIdc > 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitX[chromaFormatIdc];      }
    17621912  static Int getWinUnitY (Int chromaFormatIdc) { assert (chromaFormatIdc > 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitY[chromaFormatIdc];      }
     1913#endif
    17631914 
    17641915  // structure
     
    23662517  UInt                 m_nARPStepNum;
    23672518  Int         m_aiFirstTRefIdx    [2];
     2519#if HHI_RES_PRED_K0052
     2520  std::vector<Int> m_pocsInCurrRPSs;
     2521#endif
    23682522#endif
    23692523#if H_3D_IC
     
    23722526#endif
    23732527#if H_3D
     2528#if HHI_INTER_COMP_PRED_K0052
     2529  std::vector<Int> m_inCmpRefViewIdcs;
     2530  Bool       m_inCmpPredAvailFlag;
     2531  Bool       m_inCmpPredFlag;
     2532#endif
     2533#if HHI_CAM_PARA_K0052
     2534  Bool       m_cpAvailableFlag;
     2535  Int        m_numViews;
     2536#endif
    23742537  TComPic*   m_ivPicsCurrPoc [2][MAX_NUM_LAYERS]; 
    23752538  Int**      m_depthToDisparityB;
     
    23772540#endif
    23782541#endif
     2542#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2543  Bool      m_bApplyDIS;
     2544#else
    23792545#if H_3D_SINGLE_DEPTH
    23802546  Bool      m_bApplySingleDepthMode;
     2547#endif
    23812548#endif
    23822549#if H_3D_IC
     
    23982565  Bool m_qtPredFlag           ;
    23992566  Bool m_interSdcFlag         ;
     2567#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2568  Bool m_depthIntraSkipFlag   ;
     2569#else
    24002570  Bool m_intraSingleFlag      ;
    2401 
     2571#endif
    24022572  Int  m_mpiSubPbSize         ;
    24032573  Int  m_subPbSize            ;
     
    24672637  Int       getRefPOC           ( RefPicList e, Int iRefIdx)    { return  m_aiRefPOCList[e][iRefIdx];   }
    24682638#if H_3D
     2639#if HHI_INTER_COMP_PRED_K0052
     2640  Bool      getInCmpPredAvailFlag( )                             { return m_inCmpPredAvailFlag;    }
     2641#if HHI_CAM_PARA_K0052
     2642  Bool      getCpAvailableFlag( )                             { return m_cpAvailableFlag;    }
     2643#endif
     2644  Bool      getInCompPredFlag( )                                 { return m_inCmpPredFlag;         }   
     2645  Void      setInCompPredFlag( Bool b )                          { m_inCmpPredFlag = b;            }   
     2646  Int       getInCmpRefViewIdcs( Int i )                         { return m_inCmpRefViewIdcs  [i]; }
     2647  Int       getNumCurCmpLIds( )                                  { return (Int) m_inCmpRefViewIdcs.size(); }
     2648#endif
    24692649  TComPic*  getIvPic            ( Bool depthFlag, Int viewIndex){ return  m_ivPicsCurrPoc[ depthFlag ? 1 : 0 ][ viewIndex ]; }
    24702650#endif
     
    25682748  UInt getTLayer             ()                            { return m_uiTLayer;                      }
    25692749  Void setTLayer             ( UInt uiTLayer )             { m_uiTLayer = uiTLayer;                  }
     2750#if H_MV
     2751  Int getTemporalId          ( )                           { return (Int) m_uiTLayer;                }
     2752#endif
    25702753
    25712754  Void setTLayerInfo( UInt uiTLayer );
     
    26922875  Void      setFirstTRefIdx        ( RefPicList e, Int i )         { m_aiFirstTRefIdx[e]    = i;      }
    26932876  Bool      getArpRefPicAvailable( RefPicList e, Int viewIdx) {return m_arpRefPicAvailable[e][getVPS()->getLayerIdInNuh(viewIdx, 0)]; }
     2877#if HHI_RES_PRED_K0052
     2878  std::vector<Int> getPocsInCurrRPSs()                             { return m_pocsInCurrRPSs; };
     2879#endif
    26942880#endif
    26952881  Void      setIsDepth            ( Bool isDepth )   { m_isDepth = isDepth; }
     
    27002886  Int*      getInvCodedScale      ()  { return m_aaiCodedScale [1]; }
    27012887  Int*      getInvCodedOffset     ()  { return m_aaiCodedOffset[1]; }
     2888#if HHI_CAM_PARA_K0052
     2889  Void      setCpScale( Int j, Int  val ) { m_aaiCodedScale[0][j] = val; }
     2890  Int       getCpScale( Int j ) { return m_aaiCodedScale[0][j]; }
     2891           
     2892  Void      setCpOff( Int j, Int  val ) { m_aaiCodedOffset[0][j] = val; }
     2893  Int       getCpOff( Int j ) { return m_aaiCodedOffset[0][j]; }
     2894           
     2895  Void      setCpInvScale( Int j, Int  val ) { m_aaiCodedScale[1][j] = val; }
     2896  Int       getCpInvScale( Int j ) { return m_aaiCodedScale[1][j]; }
     2897           
     2898  Void      setCpInvOff( Int j, Int  val ) { m_aaiCodedOffset[1][j] = val; }
     2899  Int       getCpInvOff( Int j ) { return m_aaiCodedOffset[1][j]; }
     2900#endif
     2901
    27022902#endif
    27032903#endif
     
    27062906  Void    setDepthToDisparityLUTs();
    27072907
     2908#if HHI_CAM_PARA_K0052
     2909  Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ getVPS()->getVoiInVps( refViewIdx) ]; };
     2910  Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ getVPS()->getVoiInVps( refViewIdx) ]; };
     2911#else
    27082912  Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; };
    27092913  Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; };
     2914#endif
    27102915#endif
    27112916#if H_3D_IC
     
    28103015#if H_3D
    28113016  // 3D-HEVC tool parameters
     3017#if HHI_INTER_COMP_PRED_K0052
     3018  Void deriveInCmpPredAndCpAvailFlag()
     3019  {
     3020    Int numCurCmpLIds = getIsDepth() ? 1 : getNumActiveRefLayerPics();
     3021    std::vector<Int> curCmpLIds;
     3022    if ( getIsDepth() )
     3023    {
     3024      curCmpLIds.push_back( getLayerId() );
     3025    }
     3026    else
     3027    {
     3028      for (Int i = 0; i < numCurCmpLIds; i++)
     3029      {
     3030        curCmpLIds.push_back( getRefPicLayerId( i ) );
     3031      }
     3032    }
     3033
     3034#if HHI_CAM_PARA_K0052
     3035    m_cpAvailableFlag = true;
     3036    m_inCmpRefViewIdcs.clear();
     3037#endif
     3038    Bool allRefCmpLayersAvailFlag = true;
     3039
     3040    for( Int i = 0; i <= numCurCmpLIds - 1; i++ )
     3041    {     
     3042      m_inCmpRefViewIdcs.push_back( getVPS()->getViewOrderIdx( curCmpLIds[ i ] ));
     3043#if HHI_CAM_PARA_K0052
     3044      if( !getVPS()->getCpPresentFlag( getVPS()->getVoiInVps( getViewIndex() ),  getVPS()->getVoiInVps( m_inCmpRefViewIdcs[ i ] ) ) )
     3045      {
     3046        m_cpAvailableFlag = false;
     3047      }
     3048#endif
     3049      Bool refCmpCurLIdAvailFlag = false;
     3050      if( getVPS()->getViewCompLayerPresentFlag( m_inCmpRefViewIdcs[ i ], !getIsDepth() ) )
     3051      {
     3052        Int j = getVPS()->getLayerIdInVps( getVPS()->getViewCompLayerId( m_inCmpRefViewIdcs[ i ],  !getIsDepth() ) );
     3053        if  ( getVPS()->getDirectDependencyFlag( getVPS()->getLayerIdInVps( getLayerId() ) ,  j ) &&
     3054          getVPS()->getSubLayersVpsMaxMinus1( j ) >= getTemporalId()   &&
     3055          ( getTemporalId() == 0 || getVPS()->getMaxTidIlRefPicsPlus1( j , getVPS()->getLayerIdInVps( getLayerId() ) ) > getTemporalId() )       
     3056          )
     3057        {
     3058          refCmpCurLIdAvailFlag = true;
     3059        }
     3060      }
     3061      if( !refCmpCurLIdAvailFlag )
     3062      {
     3063        allRefCmpLayersAvailFlag = false;
     3064      }
     3065    }
     3066
     3067    if( !allRefCmpLayersAvailFlag )
     3068    {
     3069      m_inCmpPredAvailFlag = false;
     3070    } 
     3071    else
     3072    {
     3073      TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension();
     3074      if( !getIsDepth() )
     3075      {
     3076        m_inCmpPredAvailFlag = sps3dExt->getViewSynthesisPredFlag( getIsDepth() ) ||
     3077          sps3dExt->getDepthBasedBlkPartFlag( getIsDepth() ) ||
     3078          sps3dExt->getDepthRefinementFlag  ( getIsDepth() );                           
     3079      }
     3080      else
     3081      {
     3082        m_inCmpPredAvailFlag = sps3dExt->getIntraContourFlag( getIsDepth() ) ||
     3083          sps3dExt->getQtPredFlag( getIsDepth() ) ||
     3084          sps3dExt->getMpiFlag( getIsDepth() );                                 
     3085      }
     3086    } 
     3087  };
     3088
     3089#endif
     3090
    28123091  Void init3dToolParameters();   
     3092#if HHI_INTER_COMP_PRED_K0052
     3093  Void checkInCompPredRefLayers()
     3094  {
     3095    if ( getInCompPredFlag() )
     3096    {
     3097      for (Int i = 0; i < getNumCurCmpLIds(); i++ )
     3098      {
     3099        assert( getIvPic(!getIsDepth(), getInCmpRefViewIdcs( i ) ) != NULL );       
     3100        //  It is a requirement of bitstream conformance that there
     3101        //  is a picture in the DPB with PicOrderCntVal equal to the PicOrderCntVal of the current picture,
     3102        //  and a nuh_layer_id value equal to ViewCompLayerId[ inCmpRefViewIdcs[ i ] ][ !DepthFlag ].
     3103      }
     3104    }
     3105  };
     3106
     3107#endif
    28133108  Bool getIvMvPredFlag           ( ) { return m_ivMvPredFlag           ; };
    28143109  Bool getIvMvScalingFlag        ( ) { return m_ivMvScalingFlag        ; };
     
    28223117  Bool getQtPredFlag             ( ) { return m_qtPredFlag             ; };
    28233118  Bool getInterSdcFlag           ( ) { return m_interSdcFlag           ; };
     3119#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     3120  Bool getDepthIntraSkipFlag     ( ) { return m_depthIntraSkipFlag     ; };
     3121#else
    28243122  Bool getIntraSingleFlag        ( ) { return m_intraSingleFlag        ; };
     3123#endif
    28253124
    28263125  Int  getMpiSubPbSize           ( ) { return m_mpiSubPbSize           ; };
  • trunk/source/Lib/TLibCommon/TComTrQuant.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComTrQuant.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComWedgelet.cpp

    r1084 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    177177}
    178178
     179#if SHARP_DMM_CLEAN_K0042
     180Void TComWedgelet::generateWedgePatternByRotate(const TComWedgelet &rcWedge, Int rotate)
     181{
     182  Int stride = m_uiWidth;
     183  Int sinc, offsetI, offsetJ;
     184 
     185  sinc = 1;
     186  offsetI = ( sinc) < 0 ? stride-1 : 0; // 0
     187  offsetJ = (-sinc) < 0 ? stride-1 : 0; // stride - 1
     188
     189  for (Int y = 0; y < stride; y++)
     190  {
     191    for (Int x = 0; x < stride; x++)
     192    {
     193      Int i = offsetI + sinc * y; // y
     194      Int j = offsetJ - sinc * x; // stride - 1 - x
     195      m_pbPattern[(y * stride) + x] = !rcWedge.m_pbPattern[(j * stride) + i];
     196    }
     197  }
     198  Int blocksize = rcWedge.m_uiWidth * (rcWedge.m_eWedgeRes == HALF_PEL ? 2 : 1);
     199  Int offsetX = (-sinc) < 0 ? blocksize - 1 : 0;
     200  Int offsetY = ( sinc) < 0 ? blocksize - 1 : 0;
     201  m_uhXs = offsetX - sinc * rcWedge.m_uhYs;
     202  m_uhYs = offsetY + sinc * rcWedge.m_uhXs;
     203  m_uhXe = offsetX - sinc * rcWedge.m_uhYe;
     204  m_uhYe = offsetY + sinc * rcWedge.m_uhXe;
     205  m_uhOri = rotate;
     206  m_eWedgeRes = rcWedge.m_eWedgeRes;
     207  m_bIsCoarse = rcWedge.m_bIsCoarse;
     208  m_uiAng = rcWedge.m_uiAng;
     209  m_uiWidth  = rcWedge.m_uiWidth;
     210  m_uiHeight = rcWedge.m_uiHeight;
     211}
     212#endif
     213
    179214Void TComWedgelet::xGenerateWedgePattern()
    180215{
     
    193228  xDrawEdgeLine( uhXs, uhYs, uhXe, uhYe, pbTempPattern, iTempStride );
    194229
     230#if SHARP_DMM_CLEAN_K0042
     231  Int shift = (m_eWedgeRes == HALF_PEL) ? 1 : 0;
     232  Int endPos = uhYe>>shift;
     233  for (Int y = 0; y <= endPos; y++)
     234  {
     235    for (Int x = 0; x < m_uiWidth && pbTempPattern[(y * m_uiWidth) + x] == 0; x++)
     236    {
     237      pbTempPattern[(y * m_uiWidth) + x] = true;
     238    }
     239  }
     240  for( UInt k = 0; k < (m_uiWidth * m_uiHeight); k++ )
     241  {
     242    m_pbPattern[k] = pbTempPattern[k];
     243  };
     244#else
    195245  switch( m_uhOri )
    196246  {
     
    252302    break;
    253303  }
     304#endif
    254305
    255306  if( pbTempPattern )
     
    294345  for( Int x = x0; x <= x1; x++ )
    295346  {
     347#if SHARP_DMM_CLEAN_K0042
     348    Int shift = (m_eWedgeRes == HALF_PEL) ? 1 : 0;
     349    Int stride = iPatternStride >> shift;
     350    if( steep ) { pbPattern[((x>>shift) * stride) + (y>>shift)] = true; }
     351    else        { pbPattern[((y>>shift) * stride) + (x>>shift)] = true; }
     352#else
    296353    if( steep ) { pbPattern[(x * iPatternStride) + y] = true; }
    297354    else        { pbPattern[(y * iPatternStride) + x] = true; }
     355#endif
    298356
    299357    error += deltaerr;
  • trunk/source/Lib/TLibCommon/TComWedgelet.h

    r1084 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    124124  Bool*           getScaledPattern(UInt uiWidth);
    125125
     126#if SHARP_DMM_CLEAN_K0042
     127  Void  generateWedgePatternByRotate(const TComWedgelet &rcWedge, Int rotate);
     128#endif
    126129  Void  setWedgelet( UChar uhXs, UChar uhYs, UChar uhXe, UChar uhYe, UChar uhOri, WedgeResolution eWedgeRes, Bool bIsCoarse = false );
    127130  Void  findClosestAngle();
  • trunk/source/Lib/TLibCommon/TComWeightPrediction.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComWeightPrediction.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComYuv.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TComYuv.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibCommon/TypeDef.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6565#define H_3D          ( HEVC_EXT == 2)
    6666
     67#if H_MV
     68#define SONY_MV_V_CONST_C0078            1   // Control disparity vector search range via configuration file
     69#define H_MV_FIX_CONF_WINDOW             1   
     70#endif
     71
    6772#define NTT_BUG_FIX_TK54    1
    6873#define BUG_FIX_TK65        1
    6974
    7075#define MTK_I0093           1
     76
     77#define RWTH_DBBP_NO_SATD_K0028       1
    7178/////////////////////////////////////////////////////////////////////////////////////////
    7279///////////////////////////////////   MAJOR DEFINES   /////////////////////////////////// 
     
    7885
    7986#if H_3D
     87#define SEC_DEPTH_INTRA_SKIP_MODE_K0033   1   // Depth intra skip mode
     88
     89#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     90#define NEIGHBORING_PIX_AVAILABILITY_FIX  1
     91#endif
     92
     93
    8094#define H_3D_QTLPC                        1   // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
    8195                                              // HHI_QTLPC_RAU_OFF_C0160 JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units
     
    117131#define SEC_ARP_VIEW_REF_CHECK_J0037      1   // Signaling iv_res_pred_weight_idx when the current slice has both view and temporal reference picture(s), JCT3V-J0037 item1
    118132
     133#define SEC_ARP_REM_ENC_RESTRICT_K0035    1   // Removal of encoder restriction of ARP, JCT3V-K0035
     134
    119135#define H_3D_IC                           1   // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060
    120136                                              // Unifying rounding offset, for IC part, JCT3V-D0135
     
    185201                                              // SEC_SIMP_SHIFTED_DV_I0086     Simplification of Shifted DV candidate, JCT3V-I0086
    186202
    187 
     203#define SEC_SHIFTED_IVMC_POS_K0036        1   // Position Derivation for Shifted-IVMC, JCT3V-K0036
    188204
    189205
    190206#define H_3D_TMVP                         1   // QC_TMVP_C0047
    191207                                              // Sony_M23639
     208#if H_3D_TMVP
     209#define H_3D_TMVP_SCALING_FIX_K0053       1   // QC/CY for K0053
     210#endif
    192211
    193212#define H_3D_DIM                          1   // DIM, Depth intra modes, includes:
     
    239258                                              // SHARP_DLT_SIMP_J0029              1   // DLT(DepthValue2Idx[]) table derivation cleanup
    240259
     260#if !SEC_DEPTH_INTRA_SKIP_MODE_K0033
    241261#define H_3D_SINGLE_DEPTH                 1   // Single depth mode proposed in JCT3V-I0095
    242262                                              // HS_SP_SIMP_J0066
    243263                                              // SINGLE_DEPTH_SIMP_J0115           1
    244264                                              // MTK_SINGLE_DEPTH_VPS_FLAG_J0060   1   // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060
     265#endif
    245266
    246267#define H_3D_INTER_SDC                    1   // INTER SDC, Inter simplified depth coding
     
    265286                                              // SEC_DBBP_DMM4_THRESHOLD_I0076     Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076
    266287                                              // SEC_DBBP_VIEW_REF_CHECK_J0037     1   // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4
     288#define HS_DBBP_CLEAN_K0048     1
    267289
    268290#define H_3D_DDD                          1   // Disparity derived depth coding
     
    305327// Fixes
    306328
     329#define FIX_TICKET_95                          1   // pps_scaling_list_ref_layer_id parsing
    307330
    308331#if H_3D
     332#define H_3D_DISABLE_CHROMA                    1
    309333#define HHI_VIEW_ID_LIST_I5_J0107              0
     334#define HHI_INTER_COMP_PRED_K0052              1
     335#define HHI_RES_PRED_K0052                     1
     336#define HHI_CAM_PARA_K0052                     1
     337#define HHI_MOVE_SYN_K0052                     1
     338#define H_3D_ANNEX_SELECTION_FIX               1
     339#define H_3D_TMVP_FIX_TICKET_97                1
     340#define H_3D_DIRECT_DEP_TYPE                   1
     341#define H_3D_FIX_TMVP_SCALING_VIEW_ID          1
    310342#endif
    311343#define H_MV_FIX_REF_LAYER_PIC_FLAG            1
     
    313345#define H_3D_OUTPUT_ACTIVE_TOOLS               0
    314346
     347#if !SEC_DEPTH_INTRA_SKIP_MODE_K0033
    315348///// ***** SINGLE DEPTH MODE *********
    316349#if H_3D_SINGLE_DEPTH
    317350#define SINGLE_DEPTH_MODE_CAND_LIST_SIZE            2 // size of the sample candidate list
    318351
     352#endif
    319353#endif
    320354
     
    350384                                              // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
    351385                                              // LG_ZEROINTRADEPTHRESI_A0087
     386#define SHARP_DMM_CLEAN_K0042             1   // Generate DMM pattern with rotation
    352387
    353388#define TICKET083_IVPFLAG_FIX             1
     389#define SHARP_SUBBLOCK_CLEAN_K0044        1   // Remove unused bipred restriction
     390
    354391#endif
    355392///// ***** VIEW SYNTHESIS PREDICTION *********
  • trunk/source/Lib/TLibDecoder/AnnexBread.cpp

    r872 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/AnnexBread.h

    r964 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/NALread.cpp

    r976 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/NALread.h

    r872 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/SEIread.cpp

    r964 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/SEIread.h

    r884 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/SyntaxElementParser.cpp

    r872 r1179  
    44* granted under this license. 
    55*
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77* All rights reserved.
    88*
     
    5454    return;
    5555  }
    56 #endif
    57   fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     56  if ( !g_disableNumbering )
     57  {
     58#endif
     59  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     60#if H_MV_ENC_DEC_TRAC
     61  }
     62#endif
     63
    5864  if (length < 10)
    5965  {
     
    7581    return;
    7682  }
    77 #endif
    78   fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     83  if ( !g_disableNumbering )
     84  {
     85#endif
     86  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     87#if H_MV_ENC_DEC_TRAC
     88  }
     89#endif
    7990  fprintf( g_hTrace, "%-50s ue(v) : %u\n", pSymbolName, rValue );
    8091  fflush ( g_hTrace );
     
    89100    return;
    90101  }
    91 #endif
    92   fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     102  if ( !g_disableNumbering )
     103  {
     104#endif
     105  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     106#if H_MV_ENC_DEC_TRAC
     107  }
     108#endif
     109
    93110  fprintf( g_hTrace, "%-50s se(v) : %d\n", pSymbolName, rValue );
    94111  fflush ( g_hTrace );
     
    103120    return;
    104121  }
    105 #endif
    106   fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     122  if ( !g_disableNumbering )
     123  {
     124#endif
     125  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     126#if H_MV_ENC_DEC_TRAC
     127  }
     128#endif
    107129  fprintf( g_hTrace, "%-50s u(1)  : %d\n", pSymbolName, rValue );
    108130  fflush ( g_hTrace );
  • trunk/source/Lib/TLibDecoder/SyntaxElementParser.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/TDecBinCoder.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1133 r1179  
    44* granted under this license. 
    55*
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77* All rights reserved.
    88*
     
    3939#include "SEIread.h"
    4040#include "TDecSlice.h"
    41 
     41#if H_3D_ANNEX_SELECTION_FIX
     42#include "TDecTop.h"
     43#endif
    4244//! \ingroup TLibDecoder
    4345//! \{
     
    9193TDecCavlc::TDecCavlc()
    9294{
     95#if !HHI_CAM_PARA_K0052
    9396#if H_3D
    9497  m_aaiTempScale            = new Int* [ MAX_NUM_LAYERS ];
     
    100103  }
    101104#endif
     105#endif
    102106}
    103107
    104108TDecCavlc::~TDecCavlc()
    105109{
     110#if !HHI_CAM_PARA_K0052
    106111#if H_3D
    107112  for( UInt uiVId = 0; uiVId < MAX_NUM_LAYERS; uiVId++ )
     
    112117  delete [] m_aaiTempScale;
    113118  delete [] m_aaiTempOffset;
     119#endif
    114120#endif
    115121}
     
    777783    assert(uiCode <= 3);
    778784    // in the first version we only support chroma_format_idc equal to 1 (4:2:0), so separate_colour_plane_flag cannot appear in the bitstream
     785#if !H_3D_DISABLE_CHROMA
    779786    assert (uiCode == 1);
     787#endif
    780788    if( uiCode == 3 )
    781789    {
     
    10401048      READ_FLAG( uiCode, "qt_pred_flag" ); sps3dExt->setQtPredFlag( d, uiCode == 1 );
    10411049      READ_FLAG( uiCode, "inter_sdc_flag" ); sps3dExt->setInterSdcFlag( d, uiCode == 1 );
     1050#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1051      READ_FLAG( uiCode, "intra_skip_flag" ); sps3dExt->setDepthIntraSkipFlag( d, uiCode == 1 );
     1052#else
    10421053      READ_FLAG( uiCode, "intra_single_flag" ); sps3dExt->setIntraSingleFlag( d, uiCode == 1 );
     1054#endif
    10431055    }
    10441056  }
     
    10511063  READ_FLAG( uiCode, "poc_reset_info_present_flag" ); pcPPS->setPocResetInfoPresentFlag( uiCode == 1 );
    10521064  READ_FLAG( uiCode, "pps_infer_scaling_list_flag" ); pcPPS->setPpsInferScalingListFlag( uiCode == 1 );
     1065#if FIX_TICKET_95
     1066  if (pcPPS->getPpsInferScalingListFlag())
     1067  {
    10531068  READ_CODE( 6, uiCode, "pps_scaling_list_ref_layer_id" ); pcPPS->setPpsScalingListRefLayerId( uiCode );
     1069  }
     1070#else
     1071  READ_CODE( 6, uiCode, "pps_scaling_list_ref_layer_id" ); pcPPS->setPpsScalingListRefLayerId( uiCode );
     1072#endif
    10541073
    10551074  UInt numRefLocOffsets;;
     
    13171336  }
    13181337
     1338#if HHI_INTER_COMP_PRED_K0052
     1339#if H_3D
     1340  pcVPS->initViewCompLayer( );
     1341#endif
     1342#endif
    13191343
    13201344  for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
     
    14661490    for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 1 : 0; i <=  pcVPS->getMaxLayersMinus1(); i++ )
    14671491    {
    1468         READ_CODE( pcVPS->getVpsRepFormatIdxLen(), uiCode, "vps_rep_format_idx[i]" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
     1492      READ_CODE( pcVPS->getVpsRepFormatIdxLen(), uiCode, "vps_rep_format_idx[i]" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
    14691493    }
    14701494  }
     
    19051929Void TDecCavlc::parseVPS3dExtension( TComVPS* pcVPS )
    19061930{
     1931#if HHI_CAM_PARA_K0052
     1932  UInt uiCode;   
     1933  READ_UVLC( uiCode, "cp_precision"); pcVPS->setCpPrecision( uiCode ) ;
     1934 
     1935  for (Int n = 1; n < pcVPS->getNumViews(); n++)
     1936  {
     1937    Int i      = pcVPS->getViewOIdxList( n );
     1938    Int iInVps = pcVPS->getVoiInVps( i );
     1939    READ_CODE( 6, uiCode, "num_cp" ); pcVPS->setNumCp( iInVps, uiCode );
     1940
     1941    if( pcVPS->getNumCp( iInVps ) > 0 )
     1942    {
     1943      READ_FLAG( uiCode, "cp_in_slice_segment_header_flag" ); pcVPS->setCpInSliceSegmentHeaderFlag( iInVps, uiCode == 1 );
     1944      for( Int m = 0; m < pcVPS->getNumCp( iInVps ); m++ )
     1945      {
     1946        READ_UVLC( uiCode, "cp_ref_voi" ); pcVPS->setCpRefVoi( iInVps, m, uiCode );
     1947        if( !pcVPS->getCpInSliceSegmentHeaderFlag( iInVps ) )
     1948        {
     1949          Int j      = pcVPS->getCpRefVoi( iInVps, m );
     1950          Int jInVps = pcVPS->getVoiInVps( j );
     1951          Int iCode;
     1952          READ_SVLC( iCode, "vps_cp_scale" );                pcVPS->setVpsCpScale   ( iInVps, jInVps, iCode );
     1953          READ_SVLC( iCode, "vps_cp_off" );                  pcVPS->setVpsCpOff     ( iInVps, jInVps, iCode );
     1954          READ_SVLC( iCode, "vps_cp_inv_scale_plus_scale" ); pcVPS->setVpsCpInvScale( iInVps, jInVps, iCode - pcVPS->getVpsCpScale( iInVps, jInVps ) );
     1955          READ_SVLC( iCode, "vps_cp_inv_off_plus_off" );     pcVPS->setVpsCpInvOff  ( iInVps, jInVps, iCode - pcVPS->getVpsCpOff  ( iInVps, jInVps ) );
     1956        }
     1957      }
     1958    }   
     1959  }
     1960  pcVPS->deriveCpPresentFlag();
     1961#else
    19071962  UInt uiCode;
    1908 
    19091963
    19101964  UInt uiCamParPrecision = 0;
     
    19552009    }
    19562010  }
     2011#endif
    19572012}
    19582013#endif
     
    20152070#endif
    20162071  rpcSlice->setSPS(sps);
     2072#if !HHI_INTER_COMP_PRED_K0052
    20172073#if H_3D
    20182074  rpcSlice->init3dToolParameters();
     2075#endif
    20192076#endif
    20202077  rpcSlice->setPPS(pps);
     
    21082165    }
    21092166    // in the first version chroma_format_idc is equal to one, thus colour_plane_id will not be present
     2167
     2168#if H_3D_DISABLE_CHROMA
     2169    assert (sps->getChromaFormatIdc() == 1 || rpcSlice->getIsDepth() );
     2170    assert (sps->getChromaFormatIdc() == 0 || !rpcSlice->getIsDepth() );
     2171#else
    21102172    assert (sps->getChromaFormatIdc() == 1 );
     2173#endif
    21112174    // if( separate_colour_plane_flag  ==  1 )
    21122175    //   colour_plane_id                                      u(2)
     
    24052468      }
    24062469    }
     2470#if HHI_INTER_COMP_PRED_K0052
     2471#if H_3D
     2472    if ( getDecTop()->decProcAnnexI() )
     2473    {   
     2474      rpcSlice->deriveInCmpPredAndCpAvailFlag();
     2475      if ( rpcSlice->getInCmpPredAvailFlag() )
     2476      {
     2477        READ_FLAG(uiCode, "in_comp_pred_flag");  rpcSlice->setInCompPredFlag((Bool)uiCode);     
     2478      }
     2479      rpcSlice->init3dToolParameters();
     2480    }
     2481#endif
     2482#endif
    24072483#endif
    24082484    if(sps->getUseSAO())
    24092485    {
    24102486      READ_FLAG(uiCode, "slice_sao_luma_flag");  rpcSlice->setSaoEnabledFlag((Bool)uiCode);
     2487#if H_3D_DISABLE_CHROMA
     2488      if( rpcSlice->getSPS()->getChromaFormatIdc() != 0 )
     2489      {
    24112490      READ_FLAG(uiCode, "slice_sao_chroma_flag");  rpcSlice->setSaoEnabledFlagChroma((Bool)uiCode);
     2491    }
     2492      else
     2493      {
     2494        rpcSlice->setSaoEnabledFlagChroma( false );
     2495      }
     2496     
     2497#else
     2498      READ_FLAG(uiCode, "slice_sao_chroma_flag");  rpcSlice->setSaoEnabledFlagChroma((Bool)uiCode);
     2499#endif
    24122500    }
    24132501
     
    25742662    }
    25752663#if H_3D_IC
     2664#if H_3D_ANNEX_SELECTION_FIX
     2665    else if(    rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE )
     2666             && !rpcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0
     2667             && getDecTop()->decProcAnnexI()
     2668           )
     2669#else
    25762670    else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 )
     2671#endif
    25772672    {
    25782673      UInt uiCodeTmp = 0;
     
    26712766    rpcSlice->setLFCrossSliceBoundaryFlag( (uiCode==1)?true:false);
    26722767
     2768#if HHI_CAM_PARA_K0052
     2769#if H_3D
     2770    if ( getDecTop()->decProcAnnexI() )
     2771    {
     2772      Int voiInVps = vps->getVoiInVps( rpcSlice->getViewIndex() );
     2773      if( vps->getCpInSliceSegmentHeaderFlag( voiInVps ) && !rpcSlice->getIsDepth() )
     2774      {
     2775        for( Int m = 0; m < vps->getNumCp( voiInVps ); m++ )
     2776        {
     2777          Int jInVps = vps->getVoiInVps( vps->getCpRefVoi( voiInVps, m ));
     2778          READ_SVLC( iCode, "cp_scale" );                rpcSlice->setCpScale   ( jInVps, iCode );
     2779          READ_SVLC( iCode, "cp_off" );                  rpcSlice->setCpOff     ( jInVps, iCode );
     2780          READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); rpcSlice->setCpInvScale( jInVps, iCode - rpcSlice->getCpScale   ( jInVps ));
     2781          READ_SVLC( iCode, "cp_inv_off_plus_off" );     rpcSlice->setCpInvOff  ( jInVps, iCode - rpcSlice->getCpOff     ( jInVps ));
     2782        }
     2783      }
     2784    }
     2785#endif
     2786#endif
    26732787  }
    26742788 
     
    26942808  }
    26952809
     2810#if !HHI_CAM_PARA_K0052
    26962811#if H_3D
    26972812#if H_3D_FCO
     
    27112826    rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
    27122827  }
     2828#endif
    27132829#endif
    27142830
     
    29843100  assert(0);
    29853101}
     3102
     3103#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     3104Void TDecCavlc::parseDIS( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
     3105{
     3106  assert(0);
     3107}
     3108#else
    29863109#if H_3D_SINGLE_DEPTH
    29873110Void TDecCavlc::parseSingleDepthMode( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
     
    29903113}
    29913114#endif
     3115#endif
     3116
    29923117Void TDecCavlc::parseCUTransquantBypassFlag( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
    29933118{
     
    31453270{
    31463271  wpScalingParam  *wp;
     3272#if H_3D_DISABLE_CHROMA
     3273  Bool            bChroma     = ( pcSlice->getSPS()->getChromaFormatIdc() != 0 );
     3274#else
    31473275  Bool            bChroma     = true; // color always present in HEVC ?
     3276#endif
    31483277  SliceType       eSliceType  = pcSlice->getSliceType();
    31493278  Int             iNbRef       = (eSliceType == B_SLICE ) ? (2) : (1);
    31503279  UInt            uiLog2WeightDenomLuma, uiLog2WeightDenomChroma;
    31513280  UInt            uiTotalSignalledWeightFlags = 0;
    3152  
     3281
    31533282  Int iDeltaDenom;
    31543283  // decode delta_luma_log2_weight_denom :
     
    31623291    uiLog2WeightDenomChroma = (UInt)(iDeltaDenom + uiLog2WeightDenomLuma);
    31633292  }
     3293  else
     3294  {
     3295    // For some reasons this is also needed to fix a compiler warning when H_3D_DISABLE_CHROMA is equal to 0.
     3296    uiLog2WeightDenomChroma = 0;
     3297  }
     3298
    31643299
    31653300  for ( Int iNumRef=0 ; iNumRef<iNbRef ; iNumRef++ )
  • trunk/source/Lib/TLibDecoder/TDecCAVLC.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5252// Class definition
    5353// ====================================================================================================================
     54#if H_3D_ANNEX_SELECTION_FIX
     55class TDecTop;
     56#endif
    5457
    5558/// CAVLC decoder class
     
    6366  void  parseShortTermRefPicSet            (TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Int idx);
    6467 
     68
     69#if !HHI_CAM_PARA_K0052
    6570#if H_3D
    6671  Int**    m_aaiTempScale;
    6772  Int**    m_aaiTempOffset;
    6873#endif
     74#endif
     75#if H_3D_ANNEX_SELECTION_FIX
     76  TDecTop*  m_decTop;
     77#endif
     78
    6979
    7080public:
     
    108118  Void  parsePPS            ( TComPPS* pcPPS);
    109119#endif
    110 
     120#if H_3D_ANNEX_SELECTION_FIX
     121  Void  setDecTop           ( TDecTop* decTop ) { m_decTop = decTop; };
     122#endif
    111123  Void  parseVUI            ( TComVUI* pcVUI, TComSPS* pcSPS );
    112124  Void  parseSEI            ( SEIMessages& );
     
    124136 
    125137  Void  parseSkipFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     138#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     139  Void  parseDIS            ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     140#else
    126141#if H_3D_SINGLE_DEPTH
    127142  Void  parseSingleDepthMode        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    128 #endif 
     143#endif
     144#endif
    129145  Void  parseCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    130146  Void parseMergeFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
     
    166182  Void  parseScalingList               ( TComScalingList* scalingList );
    167183  Void xDecodeScalingList    ( TComScalingList *scalingList, UInt sizeId, UInt listId);
     184
     185#if H_3D_ANNEX_SELECTION_FIX
     186  TDecTop*  getDecTop()      { return m_decTop; };
     187#endif
     188
    168189protected:
    169190  Bool  xMoreRbspData();
  • trunk/source/Lib/TLibDecoder/TDecCu.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    290290#if H_MV_ENC_DEC_TRAC
    291291  DTRACE_CU_S("=========== coding_unit ===========\n")
     292#if H_MV_ENC_DEC_TRAC
     293#if ENC_DEC_TRACE
     294    stopAtPos  ( pcCU->getSlice()->getPOC(),
     295    pcCU->getSlice()->getLayerId(),
     296    uiLPelX,
     297    uiTPelY,
     298    uiRPelX-uiLPelX+1,
     299    uiBPelY-uiTPelY+1);
     300#endif
     301#endif
     302
    292303#endif
    293304
     
    299310#if H_3D_NBDV
    300311  DisInfo DvInfo;
     312#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    301313  DvInfo.bDV = false;
     314#endif
    302315  DvInfo.m_acNBDV.setZero();
    303316  DvInfo.m_aVIdxCan = 0;
     
    334347      if( pcCU->getSlice()->getIsDepth())
    335348      {
     349#if SEC_ARP_REM_ENC_RESTRICT_K0035
     350        m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo);
     351#else
    336352        DvInfo.bDV = m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo);
     353#endif
    337354      }
    338355      else
     
    342359      if( pcCU->getSlice()->getDepthBasedBlkPartFlag() )  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
    343360      {
     361#if SEC_ARP_REM_ENC_RESTRICT_K0035
     362        m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true);
     363#else
    344364        DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true);
     365#endif
    345366      }
    346367      else
    347368#endif
    348369      {
     370#if SEC_ARP_REM_ENC_RESTRICT_K0035
     371        m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
     372#else
    349373        DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
     374#endif
    350375      }
    351376#if H_3D_IV_MERGE
     
    520545    return;
    521546  }
     547#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     548  m_pcEntropyDecoder->decodeDIS( pcCU, uiAbsPartIdx, uiDepth );
     549  if(!pcCU->getDISFlag(uiAbsPartIdx))
     550  {
     551#else
    522552#if H_3D_SINGLE_DEPTH
    523553  m_pcEntropyDecoder->decodeSingleDepthMode( pcCU, uiAbsPartIdx, uiDepth );
     
    525555  {
    526556#endif
     557#endif
    527558  m_pcEntropyDecoder->decodePredMode( pcCU, uiAbsPartIdx, uiDepth );
    528559  m_pcEntropyDecoder->decodePartSize( pcCU, uiAbsPartIdx, uiDepth );
    529560
     561#if !HHI_MOVE_SYN_K0052
    530562#if H_3D_DIM_SDC
    531563  m_pcEntropyDecoder->decodeSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
    532564#endif
     565#endif
    533566  if (pcCU->isIntra( uiAbsPartIdx ) && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N )
    534567  {
     
    537570    if(pcCU->getIPCMFlag(uiAbsPartIdx))
    538571    {
     572#if HHI_MOVE_SYN_K0052
     573#if H_3D_DIM_SDC
     574      m_pcEntropyDecoder->decodeSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
     575#endif
     576#endif
    539577      xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
    540578#if H_3D_IV_MERGE
     
    550588  // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
    551589  m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
     590
    552591  // Coefficient decoding
    553592  Bool bCodeDQP = getdQPFlag();
    554593  m_pcEntropyDecoder->decodeCoeff( pcCU, uiAbsPartIdx, uiDepth, uiCurrWidth, uiCurrHeight, bCodeDQP );
    555594  setdQPFlag( bCodeDQP );
     595#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     596  }
     597#else
    556598#if H_3D_SINGLE_DEPTH
    557599  }
     600#endif
    558601#endif
    559602  xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
     
    616659 
    617660  m_ppcCU[uiDepth]->copySubCU( pcCU, uiAbsPartIdx, uiDepth );
    618  
    619 #if H_MV_ENC_DEC_TRAC
    620 #if ENC_DEC_TRACE
    621   stopAtPos  ( m_ppcCU[uiDepth]->getSlice()->getPOC(),
    622     m_ppcCU[uiDepth]->getSlice()->getLayerId(),
    623     m_ppcCU[uiDepth]->getCUPelX(),
    624     m_ppcCU[uiDepth]->getCUPelY(),
    625     m_ppcCU[uiDepth]->getWidth(0),
    626     m_ppcCU[uiDepth]->getHeight(0) );
    627 #endif
    628 #endif
    629661
    630662  switch( m_ppcCU[uiDepth]->getPredictionMode(0) )
     
    656688      break;
    657689    case MODE_INTRA:
     690#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     691      if( m_ppcCU[uiDepth]->getDISFlag(0) )
     692      {
     693        xReconDIS( m_ppcCU[uiDepth], 0, uiDepth );
     694      }
     695#if H_3D_DIM_SDC
     696      else if( m_ppcCU[uiDepth]->getSDCFlag(0) )
     697      {
     698        xReconIntraSDC( m_ppcCU[uiDepth], 0, uiDepth );
     699      }
     700#endif
     701      else
     702#else
    658703#if H_3D_SINGLE_DEPTH
    659704      if( m_ppcCU[uiDepth]->getSingleDepthFlag(0) )
     
    671716#endif
    672717#endif
     718#endif
    673719      xReconIntraQT( m_ppcCU[uiDepth], uiDepth );
    674720      break;
     
    704750  }
    705751}
     752
     753#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     754Void TDecCu::xReconDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     755{
     756  UInt uiWidth        = pcCU->getWidth  ( 0 );
     757  UInt uiHeight       = pcCU->getHeight ( 0 );
     758
     759  TComYuv* pcRecoYuv  = m_ppcYuvReco[uiDepth];
     760
     761  UInt    uiStride    = pcRecoYuv->getStride  ();
     762  Pel*    piReco      = pcRecoYuv->getLumaAddr( uiAbsPartIdx );
     763
     764
     765  AOF( uiWidth == uiHeight );
     766  AOF( uiAbsPartIdx == 0 );
     767
     768  Bool  bAboveAvail = false;
     769  Bool  bLeftAvail  = false;
     770  pcCU->getPattern()->initPattern   ( pcCU, 0, uiAbsPartIdx );
     771  pcCU->getPattern()->initAdiPattern( pcCU, uiAbsPartIdx, 0,
     772    m_pcPrediction->getPredicBuf       (),
     773    m_pcPrediction->getPredicBufWidth  (),
     774    m_pcPrediction->getPredicBufHeight (),
     775    bAboveAvail, bLeftAvail
     776    );
     777
     778  if ( pcCU->getDISType(uiAbsPartIdx) == 0 )
     779  {
     780    m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), VER_IDX, piReco, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
     781  }
     782  else if ( pcCU->getDISType(uiAbsPartIdx) == 1 )
     783  {
     784    m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), HOR_IDX, piReco, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
     785  }
     786  else if ( pcCU->getDISType(uiAbsPartIdx) == 2 )
     787  {
     788    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
     789    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 0 );
     790    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     791    {
     792      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     793      {
     794        piReco[ uiX ] = pSingleDepth;
     795      }
     796      piReco+= uiStride;
     797    }
     798  }
     799  else if ( pcCU->getDISType(uiAbsPartIdx) == 3 )
     800  {
     801    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
     802    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 1 );
     803    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     804    {
     805      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     806      {
     807        piReco[ uiX ] = pSingleDepth;
     808      }
     809      piReco+= uiStride;
     810    }
     811  }
     812
     813  // clear UV
     814  UInt  uiStrideC     = pcRecoYuv->getCStride();
     815  Pel   *pRecCb       = pcRecoYuv->getCbAddr();
     816  Pel   *pRecCr       = pcRecoYuv->getCrAddr();
     817
     818  for (Int y=0; y<uiHeight/2; y++)
     819  {
     820    for (Int x=0; x<uiWidth/2; x++)
     821    {
     822      pRecCb[x] = 1<<(g_bitDepthC-1);
     823      pRecCr[x] = 1<<(g_bitDepthC-1);
     824    }
     825
     826    pRecCb += uiStrideC;
     827    pRecCr += uiStrideC;
     828  }
     829}
     830#else
    706831#if H_3D_SINGLE_DEPTH
    707832Void TDecCu::xReconIntraSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     
    772897}
    773898#endif
     899#endif
     900
    774901#if H_3D_INTER_SDC
    775902Void TDecCu::xReconInterSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     
    835962  // compute mask by segmenting depth block
    836963  Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE];
     964#if HS_DBBP_CLEAN_K0048
     965  Bool bValidMask = m_pcPrediction->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, pcCU->getWidth(0), pcCU->getHeight(0), pMask, pcCU);
     966#else
    837967  Bool bValidMask = m_pcPrediction->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, pcCU->getWidth(0), pcCU->getHeight(0), pMask);
     968#endif
    838969  AOF(bValidMask);
    839970 
  • trunk/source/Lib/TLibDecoder/TDecCu.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    123123  Void setdQPFlag               ( Bool b )                { m_bDecodeDQP = b;           }
    124124  Void xFillPCMBuffer           (TComDataCU* pCU, UInt depth);
     125#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     126  Void xReconDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     127#else
    125128#if H_3D_SINGLE_DEPTH
    126129  Void xReconIntraSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     130#endif
    127131#endif
    128132#if H_3D_DIM_SDC
  • trunk/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5252  m_pcEntropyDecoderIf->parseSkipFlag( pcCU, uiAbsPartIdx, uiDepth );
    5353}
     54
     55#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     56Void TDecEntropy::decodeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     57{
     58  if( !pcCU->getSlice()->getDepthIntraSkipFlag() )
     59  {
     60    return;
     61  } 
     62
     63  m_pcEntropyDecoderIf->parseDIS( pcCU, uiAbsPartIdx, uiDepth );
     64}
     65#else
    5466#if H_3D_SINGLE_DEPTH
    5567Void TDecEntropy::decodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     
    6375}
    6476#endif
     77#endif
     78
    6579Void TDecEntropy::decodeCUTransquantBypassFlag(TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    6680{
     
    147161{
    148162  m_pcEntropyDecoderIf->parsePartSize( pcCU, uiAbsPartIdx, uiDepth );
    149  
     163#if !HHI_MOVE_SYN_K0052 
    150164#if H_3D_DBBP
    151165if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     
    154168  }
    155169#endif
     170#endif
    156171}
    157172
     
    161176  {
    162177    decodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx, uiDepth );
     178#if HHI_MOVE_SYN_K0052
     179    decodeSDCFlag   ( pcCU, uiAbsPartIdx, uiDepth );   
     180#endif
    163181#if H_3D_DIM_SDC
     182#if H_3D_DISABLE_CHROMA
     183#if !HHI_MOVE_SYN_K0052
     184    if(!pcCU->getSDCFlag(uiAbsPartIdx) && !pcCU->getSlice()->getIsDepth() )
     185#else
     186    if(!pcCU->getSDCFlag(uiAbsPartIdx) && pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0  )
     187#endif
     188#else
    164189    if(!pcCU->getSDCFlag(uiAbsPartIdx))
     190#endif
    165191#endif
    166192    decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth );
     
    239265  pcSubCU->copyDVInfoFrom( pcCU, uiAbsPartIdx);
    240266#endif
     267#if HHI_MOVE_SYN_K0052
    241268  for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
    242269  {
     
    247274    //DTRACE_PU("x1", uiTPelY)
    248275#endif
     276
     277    ////// Parse PUs syntax
    249278    decodeMergeFlag( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
    250279    if ( pcCU->getMergeFlag( uiSubPartIdx ) )
    251280    {
    252       decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth );
     281      decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth );     
     282    }
     283    else
     284    {
     285      decodeInterDirPU( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
     286      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     287      {       
     288        if ( pcCU->getSlice()->getNumRefIdx( RefPicList( uiRefListIdx ) ) > 0 )
     289        {
     290          decodeRefFrmIdxPU( pcCU,    uiSubPartIdx,              uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
     291          decodeMvdPU      ( pcCU,    uiSubPartIdx,              uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
     292          decodeMVPIdxPU   ( pcSubCU, uiSubPartIdx-uiAbsPartIdx, uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
     293        }
     294      }
     295    }
     296  }
     297
     298  ////// Parse CUs extension syntax
     299  decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );
     300  decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth );
     301
     302#if H_3D_ARP
     303  decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
     304#endif
     305#if H_3D_IC
     306  decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     307#endif
     308
     309  ////// Decode motion vectors
     310  for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
     311  {
     312    if ( pcCU->getMergeFlag( uiSubPartIdx ) )
     313    {
    253314      UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
    254 #if H_3D_ARP
    255       decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
    256 #endif
    257 #if H_3D_IC
    258       decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
    259 #endif
    260315#if H_3D_DBBP
    261316      if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(uiAbsPartIdx) == false )
     
    390445    else
    391446    {
     447      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     448      {       
     449        if ( pcCU->getSlice()->getNumRefIdx( RefPicList( uiRefListIdx ) ) > 0 )
     450        {
     451          decodeMvsAMVP   ( pcSubCU, uiSubPartIdx-uiAbsPartIdx, uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
     452        }
     453      }
     454    }
     455
     456    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) )
     457    {
     458      pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMv( TComMv(0,0), ePartSize, uiSubPartIdx, uiDepth, uiPartIdx);
     459      pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllRefIdx( -1, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx);
     460      pcCU->setInterDirSubParts( 1, uiSubPartIdx, uiPartIdx, uiDepth);
     461    }
     462  }
     463#else
     464  for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
     465  {
     466#if H_MV_ENC_DEC_TRAC
     467    DTRACE_PU_S("=========== prediction_unit ===========\n")
     468    // ToDo:
     469    //DTRACE_PU("x0", uiLPelX)
     470    //DTRACE_PU("x1", uiTPelY)
     471#endif
     472    decodeMergeFlag( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
     473    if ( pcCU->getMergeFlag( uiSubPartIdx ) )
     474    {
     475      decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth );
     476      UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
     477#if H_3D_ARP
     478      decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
     479#endif
     480#if H_3D_IC
     481      decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     482#endif
     483#if H_3D_DBBP
     484      if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(uiAbsPartIdx) == false )
     485#else
     486      if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 )
     487#endif
     488      {
     489        pcSubCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );
     490        if ( !isMerged )
     491        {
     492#if H_3D_VSP
     493          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     494          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     495#if H_3D_SPIVMP
     496          memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     497#endif
     498          pcSubCU->initAvailableFlags();
     499          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
     500          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
     501#if H_3D_SPIVMP
     502            , pcMvFieldSP, puhInterDirSP
     503#endif
     504            , numValidMergeCand );
     505          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
     506#if H_3D_SPIVMP
     507            , bSPIVMPFlag
     508#endif
     509            , numValidMergeCand );
     510          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     511
     512#else
     513#if H_3D
     514          pcSubCU->initAvailableFlags();
     515          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
     516          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     517
     518#else
     519          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     520#endif
     521#endif
     522          isMerged = true;
     523        }
     524        pcSubCU->setPartSizeSubParts( ePartSize, 0, uiDepth );
     525      }
     526      else
     527      {
     528        uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
     529#if H_3D_VSP
     530        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     531        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     532#if H_3D_SPIVMP
     533        memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     534#endif
     535        pcSubCU->initAvailableFlags();
     536        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     537        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
     538#if H_3D_SPIVMP
     539          , pcMvFieldSP, puhInterDirSP
     540#endif
     541          ,numValidMergeCand, uiMergeIndex );
     542        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
     543#if H_3D_SPIVMP
     544          , bSPIVMPFlag
     545#endif
     546          ,numValidMergeCand );
     547        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     548#else
     549#if H_3D
     550        pcSubCU->initAvailableFlags();
     551        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     552        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     553#else
     554        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     555#endif
     556#endif
     557      }
     558      pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     559
     560      TComMv cTmpMv( 0, 0 );
     561      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     562      {       
     563        if ( pcCU->getSlice()->getNumRefIdx( RefPicList( uiRefListIdx ) ) > 0 )
     564        {
     565          pcCU->setMVPIdxSubParts( 0, RefPicList( uiRefListIdx ), uiSubPartIdx, uiPartIdx, uiDepth);
     566          pcCU->setMVPNumSubParts( 0, RefPicList( uiRefListIdx ), uiSubPartIdx, uiPartIdx, uiDepth);
     567          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
     568          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
     569#if H_3D_VSP
     570#if H_3D_DBBP
     571          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 && !pcCU->getDBBPFlag( uiAbsPartIdx ) )
     572#else
     573          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 )
     574#endif
     575          {
     576            if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
     577            {
     578              UInt dummy;
     579              Int vspSize;
     580              Int width, height;
     581              pcCU->getPartIndexAndSize( uiPartIdx, dummy, width, height, uiSubPartIdx, pcCU->getTotalNumPart()==256 );
     582              pcCU->setMvFieldPUForVSP( pcCU, uiSubPartIdx, width, height, RefPicList( uiRefListIdx ), cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ].getRefIdx(), vspSize );
     583              pcCU->setVSPFlag( uiSubPartIdx, vspSize );
     584            }
     585          }
     586#endif
     587        }
     588      }
     589#if H_3D_SPIVMP
     590      pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth ); 
     591      if (bSPIVMPFlag[uiMergeIndex] != 0)
     592      {
     593        Int iWidth, iHeight;
     594        UInt uiIdx;
     595        pcCU->getPartIndexAndSize( uiPartIdx, uiIdx, iWidth, iHeight, uiSubPartIdx, true );
     596
     597        UInt uiSPAddr;
     598
     599        Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight;
     600
     601        pcCU->getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight);
     602
     603        for (Int iPartitionIdx = 0; iPartitionIdx < iNumSP; iPartitionIdx++)
     604        {
     605          pcCU->getSPAbsPartIdx(uiSubPartIdx, iSPWidth, iSPHeight, iPartitionIdx, iNumSPInOneLine, uiSPAddr);
     606          pcCU->setInterDirSP(puhInterDirSP[iPartitionIdx], uiSPAddr, iSPWidth, iSPHeight);
     607          pcCU->getCUMvField( REF_PIC_LIST_0 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx], iSPWidth, iSPHeight);
     608          pcCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight);
     609        }
     610      }
     611#endif
     612    }
     613    else
     614    {
    392615      decodeInterDirPU( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
    393616      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    414637    }
    415638  }
     639#endif
    416640#if H_3D_SPIVMP
    417641  delete[] pcMvFieldSP;
     
    482706}
    483707
     708#if HHI_MOVE_SYN_K0052
    484709Void TDecEntropy::decodeMVPIdxPU( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
    485710{
    486711  Int iMVPIdx = -1;
    487 
    488   TComMv cZeroMv( 0, 0 );
    489   TComMv cMv     = cZeroMv;
    490   Int    iRefIdx = -1;
    491 
    492   TComCUMvField* pcSubCUMvField = pcSubCU->getCUMvField( eRefList );
    493   AMVPInfo* pAMVPInfo = pcSubCUMvField->getAMVPInfo();
    494 
    495   iRefIdx = pcSubCUMvField->getRefIdx(uiPartAddr);
    496   cMv = cZeroMv;
    497712
    498713  if ( (pcSubCU->getInterDir(uiPartAddr) & ( 1 << eRefList )) )
     
    512727#endif
    513728  }
     729  pcSubCU->setMVPIdxSubParts( iMVPIdx, eRefList, uiPartAddr, uiPartIdx, uiDepth );
     730}
     731
     732Void TDecEntropy::decodeMvsAMVP( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
     733{
     734  TComMv cZeroMv( 0, 0 );
     735  TComMv cMv     = cZeroMv;
     736  Int    iRefIdx = -1;
     737
     738  TComCUMvField* pcSubCUMvField = pcSubCU->getCUMvField( eRefList );
     739  AMVPInfo* pAMVPInfo = pcSubCUMvField->getAMVPInfo();
     740
     741  iRefIdx = pcSubCUMvField->getRefIdx(uiPartAddr);
     742  cMv = cZeroMv;
     743
     744  pcSubCU->fillMvpCand(uiPartIdx, uiPartAddr, eRefList, iRefIdx, pAMVPInfo);
     745  pcSubCU->setMVPNumSubParts(pAMVPInfo->iN, eRefList, uiPartAddr, uiPartIdx, uiDepth);
     746  if ( iRefIdx >= 0 )
     747  {
     748    m_pcPrediction->getMvPredAMVP( pcSubCU, uiPartIdx, uiPartAddr, eRefList, cMv);
     749    cMv += pcSubCUMvField->getMvd( uiPartAddr );
     750  }
     751
     752  PartSize ePartSize = pcSubCU->getPartitionSize( uiPartAddr );
     753  pcSubCU->getCUMvField( eRefList )->setAllMv(cMv, ePartSize, uiPartAddr, 0, uiPartIdx);
     754}
     755
     756#else
     757Void TDecEntropy::decodeMVPIdxPU( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
     758{
     759  Int iMVPIdx = -1;
     760
     761  TComMv cZeroMv( 0, 0 );
     762  TComMv cMv     = cZeroMv;
     763  Int    iRefIdx = -1;
     764
     765  TComCUMvField* pcSubCUMvField = pcSubCU->getCUMvField( eRefList );
     766  AMVPInfo* pAMVPInfo = pcSubCUMvField->getAMVPInfo();
     767
     768  iRefIdx = pcSubCUMvField->getRefIdx(uiPartAddr);
     769  cMv = cZeroMv;
     770
     771  if ( (pcSubCU->getInterDir(uiPartAddr) & ( 1 << eRefList )) )
     772  {
     773    m_pcEntropyDecoderIf->parseMVPIdx( iMVPIdx );
     774#if H_MV_ENC_DEC_TRAC
     775#if ENC_DEC_TRACE
     776    if ( eRefList == REF_PIC_LIST_0 )
     777    {
     778      DTRACE_PU("mvp_l0_flag", iMVPIdx)
     779    }
     780    else
     781    {
     782      DTRACE_PU("mvp_l1_flag", iMVPIdx)
     783    }
     784#endif
     785#endif
     786  }
    514787  pcSubCU->fillMvpCand(uiPartIdx, uiPartAddr, eRefList, iRefIdx, pAMVPInfo);
    515788  pcSubCU->setMVPNumSubParts(pAMVPInfo->iN, eRefList, uiPartAddr, uiPartIdx, uiDepth);
     
    524797  pcSubCU->getCUMvField( eRefList )->setAllMv(cMv, ePartSize, uiPartAddr, 0, uiPartIdx);
    525798}
    526 
     799#endif
    527800Void TDecEntropy::xDecodeTransform( TComDataCU* pcCU, UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP, Int quadtreeTULog2MinSizeInCU)
    528801{
     802
     803#if H_MV_ENC_DEC_TRAC
     804#if ENC_DEC_TRACE
     805  UInt uiLPelX   = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ];
     806  UInt uiTPelY   = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ];
     807 
     808  DTRACE_TU_S("=========== transform_tree ===========\n")
     809  DTRACE_TU("x0", uiLPelX)
     810  DTRACE_TU("x1", uiTPelY)
     811  DTRACE_TU("log2TrafoSize", g_uiMaxCUWidth>>uiDepth)
     812  DTRACE_TU("trafoDepth"  , uiDepth)
     813#endif
     814#endif
     815
    529816  UInt uiSubdiv;
    530817  const UInt uiLog2TrafoSize = g_aucConvertToBit[pcCU->getSlice()->getSPS()->getMaxCUWidth()]+2 - uiDepth;
     
    579866    if( bFirstCbfOfCU || uiLog2TrafoSize > 2 )
    580867    {
     868#if H_3D_DISABLE_CHROMA
     869      if (pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )     
     870      {
    581871      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth - 1 ) )
    582872      {
     
    587877        m_pcEntropyDecoderIf->parseQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth, uiDepth );
    588878      }
     879    }
     880    else
     881    {
     882        if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth - 1 ) )
     883        {
     884          pcCU->setCbfSubParts( 0, TEXT_CHROMA_U, uiAbsPartIdx, uiTrDepth - 1 );
     885        }
     886        if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth - 1 ) )
     887        {
     888          pcCU->setCbfSubParts( 0, TEXT_CHROMA_V, uiAbsPartIdx, uiTrDepth - 1 );
     889        }
     890      }
     891#else
     892      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth - 1 ) )
     893      {
     894        m_pcEntropyDecoderIf->parseQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth, uiDepth );
     895      }
     896      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth - 1 ) )
     897      {
     898        m_pcEntropyDecoderIf->parseQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth, uiDepth );
     899      }
     900#endif
    589901    }
    590902    else
     
    7481060    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
    7491061    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
     1062#if H_3D_DISABLE_CHROMA
     1063    if (pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
     1064    {
     1065      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
     1066      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     1067    }
     1068#else
    7501069    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
    7511070    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     1071#endif
    7521072  }
    7531073
     
    8111131{
    8121132  pcCU->setSDCFlagSubParts( false, uiAbsPartIdx, uiDepth );
     1133#if HHI_MOVE_SYN_K0052
     1134  if ( pcCU->isSkipped( uiAbsPartIdx ) )
     1135  {
     1136    return;
     1137  }
     1138#endif
     1139
    8131140
    8141141  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) ||
     
    8301157Void TDecEntropy::decodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    8311158{
    832   m_pcEntropyDecoderIf->parseDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );
     1159#if HHI_MOVE_SYN_K0052
     1160  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     1161  {
     1162#endif
     1163    m_pcEntropyDecoderIf->parseDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );
     1164#if HHI_MOVE_SYN_K0052
     1165  }
     1166#endif
    8331167}
    8341168#endif
  • trunk/source/Lib/TLibDecoder/TDecEntropy.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    8585public:
    8686  virtual Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
     87#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     88  virtual Void parseDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
     89#else
    8790#if H_3D_SINGLE_DEPTH
    8891  virtual Void parseSingleDepthMode       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
     92#endif
    8993#endif
    9094  virtual Void parseCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
     
    148152  Void decodeMvdPU        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
    149153  Void decodeMVPIdxPU     ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
    150  
     154#if HHI_MOVE_SYN_K0052
     155  Void decodeMvsAMVP       ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
     156#endif 
    151157  Void    setEntropyDecoder           ( TDecEntropyIf* p );
    152158  Void    setBitstream                ( TComInputBitstream* p ) { m_pcEntropyDecoderIf->setBitstream(p);                    }
     
    171177  Void decodeSplitFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    172178  Void decodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     179#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     180  Void decodeDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) ;
     181#else
    173182#if H_3D_SINGLE_DEPTH
    174183  Void decodeSingleDepthMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) ;
     184#endif
    175185#endif
    176186  Void decodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
  • trunk/source/Lib/TLibDecoder/TDecGop.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    9292  m_pcSliceDecoder        = pcSliceDecoder;
    9393  m_pcLoopFilter          = pcLoopFilter;
    94   m_pcSAO  = pcSAO;
     94  m_pcSAO  = pcSAO; 
    9595}
    9696
  • trunk/source/Lib/TLibDecoder/TDecGop.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5656#include "TDecBinCoderCABAC.h"
    5757
     58
    5859//! \ingroup TLibDecoder
    5960//! \{
     
    6263// Class definition
    6364// ====================================================================================================================
     65#if H_3D_ANNEX_SELECTION_FIX
     66class TDecTop;
     67#endif
     68
    6469
    6570/// GOP decoder class
     
    7883  TDecSlice*            m_pcSliceDecoder;
    7984  TComLoopFilter*       m_pcLoopFilter;
     85#if H_3D_ANNEX_SELECTION_FIX
     86  TDecTop*              m_decTop;
     87#endif
    8088 
    8189  TComSampleAdaptiveOffset*     m_pcSAO;
  • trunk/source/Lib/TLibDecoder/TDecSbac.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5252, m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
    5353, m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     54#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     55, m_cCUDISFlagSCModel         ( 1,             1,               NUM_DIS_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     56, m_cCUDISTypeSCModel         ( 1,             1,               NUM_DIS_TYPE_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     57#else
    5458#if H_3D_SINGLE_DEPTH
    5559, m_cCUSingleDepthFlagSCModel        ( 1,             1,               NUM_SINGLEDEPTH_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    5660, m_cSingleDepthValueSCModel         ( 1,             1,               NUM_SINGLE_DEPTH_VALUE_DATA_CTX      , m_contextModels + m_numContextModels, m_numContextModels)
     61#endif
    5762#endif
    5863, m_cCUMergeFlagExtSCModel    ( 1,             1,               NUM_MERGE_FLAG_EXT_CTX        , m_contextModels + m_numContextModels, m_numContextModels)
     
    136141  m_cCUSplitFlagSCModel.initBuffer       ( sliceType, qp, (UChar*)INIT_SPLIT_FLAG );
    137142  m_cCUSkipFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SKIP_FLAG );
     143#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     144  m_cCUDISFlagSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_DIS_FLAG );
     145  m_cCUDISTypeSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_DIS_TYPE );
     146#else
    138147#if H_3D_SINGLE_DEPTH
    139148  m_cCUSingleDepthFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    140149  m_cSingleDepthValueSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     150#endif
    141151#endif
    142152  m_cCUMergeFlagExtSCModel.initBuffer    ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT );
     
    207217  m_cCUSplitFlagSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SPLIT_FLAG );
    208218  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
     219#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     220  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
     221  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
     222#else
    209223#if H_3D_SINGLE_DEPTH
    210224  m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    211225  m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     226#endif
    212227#endif
    213228  m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT );
     
    486501    }
    487502
     503
     504#if H_3D_DISABLE_CHROMA
     505    if( pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
     506    {   
     507#endif
    488508    piPCMSample = pcCU->getPCMSampleCb() + uiChromaOffset;
    489509    uiWidth = pcCU->getWidth(uiAbsPartIdx)/2;
     
    517537      piPCMSample += uiWidth;
    518538    }
     539#if H_3D_DISABLE_CHROMA
     540    }
     541#endif
     542
    519543
    520544    m_pcTDecBinIf->start();
     
    570594#endif
    571595}
     596
     597#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     598Void TDecSbac::parseDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     599{
     600  pcCU->setDISFlagSubParts( false,        uiAbsPartIdx, uiDepth );
     601  UInt uiSymbol = 0;
     602  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUDISFlagSCModel.get( 0, 0, 0 ) );
     603  if( uiSymbol )
     604  {
     605    pcCU->setDISFlagSubParts( true,        uiAbsPartIdx, uiDepth );
     606    pcCU->setSkipFlagSubParts( false,        uiAbsPartIdx, uiDepth );
     607    pcCU->setSDCFlagSubParts( false,        uiAbsPartIdx, uiDepth );
     608    pcCU->setPredModeSubParts( MODE_INTRA,  uiAbsPartIdx, uiDepth );
     609    pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
     610    pcCU->setLumaIntraDirSubParts (DC_IDX, uiAbsPartIdx, uiDepth );
     611    pcCU->setSizeSubParts( g_uiMaxCUWidth>>uiDepth, g_uiMaxCUHeight>>uiDepth, uiAbsPartIdx, uiDepth );
     612    pcCU->setMergeFlagSubParts( false , uiAbsPartIdx, 0, uiDepth );
     613    pcCU->setTrIdxSubParts(0, uiAbsPartIdx, uiDepth);
     614    pcCU->setCbfSubParts(0, 1, 1, uiAbsPartIdx, uiDepth);
     615
     616    UInt uiUnaryIdx = 0;
     617    UInt uiNumCand  = 4;
     618
     619    if ( uiNumCand > 1 )
     620    {
     621      for( ; uiUnaryIdx < uiNumCand - 1; ++uiUnaryIdx )
     622      {
     623        UInt uiSymbol2 = 0;
     624        if ( uiUnaryIdx==0 )
     625        {
     626          m_pcTDecBinIf->decodeBin( uiSymbol2, m_cCUDISTypeSCModel.get( 0, 0, 0 ) );
     627        }
     628        else
     629        {
     630          m_pcTDecBinIf->decodeBinEP( uiSymbol2);
     631        }
     632        if( uiSymbol2 == 0 )
     633        {
     634          break;
     635        }
     636      }
     637    }
     638    pcCU->setDISTypeSubParts(uiUnaryIdx, uiAbsPartIdx, 0, uiDepth);
     639  }
     640}
     641#else
    572642#if H_3D_SINGLE_DEPTH
    573643Void TDecSbac::parseSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     
    616686  }
    617687}
    618 
    619 #endif
     688#endif
     689#endif
     690
    620691/** parse merge flag
    621692 * \param pcCU
     
    13041375  DTRACE_CABAC_V( uiLog2TransformBlockSize )
    13051376  DTRACE_CABAC_T( "\n" )
     1377#else
     1378  DTRACE_TU("split_transform_flag", ruiSubdivFlag )
    13061379#endif
    13071380}
     
    13821455  DTRACE_CABAC_V( uiAbsPartIdx )
    13831456  DTRACE_CABAC_T( "\n" )
     1457#else
     1458  if ( eType == TEXT_CHROMA_U )
     1459  {
     1460    DTRACE_TU("cbf_cb", uiSymbol )
     1461  }
     1462  else if ( eType == TEXT_CHROMA_V )
     1463  {
     1464    DTRACE_TU("cbf_cr", uiSymbol )
     1465  }
     1466  else
     1467  {
     1468    DTRACE_TU("cbf_luma", uiSymbol )
     1469  }
    13841470#endif
    13851471 
     
    21052191
    21062192  m_pcTDecBinIf->decodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, uiCtxSDCFlag ) );
    2107 
     2193  DTRACE_CU("dc_only_flag", uiSymbol)
    21082194  if( uiSymbol )
    21092195  {
     
    21292215 
    21302216  m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) );
    2131  
     2217  DTRACE_CU("dbbp_flag", uiSymbol)
    21322218  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    21332219  AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
  • trunk/source/Lib/TLibDecoder/TDecSbac.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    125125 
    126126  Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     127#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     128  Void parseDIS          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     129#else
    127130#if H_3D_SINGLE_DEPTH 
    128131  Void parseSingleDepthMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    129 #endif 
     132#endif
     133#endif
    130134  Void parseCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    131135  Void parseSplitFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     
    178182  ContextModel3DBuffer m_cCUSplitFlagSCModel;
    179183  ContextModel3DBuffer m_cCUSkipFlagSCModel;
     184#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     185  ContextModel3DBuffer m_cCUDISFlagSCModel;
     186  ContextModel3DBuffer m_cCUDISTypeSCModel;
     187#else
    180188#if H_3D_SINGLE_DEPTH
    181189  ContextModel3DBuffer m_cCUSingleDepthFlagSCModel;
    182190  ContextModel3DBuffer m_cSingleDepthValueSCModel;
     191#endif
    183192#endif
    184193  ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
  • trunk/source/Lib/TLibDecoder/TDecSlice.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/TDecSlice.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibDecoder/TDecTop.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    7676  xDeleteArray( m_adBaseViewShiftLUT, MAX_NUM_LAYERS, MAX_NUM_LAYERS, 2 );
    7777  xDeleteArray( m_aiBaseViewShiftLUT, MAX_NUM_LAYERS, MAX_NUM_LAYERS, 2 );
     78#if HHI_CAM_PARA_K0052
     79  xDeleteArray( m_receivedIdc, m_vps->getNumViews() );
     80#else
    7881  xDeleteArray( m_receivedIdc, m_uiMaxViewIndex + 1 );
     82#endif
    7983}
    8084
     
    9195  m_firstReceivedPoc        = -2;
    9296
     97#if HHI_CAM_PARA_K0052 
     98  for (Int i = 0; i <= vps->getMaxLayersMinus1(); i++)
     99  {
     100    Int curViewIdxInVps = m_vps->getVoiInVps( m_vps->getViewIndex( m_vps->getLayerIdInNuh( i ) ) ) ;
     101    m_bCamParsVaryOverTime = m_bCamParsVaryOverTime || vps->getCpInSliceSegmentHeaderFlag( curViewIdxInVps );   
     102  }
     103
     104  assert( m_receivedIdc == NULL );
     105  m_receivedIdc = new Int*[ m_vps->getNumViews() ];
     106  for (Int i = 0; i < m_vps->getNumViews(); i++)
     107  {
     108    m_receivedIdc[i] = new Int[ m_vps->getNumViews() ];
     109  }
     110
     111  xResetReceivedIdc( true );
     112
     113  for (Int voiInVps = 0; voiInVps < m_vps->getNumViews(); voiInVps++ )
     114  {
     115    if( !m_vps->getCpInSliceSegmentHeaderFlag( voiInVps ) )
     116    {
     117      for (Int baseVoiInVps = 0; baseVoiInVps < m_vps->getNumViews(); baseVoiInVps++ )
     118      {
     119        if( m_vps->getCpPresentFlag( voiInVps, baseVoiInVps ) )
     120        {
     121          m_receivedIdc   [ baseVoiInVps ][ voiInVps ] = -1;
     122          m_aaiCodedScale [ baseVoiInVps ][ voiInVps ] = m_vps->getCodedScale    (voiInVps) [ baseVoiInVps ];
     123          m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ] = m_vps->getCodedOffset   (voiInVps) [ baseVoiInVps ];
     124
     125          m_receivedIdc   [ voiInVps ][ baseVoiInVps ] = -1;
     126          m_aaiCodedScale [ voiInVps ][ baseVoiInVps ] = m_vps->getInvCodedScale (voiInVps) [ baseVoiInVps ];
     127          m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ] = m_vps->getInvCodedOffset(voiInVps) [ baseVoiInVps ];
     128          xInitLUTs( baseVoiInVps, voiInVps, m_aaiCodedScale[ baseVoiInVps ][ voiInVps ], m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
     129          xInitLUTs( voiInVps, baseVoiInVps, m_aaiCodedScale[ voiInVps ][ baseVoiInVps ], m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
     130        }
     131      }
     132    }
     133  }
     134}
     135
     136#else
    93137  m_uiMaxViewIndex            = -1;
    94138  for (Int i = 0; i <= vps->getMaxLayersMinus1(); i++)
     
    98142    m_uiMaxViewIndex = std::max( m_uiMaxViewIndex, curViewIdx  ) ;
    99143  }
    100 
    101144  assert( m_receivedIdc == NULL );
    102145  m_receivedIdc = new Int*[ m_uiMaxViewIndex + 1];
     
    131174}
    132175
     176#endif
     177
     178
     179
    133180Void
    134181CamParsCollector::xResetReceivedIdc( Bool overWriteFlag )
    135182{
     183#if HHI_CAM_PARA_K0052
     184  for (Int i = 0; i < m_vps->getNumViews(); i++)
     185  { 
     186    for (Int j = 0; j < m_vps->getNumViews(); j++)
     187    {
     188#else
    136189  for (Int i = 0; i <= m_uiMaxViewIndex; i++)
    137190  { 
    138191    for (Int j = 0; j <= m_uiMaxViewIndex; j++)
    139192    {
     193#endif
    140194      if ( overWriteFlag ||  ( m_receivedIdc[i][j] != -1 ) )
    141195      {
     
    178232  CamParsCollector::xInitLUTs( UInt uiSourceView, UInt uiTargetView, Int iScale, Int iOffset, Double****& radLUT, Int****& raiLUT)
    179233{
     234#if HHI_CAM_PARA_K0052
     235  Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_vps->getCpPrecision() + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
     236#else
    180237  Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_vps->getCamParPrecision() + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
     238#endif
    181239  Int     iLog2DivChroma = iLog2DivLuma + 1;
    182240
     
    255313  }
    256314
     315#if HHI_CAM_PARA_K0052
     316  UInt voiInVps          = m_vps->getVoiInVps(pcSlice->getViewIndex()); 
     317  if( m_vps->getCpInSliceSegmentHeaderFlag( voiInVps ) ) // check consistency of slice parameters here
     318  {   
     319    for( Int baseVoiInVps = 0; baseVoiInVps < m_vps->getNumViews(); baseVoiInVps++ )
     320    {       
     321      if ( m_vps->getCpPresentFlag( voiInVps, baseVoiInVps ) )
     322      {
     323        if ( m_receivedIdc[ voiInVps ][ baseVoiInVps ] != 0 )
     324        {     
     325          AOF( m_aaiCodedScale [ voiInVps ][ baseVoiInVps ] == pcSlice->getInvCodedScale () [ baseVoiInVps ] );
     326          AOF( m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ] == pcSlice->getInvCodedOffset() [ baseVoiInVps ] );
     327        }
     328        else
     329        {         
     330          m_receivedIdc   [ voiInVps ][ baseVoiInVps ]  = 1;
     331          m_aaiCodedScale [ voiInVps ][ baseVoiInVps ]  = pcSlice->getInvCodedScale () [ baseVoiInVps ];
     332          m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ]  = pcSlice->getInvCodedOffset() [ baseVoiInVps ];
     333          xInitLUTs( voiInVps, baseVoiInVps, m_aaiCodedScale[ voiInVps ][ baseVoiInVps ], m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT);
     334        }
     335        if ( m_receivedIdc[ baseVoiInVps ][ voiInVps ] != 0 )
     336        {     
     337          AOF( m_aaiCodedScale [ baseVoiInVps ][ voiInVps ] == pcSlice->getCodedScale    () [ baseVoiInVps ] );
     338          AOF( m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ] == pcSlice->getCodedOffset   () [ baseVoiInVps ] );
     339        }
     340        else
     341        {       
     342          m_receivedIdc   [ baseVoiInVps ][ voiInVps ]  = 1;
     343          m_aaiCodedScale [ baseVoiInVps ][ voiInVps ]  = pcSlice->getCodedScale    () [ baseVoiInVps ];
     344          m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ]  = pcSlice->getCodedOffset   () [ baseVoiInVps ];
     345          xInitLUTs( baseVoiInVps, voiInVps, m_aaiCodedScale[ baseVoiInVps ][ voiInVps ], m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT);
     346        }
     347      }
     348    }
     349  } 
     350#else
    257351  UInt uiViewIndex          = pcSlice->getViewIndex(); 
    258352  if( m_vps->getCamParPresent( uiViewIndex ) )
     
    289383    }
    290384  }
     385#endif
     386
     387
    291388}
    292389
     
    311408    if( iPOC == m_firstReceivedPoc )
    312409    {
     410#if HHI_CAM_PARA_K0052
     411      fprintf( m_pCodedScaleOffsetFile, "#ViewOrderIdx     ViewIdVal\n" );
     412      fprintf( m_pCodedScaleOffsetFile, "#------------ -------------\n" );
     413     
     414      for( UInt voiInVps = 0; voiInVps < m_vps->getNumViews(); voiInVps++ )
     415      {
     416        fprintf( m_pCodedScaleOffsetFile, "%13d %13d\n", m_vps->getViewOIdxList( voiInVps ), m_vps->getViewIdVal( m_vps->getViewOIdxList( voiInVps ) ) );
     417      }
     418      fprintf( m_pCodedScaleOffsetFile, "\n\n");
     419      fprintf( m_pCodedScaleOffsetFile, "# StartFrame     EndFrame    TargetVOI      BaseVOI   CodedScale  CodedOffset    Precision\n" );
     420      fprintf( m_pCodedScaleOffsetFile, "#----------- ------------ ------------ ------------ ------------ ------------ ------------\n" );
     421    }
     422    if( iPOC == m_firstReceivedPoc || m_bCamParsVaryOverTime  )
     423    {
     424      Int iS = iPOC;
     425      Int iE = ( m_bCamParsVaryOverTime ? iPOC : ~( 1 << 31 ) );
     426      for( UInt voiInVps = 0; voiInVps < m_vps->getNumViews(); voiInVps++ )
     427      {
     428        for( UInt baseVoiInVps = 0; baseVoiInVps < m_vps->getNumViews(); baseVoiInVps++ )
     429        {
     430          if( voiInVps != baseVoiInVps )
     431          {
     432            if ( m_receivedIdc[baseVoiInVps][voiInVps] != 0 )
     433            {           
     434              fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
     435                iS, iE, m_vps->getViewOIdxList( voiInVps ), m_vps->getViewOIdxList( baseVoiInVps ),
     436                m_aaiCodedScale [ baseVoiInVps ][ voiInVps ],
     437                m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ], m_vps->getCpPrecision() );
     438#else
    313439      fprintf( m_pCodedScaleOffsetFile, "#  ViewIndex       ViewId\n" );
    314440      fprintf( m_pCodedScaleOffsetFile, "#----------- ------------\n" );
     
    325451      Int iS = iPOC;
    326452      Int iE = ( m_bCamParsVaryOverTime ? iPOC : ~( 1 << 31 ) );
     453#if HHI_CAM_PARA_K0052
     454      for( UInt uiViewIndex = 0; uiViewIndex < m_vps->getNumViews(); uiViewIndex++ )
     455      {
     456        for( UInt uiBaseIndex = 0; uiBaseIndex < m_vps->getNumViews(); uiBaseIndex++ )
     457#else
    327458      for( UInt uiViewIndex = 0; uiViewIndex <= m_uiMaxViewIndex; uiViewIndex++ )
    328459      {
    329460        for( UInt uiBaseIndex = 0; uiBaseIndex <= m_uiMaxViewIndex; uiBaseIndex++ )
     461#endif
    330462        {
    331463          if( uiViewIndex != uiBaseIndex )
     
    333465            if ( m_receivedIdc[uiBaseIndex][uiViewIndex] != 0 )
    334466            {           
     467#if HHI_CAM_PARA_K0052
     468              fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
     469                iS, iE, uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_vps->getCpPrecision() );
     470#else
    335471              fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
    336472                iS, iE, uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_vps->getCamParPrecision() );
     473#endif
     474#endif
    337475            }           
    338476          }
     
    417555#if !H_MV
    418556  initROM();
     557#endif
     558#if H_3D_ANNEX_SELECTION_FIX
     559  m_cCavlcDecoder.setDecTop( this );
    419560#endif
    420561  m_cGopDecoder.init( &m_cEntropyDecoder, &m_cSbacDecoder, &m_cBinCABAC, &m_cCavlcDecoder, &m_cSliceDecoder, &m_cLoopFilter, &m_cSAO );
     
    727868#endif
    728869#if H_3D
     870#if !HHI_INTER_COMP_PRED_K0052
    729871  m_apcSlicePilot->init3dToolParameters();
     872#endif
    730873#endif
    731874  pps->setSPS(sps);
     
    9551098  xActivateParameterSets();
    9561099
     1100#if SONY_MV_V_CONST_C0078
     1101  //Check Multiview Main profile constraint in G.11.1.1
     1102  //  When ViewOrderIdx[ i ] derived according to any active VPS is equal to 1
     1103  //  for the layer with nuh_layer_id equal to i in subBitstream,
     1104  //  inter_view_mv_vert_constraint_flag shall be equal to 1
     1105  //  in the sps_multilayer_extension( ) syntax structure in each active SPS for that layer.
     1106  if( m_apcSlicePilot->getSPS()->getPTL()->getGeneralPTL()->getProfileIdc()==Profile::MULTIVIEWMAIN
     1107      &&
     1108      m_apcSlicePilot->getVPS()->getViewOrderIdx(m_apcSlicePilot->getVPS()->getLayerIdInNuh(getLayerId()))==1
     1109     )
     1110  {
     1111    assert( m_apcSlicePilot->getSPS()->getInterViewMvVertConstraintFlag()==1 );
     1112  }
     1113#endif
     1114
    9571115  if (m_apcSlicePilot->isNextSlice())
    9581116  {
     
    10741232#endif
    10751233#endif
     1234#if HHI_RES_PRED_K0052
     1235  pcSlice->setIvPicLists( m_ivPicLists );         
     1236#endif
     1237
    10761238  if (bNextSlice)
    10771239  {
     
    11091271
    11101272#if H_3D
     1273#if !HHI_RES_PRED_K0052
    11111274    pcSlice->setIvPicLists( m_ivPicLists );         
     1275#endif
     1276
     1277#if HHI_INTER_COMP_PRED_K0052
     1278    pcSlice->checkInCompPredRefLayers();
    11121279#if H_3D_IV_MERGE
    11131280#if H_3D_FCO
     
    11171284#endif
    11181285#endif   
     1286#else
     1287#if H_3D_IV_MERGE
     1288#if H_3D_FCO
     1289    //assert( !getIsDepth() );
     1290#else
     1291    assert( !getIsDepth() || ( pcSlice->getTexturePic() != 0 ) );
     1292#endif
     1293#endif   
     1294#endif
    11191295#endif
    11201296#if H_MV
  • trunk/source/Lib/TLibDecoder/TDecTop.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    9797  TComVPS* m_vps;
    9898  Int**    m_receivedIdc;
     99#if!HHI_CAM_PARA_K0052
    99100  Int      m_uiMaxViewIndex;
     101#endif
    100102  Int      m_lastPoc;
    101103  Int      m_firstReceivedPoc;
     
    243245  CamParsCollector*       m_pcCamParsCollector;
    244246#endif
     247#if H_3D_ANNEX_SELECTION_FIX
     248  Int                     m_profileIdc;
     249#endif
    245250#endif
    246251
     
    301306  Void                    setCamParsCollector( CamParsCollector* pcCamParsCollector ) { m_pcCamParsCollector = pcCamParsCollector; }
    302307#endif
     308#if H_3D_ANNEX_SELECTION_FIX
     309  Void                    setProfileIdc()
     310  {       
     311    if (m_targetOptLayerSetIdx != -1 )
     312    {   
     313      TComVPS* vps = getPrefetchedVPS();
     314      Int lsIdx = vps->olsIdxToLsIdx( m_targetOptLayerSetIdx );
     315      Int lIdx = -1;
     316      for (Int j = 0; j < vps->getNumLayersInIdList( lsIdx ); j++ )
     317      {
     318        if ( vps->getLayerSetLayerIdList( lsIdx, j ) == getLayerId() )
     319        {
     320          lIdx = j;
     321          break;
     322        }       
     323      }
     324      assert( lIdx != -1 );
     325
     326      Int profileIdc = vps->getPTL( vps->getProfileTierLevelIdx( m_targetOptLayerSetIdx, lIdx ) )->getGeneralPTL()->getProfileIdc();
     327      assert( profileIdc == 1 || profileIdc == 6 || profileIdc == 8 );
     328      m_profileIdc = profileIdc;   
     329    };
     330  }
     331  Bool                    decProcAnnexI()           { assert( m_profileIdc != -1 ); return ( m_profileIdc == 8); }   
     332#endif
     333
    303334#endif
    304335protected:
  • trunk/source/Lib/TLibEncoder/AnnexBwrite.h

    r964 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/NALwrite.cpp

    r964 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/NALwrite.h

    r872 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/SEIwrite.cpp

    r964 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/SEIwrite.h

    r884 r1179  
    44 * granted under this license.
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/SyntaxElementWriter.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    4949  if( g_HLSTraceEnable )
    5050  {
     51#if H_MV_ENC_DEC_TRAC
     52    if ( !g_disableNumbering )
     53    {
     54#endif
    5155    fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     56#if H_MV_ENC_DEC_TRAC
     57    }
     58#endif
     59
    5260    if( length<10 )
    5361    {
     
    6674  if( g_HLSTraceEnable )
    6775  {
     76#if H_MV_ENC_DEC_TRAC
     77    if ( !g_disableNumbering )
     78    {
     79#endif
    6880    fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     81#if H_MV_ENC_DEC_TRAC
     82    }
     83#endif
     84
    6985    fprintf( g_hTrace, "%-50s ue(v) : %d\n", pSymbolName, value );
    7086  }
     
    7692  if( g_HLSTraceEnable )
    7793  {
     94#if H_MV_ENC_DEC_TRAC
     95    if ( !g_disableNumbering )
     96    {
     97#endif
    7898    fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     99#if H_MV_ENC_DEC_TRAC
     100    }
     101#endif
     102
    79103    fprintf( g_hTrace, "%-50s se(v) : %d\n", pSymbolName, value );
    80104  }
     
    86110  if( g_HLSTraceEnable )
    87111  {
     112#if H_MV_ENC_DEC_TRAC
     113    if ( !g_disableNumbering )
     114    {
     115#endif
    88116    fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
     117#if H_MV_ENC_DEC_TRAC
     118    }
     119#endif
    89120    fprintf( g_hTrace, "%-50s u(1)  : %d\n", pSymbolName, value );
    90121  }
  • trunk/source/Lib/TLibEncoder/SyntaxElementWriter.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncAnalyze.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncAnalyze.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncBinCoder.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    4040#include "SEIwrite.h"
    4141#include "../TLibCommon/TypeDef.h"
    42 
     42#if H_3D_ANNEX_SELECTION_FIX
     43#include "TEncTop.h"
     44#endif
    4345//! \ingroup TLibEncoder
    4446//! \{
     47
    4548
    4649#if ENC_DEC_TRACE
     
    678681#endif
    679682  WRITE_UVLC( pcSPS->getChromaFormatIdc (),         "chroma_format_idc" );
     683#if !H_3D_DISABLE_CHROMA
    680684  assert(pcSPS->getChromaFormatIdc () == 1);
     685#endif
    681686  // in the first version chroma_format_idc can only be equal to 1 (4:2:0)
    682687  if( pcSPS->getChromaFormatIdc () == 3 )
     
    857862  WRITE_FLAG( pcPPS->getPocResetInfoPresentFlag( ) ? 1 : 0 , "poc_reset_info_present_flag" );
    858863  WRITE_FLAG( pcPPS->getPpsInferScalingListFlag( ) ? 1 : 0 , "pps_infer_scaling_list_flag" );
     864#if FIX_TICKET_95
     865  if (pcPPS->getPpsInferScalingListFlag())
     866  {
     867    WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" );
     868  }
     869#else   
    859870  WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" );
     871#endif
    860872  WRITE_UVLC( 0, "num_ref_loc_offsets" );
    861873  WRITE_FLAG( 0 , "colour_mapping_enabled_flag" );
     
    889901      WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" );
    890902      WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" );
     903#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     904      WRITE_FLAG( sps3dExt->getDepthIntraSkipFlag( d ) ? 1 : 0 , "intra_skip_flag" );
     905#else
    891906      WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" );
     907#endif
    892908    }
    893909  }
     
    13651381  if ( pcRepFormat->getChromaAndBitDepthVpsPresentFlag() )
    13661382  { 
    1367   WRITE_CODE( pcRepFormat->getChromaFormatVpsIdc( ), 2, "chroma_format_vps_idc" );
    1368 
    1369   if ( pcRepFormat->getChromaFormatVpsIdc() == 3 )
    1370   {
    1371     WRITE_FLAG( pcRepFormat->getSeparateColourPlaneVpsFlag( ) ? 1 : 0 , "separate_colour_plane_vps_flag" );
    1372   }
    1373   WRITE_CODE( pcRepFormat->getBitDepthVpsLumaMinus8( ),      4, "bit_depth_vps_luma_minus8" );
    1374   WRITE_CODE( pcRepFormat->getBitDepthVpsChromaMinus8( ),    4, "bit_depth_vps_chroma_minus8" );
     1383    WRITE_CODE( pcRepFormat->getChromaFormatVpsIdc( ), 2, "chroma_format_vps_idc" ); 
     1384
     1385    if ( pcRepFormat->getChromaFormatVpsIdc() == 3 )
     1386    {
     1387      WRITE_FLAG( pcRepFormat->getSeparateColourPlaneVpsFlag( ) ? 1 : 0 , "separate_colour_plane_vps_flag" );
     1388    }
     1389    WRITE_CODE( pcRepFormat->getBitDepthVpsLumaMinus8( ),      4, "bit_depth_vps_luma_minus8" );
     1390    WRITE_CODE( pcRepFormat->getBitDepthVpsChromaMinus8( ),    4, "bit_depth_vps_chroma_minus8" );
    13751391  }
    13761392  else
     
    15981614Void TEncCavlc::codeVPS3dExtension( TComVPS* pcVPS )
    15991615{
     1616#if HHI_CAM_PARA_K0052
     1617  WRITE_UVLC( pcVPS->getCpPrecision( ), "cp_precision" );
     1618  for (Int n = 1; n < pcVPS->getNumViews(); n++)
     1619  {
     1620    Int i      = pcVPS->getViewOIdxList( n );
     1621    Int iInVps = pcVPS->getVoiInVps( i );
     1622    WRITE_CODE( pcVPS->getNumCp( iInVps ), 6, "num_cp" );
     1623
     1624    if( pcVPS->getNumCp( iInVps ) > 0 )
     1625    {
     1626      WRITE_FLAG( pcVPS->getCpInSliceSegmentHeaderFlag( iInVps ) ? 1 : 0 , "cp_in_slice_segment_header_flag" );
     1627      for( Int m = 0; m < pcVPS->getNumCp( iInVps ); m++ )
     1628      {
     1629        WRITE_UVLC( pcVPS->getCpRefVoi( iInVps, m ), "cp_ref_voi" );
     1630        if( !pcVPS->getCpInSliceSegmentHeaderFlag( iInVps ) )
     1631        {
     1632          Int j      = pcVPS->getCpRefVoi( iInVps, m );
     1633          Int jInVps = pcVPS->getVoiInVps( j );
     1634          WRITE_SVLC( pcVPS->getVpsCpScale   ( iInVps, jInVps ), "vps_cp_scale" );
     1635          WRITE_SVLC( pcVPS->getVpsCpOff     ( iInVps, jInVps ), "vps_cp_off" );
     1636          WRITE_SVLC( pcVPS->getVpsCpInvScale( iInVps, jInVps ) + pcVPS->getVpsCpScale( iInVps, jInVps ), "vps_cp_inv_scale_plus_scale" );
     1637          WRITE_SVLC( pcVPS->getVpsCpInvOff  ( iInVps, jInVps ) + pcVPS->getVpsCpOff  ( iInVps, jInVps ), "vps_cp_inv_off_plus_off" );
     1638        }
     1639      }
     1640    }
     1641  } 
     1642#else
    16001643  WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
    16011644  for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
     
    16171660    }
    16181661  }
     1662#endif
    16191663}
    16201664#endif
     
    17211765
    17221766    // in the first version chroma_format_idc is equal to one, thus colour_plane_id will not be present
     1767#if H_3D_DISABLE_CHROMA
     1768    assert (pcSlice->getSPS()->getChromaFormatIdc() == 1 || pcSlice->getIsDepth() );
     1769    assert (pcSlice->getSPS()->getChromaFormatIdc() == 0 || !pcSlice->getIsDepth() );
     1770#else
    17231771    assert (pcSlice->getSPS()->getChromaFormatIdc() == 1 );
     1772#endif
    17241773    // if( separate_colour_plane_flag  ==  1 )
    17251774    //   colour_plane_id                                      u(2)
     
    18951944    }
    18961945#endif
     1946
     1947#if HHI_INTER_COMP_PRED_K0052
     1948#if H_3D     
     1949  if( getEncTop()->decProcAnnexI() )
     1950  {
     1951      if ( pcSlice->getInCmpPredAvailFlag() )
     1952      {
     1953        WRITE_FLAG( pcSlice->getInCompPredFlag(), "in_comp_pred_flag" );
     1954      }
     1955  }
     1956#endif
     1957#endif
    18971958    if(pcSlice->getSPS()->getUseSAO())
    18981959    {
     
    19001961      {
    19011962         WRITE_FLAG( pcSlice->getSaoEnabledFlag(), "slice_sao_luma_flag" );
     1963#if H_3D_DISABLE_CHROMA
     1964         if ( !pcSlice->getIsDepth() )
     1965         {
    19021966         WRITE_FLAG( pcSlice->getSaoEnabledFlagChroma(), "slice_sao_chroma_flag" );
     1967      }
     1968#else
     1969         WRITE_FLAG( pcSlice->getSaoEnabledFlagChroma(), "slice_sao_chroma_flag" );
     1970#endif
    19031971      }
    19041972    }
     
    20182086    }
    20192087#if H_3D_IC
     2088#if H_3D_ANNEX_SELECTION_FIX
     2089    else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE )
     2090      && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0
     2091      && getEncTop()->decProcAnnexI()       
     2092      )
     2093#else
    20202094    else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 )
     2095#endif
    20212096    {
    20222097      WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" );
     
    20732148      WRITE_FLAG(pcSlice->getLFCrossSliceBoundaryFlag()?1:0, "slice_loop_filter_across_slices_enabled_flag");
    20742149    }
    2075   }
     2150#if HHI_CAM_PARA_K0052
     2151#if H_3D
     2152    if (getEncTop()->decProcAnnexI() )
     2153    {
     2154      Int voiInVps = vps->getVoiInVps( pcSlice->getViewIndex() );
     2155      if( vps->getCpInSliceSegmentHeaderFlag( voiInVps ) && !pcSlice->getIsDepth() )
     2156      {
     2157        for( Int m = 0; m < vps->getNumCp( voiInVps ); m++ )
     2158        {
     2159          Int jInVps = vps->getVoiInVps( vps->getCpRefVoi( voiInVps, m ));
     2160          WRITE_SVLC( pcSlice->getCpScale   ( jInVps )   , "cp_scale" );
     2161          WRITE_SVLC( pcSlice->getCpOff     ( jInVps )   , "cp_off" );
     2162          WRITE_SVLC( pcSlice->getCpInvScale( jInVps ) + pcSlice->getCpScale( jInVps ) , "cp_inv_scale_plus_scale" );
     2163          WRITE_SVLC( pcSlice->getCpInvOff  ( jInVps ) + pcSlice->getCpOff  ( jInVps ) , "cp_inv_off_plus_off" );
     2164        }
     2165      }
     2166    }
     2167#endif
     2168#endif
     2169  }
     2170
     2171#if !HHI_CAM_PARA_K0052 
    20762172#if H_3D
    20772173#if H_3D_FCO
     
    20892185    }
    20902186  }
     2187#endif
    20912188#endif
    20922189
     
    24352532  assert(0);
    24362533}
     2534
     2535#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2536Void TEncCavlc::codeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx )
     2537{
     2538  assert(0);
     2539}
     2540#else
    24372541#if H_3D_SINGLE_DEPTH
    24382542Void TEncCavlc::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
     
    24412545}
    24422546#endif
     2547#endif
     2548
    24432549Void TEncCavlc::codeSplitFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    24442550{
     
    25442650{
    25452651  wpScalingParam  *wp;
     2652#if  H_3D_DISABLE_CHROMA
     2653  Bool            bChroma     = !pcSlice->getIsDepth(); // color always present in HEVC ?
     2654#else
    25462655  Bool            bChroma     = true; // color always present in HEVC ?
     2656#endif
    25472657  Int             iNbRef       = (pcSlice->getSliceType() == B_SLICE ) ? (2) : (1);
    25482658  Bool            bDenomCoded  = false;
  • trunk/source/Lib/TLibEncoder/TEncCavlc.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6868  TComSlice*    m_pcSlice;
    6969  UInt          m_uiCoeffCost;
    70 
     70#if H_3D_ANNEX_SELECTION_FIX
     71  TEncTop*      m_encTop;
     72#endif
    7173  Void codeShortTermRefPicSet              ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
    7274  Bool findMatchingLTRP ( TComSlice* pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag );
     
    127129  Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
    128130  Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     131#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     132  Void codeDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     133#else
    129134#if H_3D_SINGLE_DEPTH
    130135  Void codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx );
     136#endif
    131137#endif
    132138  Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     
    181187  Void codeDFFlag       ( UInt uiCode, const Char *pSymbolName );
    182188  Void codeDFSvlc       ( Int   iCode, const Char *pSymbolName );
    183 
     189#if H_3D_ANNEX_SELECTION_FIX
     190  TEncTop* getEncTop()               { return m_encTop; };
     191  Void     setEncTop( TEncTop* et )  {  m_encTop = et; };
     192#endif
    184193};
    185194
  • trunk/source/Lib/TLibEncoder/TEncCfg.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    7878  Int m_interViewRefPosL[2][MAX_NUM_REF_PICS]; 
    7979#endif
     80#if HHI_INTER_COMP_PRED_K0052
     81  Bool m_interCompPredFlag;
     82#endif
    8083  GOPEntry()
    8184  : m_POC(-1)
     
    9598  , m_numActiveRefLayerPics(0)
    9699#endif
     100#if HHI_INTER_COMP_PRED_K0052
     101#if H_3D
     102  , m_interCompPredFlag(false)
     103#endif
     104#endif
    97105  {
    98106    ::memset( m_referencePics, 0, sizeof(m_referencePics) );
     
    180188  Int       m_iSearchRange;                     //  0:Full frame
    181189  Int       m_bipredSearchRange;
    182 
     190#if SONY_MV_V_CONST_C0078
     191  Bool      m_bUseDisparitySearchRangeRestriction;
     192  Int       m_iVerticalDisparitySearchRange;
     193#endif
    183194  //====== Quality control ========
    184195  Int       m_iMaxDeltaQP;                      //  Max. absolute delta QP (1:default)
     
    369380
    370381  //====== Camera Parameters ======
     382#if !HHI_CAM_PARA_K0052
    371383  UInt      m_uiCamParPrecision;
    372384  Bool      m_bCamParInSliceHeader;
    373385  Int**     m_aaiCodedScale;
    374386  Int**     m_aaiCodedOffset;
     387#endif
    375388  TAppComCamPara* m_cameraParameters;
    376389 
     
    405418  Bool      m_bUseQTL;
    406419#endif
     420#if H_3D_ANNEX_SELECTION_FIX
     421  Int m_profileIdc;
     422#endif
     423
    407424#endif
    408425public:
     
    418435  , m_isDepth(false)
    419436  , m_bUseVSO(false)
     437#if H_3D_ANNEX_SELECTION_FIX
     438  , m_profileIdc( -1 )
     439#endif
    420440#endif
    421441#endif
     
    502522  Void      setSearchRange                  ( Int   i )      { m_iSearchRange = i; }
    503523  Void      setBipredSearchRange            ( Int   i )      { m_bipredSearchRange = i; }
     524#if SONY_MV_V_CONST_C0078
     525  Void      setUseDisparitySearchRangeRestriction ( Bool   b )      { m_bUseDisparitySearchRangeRestriction = b; }
     526  Void      setVerticalDisparitySearchRange ( Int   i )      { m_iVerticalDisparitySearchRange = i; }
     527#endif
    504528
    505529  //====== Quality control ========
     
    554578  Int       getFastSearch                   ()      { return  m_iFastSearch; }
    555579  Int       getSearchRange                  ()      { return  m_iSearchRange; }
     580#if SONY_MV_V_CONST_C0078
     581  Bool      getUseDisparitySearchRangeRestriction ()      { return  m_bUseDisparitySearchRangeRestriction; }
     582  Int       getVerticalDisparitySearchRange ()            { return  m_iVerticalDisparitySearchRange; }
     583#endif
    556584
    557585  //==== Quality control ========
     
    895923
    896924 //==== CAMERA PARAMETERS  ==========
     925#if !HHI_CAM_PARA_K0052
    897926  Void      setCamParPrecision              ( UInt  u )      { m_uiCamParPrecision      = u; }
    898927  Void      setCamParInSliceHeader          ( Bool  b )      { m_bCamParInSliceHeader   = b; }
    899928  Void      setCodedScale                   ( Int** p )      { m_aaiCodedScale          = p; }
    900929  Void      setCodedOffset                  ( Int** p )      { m_aaiCodedOffset         = p; }
     930#endif
    901931  Void      setCameraParameters             ( TAppComCamPara* c) { m_cameraParameters   = c; }
    902932
     
    946976  Bool      getUseQTL                       ()         { return m_bUseQTL; }
    947977#endif
     978#if H_3D_ANNEX_SELECTION_FIX
     979  Void                    setProfileIdc( Int a )    { assert( a == 1 || a == 6 || a == 8 ); m_profileIdc = a;  }
     980  Bool                    decProcAnnexI()           { assert( m_profileIdc != -1 ); return ( m_profileIdc == 8); }   
     981#endif
     982
    948983#endif // H_3D
    949984};
  • trunk/source/Lib/TLibEncoder/TEncCu.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    275275  m_ppcTempCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() );
    276276
     277#if H_3D_DISABLE_CHROMA
     278  m_ppcWeightedTempCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() );
     279#endif
     280
    277281#if KWU_RC_MADPRED_E0227
    278282  m_LCUPredictionSAD = 0;
     
    437441#if H_3D_VSP
    438442  DisInfo DvInfo;
     443#if !SEC_ARP_REM_ENC_RESTRICT_K0035
    439444  DvInfo.bDV = false;
     445#endif
    440446  DvInfo.m_acNBDV.setZero();
    441447  DvInfo.m_aVIdxCan = 0;
     
    583589          if (rpcTempCU->getSlice()->getIsDepth() )
    584590          {
     591#if SEC_ARP_REM_ENC_RESTRICT_K0035
     592            rpcTempCU->getDispforDepth(0, 0, &DvInfo);
     593#else
    585594            DvInfo.bDV = rpcTempCU->getDispforDepth(0, 0, &DvInfo);
     595#endif
    586596          }
    587597          else
     
    590600#if H_3D_NBDV_REF
    591601          if( rpcTempCU->getSlice()->getDepthRefinementFlag() )
     602#if SEC_ARP_REM_ENC_RESTRICT_K0035
     603            rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
     604#else
    592605            DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
     606#endif
    593607          else
    594608#endif
     609#if SEC_ARP_REM_ENC_RESTRICT_K0035
     610            rpcTempCU->getDisMvpCandNBDV(&DvInfo);
     611#else
    595612            DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo);
     613#endif
    596614
    597615#if H_3D_IV_MERGE
     
    712730    }
    713731#endif
     732#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     733    rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
     734    if( rpcBestCU->getSlice()->getDepthIntraSkipFlag() )
     735    {
     736      xCheckRDCostDIS( rpcBestCU, rpcTempCU, SIZE_2Nx2N );
     737      rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
     738    }
     739#else
    714740#if H_3D_SINGLE_DEPTH
    715741    rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
     
    719745      rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
    720746    }
     747#endif
    721748#endif
    722749    if(!earlyDetectionSkipMode)
     
    12261253      TComDataCU* pcSubTempPartCU     = m_ppcTempCU[uhNextDepth];
    12271254
     1255#if H_3D_DISABLE_CHROMA
     1256      m_ppcWeightedTempCU[uhNextDepth]->setSlice( m_ppcWeightedTempCU[ uiDepth]->getSlice());
     1257#endif
    12281258      for ( UInt uiPartUnitIdx = 0; uiPartUnitIdx < 4; uiPartUnitIdx++ )
    12291259      {
     
    15771607    return;
    15781608  }
     1609#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1610  m_pcEntropyCoder->encodeDIS( pcCU, uiAbsPartIdx );
     1611  if(!pcCU->getDISFlag(uiAbsPartIdx))
     1612  {
     1613#else
    15791614#if H_3D_SINGLE_DEPTH
    15801615  m_pcEntropyCoder->encodeSingleDepthMode( pcCU, uiAbsPartIdx );
     
    15821617  {
    15831618#endif
     1619#endif
    15841620  m_pcEntropyCoder->encodePredMode( pcCU, uiAbsPartIdx );
    15851621 
    15861622  m_pcEntropyCoder->encodePartSize( pcCU, uiAbsPartIdx, uiDepth );
    15871623 
     1624#if !HHI_MOVE_SYN_K0052
    15881625#if H_3D_DIM_SDC
    15891626  m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
    15901627#endif
     1628#endif
    15911629  if (pcCU->isIntra( uiAbsPartIdx ) && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N )
    15921630  {
    15931631    m_pcEntropyCoder->encodeIPCMInfo( pcCU, uiAbsPartIdx );
    1594 
    15951632    if(pcCU->getIPCMFlag(uiAbsPartIdx))
    15961633    {
     1634#if HHI_MOVE_SYN_K0052
     1635#if H_3D_DIM_SDC
     1636      m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
     1637#endif 
     1638#endif
    15971639      // Encode slice finish
    15981640      finishCU(pcCU,uiAbsPartIdx,uiDepth);
     
    16031645  // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
    16041646  m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
    1605 
     1647#if HHI_MOVE_SYN_K0052
     1648  m_pcEntropyCoder->encodeDBBPFlag( pcCU, uiAbsPartIdx );
     1649#if H_3D_DIM_SDC
     1650  m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
     1651#endif 
     1652#endif
    16061653#if H_3D_ARP
    16071654  m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx );
     
    16121659  // Encode Coefficients
    16131660  Bool bCodeDQP = getdQPFlag();
     1661#if H_3D_DISABLE_CHROMA
     1662  m_pcEntropyCoder->encodeCoeff( pcCU, uiAbsPartIdx, uiDepth, pcCU->getWidth (uiAbsPartIdx), pcCU->getHeight(uiAbsPartIdx), bCodeDQP, false );
     1663#else
    16141664  m_pcEntropyCoder->encodeCoeff( pcCU, uiAbsPartIdx, uiDepth, pcCU->getWidth (uiAbsPartIdx), pcCU->getHeight(uiAbsPartIdx), bCodeDQP );
     1665#endif
    16151666  setdQPFlag( bCodeDQP );
     1667#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1668  }
     1669#else
    16161670#if H_3D_SINGLE_DEPTH
    16171671  }
     1672#endif
    16181673#endif
    16191674  // --- write terminating bit ---
     
    18341889#if H_3D_ARP
    18351890  Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1;
     1891#if SEC_ARP_REM_ENC_RESTRICT_K0035
     1892  if( nARPWMax < 0 || bICFlag )
     1893#else
    18361894  if( nARPWMax < 0 || !rpcTempCU->getDvInfo(0).bDV || bICFlag )
     1895#endif
    18371896  {
    18381897    nARPWMax = 0;
     
    20002059
    20012060          rpcTempCU->setSkipFlagSubParts( rpcTempCU->getQtRootCbf(0) == 0, 0, uhDepth );
     2061#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2062          rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
     2063#else
    20022064#if H_3D_SINGLE_DEPTH
    20032065          rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
     2066#endif
    20042067#endif
    20052068#if H_3D_VSP // possible bug fix
     
    20422105              }
    20432106              rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
     2107#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2108              rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
     2109#else
    20442110#if H_3D_SINGLE_DEPTH
    20452111              rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
     2112#endif
    20462113#endif
    20472114              rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth );
     
    21662233  Bool bFirstTime = true;
    21672234  Int nARPWMax    = rpcTempCU->getSlice()->getARPStepNum() - 1;
    2168 
     2235#if SEC_ARP_REM_ENC_RESTRICT_K0035
     2236  if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || rpcTempCU->getICFlag(0) )
     2237#else
    21692238  if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || !rpcTempCU->getDvInfo(0).bDV || rpcTempCU->getICFlag(0) )
     2239#endif
    21702240  {
    21712241    nARPWMax = 0;
     
    21932263 
    21942264  rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
     2265#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2266  rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
     2267#else
    21952268#if H_3D_SINGLE_DEPTH
    21962269  rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
     2270#endif
    21972271#endif
    21982272  rpcTempCU->setPartSizeSubParts  ( ePartSize,  0, uhDepth );
     
    23032377      }
    23042378      rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
     2379#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2380      rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
     2381#else
    23052382#if H_3D_SINGLE_DEPTH
    23062383      rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
     2384#endif
    23072385#endif
    23082386      rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth );
     
    24132491  }
    24142492}
     2493
     2494#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2495Void TEncCu::xCheckRDCostDIS( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
     2496{
     2497  UInt uiDepth = rpcTempCU->getDepth( 0 );
     2498  if( !rpcBestCU->getSlice()->getIsDepth() || (eSize != SIZE_2Nx2N))
     2499  {
     2500    return;
     2501  }
     2502
     2503#if H_3D_VSO // M5
     2504  if( m_pcRdCost->getUseRenModel() )
     2505  {
     2506    UInt  uiWidth     = m_ppcOrigYuv[uiDepth]->getWidth   ();
     2507    UInt  uiHeight    = m_ppcOrigYuv[uiDepth]->getHeight  ();
     2508    Pel*  piSrc       = m_ppcOrigYuv[uiDepth]->getLumaAddr();
     2509    UInt  uiSrcStride = m_ppcOrigYuv[uiDepth]->getStride  ();
     2510    m_pcRdCost->setRenModelData( rpcTempCU, 0, piSrc, uiSrcStride, uiWidth, uiHeight );
     2511  }
     2512#endif
     2513
     2514  rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
     2515  rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );
     2516  rpcTempCU->setPredModeSubParts( MODE_INTRA, 0, uiDepth );
     2517  rpcTempCU->setCUTransquantBypassSubParts( rpcTempCU->getCUTransquantBypass(0), 0, uiDepth );
     2518
     2519  rpcTempCU->setTrIdxSubParts(0, 0, uiDepth);
     2520  rpcTempCU->setCbfSubParts(0, 1, 1, 0, uiDepth);
     2521  rpcTempCU->setDISFlagSubParts(true, 0, uiDepth);
     2522  rpcTempCU->setLumaIntraDirSubParts (DC_IDX, 0, uiDepth);
     2523#if H_3D_DIM_SDC
     2524  rpcTempCU->setSDCFlagSubParts( false, 0, uiDepth);
     2525#endif
     2526
     2527  UInt uiPreCalcDistC;
     2528  m_pcPredSearch  ->estIntraPredDIS      ( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC, false );
     2529
     2530#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC
     2531  Int oldTraceCopyBack = g_traceCopyBack;
     2532  g_traceCopyBack = false; 
     2533#endif
     2534  m_ppcRecoYuvTemp[uiDepth]->copyToPicLuma(rpcTempCU->getPic()->getPicYuvRec(), rpcTempCU->getAddr(), rpcTempCU->getZorderIdxInCU() );
     2535  #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC 
     2536    g_traceCopyBack = oldTraceCopyBack;
     2537  #endif
     2538
     2539
     2540  m_pcEntropyCoder->resetBits();
     2541  if ( rpcTempCU->getSlice()->getPPS()->getTransquantBypassEnableFlag())
     2542  {
     2543    m_pcEntropyCoder->encodeCUTransquantBypassFlag( rpcTempCU, 0,          true );
     2544  }
     2545  m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
     2546  m_pcEntropyCoder->encodeDIS( rpcTempCU, 0,          true );
     2547
     2548
     2549  m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);
     2550
     2551  rpcTempCU->getTotalBits() = m_pcEntropyCoder->getNumberOfWrittenBits();
     2552  rpcTempCU->getTotalBins() = ((TEncBinCABAC *)((TEncSbac*)m_pcEntropyCoder->m_pcEntropyCoderIf)->getEncBinIf())->getBinsCoded();
     2553
     2554
     2555#if H_3D_VSO // M6
     2556  if( m_pcRdCost->getUseLambdaScaleVSO()) 
     2557    rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCostVSO( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() ); 
     2558  else
     2559#endif
     2560    rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCost( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() );
     2561
     2562
     2563  xCheckDQP( rpcTempCU );
     2564  xCheckBestMode(rpcBestCU, rpcTempCU, uiDepth);
     2565}
     2566#else
    24152567#if H_3D_SINGLE_DEPTH
    24162568Void TEncCu::xCheckRDCostSingleDepth( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
     
    24802632}
    24812633#endif
     2634#endif
    24822635
    24832636Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG )
     
    25222675  AOF( uiDepthStride != 0 );
    25232676 
     2677#if HS_DBBP_CLEAN_K0048
     2678  PartSize eVirtualPartSize = m_pcPredSearch->getPartitionSizeFromDepth(pDepthPels, uiDepthStride, uiWidth, rpcTempCU);
     2679
    25242680  // derive partitioning from depth
     2681  Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE];
     2682  Bool bValidMask = m_pcPredSearch->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, uiWidth, uiHeight, pMask, rpcTempCU);
     2683#else
    25252684  PartSize eVirtualPartSize = m_pcPredSearch->getPartitionSizeFromDepth(pDepthPels, uiDepthStride, uiWidth);
    25262685 
     
    25282687  Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE];
    25292688  Bool bValidMask = m_pcPredSearch->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, uiWidth, uiHeight, pMask);
     2689#endif
    25302690 
    25312691  if( !bValidMask )
     
    26362796
    26372797  rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
     2798#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2799  rpcTempCU->setDISFlagSubParts( false, 0, uiDepth );
     2800#else
    26382801#if H_3D_SINGLE_DEPTH
    26392802  rpcTempCU->setSingleDepthFlagSubParts( false, 0, uiDepth );
     2803#endif
    26402804#endif
    26412805  rpcTempCU->setPartSizeSubParts( eSize, 0, uiDepth );
     
    26562820 
    26572821#if H_3D_DIM_SDC
     2822#if 0 // H_3D_DISABLE_CHROMA
     2823  if( !rpcTempCU->getSDCFlag( 0 ) && !rpcTempCU->getSlice()->getIsDepth() )
     2824#else
    26582825  if( !rpcTempCU->getSDCFlag( 0 ) )
     2826#endif
    26592827#endif
    26602828  m_pcPredSearch  ->estIntraPredChromaQT( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC );
     
    26662834  }
    26672835  m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
     2836#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2837  m_pcEntropyCoder->encodeDIS( rpcTempCU, 0,          true );
     2838  if(!rpcTempCU->getDISFlag(0))
     2839  {
     2840#else
    26682841#if H_3D_SINGLE_DEPTH
    26692842  m_pcEntropyCoder->encodeSingleDepthMode( rpcTempCU, 0,          true );
     
    26712844  {
    26722845#endif
     2846#endif
    26732847  m_pcEntropyCoder->encodePredMode( rpcTempCU, 0,          true );
    26742848  m_pcEntropyCoder->encodePartSize( rpcTempCU, 0, uiDepth, true );
     2849#if !HHI_MOVE_SYN_K0052
    26752850#if H_3D_DIM_SDC
    26762851  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
    26772852#endif
     2853#endif
    26782854  m_pcEntropyCoder->encodePredInfo( rpcTempCU, 0,          true );
    26792855  m_pcEntropyCoder->encodeIPCMInfo(rpcTempCU, 0, true );
     2856#if HHI_MOVE_SYN_K0052
     2857#if H_3D_DIM_SDC
     2858  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
     2859#endif
     2860#endif
    26802861
    26812862  // Encode Coefficients
    26822863  Bool bCodeDQP = getdQPFlag();
     2864#if H_3D_DISABLE_CHROMA
     2865  m_pcEntropyCoder->encodeCoeff( rpcTempCU, 0, uiDepth, rpcTempCU->getWidth (0), rpcTempCU->getHeight(0), bCodeDQP, true );
     2866#else
    26832867  m_pcEntropyCoder->encodeCoeff( rpcTempCU, 0, uiDepth, rpcTempCU->getWidth (0), rpcTempCU->getHeight(0), bCodeDQP );
     2868#endif
     2869
     2870
    26842871  setdQPFlag( bCodeDQP );
     2872#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2873  }
     2874#else
    26852875#if H_3D_SINGLE_DEPTH
    26862876  }
    2687 #endif       
     2877#endif
     2878#endif
    26882879  m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);
    26892880 
     
    27132904
    27142905  rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
     2906#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2907  rpcTempCU->setDISFlagSubParts( false, 0, uiDepth );
     2908#else
    27152909#if H_3D_SINGLE_DEPTH
    27162910  rpcTempCU->setSingleDepthFlagSubParts( false, 0, uiDepth );
     2911#endif
    27172912#endif
    27182913  rpcTempCU->setIPCMFlag(0, true);
     
    27322927  }
    27332928  m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
     2929#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2930  m_pcEntropyCoder->encodeDIS( rpcTempCU, 0,          true );
     2931#else
    27342932#if H_3D_SINGLE_DEPTH
    27352933  m_pcEntropyCoder->encodeSingleDepthMode( rpcTempCU, 0,          true );
    27362934#endif
     2935#endif
    27372936  m_pcEntropyCoder->encodePredMode ( rpcTempCU, 0,          true );
    27382937  m_pcEntropyCoder->encodePartSize ( rpcTempCU, 0, uiDepth, true );
     2938#if !HHI_MOVE_SYN_K0052
    27392939#if H_3D_DIM_SDC
    27402940  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
    27412941#endif
     2942#endif
    27422943  m_pcEntropyCoder->encodeIPCMInfo ( rpcTempCU, 0, true );
    2743 
     2944#if HHI_MOVE_SYN_K0052
     2945#if H_3D_DIM_SDC
     2946  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
     2947#endif
     2948#endif
    27442949  m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);
    27452950
  • trunk/source/Lib/TLibEncoder/TEncCu.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    159159  Void  xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG = false );
    160160#endif
     161#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     162  Void  xCheckRDCostDIS   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
     163#else
    161164#if H_3D_SINGLE_DEPTH
    162165  Void  xCheckRDCostSingleDepth   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
     166#endif
    163167#endif
    164168#if H_3D_DIM
  • trunk/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    111111  m_pcEntropyCoderIf->codeSkipFlag( pcCU, uiAbsPartIdx );
    112112}
     113
     114#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     115Void TEncEntropy::encodeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
     116{
     117  if ( !pcCU->getSlice()->getIsDepth() )
     118  {
     119    return;
     120  }
     121  if( bRD )
     122  {
     123    uiAbsPartIdx = 0;
     124  }
     125  m_pcEntropyCoderIf->codeDIS( pcCU, uiAbsPartIdx );
     126}
     127#else
    113128#if H_3D_SINGLE_DEPTH
    114129Void TEncEntropy::encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
     
    125140}
    126141#endif
     142#endif
     143
    127144/** encode merge flag
    128145 * \param pcCU
     
    254271  m_pcEntropyCoderIf->codePartSize( pcCU, uiAbsPartIdx, uiDepth );
    255272 
     273#if !HHI_MOVE_SYN_K0052
    256274#if H_3D_DBBP
    257275  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     
    259277    encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD);
    260278  }
     279#endif
    261280#endif
    262281}
     
    285304}
    286305
     306#if H_3D_DISABLE_CHROMA
     307Void TEncEntropy::xEncodeTransform( TComDataCU* pcCU,UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP, Bool rd )
     308#else
    287309Void TEncEntropy::xEncodeTransform( TComDataCU* pcCU,UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP )
    288 {
     310#endif
     311{
     312
     313#if H_MV_ENC_DEC_TRAC
     314#if ENC_DEC_TRACE
     315  UInt uiLPelX   = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ];
     316  UInt uiTPelY   = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ];
     317
     318  DTRACE_TU_S("=========== transform_tree ===========\n")
     319  DTRACE_TU("x0", uiLPelX)
     320  DTRACE_TU("x1", uiTPelY)
     321  DTRACE_TU("log2TrafoSize", g_uiMaxCUWidth>>uiDepth)
     322  DTRACE_TU("trafoDepth"  , uiDepth)
     323#endif
     324#endif
     325
    289326  const UInt uiSubdiv = pcCU->getTransformIdx( uiAbsPartIdx ) + pcCU->getDepth( uiAbsPartIdx ) > uiDepth;
    290327  const UInt uiLog2TrafoSize = g_aucConvertToBit[pcCU->getSlice()->getSPS()->getMaxCUWidth()]+2 - uiDepth;
     
    292329  UInt cbfU = pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrIdx );
    293330  UInt cbfV = pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrIdx );
    294 
     331#if H_3D_DISABLE_CHROMA
     332  if( !rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() == 0 )
     333  {
     334    cbfU = 0;
     335    cbfV = 0;
     336  }
     337#endif
    295338  if(uiTrIdx==0)
    296339  {
     
    309352      cbfU = pcCU->getCbf( m_uiBakAbsPartIdx, TEXT_CHROMA_U, uiTrIdx );
    310353      cbfV = pcCU->getCbf( m_uiBakAbsPartIdx, TEXT_CHROMA_V, uiTrIdx );
     354#if H_3D_DISABLE_CHROMA
     355      if( !rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() == 0 )
     356      {
     357        cbfU = 0;
     358        cbfV = 0;
     359      }
     360#endif
    311361    }
    312362  }
     
    349399  if( bFirstCbfOfCU || uiLog2TrafoSize > 2 )
    350400  {
     401#if H_3D_DISABLE_CHROMA
     402    if (pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 || rd)
     403    {
     404      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) )
     405      {
     406        m_pcEntropyCoderIf->codeQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr );
     407      }
     408      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr - 1 ) )
     409      {
     410        m_pcEntropyCoderIf->codeQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr );
     411      }
     412    }
     413#else
    351414    if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) )
    352415    {
     
    357420      m_pcEntropyCoderIf->codeQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr );
    358421    }
     422#endif
    359423  }
    360424  else if( uiLog2TrafoSize == 2 )
    361425  {
     426#if H_3D_DISABLE_CHROMA
     427    if ( rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
     428    {
    362429    assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) );
    363430    assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr - 1 ) );
     431  }
     432#else
     433    assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) );
     434    assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr - 1 ) );
     435#endif
    364436  }
    365437 
     
    374446    const UInt partNum = pcCU->getPic()->getNumPartInCU() >> (uiDepth << 1);
    375447   
     448#if H_3D_DISABLE_CHROMA
     449    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP, rd );
     450
     451    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
     452    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP ,rd );
     453
     454    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
     455    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP, rd );
     456
     457    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
     458    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP, rd );
     459#else
    376460    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP );
    377461
     
    384468    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
    385469    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP );
     470#endif
    386471  }
    387472  else
     
    400485#endif
    401486   
     487#if H_3D_DISABLE_CHROMA
     488    Bool notcbfUV = !rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() == 0 ? 1 : ( !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) ) ;
     489    if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA &&
     490      uiDepth == pcCU->getDepth( uiAbsPartIdx ) && notcbfUV )
     491#else
    402492    if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
     493#endif
    403494    {
    404495      assert( pcCU->getCbf( uiAbsPartIdx, TEXT_LUMA, 0 ) );
     
    489580    encodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx,true );
    490581#if H_3D_DIM_SDC
     582#if H_3D_DISABLE_CHROMA
     583    if(!pcCU->getSDCFlag(uiAbsPartIdx) && ( pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0  || bRD ) )
     584#else
    491585    if(!pcCU->getSDCFlag(uiAbsPartIdx))
     586#endif
    492587#endif
    493588    encodeIntraDirModeChroma( pcCU, uiAbsPartIdx, bRD );
     
    657752 * \param uiHeight
    658753 */
     754#if H_3D_DISABLE_CHROMA
     755Void TEncEntropy::encodeCoeff( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP, Bool rd )
     756#else
    659757Void TEncEntropy::encodeCoeff( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP )
     758#endif
    660759{
    661760  UInt uiMinCoeffSize = pcCU->getPic()->getMinCUWidth()*pcCU->getPic()->getMinCUHeight();
     
    668767    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
    669768    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
     769#if H_3D_DISABLE_CHROMA
     770    if (!pcCU->getSlice()->getIsDepth() )
     771    {
     772      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
     773      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     774    }
     775#else
    670776    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
    671777    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
    672   }
     778#endif
     779  }
     780
    673781
    674782  if( pcCU->getSDCFlag( uiAbsPartIdx ) && !pcCU->isIntra( uiAbsPartIdx ) )
     
    723831  }
    724832 
     833#if H_3D_DISABLE_CHROMA
     834  xEncodeTransform( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, bCodeDQP, rd);
     835#else
    725836  xEncodeTransform( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, bCodeDQP);
     837#endif
    726838}
    727839
     
    792904Void TEncEntropy::encodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    793905{
    794   if( bRD )
    795   {
    796     uiAbsPartIdx = 0;
    797   }
    798   m_pcEntropyCoderIf->codeDBBPFlag( pcCU, uiAbsPartIdx );
     906#if HHI_MOVE_SYN_K0052
     907  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() &&
     908    ( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN ||
     909      pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) &&
     910      pcCU->getWidth(uiAbsPartIdx) > 8 &&
     911      pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     912  {
     913#endif
     914    if( bRD )
     915    {
     916      uiAbsPartIdx = 0;
     917    }
     918    m_pcEntropyCoderIf->codeDBBPFlag( pcCU, uiAbsPartIdx );
     919#if HHI_MOVE_SYN_K0052
     920  }
     921#endif
    799922}
    800923#endif
  • trunk/source/Lib/TLibEncoder/TEncEntropy.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    8282  virtual Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    8383  virtual Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
     84#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     85  virtual Void codeDIS          ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
     86#else
    8487#if H_3D_SINGLE_DEPTH
    8588  virtual Void codeSingleDepthMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
     89#endif
    8690#endif
    8791  virtual Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
     
    147151  Void    resetBits                 ()                        { m_pcEntropyCoderIf->resetBits();      }
    148152  Void    resetCoeffCost            ()                        { m_pcEntropyCoderIf->resetCoeffCost(); }
    149   UInt    getNumberOfWrittenBits    ()                        { return m_pcEntropyCoderIf->getNumberOfWrittenBits(); }
     153  UInt    getNumberOfWrittenBits    ()
     154  {
     155#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC
     156    Bool oldJustDoIt = g_bJustDoIt;
     157    g_bJustDoIt = true;
     158    writeToTraceFile( "NumberOfWrittenBits", m_pcEntropyCoderIf->getNumberOfWrittenBits(), g_encNumberOfWrittenBits );
     159    g_bJustDoIt = oldJustDoIt;
     160#endif
     161    return m_pcEntropyCoderIf->getNumberOfWrittenBits();
     162  }
    150163  UInt    getCoeffCost              ()                        { return  m_pcEntropyCoderIf->getCoeffCost(); }
    151164  Void    resetEntropy              ()                        { m_pcEntropyCoderIf->resetEntropy();  }
     
    166179  Void encodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    167180  Void encodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
     181#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     182  Void encodeDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD=false );
     183#else
    168184#if H_3D_SINGLE_DEPTH
    169185  Void encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD=false );
     186#endif
    170187#endif
    171188  Void encodePUWise       ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
     
    209226
    210227private:
     228#if H_3D_DISABLE_CHROMA
     229  Void xEncodeTransform        ( TComDataCU* pcCU,UInt offsetLumaOffset, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP, Bool rd );
     230public:
     231  Void encodeCoeff             ( TComDataCU* pcCU,                 UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP, Bool rd );
     232#else
    211233  Void xEncodeTransform        ( TComDataCU* pcCU,UInt offsetLumaOffset, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP );
    212234public:
    213235  Void encodeCoeff             ( TComDataCU* pcCU,                 UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP );
     236#endif
    214237 
    215238  Void encodeCoeffNxN         ( TComDataCU* pcCU, TCoeff* pcCoeff, UInt uiAbsPartIdx, UInt uiTrWidth, UInt uiTrHeight, UInt uiDepth, TextType eType );
  • trunk/source/Lib/TLibEncoder/TEncGOP.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    885885    Int numDirectRefLayers = vps    ->getNumDirectRefLayers( getLayerId() );
    886886#endif
     887#if HHI_INTER_COMP_PRED_K0052
     888    pcSlice->setIvPicLists( m_ivPicLists );         
     889
     890    Int gopNum = (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid;
     891    GOPEntry gopEntry      = m_pcCfg->getGOPEntry( gopNum );     
     892#else
    887893    GOPEntry gopEntry      = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid );     
     894#endif
    888895   
    889896    Bool interLayerPredLayerIdcPresentFlag = false;
     
    922929    assert( pcSlice->getNumActiveRefLayerPics() == gopEntry.m_numActiveRefLayerPics );
    923930   
     931#if HHI_INTER_COMP_PRED_K0052
     932#if H_3D
     933    if ( m_pcEncTop->decProcAnnexI() )
     934    {   
     935      pcSlice->deriveInCmpPredAndCpAvailFlag();
     936      if ( pcSlice->getInCmpPredAvailFlag() )
     937      {     
     938        pcSlice->setInCompPredFlag( gopEntry.m_interCompPredFlag );
     939      }
     940      else
     941      {
     942        if (gopEntry.m_interCompPredFlag )
     943        {
     944          if ( gopNum == MAX_GOP)
     945          {
     946            printf( "\nError: FrameI_l%d cannot enable inter-component prediction.\n", pcSlice->getVPS()->getLayerIdInVps( getLayerId() ) );
     947          }
     948          else
     949          {
     950            printf( "\nError: Frame%d_l%d cannot enable inter-component prediction.\n", gopNum, pcSlice->getVPS()->getLayerIdInVps( getLayerId() ) );
     951          }
     952         
     953          exit(EXIT_FAILURE);
     954        }
     955      }
     956      pcSlice->init3dToolParameters();
     957      pcSlice->checkInCompPredRefLayers();
     958    }
     959   
     960
     961    // This needs to be done after initilizaiton of 3D tool parameters.
     962    pcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( )   ) ? 1 : 0 ));
     963#endif
     964#endif
     965
    924966    pcSlice->createInterLayerReferencePictureSet( m_ivPicLists, m_refPicSetInterLayer0, m_refPicSetInterLayer1 );
    925967    pcSlice->setNumRefIdx(REF_PIC_LIST_0,min(gopEntry.m_numRefPicsActive,( pcSlice->getRPS()->getNumberOfPictures() + (Int) m_refPicSetInterLayer0.size() + (Int) m_refPicSetInterLayer1.size()) ) );
     
    9681010    }
    9691011#endif
     1012#if !HHI_INTER_COMP_PRED_K0052
    9701013#if H_3D
    9711014    pcSlice->setIvPicLists( m_ivPicLists );         
     
    9731016    assert( !m_pcEncTop->getIsDepth() || ( pcSlice->getTexturePic() != 0 ) );
    9741017#endif   
     1018#endif
    9751019#endif
    9761020#if H_3D_IC
     
    19501994              m_pcSAO->PCMLFDisableProcess(pcPic);
    19511995
     1996#if H_3D_DISABLE_CHROMA
     1997            if (pcSlice->getIsDepth())
     1998            {
     1999              sliceEnabled[SAO_Cb] = false;
     2000              sliceEnabled[SAO_Cr] = false;
     2001            }
     2002#endif
    19522003            //assign SAO slice header
    19532004            for(Int s=0; s< uiNumSlices; s++)
  • trunk/source/Lib/TLibEncoder/TEncGOP.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncPic.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncPic.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncPreanalyzer.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncPreanalyzer.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncRateCtrl.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncRateCtrl.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp

    r964 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2014, ITU/ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2014, ITU/ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncSbac.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5858, m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
    5959, m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     60#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     61, m_cCUDISFlagSCModel         ( 1,             1,               NUM_DIS_FLAG_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
     62, m_cCUDISTypeSCModel         ( 1,             1,               NUM_DIS_TYPE_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
     63#else
    6064#if H_3D_SINGLE_DEPTH
    6165, m_cCUSingleDepthFlagSCModel        ( 1,             1,               NUM_SINGLEDEPTH_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    6266, m_cSingleDepthValueSCModel         ( 1,             1,               NUM_SINGLE_DEPTH_VALUE_DATA_CTX      , m_contextModels + m_numContextModels, m_numContextModels)
     67#endif
    6368#endif
    6469, m_cCUMergeFlagExtSCModel    ( 1,             1,               NUM_MERGE_FLAG_EXT_CTX        , m_contextModels + m_numContextModels, m_numContextModels)
     
    134139 
    135140  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
     141#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     142  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
     143  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
     144#else
    136145#if H_3D_SINGLE_DEPTH
    137146  m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    138147  m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     148#endif
    139149#endif
    140150  m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT);
     
    214224      curCost  = m_cCUSplitFlagSCModel.calcCost       ( curSliceType, qp, (UChar*)INIT_SPLIT_FLAG );
    215225      curCost += m_cCUSkipFlagSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_SKIP_FLAG );
     226#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     227      curCost += m_cCUDISFlagSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_DIS_FLAG );
     228      curCost += m_cCUDISTypeSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_DIS_TYPE );
     229#else
    216230#if H_3D_SINGLE_DEPTH
    217231      curCost += m_cCUSingleDepthFlagSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    218232      curCost += m_cSingleDepthValueSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     233#endif
    219234#endif
    220235      curCost += m_cCUMergeFlagExtSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT);
     
    287302 
    288303  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
     304#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     305  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
     306  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
     307#else
    289308#if H_3D_SINGLE_DEPTH
    290309  m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    291310  m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
    292 #endif 
     311#endif
     312#endif
    293313  m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT);
    294314  m_cCUMergeIdxExtSCModel.initBuffer     ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT);
     
    446466  m_pcBinIf->encodeBinsEP( bins, numBins );
    447467}
     468
     469#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     470Void TEncSbac::codeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx )
     471{
     472  UInt uiSymbol = pcCU->getDISFlag(uiAbsPartIdx ) ? 1 : 0;
     473  m_pcBinIf->encodeBin( uiSymbol, m_cCUDISFlagSCModel.get( 0, 0, 0 ) );
     474  if(uiSymbol)
     475  {
     476    UInt uiUnaryIdx = (UInt) pcCU->getDISType(uiAbsPartIdx);
     477    UInt uiNumCand  = 4;
     478
     479    if ( uiNumCand > 1 )
     480    {
     481      for( UInt ui = 0; ui < uiNumCand - 1; ++ui )
     482      {
     483        const UInt uiSymbol2 = ui == uiUnaryIdx ? 0 : 1;
     484        if ( ui == 0 )
     485        {
     486          m_pcBinIf->encodeBin( uiSymbol2, m_cCUDISTypeSCModel.get( 0, 0, 0 ) );
     487        }
     488        else
     489        {
     490          m_pcBinIf->encodeBinEP( uiSymbol2 );
     491        }
     492        if( uiSymbol2 == 0 )
     493        {
     494          break;
     495        }
     496      }
     497    }
     498  }
     499}
     500#else
    448501#if H_3D_SINGLE_DEPTH
    449502Void TEncSbac::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
     
    477530}
    478531#endif
     532#endif
     533
    479534/** Coding of coeff_abs_level_minus3
    480535 * \param uiSymbol value of coeff_abs_level_minus3
     
    10401095  DTRACE_CABAC_V( uiCtx )
    10411096  DTRACE_CABAC_T( "\n" )
    1042 #endif
     1097#else
     1098  DTRACE_TU("split_transform_flag", uiSymbol )
     1099#endif
     1100
    10431101}
    10441102
     
    13711429  DTRACE_CABAC_V( uiAbsPartIdx )
    13721430  DTRACE_CABAC_T( "\n" )
     1431#else
     1432  if ( eType == TEXT_CHROMA_U )
     1433  {
     1434    DTRACE_TU("cbf_cb", uiCbf )
     1435  }
     1436  else if ( eType == TEXT_CHROMA_V )
     1437  {
     1438    DTRACE_TU("cbf_cr", uiCbf )
     1439  }
     1440  else
     1441  {
     1442    DTRACE_TU("cbf_luma", uiCbf )
     1443  }
    13731444#endif
    13741445}
     
    14461517    }
    14471518
     1519#if H_3D_DISABLE_CHROMA
     1520    if( pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
     1521    {   
     1522#endif
    14481523    piPCMSample = pcCU->getPCMSampleCb() + uiChromaOffset;
    14491524    uiWidth = pcCU->getWidth(uiAbsPartIdx)/2;
     
    14771552      piPCMSample += uiWidth;
    14781553    }
     1554#if H_3D_DISABLE_CHROMA
     1555    }
     1556#endif
    14791557    m_pcBinIf->resetBac();
    14801558  }
     
    22892367  UInt uiSymbol = pcCU->getSDCFlag( uiAbsPartIdx ) ? 1 : 0;
    22902368  UInt uiCtxSDCFlag = pcCU->getCtxSDCFlag( uiAbsPartIdx );
    2291 
     2369  DTRACE_CU("dc_only_flag", uiSymbol)
    22922370  m_pcBinIf->encodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, uiCtxSDCFlag ) );
    22932371}
     
    23052383  UInt uiSymbol = pcCU->getDBBPFlag( uiAbsPartIdx ) ? 1 : 0;
    23062384  m_pcBinIf->encodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) );
     2385  DTRACE_CU("dbbp_flag", uiSymbol)
    23072386}
    23082387#endif
  • trunk/source/Lib/TLibEncoder/TEncSbac.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    146146  Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
    147147  Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     148#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     149  Void codeDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     150#else
    148151#if H_3D_SINGLE_DEPTH
    149152  Void codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx );
     153#endif
    150154#endif
    151155  Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     
    215219  ContextModel3DBuffer m_cCUSplitFlagSCModel;
    216220  ContextModel3DBuffer m_cCUSkipFlagSCModel;
     221#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     222  ContextModel3DBuffer m_cCUDISFlagSCModel;
     223  ContextModel3DBuffer m_cCUDISTypeSCModel;
     224#else
    217225#if H_3D_SINGLE_DEPTH
    218226  ContextModel3DBuffer m_cCUSingleDepthFlagSCModel;
    219227  ContextModel3DBuffer m_cSingleDepthValueSCModel;
     228#endif
    220229#endif
    221230  ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
  • trunk/source/Lib/TLibEncoder/TEncSearch.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    915915        }
    916916        m_pcEntropyCoder->encodeSkipFlag( pcCU, 0, true );
     917#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     918        m_pcEntropyCoder->encodeDIS(pcCU, 0, true );
     919        if(!pcCU->getDISFlag(uiAbsPartIdx))
     920#else
    917921#if H_3D_SINGLE_DEPTH
    918922        m_pcEntropyCoder->encodeSingleDepthMode(pcCU, 0, true );
    919923        if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
    920924#endif
    921         m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
    922       }
     925#endif
     926          m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
     927      }
     928#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     929      else
     930      {
     931        m_pcEntropyCoder->encodeDIS(pcCU, 0, true );
     932      }
     933#else
    923934#if H_3D_SINGLE_DEPTH
    924935      else
     
    926937        m_pcEntropyCoder->encodeSingleDepthMode(pcCU, 0, true );
    927938      }
    928 #endif     
     939#endif
     940#endif
     941#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     942      if(!pcCU->getDISFlag(uiAbsPartIdx))
     943      {
     944#else
    929945#if H_3D_SINGLE_DEPTH
    930946      if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
    931947      {
    932948#endif
    933       m_pcEntropyCoder  ->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
    934 
     949#endif
     950        m_pcEntropyCoder  ->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
     951
     952#if !HHI_MOVE_SYN_K0052
    935953#if H_3D_DIM_SDC
    936       m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    937 #endif
    938       if (pcCU->isIntra(0) && pcCU->getPartitionSize(0) == SIZE_2Nx2N )
    939       {
    940         m_pcEntropyCoder->encodeIPCMInfo( pcCU, 0, true );
    941 
    942         if ( pcCU->getIPCMFlag (0))
    943         {
    944           return;
    945         }
    946       }
     954        m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     955#endif
     956#endif
     957        if (pcCU->isIntra(0) && pcCU->getPartitionSize(0) == SIZE_2Nx2N )
     958        {
     959          m_pcEntropyCoder->encodeIPCMInfo( pcCU, 0, true );
     960          if ( pcCU->getIPCMFlag (0))
     961          {
     962#if HHI_MOVE_SYN_K0052
     963#if H_3D_DIM_SDC
     964            m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     965#endif
     966#endif
     967            return;
     968          }
     969        }
     970#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     971      }
     972#else
    947973#if H_3D_SINGLE_DEPTH
    948     }
    949 #endif
    950     }
     974      }
     975#endif
     976#endif
     977    }
     978#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     979    if(!pcCU->getDISFlag(uiAbsPartIdx))
     980    {
     981#else
    951982#if H_3D_SINGLE_DEPTH
    952       if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
    953       {
    954 #endif
    955     // luma prediction mode
    956     if( pcCU->getPartitionSize(0) == SIZE_2Nx2N )
    957     {
    958       if( uiAbsPartIdx == 0 )
    959       {
    960         m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, 0 );
     983    if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
     984    {
     985#endif
     986#endif
     987      // luma prediction mode
     988      if( pcCU->getPartitionSize(0) == SIZE_2Nx2N )
     989      {
     990        if( uiAbsPartIdx == 0 )
     991        {
     992          m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, 0 );
    961993#if H_3D_DIM_SDC
    962         if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && getDimType( pcCU->getLumaIntraDir( 0 ) ) < DIM_NUM_TYPE )
    963         {
    964           m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 );
    965         }
    966 #endif
    967       }
    968     }
    969     else
    970     {
    971       UInt uiQNumParts = pcCU->getTotalNumPart() >> 2;
    972       if( uiTrDepth == 0 )
    973       {
    974         assert( uiAbsPartIdx == 0 );
    975         for( UInt uiPart = 0; uiPart < 4; uiPart++ )
    976         {
    977           m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiPart * uiQNumParts );
     994#if HHI_MOVE_SYN_K0052
    978995#if H_3D_DIM_SDC
    979           if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiPart * uiQNumParts ) ) && getDimType( pcCU->getLumaIntraDir( uiPart * uiQNumParts ) ) < DIM_NUM_TYPE )
     996          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     997#endif
     998#endif
     999          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && getDimType( pcCU->getLumaIntraDir( 0 ) ) < DIM_NUM_TYPE )
    9801000          {
    981             m_pcEntropyCoder->encodeDeltaDC( pcCU, uiPart * uiQNumParts );
     1001            m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 );
    9821002          }
    9831003#endif
    9841004        }
    9851005      }
    986       else if( ( uiAbsPartIdx % uiQNumParts ) == 0 )
    987       {
    988         m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiAbsPartIdx );
     1006      else
     1007      {
     1008        UInt uiQNumParts = pcCU->getTotalNumPart() >> 2;
     1009        if( uiTrDepth == 0 )
     1010        {
     1011          assert( uiAbsPartIdx == 0 );
     1012          for( UInt uiPart = 0; uiPart < 4; uiPart++ )
     1013          {
     1014            m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiPart * uiQNumParts );
     1015
     1016#if HHI_MOVE_SYN_K0052
     1017          }
     1018          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     1019          for( UInt uiPart = 0; uiPart < 4; uiPart++ )
     1020          {
     1021#endif
    9891022#if H_3D_DIM_SDC
    990         if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiAbsPartIdx ) ) && getDimType( pcCU->getLumaIntraDir( uiAbsPartIdx ) ) < DIM_NUM_TYPE )
    991         {
    992           m_pcEntropyCoder->encodeDeltaDC( pcCU, uiAbsPartIdx );
    993       }
    994 #endif
    995     }
    996   }
     1023            if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiPart * uiQNumParts ) ) && getDimType( pcCU->getLumaIntraDir( uiPart * uiQNumParts ) ) < DIM_NUM_TYPE )
     1024            {
     1025              m_pcEntropyCoder->encodeDeltaDC( pcCU, uiPart * uiQNumParts );
     1026            }
     1027#endif
     1028          }
     1029        }
     1030        else if( ( uiAbsPartIdx % uiQNumParts ) == 0 )
     1031        {
     1032          m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiAbsPartIdx );
     1033#if H_3D_DIM_SDC
     1034#if HHI_MOVE_SYN_K0052
     1035          if( uiAbsPartIdx == 0 ) 
     1036          {
     1037            m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     1038          }
     1039#endif
     1040          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiAbsPartIdx ) ) && getDimType( pcCU->getLumaIntraDir( uiAbsPartIdx ) ) < DIM_NUM_TYPE )
     1041          {
     1042            m_pcEntropyCoder->encodeDeltaDC( pcCU, uiAbsPartIdx );
     1043          }
     1044#endif
     1045        }
     1046      }
     1047#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1048    }
     1049#else
    9971050#if H_3D_SINGLE_DEPTH
    9981051    }
     1052#endif
    9991053#endif
    10001054  }
     
    18591913  dRDCost  += dSingleCost;
    18601914}
     1915
     1916#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     1917Void TEncSearch::xIntraCodingDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, UInt uiPredMode )
     1918{
     1919  UInt    uiWidth           = pcCU     ->getWidth   ( 0 );
     1920  UInt    uiHeight          = pcCU     ->getHeight  ( 0 );
     1921  UInt    uiStride          = pcOrgYuv ->getStride  ();
     1922  Pel*    piOrg             = pcOrgYuv ->getLumaAddr( uiAbsPartIdx );
     1923  Pel*    piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
     1924
     1925  AOF( uiWidth == uiHeight );
     1926  AOF( uiAbsPartIdx == 0 );
     1927  pcCU->setDISTypeSubParts(uiPredMode, uiAbsPartIdx, 0, pcCU->getDepth(0)); 
     1928  //===== reconstruction =====
     1929
     1930  Bool bAboveAvail = false;
     1931  Bool bLeftAvail  = false;
     1932  pcCU->getPattern()->initPattern   ( pcCU, 0, 0 );
     1933  pcCU->getPattern()->initAdiPattern( pcCU, 0, 0, m_piYuvExt, m_iYuvExtStride, m_iYuvExtHeight, bAboveAvail, bLeftAvail );
     1934
     1935  if ( uiPredMode == 0 )
     1936  {
     1937    predIntraLumaAng( pcCU->getPattern(), VER_IDX, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
     1938  }
     1939  else if ( uiPredMode == 1 )
     1940  {
     1941    predIntraLumaAng( pcCU->getPattern(), HOR_IDX, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
     1942  }
     1943  else if ( uiPredMode == 2 )
     1944  {
     1945    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
     1946    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 0 );
     1947    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     1948    {
     1949      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     1950      {
     1951        piPred[ uiX ] = pSingleDepth;
     1952      }
     1953      piPred+= uiStride;
     1954    }
     1955  }
     1956  else if ( uiPredMode == 3 )
     1957  {
     1958    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
     1959    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 1 );
     1960    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     1961    {
     1962      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     1963      {
     1964        piPred[ uiX ] = pSingleDepth;
     1965      }
     1966      piPred+= uiStride;
     1967    }
     1968  }
     1969
     1970  // clear UV
     1971  UInt  uiStrideC     = pcPredYuv->getCStride();
     1972  Pel   *pRecCb       = pcPredYuv->getCbAddr();
     1973  Pel   *pRecCr       = pcPredYuv->getCrAddr();
     1974
     1975  for (Int y=0; y<uiHeight/2; y++)
     1976  {
     1977    for (Int x=0; x<uiWidth/2; x++)
     1978    {
     1979      pRecCb[x] = 1<<(g_bitDepthC-1);
     1980      pRecCr[x] = 1<<(g_bitDepthC-1);
     1981    }
     1982
     1983    pRecCb += uiStrideC;
     1984    pRecCr += uiStrideC;
     1985  }
     1986
     1987  piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
     1988  //===== determine distortion =====
     1989#if H_3D_VSO
     1990  if ( m_pcRdCost->getUseVSO() )
     1991    ruiDist = m_pcRdCost->getDistPartVSO  ( pcCU, uiAbsPartIdx, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
     1992  else
     1993#endif
     1994    ruiDist = m_pcRdCost->getDistPart(g_bitDepthY, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight );
     1995
     1996  //===== determine rate and r-d cost =====
     1997  m_pcEntropyCoder->resetBits();
     1998  m_pcEntropyCoder->encodeDIS( pcCU, 0, true );
     1999  UInt uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
     2000
     2001#if H_3D_VSO
     2002  if ( m_pcRdCost->getUseLambdaScaleVSO())
     2003    dRDCost = m_pcRdCost->calcRdCostVSO( uiBits, ruiDist );
     2004  else
     2005#endif
     2006    dRDCost = m_pcRdCost->calcRdCost( uiBits, ruiDist );
     2007}
     2008#else
    18612009#if H_3D_SINGLE_DEPTH
    18622010Void TEncSearch::xIntraCodingSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Int iTestDepthIdx, Pel *DepthNeighbor )
     
    19212069}
    19222070#endif
     2071#endif
     2072
    19232073#if H_3D_DIM_SDC
    19242074Void TEncSearch::xIntraCodingSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bZeroResidual, Int iSDCDeltaResi  )
     
    21682318
    21692319  m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth( 0 ), true );
     2320#if !HHI_MOVE_SYN_K0052
    21702321  m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     2322#endif
    21712323
    21722324  // encode pred direction + DC residual data
    21732325  m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
     2326#if HHI_MOVE_SYN_K0052
     2327  m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     2328#endif
     2329
    21742330  Bool bDummy = false;
     2331#if H_3D_DISABLE_CHROMA
     2332  m_pcEntropyCoder->encodeCoeff( pcCU, 0, pcCU->getDepth( 0 ), uiWidth, uiHeight, bDummy, true );
     2333#else
    21752334  m_pcEntropyCoder->encodeCoeff( pcCU, 0, pcCU->getDepth( 0 ), uiWidth, uiHeight, bDummy );
     2335#endif
    21762336  UInt uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
    21772337
     
    28613021  pcCU->setChromIntraDirSubParts( uiBestMode, 0, pcCU->getDepth( 0 ) );
    28623022}
     3023
     3024#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     3025Void TEncSearch::estIntraPredDIS( TComDataCU* pcCU,
     3026                                  TComYuv*    pcOrgYuv,
     3027                                  TComYuv*    pcPredYuv,
     3028                                  TComYuv*    pcResiYuv,
     3029                                  TComYuv*    pcRecoYuv,
     3030                                  UInt&       ruiDistC,
     3031                                  Bool        bLumaOnly )
     3032{
     3033  UInt    uiDepth        = pcCU->getDepth(0);
     3034  UInt    uiWidth        = pcCU->getWidth (0);
     3035  UInt    uiHeight       = pcCU->getHeight(0);
     3036
     3037
     3038  Pel* piOrg         = pcOrgYuv ->getLumaAddr( 0, uiWidth );
     3039  UInt uiStride      = pcPredYuv->getStride();
     3040
     3041  Dist   uiDist = 0;
     3042  Double dCost   = 0.0;
     3043  Dist    uiBestDist = 0;
     3044  Double  dBestCost   = MAX_DOUBLE;
     3045  UInt     uiBestDISType = 0;
     3046
     3047  for( UInt uiPredMode = 0; uiPredMode < 4 ; uiPredMode++ )
     3048  {
     3049    // set context models
     3050    m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST] );
     3051
     3052    // determine residual for partition
     3053    uiDist = 0;
     3054    dCost   = 0.0;
     3055#if H_3D_VSO // M36
     3056    if( m_pcRdCost->getUseRenModel() )
     3057    {
     3058      m_pcRdCost->setRenModelData( pcCU, 0, piOrg, uiStride, uiWidth, uiHeight );
     3059    }
     3060#endif
     3061    xIntraCodingDIS(pcCU, 0, pcOrgYuv, pcPredYuv, uiDist, dCost, uiPredMode);
     3062    // check r-d cost
     3063    if( dCost < dBestCost )
     3064    {
     3065      uiBestDist = uiDist;
     3066      dBestCost   = dCost;
     3067      uiBestDISType = pcCU->getDISType(0);
     3068      // copy reconstruction
     3069      pcPredYuv->copyPartToPartYuv(pcRecoYuv, 0, uiWidth, uiHeight);
     3070    }
     3071  }
     3072
     3073
     3074  pcCU->setDISTypeSubParts(uiBestDISType, 0, 0, uiDepth); 
     3075  assert(uiBestDISType >= 0);
     3076
     3077  //===== reset context models =====
     3078  m_pcRDGoOnSbacCoder->load(m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST]);
     3079
     3080  //===== set distortion (rate and r-d costs are determined later) =====
     3081  pcCU->getTotalDistortion() = uiBestDist;
     3082}
     3083#else
    28633084#if H_3D_SINGLE_DEPTH
    28643085Void
     
    29503171
    29513172#endif
     3173#endif
     3174
    29523175Void
    29533176TEncSearch::estIntraPredQT( TComDataCU* pcCU,
     
    53115534  TComMv      cMvPred = *pcMvPred;
    53125535 
     5536#if SONY_MV_V_CONST_C0078
     5537  Bool bMv_VRng_Restricted = false;
     5538  if( m_pcEncCfg->getUseDisparitySearchRangeRestriction()
     5539       &&
     5540      pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->getPOC() == pcCU->getSlice()->getPOC()
     5541    )
     5542  {
     5543      bMv_VRng_Restricted = true;
     5544  }
     5545  if ( bBi )  xSetSearchRange   ( pcCU, rcMv   , iSrchRng, cMvSrchRngLT, cMvSrchRngRB, bMv_VRng_Restricted, m_pcEncCfg->getVerticalDisparitySearchRange() );
     5546  else        xSetSearchRange   ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB, bMv_VRng_Restricted, m_pcEncCfg->getVerticalDisparitySearchRange() );
     5547#else
    53135548  if ( bBi )  xSetSearchRange   ( pcCU, rcMv   , iSrchRng, cMvSrchRngLT, cMvSrchRngRB );
    53145549  else        xSetSearchRange   ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB );
     5550#endif
    53155551 
    53165552  m_pcRdCost->getMotionCost ( 1, 0 );
     
    53655601
    53665602
     5603#if SONY_MV_V_CONST_C0078
     5604Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB, Bool bMv_VRng_Restricted, Int iVerDispSrchRng )
     5605#else
    53675606Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB )
     5607#endif
    53685608{
    53695609  Int  iMvShift = 2;
     
    53805620  rcMvSrchRngRB.setHor( cTmpMvPred.getHor() + (iSrchRng << iMvShift) );
    53815621  rcMvSrchRngRB.setVer( cTmpMvPred.getVer() + (iSrchRng << iMvShift) );
     5622 
     5623#if SONY_MV_V_CONST_C0078
     5624  if ( bMv_VRng_Restricted ) {
     5625    Int iRestrictMvVrange = ( iVerDispSrchRng - 1 ) << iMvShift ; // -1 to consider subpel search
     5626    if ( rcMvSrchRngRB.getVer() >= iRestrictMvVrange  ){
     5627      rcMvSrchRngRB.setVer( iRestrictMvVrange ); //only positive side is restricted
     5628    }
     5629  }
     5630#endif
     5631
    53825632  pcCU->clipMv        ( rcMvSrchRngLT );
    53835633  pcCU->clipMv        ( rcMvSrchRngRB );
     
    71197369    const UInt uiQTTempAccessLayer = pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() - uiLog2TrSize;
    71207370
     7371#if 0 //H_3D_DISABLE_CHROMA
     7372    Bool  bCodeChroma   = !pcCU->getSlice()->getIsDepth();
     7373#else
    71217374    Bool  bCodeChroma   = true;
     7375#endif
    71227376    UInt  uiTrModeC     = uiTrMode;
    71237377    UInt  uiLog2TrSizeC = uiLog2TrSize-1;
     
    72617515    }
    72627516    m_pcEntropyCoder->encodeSkipFlag ( pcCU, 0, true );
     7517#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     7518    m_pcEntropyCoder->encodeDIS ( pcCU, 0, true );
     7519#else
    72637520#if H_3D_SINGLE_DEPTH
    72647521    m_pcEntropyCoder->encodeSingleDepthMode ( pcCU, 0, true );
    72657522#endif
     7523#endif
    72667524    m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
    72677525    m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
     7526#if !HHI_MOVE_SYN_K0052
    72687527#if H_3D_DIM_SDC
    72697528    m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    72707529#endif
     7530#endif
    72717531    m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
     7532#if HHI_MOVE_SYN_K0052
     7533#if H_3D_DIM_SDC
     7534    m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     7535#endif
     7536#endif
    72727537#if H_3D_ARP
    7273     m_pcEntropyCoder->encodeARPW( pcCU , 0 );
     7538    m_pcEntropyCoder->encodeARPW( pcCU , 0  );
    72747539#endif
    72757540#if H_3D_IC
    72767541    m_pcEntropyCoder->encodeICFlag( pcCU, 0, true );
    72777542#endif
     7543#if HHI_MOVE_SYN_K0052
     7544    m_pcEntropyCoder->encodeDBBPFlag( pcCU, 0, true );
     7545#endif
    72787546    Bool bDummy = false;
     7547#if H_3D_DISABLE_CHROMA
     7548    m_pcEntropyCoder->encodeCoeff   ( pcCU, 0, pcCU->getDepth(0), pcCU->getWidth(0), pcCU->getHeight(0), bDummy, true );
     7549#else
    72797550    m_pcEntropyCoder->encodeCoeff   ( pcCU, 0, pcCU->getDepth(0), pcCU->getWidth(0), pcCU->getHeight(0), bDummy );
     7551#endif
    72807552   
    72817553    ruiBits += m_pcEntropyCoder->getNumberOfWrittenBits();
  • trunk/source/Lib/TLibEncoder/TEncSearch.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    191191                                  TComYuv*    pcRecoYuv,
    192192                                  UInt        uiPreCalcDistC );
     193#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     194  Void  estIntraPredDIS        ( TComDataCU* pcCU,
     195                                 TComYuv*    pcOrgYuv,
     196                                 TComYuv*    pcPredYuv,
     197                                 TComYuv*    pcResiYuv,
     198                                 TComYuv*    pcRecoYuv,
     199                                 UInt&       ruiDistC,
     200                                 Bool        bLumaOnly );
     201#else
    193202#if H_3D_SINGLE_DEPTH
    194203  Void  estIntraPredSingleDepth  ( TComDataCU* pcCU,
     
    199208                                  UInt&       ruiDistC,
    200209                                  Bool        bLumaOnly );
    201 #endif   
     210#endif
     211#endif
    202212 
    203213  /// encoder estimation - inter prediction (non-skip)
     
    354364                                    UInt         uiAbsPartIdx,
    355365                                    UInt         stateU0V1Both2 );
     366#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     367  Void xIntraCodingDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, UInt uiPredMode );
     368#else
    356369#if H_3D_SINGLE_DEPTH
    357370  Void xIntraCodingSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Int iTestDepthIdx, Pel * DepthNeighbor );
     371#endif
    358372#endif
    359373#if H_3D_DIM
     
    466480                                    UInt&         ruiSAD );
    467481 
     482#if SONY_MV_V_CONST_C0078
     483  Void xSetSearchRange           (  TComDataCU* pcCU,
     484                                    TComMv& cMvPred,
     485                                    Int iSrchRng,
     486                                    TComMv& rcMvSrchRngLT,
     487                                    TComMv& rcMvSrchRngRB,
     488                                    Bool bMv_VRng_Restricted,
     489                                    Int iVerDispSrchRng );
     490#else
    468491  Void xSetSearchRange            ( TComDataCU*   pcCU,
    469492                                    TComMv&       cMvPred,
     
    471494                                    TComMv&       rcMvSrchRngLT,
    472495                                    TComMv&       rcMvSrchRngRB );
     496#endif
    473497 
    474498  Void xPatternSearchFast         ( TComDataCU*   pcCU,
  • trunk/source/Lib/TLibEncoder/TEncSlice.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    215215  rpcSlice->setPicOutputFlag( true );
    216216  rpcSlice->setPOC( pocCurr );
     217#if !HHI_INTER_COMP_PRED_K0052
    217218#if H_3D
    218   rpcSlice->init3dToolParameters();
     219    rpcSlice->init3dToolParameters();
     220#endif
    219221#endif
    220222#if H_3D_IC
     
    610612  rpcSlice->setSliceSegmentMode     ( m_pcCfg->getSliceSegmentMode()     );
    611613  rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() );
     614#if !HHI_INTER_COMP_PRED_K0052
    612615#if H_3D_IV_MERGE
    613616  rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) || rpcSlice->getViewSynthesisPredFlag( )   ) ? 1 : 0 ));
    614617#else
    615618  rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
     619#endif
     620#else
     621#if !H_3D
     622  rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
     623#endif
    616624#endif
    617625  xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() );
  • trunk/source/Lib/TLibEncoder/TEncSlice.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/TEncTop.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    9191  m_aICEnableNum = NULL;
    9292#endif
     93#if H_3D_ANNEX_SELECTION_FIX
     94  m_cCavlcCoder.setEncTop(this);
     95#endif
    9396}
    9497
     
    364367  }
    365368#endif
     369
    366370  // initialize processing unit classes
    367371  m_cGOPEncoder.  init( this );
     
    413417#endif
    414418#if H_3D
     419#if HHI_CAM_PARA_K0052
     420  pcPicCurr->setScaleOffset( m_cameraParameters->getCodedScale(), m_cameraParameters->getCodedOffset() );
     421#else
    415422  pcPicCurr->setScaleOffset( m_aaiCodedScale, m_aaiCodedOffset );
     423#endif
    416424#endif
    417425}
     
    760768    m_cSPS.setSpsInferScalingListFlag   ( true );
    761769    m_cSPS.setSpsScalingListRefLayerId( m_cVPS->getIdRefLayer( getLayerId(), 0 ) );
    762   }
     770#if SONY_MV_V_CONST_C0078
     771    if ( m_bUseDisparitySearchRangeRestriction )
     772    {
     773      m_cSPS.setInterViewMvVertConstraintFlag ( true ) ;
     774    }
     775#endif
     776  } 
    763777  m_cSPS.setSpsExtensionPresentFlag       ( true );
    764778  m_cSPS.setSpsMultilayerExtensionFlag    ( true );
     
    773787  m_cSPS.setMaxCUHeight   ( g_uiMaxCUHeight     );
    774788  m_cSPS.setMaxCUDepth    ( g_uiMaxCUDepth      );
     789#if H_3D_DISABLE_CHROMA
     790  m_cSPS.setChromaFormatIdc( getIsDepth() ? CHROMA_400 : CHROMA_420 );
     791#endif
    775792
    776793  Int minCUSize = m_cSPS.getMaxCUWidth() >> ( m_cSPS.getMaxCUDepth()-g_uiAddCUDepth );
  • trunk/source/Lib/TLibEncoder/TEncTop.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/WeightPredAnalysis.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibEncoder/WeightPredAnalysis.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibExtractor/TExtrTop.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibExtractor/TExtrTop.h

    r608 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenFilter.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenFilter.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenImage.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenImage.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenImagePlane.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenImagePlane.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenInterpFilter.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenInterpFilter.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenModel.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenModel.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenSingleModel.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenSingleModel.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenTop.cpp

    r655 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibRenderer/TRenTop.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibVideoIO/TVideoIOYuv.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/TLibVideoIO/TVideoIOYuv.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/libmd5/MD5.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/Lib/libmd5/libmd5.h

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
Note: See TracChangeset for help on using the changeset viewer.