Index: /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg	(revision 1179)
@@ -56,7 +56,7 @@
 DirectRefLayers_3             : 1 2         # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -194,5 +194,6 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
-IntraSingleFlag                     : 1                 # use of single depth mode
+DepthIntraSkip                      : 1     
+
 #========== view synthesis optimization (VSO) ==========
 
Index: /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view_AllIntra.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view_AllIntra.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view_AllIntra.cfg	(revision 1179)
@@ -46,5 +46,5 @@
 #======== VPS / Dependencies ================
 DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
Index: /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg	(revision 1179)
@@ -68,9 +68,9 @@
 DirectRefLayers_5             : 1 4         # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -212,5 +212,6 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
-IntraSingleFlag                     : 1                 # use of single depth mode
+DepthIntraSkip                      : 1     
+
 #========== view synthesis optimization (VSO) ==========
 VSOConfig                 : [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
Index: /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view_AllIntra.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view_AllIntra.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view_AllIntra.cfg	(revision 1179)
@@ -56,6 +56,6 @@
 DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
Index: /trunk/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg	(revision 1179)
@@ -68,9 +68,9 @@
 DirectRefLayers_5             : 0 1         # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -260,4 +260,5 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
+DepthIntraSkip                      : 1  
 
 #========== view synthesis optimization (VSO) ==========
Index: /trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg	(revision 1179)
@@ -44,71 +44,71 @@
 DirectRefLayers_5             : 1 3 4       # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2 2 2 2     # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2 2 2       # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2 0 2 0     # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2 2 6       # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-    
-FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
-Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
-Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
-Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
-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             
-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             
-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             
-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             
-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             
-
-FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         
-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         
-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         
-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         
-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         
-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         
-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         
-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         
-
-FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         
-Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         
-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         
-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         
-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         
-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         
-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         
-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         
-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         
-
-FrameI_l4:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0     
-Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1     
-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     
-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     
-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     
-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     
-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     
-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     
-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     
-
-FrameI_l5:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0       
-Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1       
-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       
-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       
-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       
-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       
-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       
-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       
-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       
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0       interCompPred
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0         
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
+                                                                                                                                                                             
+FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                             1         
+Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             1         
+Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             1         
+Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             1         
+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                                             1         
+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                                             1         
+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                                             1         
+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                                             1         
+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                                             1
+                                                                                                                                                                             
+FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1   
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1          1   
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1          1   
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1          1   
+Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1          1   
+Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1          1   
+Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1          1   
+Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1          1   
+Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1          1   
+                                                                                                                                                                             
+FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1   
+Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1          1   
+Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1          1   
+Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1          1   
+Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1          1   
+Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1          1   
+Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1          1   
+Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1          1   
+Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1          1   
+                                                                                                                                                                             
+FrameI_l4:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0        1 
+Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1        1 
+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        1 
+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        1 
+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        1 
+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        1 
+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        1 
+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        1 
+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        1 
+                                                                                                                                                                             
+FrameI_l5:  B    0     3     0.442    0        0        0        1      0                        0                                 2            0 1       0 -1       -1 0        1   
+Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 2            0 1       1 -1       -1 1        1   
+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        1   
+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        1   
+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        1   
+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        1   
+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        1   
+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        1   
+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        1   
 
 ### DO NOT ADD ANYTHING BELOW THIS LINE ###
Index: /trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view.cfg	(revision 1179)
@@ -34,38 +34,38 @@
 DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers 
 DirectRefLayers_2             : 0 1         # Indices in VPS of direct reference layers 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
-
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0
-                                                                                                                                   
-FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1  
-Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   1          0         1          -1  
-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  
-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  
-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  
-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  
-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  
-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  
-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  
-                                                                                                                                                                               
-FrameI_l2:  B    0     3     0.442    0        0        0        1      0                        0                                   2          0 1       0 -1       -1 0
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   2          0 1       1 -1       -1 1
-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
-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
-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
-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
-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
-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
-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
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0       interCompPred
+                                                                                                                                                                                  
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                           0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                           0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                           0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0                                           0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0                                           0        
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0                                           0
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0                                           0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0                                           0
+                                                                                                                                                                                          
+FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                   1          0         0          -1          0        
+Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   1          0         1          -1          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0
+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          0
+                                                                                                                                                                            
+FrameI_l2:  B    0     3     0.442    0        0        0        1      0                        0                                   2          0 1       0 -1       -1 0        0
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   2          0 1       1 -1       -1 1        0
+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        0
+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        0
+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        0
+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        0
+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        0
+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        0
+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        0
 
 ### DO NOT ADD ANYTHING BELOW THIS LINE ###
Index: /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg	(revision 1179)
@@ -36,71 +36,71 @@
 DirectRefLayers_5             : 1 3 4       # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2 0 2 0     # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2 2 6       # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0    
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-    
-FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
-Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
-Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
-Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
-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             
-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             
-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             
-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             
-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             
-
-FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-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
-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
-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
-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
-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
-
-FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
-Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0  
-Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0  
-Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0  
-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  
-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  
-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  
-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  
-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  
-
-FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
-Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0  
-Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0  
-Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0  
-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  
-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  
-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  
-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  
-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  
-
-FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1     
-Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0    
-Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0    
-Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0    
-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    
-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    
-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    
-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    
-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    
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0       interCompPred
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                             0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                             0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                             0         
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                             0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                             0
+                                                                                                                                                                             
+FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                             1         
+Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0         
+Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0         
+Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0         
+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                                             0         
+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                                             0         
+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                                             0         
+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                                             0         
+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                                             0
+                                                                                                                                                                             
+FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+                                                                                                                                                                             
+FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
+Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
+Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
+Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+                                                                                                                                                                             
+FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
+Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
+Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
+Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+                                                                                                                                                                             
+FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1          1
+Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                             0
+Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                             0
+Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
+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                                             0
 
 ### DO NOT ADD ANYTHING BELOW THIS LINE ###
Index: /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg	(revision 1179)
@@ -25,6 +25,4 @@
 ProfileTierLevelIdx_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)
 
-
-
 #======== VPS / Dependencies ================
 DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers 
@@ -34,71 +32,71 @@
 DirectRefLayers_5             : 4           # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-    
-FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
-Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
-Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
-Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
-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             
-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             
-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             
-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             
-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             
-
-FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                 0  
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0  
-Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0  
-Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0  
-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  
-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  
-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  
-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  
-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  
-                                                                                                                                   
-FrameI_l3:  I    0     3     0.442    0        0        0        1      0                        0                                 0  
-Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0  
-Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0  
-Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0  
-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  
-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  
-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  
-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  
-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  
-                                                                                                                                   
-FrameI_l4:  I    0     3     0.442    0        0        0        1      0                        0                                 0
-Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-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
-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
-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
-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
-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
-                                                                                                                                   
-FrameI_l5:  I    0     3     0.442    0        0        0        1      0                        0                                 0  
-Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0  
-Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0  
-Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0  
-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  
-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  
-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  
-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  
-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  
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   interCompPred
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         0         
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         0
+                                                                                                                                                                         
+FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                         1         
+Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1         
+Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1         
+Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1         
+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                                         1         
+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                                         1         
+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                                         1         
+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                                         1         
+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                                         1
+                                                                                                                                                                         
+FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         0
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
+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                                         0
+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                                         0
+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                                         0
+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                                         0
+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                                         0
+                                                                                                                                                                         
+FrameI_l3:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         1
+Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1
+Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1
+Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1
+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                                         1
+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                                         1
+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                                         1
+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                                         1
+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                                         1
+                                                                                                                                                                         
+FrameI_l4:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         0
+Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
+Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
+Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
+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                                         0
+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                                         0
+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                                         0
+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                                         0
+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                                         0
+                                                                                                                                                                         
+FrameI_l5:  I    0     3     0.442    0        0        0        1      0                        0                                 0                                         1
+Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1
+Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1
+Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1
+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                                         1
+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                                         1
+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                                         1
+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                                         1
+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                                         1
 
 ### DO NOT ADD ANYTHING BELOW THIS LINE ###
Index: /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view.cfg	(revision 1179)
@@ -22,5 +22,5 @@
 ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
 ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
-ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
+ProfileTierLevelIdx_4         : 1 2  	                      # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
 ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
 
@@ -28,39 +28,38 @@
 DirectRefLayers_1             :             # Indices in VPS of direct reference layers 
 DirectRefLayers_2             :             # Indices in VPS of direct reference layers 
-DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             :             # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
-
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0
-                                                                                                                                   
-FrameI_l1:  I    0     3     0.442    0        0        0        1      0                        0                                   0
-Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
-Frame2_l1:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0
-Frame3_l1:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0
-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
-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
-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
-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
-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
-                                                                                                                                     
-FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                   0
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0
-Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0
-Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0
-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
-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
-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
-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
-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
-
-### DO NOT ADD ANYTHING BELOW THIS LINE ###
-### DO NOT DELETE THE EMPTY LINE BELOW ###
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0    interCompPred 
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                        0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                        0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                        0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1         0                                        0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0         0                                        0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0         0                                        0         
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1         0                                        0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0         0                                        0
+                                                                                                                                                                          
+FrameI_l1:  I    0     3     0.442    0        0        0        1      0                        0                                   0                                        0         
+Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                        0         
+Frame2_l1:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                        0         
+Frame3_l1:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                        0         
+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                                        0         
+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                                        0         
+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                                        0         
+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                                        0         
+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                                        0
+                                                                                                                                                                          
+FrameI_l2:  I    0     3     0.442    0        0        0        1      0                        0                                   0                                        0
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                   0                                        0
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1         0                                        0
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1           0                                        0
+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                                        0
+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                                        0
+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                                        0
+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                                        0
+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                                        0
+                                                                                                                                                                          
+### DO NOT ADD ANYTHING BELOW THIS LINE ###                                                                                                                                   
+### DO NOT DELETE THE EMPTY LINE BELOW ###                                                                                                                                    
Index: /trunk/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg	(revision 1179)
@@ -68,9 +68,9 @@
 DirectRefLayers_5             : 1 4          # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2            # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2            # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2 2          # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -273,5 +273,6 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
-IntraSingleFlag                     : 1                 # use of single depth mode
+DepthIntraSkip                      : 1     
+
 #========== view synthesis optimization (VSO) ==========
 VSOConfig                 : [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
Index: /trunk/cfg/3D-HEVC/baseCfg_2view+depth.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/baseCfg_2view+depth.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/baseCfg_2view+depth.cfg	(revision 1179)
@@ -56,7 +56,7 @@
 DirectRefLayers_3             : 1 2         # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -81,43 +81,43 @@
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs         #ActiveRefLayerPics     refLayerPicPosIl_L0     
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-                                                                                                      
-FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
-Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
-Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
-Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
-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             
-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             
-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             
-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             
-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             
-
-FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1  
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1  
-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  
-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  
-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  
-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  
-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  
-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  
-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  
-
-FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1  
-Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1  
-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  
-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  
-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  
-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  
-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  
-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  
-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  
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs         #ActiveRefLayerPics     refLayerPicPosIl_L0     interCompPred
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                         0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                         0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                         0        
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                         0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                         0
+                                                                                                                                                                         
+FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                         1        
+Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                         1        
+Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                         1        
+Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                         1        
+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                                         1        
+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                                         1        
+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                                         1        
+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                                         1        
+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                                         1
+                                                                                                                                                                         
+FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1      1
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1      1
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1      1
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1      1
+Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1      1
+Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1      1
+Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1      1
+Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1      1
+Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1      1
+                                                                                                                                                                         
+FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1      1
+Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1      1
+Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1      1
+Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1      1
+Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1      1
+Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1      1
+Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1      1
+Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1      1
+Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1      1
 
 #=========== Motion Search =============
@@ -228,5 +228,6 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
-IntraSingleFlag                     : 1                 # use of single depth mode
+DepthIntraSkip                      : 1     
+
 #========== view synthesis optimization (VSO) ==========
 
Index: /trunk/cfg/3D-HEVC/baseCfg_2view.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/baseCfg_2view.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/baseCfg_2view.cfg	(revision 1179)
@@ -46,5 +46,5 @@
 #======== VPS / Dependencies ================
 DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -70,23 +70,23 @@
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0     
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-    
-FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
-Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
-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
-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
-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
-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
-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
-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
-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
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id   #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0         interCompPred     
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                            0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                            0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                            0        
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                            0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                            0
+                                                                                                                                                                            
+FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1          0        
+Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0
 
 #=========== Motion Search =============
Index: /trunk/cfg/3D-HEVC/baseCfg_3view+depth.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/baseCfg_3view+depth.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/baseCfg_3view+depth.cfg	(revision 1179)
@@ -68,9 +68,9 @@
 DirectRefLayers_5             : 1 4         # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -95,63 +95,63 @@
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-                                                                                                      
-FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0             
-Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0             
-Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0             
-Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0             
-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             
-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             
-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             
-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             
-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             
-
-FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
-
-FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
-
-FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
-
-FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0      interCompPred
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                            0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                            0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                            0        
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                            0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                            0
+                                                                                                                                                                            
+FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                            1        
+Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            1        
+Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            1        
+Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            1        
+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                                            1        
+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                                            1        
+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                                            1        
+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                                            1        
+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                                            1
+                                                                                                                                                                            
+FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+                                                                                                                                                                            
+FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+                                                                                                                                                                            
+FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+                                                                                                                                                                            
+FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
 
 #=========== Motion Search =============
@@ -261,5 +261,6 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
-IntraSingleFlag                     : 1                 # use of single depth mode
+DepthIntraSkip                      : 1     
+
 #========== view synthesis optimization (VSO) ==========
 VSOConfig                 : [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
Index: /trunk/cfg/3D-HEVC/baseCfg_3view.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/baseCfg_3view.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/baseCfg_3view.cfg	(revision 1179)
@@ -56,6 +56,6 @@
 DirectRefLayers_2             : 0           # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -80,34 +80,34 @@
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0
-
-Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0
-Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0
-Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0
-Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0
-Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0
-Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0
-Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0
-Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0
-    
-FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
-Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
-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
-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
-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
-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
-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
-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
-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
-
-FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
-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
-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
-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
-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
-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
-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
-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
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0      interCompPred
+                                                                                                                                                                                
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                            0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                            0        
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                            0
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                            0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                            0
+                                                                                                                                                                                        
+FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1          0        
+Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0        
+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          0
+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          0
+                                                                                                                                                                                
+FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1          0
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1          0
+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          0
+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          0
+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          0
+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          0
+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          0
+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          0
+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          0
 
 #=========== Motion Search =============
Index: /trunk/cfg/3D-HEVC/deltaCfg_3view.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/deltaCfg_3view.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/deltaCfg_3view.cfg	(revision 1179)
@@ -38,6 +38,6 @@
 
 
-
-DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 DependencyTypes_3             :
 DependencyTypes_4             :
@@ -45,13 +45,13 @@
 
     
-FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1
-Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1
-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
-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
-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
-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
-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
-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
-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
+FrameI_l1:  P    0     3     0.442    0        0        0        1      0                        0                                  1          0         0          -1        1
+Frame1_l1:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                  1          0         1          -1        1
+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        1
+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        1
+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        1
+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        1
+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        1
+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        1
+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        1
 
 FrameI_l3:  
Index: /trunk/cfg/3D-HEVC/fullCfg.cfg
===================================================================
--- /trunk/cfg/3D-HEVC/fullCfg.cfg	(revision 1178)
+++ /trunk/cfg/3D-HEVC/fullCfg.cfg	(revision 1179)
@@ -131,9 +131,9 @@
 DirectRefLayers_5             : 1 4         # Indices in VPS of direct reference layers 
 
-DependencyTypes_1             : 2           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_2             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_3             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_4             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
-DependencyTypes_5             : 2 2         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion
+DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_4             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
+DependencyTypes_5             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
 
 #========== Camera parameters ==========
@@ -159,63 +159,63 @@
 
 #                           QPfactor      betaOffsetDiv2   #ref_pics_active  reference pictures     deltaRPS     reference idcs          ilPredLayerIdc       refLayerPicPosIl_L1
-#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0   
-Frame1:     B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0
-Frame2:     B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0
-Frame3:     B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0
-Frame4:     B    1     4        0.68     0            0              0           2                4         -1  1  3 7         1       1        5         1 0 1 1 1       0
-Frame5:     B    3     4        0.68     0            0              0           2                4         -1 -3  1 5         1      -2        5         1 1 1 1 0       0
-Frame6:     B    6     3        0.3536   0            0              0           2                4         -2 -4 -6 2         1      -3        5         1 1 1 1 0       0
-Frame7:     B    5     4        0.68     0            0              0           2                4         -1 -5  1 3         1       1        5         1 0 1 1 1       0
-Frame8:     B    7     4        0.68     0            0              0           2                4         -1 -3 -7 1         1      -2        5         1 1 1 1 0       0
-    
-FrameI_l1:  I    0     0        0.442    0            0              0           0                0                            0                                          0             
-Frame1_l1:  B    8     1        0.442    0            0              0           4                4         -8 -10 -12 -16     0                                          0             
-Frame2_l1:  B    4     2        0.3536   0            0              0           2                3         -4 -6  4           1       4        5         1 1 0 0 1       0             
-Frame3_l1:  B    2     3        0.3536   0            0              0           2                4         -2 -4  2 6         1       2        4         1 1 1 1         0             
-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             
-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             
-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             
-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             
-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             
-
-FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
-
-FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
-
-FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
-
-FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1    
-Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1    
-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    
-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    
-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    
-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    
-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    
-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    
-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    
+#         Type  POC QPoffset     tcOffsetDiv2      temporal_id      #ref_pics                 predict     #ref_idcs        #ActiveRefLayerPics     refLayerPicPosIl_L0      interCompPred
+Frame1:     B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            0
+Frame2:     B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            0
+Frame3:     B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            0
+Frame4:     B    1     4     0.68     0        0        0        2      4     -1  1  3 7         1     1     5     1 0 1 1 1       0                                            0
+Frame5:     B    3     4     0.68     0        0        0        2      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       0                                            0
+Frame6:     B    6     3     0.3536   0        0        0        2      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       0                                            0                                                
+Frame7:     B    5     4     0.68     0        0        0        2      4     -1 -5  1 3         1     1     5     1 0 1 1 1       0                                            0
+Frame8:     B    7     4     0.68     0        0        0        2      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       0                                            0
+                                                                              
+FrameI_l1:  I    0     0     0.442    0        0        0        0      0                        0                                 0                                            1                    
+Frame1_l1:  B    8     1     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 0                                            1             
+Frame2_l1:  B    4     2     0.3536   0        0        0        2      3     -4 -6  4           1     4     5     1 1 0 0 1       0                                            1             
+Frame3_l1:  B    2     3     0.3536   0        0        0        2      4     -2 -4  2 6         1     2     4     1 1 1 1         0                                            1             
+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                                            1             
+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                                            1             
+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                                            1             
+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                                            1             
+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                                            1
+
+FrameI_l2:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l2:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l2:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l2:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l2:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l2:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l2:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l2:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l2:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+
+FrameI_l3:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l3:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l3:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l3:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l3:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l3:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l3:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l3:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l3:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+
+FrameI_l4:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l4:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l4:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l4:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l4:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l4:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l4:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l4:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l4:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+
+FrameI_l5:  P    0     3     0.442    0        0        0        1      0                        0                                 1            0         0          -1         1
+Frame1_l5:  B    8     4     0.442    0        0        0        4      4     -8 -10 -12 -16     0                                 1            0         1          -1         1
+Frame2_l5:  B    4     5     0.3536   0        0        0        3      3     -4 -6  4           1     4     5     1 1 0 0 1       1            0         1          -1         1
+Frame3_l5:  B    2     6     0.3536   0        0        0        3      4     -2 -4  2 6         1     2     4     1 1 1 1         1            0         1          -1         1
+Frame4_l5:  B    1     7     0.68     0        0        0        3      4     -1  1  3 7         1     1     5     1 0 1 1 1       1            0         1          -1         1
+Frame5_l5:  B    3     7     0.68     0        0        0        3      4     -1 -3  1 5         1    -2     5     1 1 1 1 0       1            0         2          -1         1
+Frame6_l5:  B    6     6     0.3536   0        0        0        3      4     -2 -4 -6 2         1    -3     5     1 1 1 1 0       1            0         2          -1         1
+Frame7_l5:  B    5     7     0.68     0        0        0        3      4     -1 -5  1 3         1     1     5     1 0 1 1 1       1            0         2          -1         1
+Frame8_l5:  B    7     7     0.68     0        0        0        3      4     -1 -3 -7 1         1    -2     5     1 1 1 1 0       1            0         2          -1         1
 
 #=========== Motion Search =============
@@ -337,5 +337,6 @@
 InterSdcFlag                        : 1                             # use of inter sdc
 MpiFlag                             : 1
-IntraSingleFlag                     : 1                 # use of single depth mode
+DepthIntraSkip                      : 1     
+
 #========== view synthesis optimization (VSO) ==========
 VSOConfig                 : [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
Index: /trunk/cfg/MV-HEVC/baseCfg_2view.cfg
===================================================================
--- /trunk/cfg/MV-HEVC/baseCfg_2view.cfg	(revision 1178)
+++ /trunk/cfg/MV-HEVC/baseCfg_2view.cfg	(revision 1179)
@@ -94,4 +94,6 @@
 FEN                           : 1           # Fast encoder decision
 FDM                           : 1           # Fast Decision for Merge RD cost
+DispSearchRangeRestriction    : 0           # Limit Search range for vertical component of disparity vector
+VerticalDispSearchRange       : 56          # Vertical Search range in pixel
 
 #======== Quantization =============
Index: /trunk/cfg/MV-HEVC/baseCfg_3view.cfg
===================================================================
--- /trunk/cfg/MV-HEVC/baseCfg_3view.cfg	(revision 1178)
+++ /trunk/cfg/MV-HEVC/baseCfg_3view.cfg	(revision 1179)
@@ -120,4 +120,6 @@
 FEN                           : 1           # Fast encoder decision
 FDM                           : 1           # Fast Decision for Merge RD cost
+DispSearchRangeRestriction    : 0           # Limit Search range for vertical component of disparity vector
+VerticalDispSearchRange       : 56          # Vertical Search range in pixel
 
 #======== Quantization =============
Index: /trunk/cfg/MV-HEVC/fullCfg.cfg
===================================================================
--- /trunk/cfg/MV-HEVC/fullCfg.cfg	(revision 1178)
+++ /trunk/cfg/MV-HEVC/fullCfg.cfg	(revision 1179)
@@ -226,4 +226,6 @@
 FEN                           : 1           # Fast encoder decision
 FDM                           : 1           # Fast Decision for Merge RD cost
+DispSearchRangeRestriction    : 0           # Limit Search range for vertical component of disparity vector
+VerticalDispSearchRange       : 56          # Vertical Search range in pixel
 
 #======== Quantization =============
Index: /trunk/source/App/TAppDecoder/TAppDecCfg.cpp
===================================================================
--- /trunk/source/App/TAppDecoder/TAppDecCfg.cpp	(revision 1178)
+++ /trunk/source/App/TAppDecoder/TAppDecCfg.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppDecoder/TAppDecCfg.h
===================================================================
--- /trunk/source/App/TAppDecoder/TAppDecCfg.h	(revision 1178)
+++ /trunk/source/App/TAppDecoder/TAppDecCfg.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppDecoder/TAppDecTop.cpp
===================================================================
--- /trunk/source/App/TAppDecoder/TAppDecTop.cpp	(revision 1178)
+++ /trunk/source/App/TAppDecoder/TAppDecTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -248,4 +248,7 @@
             {
               m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx ); 
+#if H_3D_ANNEX_SELECTION_FIX
+              m_tDecTop[decIdx]->setProfileIdc( ); 
+#endif
             }
 
@@ -1050,4 +1053,7 @@
     m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags );
     m_tDecTop[ decIdx ]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );    
+#if H_3D_ANNEX_SELECTION_FIX
+    m_tDecTop[ decIdx ]->setProfileIdc           ( );    
+#endif
 
 #if H_3D
Index: /trunk/source/App/TAppDecoder/TAppDecTop.h
===================================================================
--- /trunk/source/App/TAppDecoder/TAppDecTop.h	(revision 1178)
+++ /trunk/source/App/TAppDecoder/TAppDecTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppDecoder/decmain.cpp
===================================================================
--- /trunk/source/App/TAppDecoder/decmain.cpp	(revision 1178)
+++ /trunk/source/App/TAppDecoder/decmain.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppEncoder/TAppEncCfg.cpp
===================================================================
--- /trunk/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 1178)
+++ /trunk/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -225,4 +225,9 @@
   }
 #endif
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+  in>>entry.m_interCompPredFlag;
+#endif
+#endif
   return in;
 }
@@ -477,4 +482,8 @@
   ("FastSearch",              m_iFastSearch,                1, "0:Full search  1:Diamond  2:PMVFAST")
   ("SearchRange,-sr",         m_iSearchRange,              96, "Motion search range")
+#if SONY_MV_V_CONST_C0078
+  ("DispSearchRangeRestriction",  m_bUseDisparitySearchRangeRestriction, false, "restrict disparity search range")
+  ("VerticalDispSearchRange",     m_iVerticalDisparitySearchRange, 56, "vertical disparity search range")
+#endif
   ("BipredSearchRange",       m_bipredSearchRange,          4, "Motion search range for bipred refinement")
   ("HadamardME",              m_bUseHADME,               true, "Hadamard ME for fractional-pel")
@@ -785,5 +794,9 @@
   ("QtPredFlag"            , m_qtPredFlag            , true                                           , "Quad tree prediction from texture to depth")
   ("InterSdcFlag"          , m_interSdcFlag          , true                                           , "Inter depth DCs"                           )
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  ("DepthIntraSkip"        , m_depthIntraSkipFlag    , true                                           , "Depth intra skip mode"                     )
+#else
   ("IntraSingleFlag"       , m_intraSingleFlag       , true                                           , "Intra single mode"                         )
+#endif
 #endif //H_3D
   ;
@@ -1546,5 +1559,9 @@
     {
       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"); 
-      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"); 
+#if H_3D_DIRECT_DEP_TYPE
+      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");
+#else
+      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");
+#endif 
     }        
   }  
@@ -1582,4 +1599,7 @@
   xConfirmPara( m_iSearchRange < 0 ,                                                        "Search Range must be more than 0" );
   xConfirmPara( m_bipredSearchRange < 0 ,                                                   "Search Range must be more than 0" );
+#if SONY_MV_V_CONST_C0078
+  xConfirmPara( m_iVerticalDisparitySearchRange <= 0 ,                                      "Vertical Disparity Search Range must be more than 0" );
+#endif
   xConfirmPara( m_iMaxDeltaQP > 7,                                                          "Absolute Delta QP exceeds supported range (0 to 7)" );
   xConfirmPara( m_iMaxCuDQPDepth > m_uiMaxCUDepth - 1,                                          "Absolute depth for a minimum CuDQP exceeds maximum coding unit depth" );
@@ -1697,5 +1717,9 @@
   xConfirmPara( m_pchBaseViewCameraNumbers  == 0                ,   "BaseViewCameraNumbers must be given" );
 #if BUG_FIX_TK65
+#if HHI_CAM_PARA_K0052
+  xConfirmPara( m_iNumberOfViews != m_cCameraData.getBaseViewNumbers().size() ,   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
+#else
   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" );
+#endif
 #else
   xConfirmPara( ((UInt) m_numberOfLayers >> 1 ) != m_cCameraData.getBaseViewNumbers().size(),   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
@@ -2453,4 +2477,8 @@
   printf("Min PCM size                 : %d\n", 1 << m_uiPCMLog2MinSize);
   printf("Motion search range          : %d\n", m_iSearchRange );
+#if SONY_MV_V_CONST_C0078
+  printf("Disp search range restriction: %d\n", m_bUseDisparitySearchRangeRestriction );
+  printf("Vertical disp search range   : %d\n", m_iVerticalDisparitySearchRange );
+#endif
 #if H_MV
   xPrintParaVector( "Intra period", m_iIntraPeriod );
@@ -2604,5 +2632,9 @@
   printf( "QtPred:%d "                 , m_qtPredFlag             ? 1 : 0 );
   printf( "InterSdc:%d "               , m_interSdcFlag           ? 1 : 0 );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  printf( "DepthIntraSkip:%d "         , m_depthIntraSkipFlag     ? 1 : 0 );
+#else
   printf( "IntraSingle:%d "            , m_intraSingleFlag        ? 1 : 0 );
+#endif
 #endif
 
Index: /trunk/source/App/TAppEncoder/TAppEncCfg.h
===================================================================
--- /trunk/source/App/TAppEncoder/TAppEncCfg.h	(revision 1178)
+++ /trunk/source/App/TAppEncoder/TAppEncCfg.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -289,4 +289,8 @@
   Int       m_iSearchRange;                                   ///< ME search range
   Int       m_bipredSearchRange;                              ///< ME search range for bipred refinement
+#if SONY_MV_V_CONST_C0078
+  Bool      m_bUseDisparitySearchRangeRestriction;            ///< restrict vertical search range for inter-view prediction
+  Int       m_iVerticalDisparitySearchRange;                  ///< ME vertical search range for inter-view prediction
+#endif
   Bool      m_bUseFastEnc;                                    ///< flag for using fast encoder setting
   Bool      m_bUseEarlyCU;                                    ///< flag for using Early CU setting
@@ -484,6 +488,9 @@
   Bool                   m_qtPredFlag;
   Bool                   m_interSdcFlag;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool                   m_depthIntraSkipFlag; 
+#else
   Bool                   m_intraSingleFlag;
-
+#endif
 #endif
   // internal member functions
Index: /trunk/source/App/TAppEncoder/TAppEncTop.cpp
===================================================================
--- /trunk/source/App/TAppEncoder/TAppEncTop.cpp	(revision 1178)
+++ /trunk/source/App/TAppEncoder/TAppEncTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -140,4 +140,9 @@
   xSetVPSVUI               ( vps ); 
 #if H_3D
+#if HHI_CAM_PARA_K0052
+  xSetCamPara              ( vps ); 
+#endif
+#endif
+#if H_3D
   m_ivPicLists.setVPS      ( &vps );
   xDeriveDltArray          ( vps, dlt );
@@ -196,9 +201,12 @@
       m_sps3dExtension.setQtPredFlag            ( d, m_qtPredFlag            );
       m_sps3dExtension.setInterSdcFlag          ( d, m_interSdcFlag          );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      m_sps3dExtension.setDepthIntraSkipFlag    ( d, m_depthIntraSkipFlag    );  
+#else
       m_sps3dExtension.setIntraSingleFlag       ( d, m_intraSingleFlag       );  
-    }
-  }
-#endif
-
+#endif
+    }
+  }
+#endif
   for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
   {
@@ -221,8 +229,11 @@
     //====== Camera Parameters =========
     m_cTEncTop.setCameraParameters             ( &m_cCameraData );     
+#if !HHI_CAM_PARA_K0052
     m_cTEncTop.setCamParPrecision              ( m_cCameraData.getCamParsCodedPrecision  () );
     m_cTEncTop.setCamParInSliceHeader          ( m_cCameraData.getVaryingCameraParameters() );
+
     m_cTEncTop.setCodedScale                   ( m_cCameraData.getCodedScale             () );
     m_cTEncTop.setCodedOffset                  ( m_cCameraData.getCodedOffset            () );
+#endif
 #if H_3D_VSO
     //====== VSO =========
@@ -348,4 +359,8 @@
   m_cTEncTop.setBipredSearchRange            ( m_bipredSearchRange );
 
+#if SONY_MV_V_CONST_C0078
+  m_cTEncTop.setUseDisparitySearchRangeRestriction ( m_bUseDisparitySearchRangeRestriction );
+  m_cTEncTop.setVerticalDisparitySearchRange ( m_iVerticalDisparitySearchRange );
+#endif
   //====== Quality control ========
   m_cTEncTop.setMaxDeltaQP                   ( m_iMaxDeltaQP  );
@@ -636,4 +651,46 @@
   }
 #endif
+#if H_3D_ANNEX_SELECTION_FIX
+#if H_3D
+ /// SET Profiles
+  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
+  {
+    Int profileIdc = -1; 
+    for (Int olsIdx = 0; olsIdx < vps.getNumOutputLayerSets(); olsIdx++ )
+    {   
+      Int lsIdx = vps.olsIdxToLsIdx( olsIdx );
+      for(Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++ )
+      {
+        if( vps.getLayerIdInNuh( layerIdInVps) == vps.getLayerSetLayerIdList(lsIdx, i) )
+        {
+          Int ptlIdx = vps.getProfileTierLevelIdx( olsIdx, i );
+          if ( ptlIdx != -1 )
+          {
+            Int curProfileIdc = vps.getPTL(ptlIdx)->getGeneralPTL()->getProfileIdc(); 
+            if (profileIdc == -1)   
+            {
+              profileIdc = curProfileIdc; 
+            }
+            else
+            {   
+              if ( profileIdc != curProfileIdc )
+              {              
+                fprintf(stderr, "Error: ProfileIdc for layer with index %d in VPS not equal in all OLSs. \n", layerIdInVps );
+                exit(EXIT_FAILURE);
+              }
+            }
+          }
+        }
+      }
+    }
+    if (profileIdc == -1 )
+    {
+      fprintf(stderr, "Error: No profile given for layer with index %d in VPS not equal in all OLS. \n", layerIdInVps );
+      exit(EXIT_FAILURE);
+    }
+    m_acTEncTopList[ layerIdInVps ]->setProfileIdc( profileIdc ); 
+  }
+#endif
+#endif
 #if H_3D_VSO
   if ( m_bUseVSO )
@@ -742,4 +799,5 @@
 {
 #if H_3D
+#if !HHI_CAM_PARA_K0052
   for ( Int viewIndex = 0; viewIndex < m_vps->getNumViews(); viewIndex++ )
   {
@@ -747,4 +805,5 @@
       m_cCameraData.getVaryingCameraParameters(), m_cCameraData.getCodedScale(), m_cCameraData.getCodedOffset() );
   }
+#endif
 #endif
 
@@ -1329,4 +1388,11 @@
 
   assert( m_iNumberOfViews == vps.getNumViews() ); 
+
+
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+  vps.initViewCompLayer( ); 
+#endif
+#endif
 }
 
@@ -1346,4 +1412,7 @@
   Bool defaultDirectDependencyFlag = false; 
 
+#if H_3D_DIRECT_DEP_TYPE
+  Int directDepTypeLenMinus2 = 0;  
+#endif
   for( Int depLayer = 1; depLayer < m_numberOfLayers; depLayer++ )
   {
@@ -1355,5 +1424,7 @@
       vps.setDirectDependencyFlag( depLayer, refLayer, true); 
       Int curDirectDependencyType = m_dependencyTypes[depLayer][i]; 
-
+#if H_3D_DIRECT_DEP_TYPE        
+      directDepTypeLenMinus2 = std::max( directDepTypeLenMinus2, gCeilLog2( curDirectDependencyType + 1  ) - 2 );  
+#endif
       if ( defaultDirectDependencyType != -1 )    
       {
@@ -1372,4 +1443,10 @@
   vps.setDefaultDirectDependencyFlag( defaultDirectDependencyFlag );       
   vps.setDefaultDirectDependencyType( defaultDirectDependencyFlag ? defaultDirectDependencyType : -1 );       
+
+#if H_3D_DIRECT_DEP_TYPE        
+  assert( directDepTypeLenMinus2 <= 1 ); 
+  vps.setDirectDepTypeLenMinus2( directDepTypeLenMinus2 ); 
+#endif
+
 
   vps.setRefLayers(); 
@@ -1418,7 +1495,15 @@
 #endif
               {
+#if !HHI_INTER_COMP_PRED_K0052                
                 Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 );
+#endif
                 Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
+#if HHI_INTER_COMP_PRED_K0052
+                // refAlwaysIntra actually not needed, since TemporalIds need to be aligned within an AU. 
+                // Thus, reference pictures of IRAP pictures have TemporalId equal to 0.
+                maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId ); 
+#else
                 maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId ); 
+#endif
               }
             }
@@ -1428,4 +1513,44 @@
         else
         {        
+#if HHI_INTER_COMP_PRED_K0052
+          if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) ) 
+          {          
+            Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false ); 
+            if ( nuhLayerIdTex == refLayerIdInNuh )
+            {
+              for( Int i = 0; i < ( getGOPSize() + 1); i++ ) 
+              {        
+                GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
+                GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
+                if ( geCur.m_interCompPredFlag )
+                {
+                  Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
+                  maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId ); 
+                }
+              }
+            }
+          }
+          if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0  && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_depthBasedBlkPartFlag ) ) 
+          {             
+            for( Int i = 0; i < ( getGOPSize() + 1); i++ ) 
+            {        
+              GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
+              GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
+
+              if ( geCur.m_interCompPredFlag )
+              {
+                for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++ )
+                {
+                  Int nuhLayerIdDep = vps.getLayerIdInNuh( vps.getViewIndex( vps.getIdRefListLayer( curLayerIdInNuh, geCur.m_interLayerPredLayerIdc[j] ) ), true ); 
+                  if ( nuhLayerIdDep == refLayerIdInNuh )
+                  {
+                    Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
+                    maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId ); 
+                  }
+                }
+              }
+            }
+          }        
+#else
           if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) ) 
           {          
@@ -1458,10 +1583,11 @@
             }
           }        
+#endif
         }
-      }
+      } // if ( vps.getDirectDependencyFlag( curLayerIdInVps, refLayerIdInVps ) ) 
       vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 );
 #endif
-    }    
-  }
+    }  // Loop curLayerIdInVps
+  } // Loop refLayerIdInVps
 
   // Max temporal id for inter layer reference pictures presence flag
@@ -1673,4 +1799,51 @@
 Void TAppEncTop::xSetRepFormat( TComVPS& vps )
 {
+
+#if H_3D_DISABLE_CHROMA
+  Bool anyDepth = false; 
+  for ( Int i = 0; i < m_numberOfLayers; i++ )
+  {
+    vps.setVpsRepFormatIdx( i, m_depthFlag[ i ] ? 1 : 0 );
+    anyDepth = anyDepth || m_depthFlag[ i ]; 
+  }  
+
+  vps.setRepFormatIdxPresentFlag( anyDepth ); 
+  vps.setVpsNumRepFormatsMinus1 ( anyDepth ? 1 : 0  ); 
+
+  for ( Int j = 0; j <= vps.getVpsNumRepFormatsMinus1(); j++ )
+  {
+    TComRepFormat* repFormat = new TComRepFormat; 
+
+    repFormat->setBitDepthVpsChromaMinus8   ( g_bitDepthC - 8 ); 
+    repFormat->setBitDepthVpsLumaMinus8     ( g_bitDepthY - 8 );
+    repFormat->setChromaFormatVpsIdc        ( j == 1 ? CHROMA_400 : CHROMA_420 );
+    repFormat->setPicHeightVpsInLumaSamples ( m_iSourceHeight );
+    repFormat->setPicWidthVpsInLumaSamples  ( m_iSourceWidth  );    
+    repFormat->setChromaAndBitDepthVpsPresentFlag( true );    
+    // ToDo not supported yet. 
+    //repFormat->setSeparateColourPlaneVpsFlag( );
+#if H_MV_FIX_CONF_WINDOW
+    Bool conformanceWindowVpsFlag = ( m_confWinBottom != 0 ) || ( m_confWinRight != 0 ) || ( m_confWinTop != 0 ) || ( m_confWinBottom != 0 ); 
+    repFormat->setConformanceWindowVpsFlag( conformanceWindowVpsFlag );
+    if ( conformanceWindowVpsFlag ) 
+    {   
+      repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
+      repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
+      repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
+      repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 
+    }
+#else
+    repFormat->setConformanceWindowVpsFlag( true );
+    repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
+    repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
+    repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
+    repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 
+#endif
+    assert( vps.getRepFormat( j ) == NULL ); 
+    vps.setRepFormat( j , repFormat );
+  }; 
+
+
+#else
   vps.setRepFormatIdxPresentFlag( false ); 
   vps.setVpsNumRepFormatsMinus1 ( 0    ); 
@@ -1701,4 +1874,5 @@
   assert( vps.getRepFormat( 0 ) == NULL ); 
   vps.setRepFormat( 0 , repFormat );
+#endif
 }
 
@@ -2075,4 +2249,43 @@
   }
 }
+
+#if HHI_CAM_PARA_K0052
+#if H_3D
+Void TAppEncTop::xSetCamPara                ( TComVPS& vps )
+{
+  vps.setCpPrecision( m_cCameraData.getCamParsCodedPrecision()); 
+
+  for ( Int n = 1; n < vps.getNumViews(); n++ )
+  {  
+    Int i      = vps.getViewOIdxList( n ); 
+    Int iInVps = vps.getVoiInVps    ( i ); 
+    vps.setNumCp( iInVps,  n);   
+
+    if ( vps.getNumCp( iInVps ) > 0 )
+    {
+      vps.setCpInSliceSegmentHeaderFlag( iInVps, m_cCameraData.getVaryingCameraParameters() );
+
+      for( Int m = 0; m < vps.getNumCp( iInVps ); m++ )
+      {
+        vps.setCpRefVoi( iInVps, m, vps.getViewOIdxList( m ) ); 
+        if( !vps.getCpInSliceSegmentHeaderFlag( iInVps ) ) 
+        {
+          Int j = vps.getCpRefVoi( iInVps, m );
+          Int jInVps = vps.getVoiInVps( j );         
+
+          vps.setVpsCpScale   ( iInVps, jInVps, m_cCameraData.getCodedScale() [ jInVps ][ iInVps ] ) ;
+          vps.setVpsCpInvScale( iInVps, jInVps, m_cCameraData.getCodedScale() [ iInVps ][ jInVps ] ) ;
+          vps.setVpsCpOff     ( iInVps, jInVps, m_cCameraData.getCodedOffset()[ jInVps ][ iInVps ] ) ;
+          vps.setVpsCpInvOff  ( iInVps, jInVps, m_cCameraData.getCodedOffset()[ iInVps ][ jInVps ] ) ;
+        }
+      }
+    }
+  }
+  vps.deriveCpPresentFlag(); 
+}
+#endif
+#endif
+
+
 Bool TAppEncTop::xLayerIdInTargetEncLayerIdList(Int nuhLayerId)
 {
Index: /trunk/source/App/TAppEncoder/TAppEncTop.h
===================================================================
--- /trunk/source/App/TAppEncoder/TAppEncTop.h	(revision 1178)
+++ /trunk/source/App/TAppEncoder/TAppEncTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -142,4 +142,9 @@
   Void xSetDpbSize                ( TComVPS& vps );
   Void xSetVPSVUI                 ( TComVPS& vps );
+#if HHI_CAM_PARA_K0052
+#if H_3D
+  Void xSetCamPara                ( TComVPS& vps );
+#endif
+#endif
   GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc );
   Int  xGetMax( std::vector<Int>& vec);
Index: /trunk/source/App/TAppEncoder/encmain.cpp
===================================================================
--- /trunk/source/App/TAppEncoder/encmain.cpp	(revision 1178)
+++ /trunk/source/App/TAppEncoder/encmain.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppExtractor/TAppExtrCfg.cpp
===================================================================
--- /trunk/source/App/TAppExtractor/TAppExtrCfg.cpp	(revision 1178)
+++ /trunk/source/App/TAppExtractor/TAppExtrCfg.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppExtractor/TAppExtrCfg.h
===================================================================
--- /trunk/source/App/TAppExtractor/TAppExtrCfg.h	(revision 1178)
+++ /trunk/source/App/TAppExtractor/TAppExtrCfg.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppExtractor/TAppExtrTop.cpp
===================================================================
--- /trunk/source/App/TAppExtractor/TAppExtrTop.cpp	(revision 1178)
+++ /trunk/source/App/TAppExtractor/TAppExtrTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
 // * granted under this license.  
 // *
-// * Copyright (c) 2010-2011, ISO/IEC
+// * Copyright (c) 2010-2015, ITU/ISO/IEC
 // * All rights reserved.
 // *
Index: /trunk/source/App/TAppExtractor/TAppExtrTop.h
===================================================================
--- /trunk/source/App/TAppExtractor/TAppExtrTop.h	(revision 1178)
+++ /trunk/source/App/TAppExtractor/TAppExtrTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppExtractor/extrmain.cpp
===================================================================
--- /trunk/source/App/TAppExtractor/extrmain.cpp	(revision 1178)
+++ /trunk/source/App/TAppExtractor/extrmain.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppRenderer/RendererMain.cpp
===================================================================
--- /trunk/source/App/TAppRenderer/RendererMain.cpp	(revision 1178)
+++ /trunk/source/App/TAppRenderer/RendererMain.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppRenderer/TAppRendererCfg.cpp
===================================================================
--- /trunk/source/App/TAppRenderer/TAppRendererCfg.cpp	(revision 1178)
+++ /trunk/source/App/TAppRenderer/TAppRendererCfg.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppRenderer/TAppRendererCfg.h
===================================================================
--- /trunk/source/App/TAppRenderer/TAppRendererCfg.h	(revision 1178)
+++ /trunk/source/App/TAppRenderer/TAppRendererCfg.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppRenderer/TAppRendererTop.cpp
===================================================================
--- /trunk/source/App/TAppRenderer/TAppRendererTop.cpp	(revision 1178)
+++ /trunk/source/App/TAppRenderer/TAppRendererTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/App/TAppRenderer/TAppRendererTop.h
===================================================================
--- /trunk/source/App/TAppRenderer/TAppRendererTop.h	(revision 1178)
+++ /trunk/source/App/TAppRenderer/TAppRendererTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TAppCommon/TAppComCamPara.cpp
===================================================================
--- /trunk/source/Lib/TAppCommon/TAppComCamPara.cpp	(revision 1178)
+++ /trunk/source/Lib/TAppCommon/TAppComCamPara.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -399,4 +399,5 @@
 
 
+#if !HHI_CAM_PARA_K0052
 Void
 TAppComCamPara::xGetViewOrderIndices( const std::vector<Int>& raiId2SortedId, std::vector<Int>& raiVOIdx )
@@ -411,4 +412,5 @@
   }
 }
+#endif
 
 
@@ -447,25 +449,25 @@
     else
     {
-    Int     iBaseView  = m_aiBaseViews[ iBaseViewId ];
-    Double  dFL1, dFLX;
-    Double  dCP1, dCPX;
-    Double  dCS1, dCSX;
-    Double  dZN1, dZNX;
-    Double  dZF1, dZFX;
-    Bool    bInterpolated;
-    xGetGeometryData( iBaseView, m_uiFirstFrameId, dFL1, dCP1, dCS1, bInterpolated );  AOT( bInterpolated );
-    xGetZNearZFar   ( iBaseView, m_uiFirstFrameId, dZN1, dZF1 );
-
-    for( UInt uiFrameId = m_uiFirstFrameId + 1; !bChangeDetected && uiFrameId <= m_uiLastFrameId; uiFrameId++ )
-    {
-      xGetGeometryData( iBaseView, uiFrameId, dFLX, dCPX, dCSX, bInterpolated );  AOT( bInterpolated );
-      xGetZNearZFar   ( iBaseView, uiFrameId, dZNX, dZFX );
-
-      if( dFL1 != dFLX || dCP1 != dCPX || dCS1 != dCSX || dZN1 != dZNX || dZF1 != dZFX )
-      {
-        bChangeDetected = true;
-      }
-    }
-  }
+      Int     iBaseView  = m_aiBaseViews[ iBaseViewId ];
+      Double  dFL1, dFLX;
+      Double  dCP1, dCPX;
+      Double  dCS1, dCSX;
+      Double  dZN1, dZNX;
+      Double  dZF1, dZFX;
+      Bool    bInterpolated;
+      xGetGeometryData( iBaseView, m_uiFirstFrameId, dFL1, dCP1, dCS1, bInterpolated );  AOT( bInterpolated );
+      xGetZNearZFar   ( iBaseView, m_uiFirstFrameId, dZN1, dZF1 );
+
+      for( UInt uiFrameId = m_uiFirstFrameId + 1; !bChangeDetected && uiFrameId <= m_uiLastFrameId; uiFrameId++ )
+      {
+        xGetGeometryData( iBaseView, uiFrameId, dFLX, dCPX, dCSX, bInterpolated );  AOT( bInterpolated );
+        xGetZNearZFar   ( iBaseView, uiFrameId, dZNX, dZFX );
+
+        if( dFL1 != dFLX || dCP1 != dCPX || dCS1 != dCSX || dZN1 != dZNX || dZF1 != dZFX )
+        {
+          bChangeDetected = true;
+        }
+      }
+    }
   }
   return bChangeDetected;
@@ -721,14 +723,13 @@
   else
   {
-  Double  dScale, dOffset;
-  Bool    bInterpolated = xGetShiftParameterReal( uiSourceView, uiTargetView, uiFrame, false, bByIdx, dScale, dOffset );
-  AOT(    bInterpolated ); // must be base view
-
-  Double  dMultOffset   = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 ) );
-  Double  dMultScale    = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 + m_uiInputBitDepth ) );
-  riOffset              = (Int)floor( dMultOffset * dOffset + .5 );
-  riScale               = (Int)floor( dMultScale  * dScale  + .5 );
-}
-
+    Double  dScale, dOffset;
+    Bool    bInterpolated = xGetShiftParameterReal( uiSourceView, uiTargetView, uiFrame, false, bByIdx, dScale, dOffset );
+    AOT(    bInterpolated ); // must be base view
+
+    Double  dMultOffset   = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 ) );
+    Double  dMultScale    = (Double)( 1 << ( m_uiCamParsCodedPrecision + 1 + m_uiInputBitDepth ) );
+    riOffset              = (Int)floor( dMultOffset * dOffset + .5 );
+    riScale               = (Int)floor( dMultScale  * dScale  + .5 );
+  }
 }
 
@@ -958,4 +959,6 @@
 
 
+
+#if !HHI_CAM_PARA_K0052
 Void
 TAppComCamPara::xSetPdmConversionParams()
@@ -995,4 +998,5 @@
   }
 }
+#endif
 
 
@@ -1280,5 +1284,7 @@
 
   //===== set derived parameters =====
+#if !HHI_CAM_PARA_K0052
   xGetViewOrderIndices( m_aiBaseId2SortedId, m_aiViewOrderIndex );
+#endif
   m_bCamParsVaryOverTime = xGetCamParsChangeFlag();
 
Index: /trunk/source/Lib/TAppCommon/TAppComCamPara.h
===================================================================
--- /trunk/source/Lib/TAppCommon/TAppComCamPara.h	(revision 1178)
+++ /trunk/source/Lib/TAppCommon/TAppComCamPara.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -85,5 +85,7 @@
 
   // SPS and slice header related variables
+#if !HHI_CAM_PARA_K0052
   std::vector<Int>    m_aiViewOrderIndex;                     ///< list of view order indices
+#endif
   UInt                m_uiCamParsCodedPrecision;              ///< precision for coding of camera parameters (x: max error in disparity is 2^(-x) luma samples)
   Bool                m_bCamParsVaryOverTime;                 ///< flag specifying whether camera parameters vary for given frame numbers
@@ -145,5 +147,7 @@
   // getting conversion parameters for disparity to virtual depth conversion
   Void  xGetCameraShifts          ( UInt uiSourceView, UInt uiTargetView, UInt uiFrame, Double& rdCamPosShift, Double& rdPicPosShift );
+#if !HHI_CAM_PARA_K0052
   Void  xSetPdmConversionParams   ();
+#endif
 
 public:
@@ -216,5 +220,7 @@
   Bool                getVaryingCameraParameters()  { return m_bCamParsVaryOverTime;    }
   UInt                getCamParsCodedPrecision  ()  { return m_uiCamParsCodedPrecision; }
+#if !HHI_CAM_PARA_K0052
   std::vector<Int>&   getViewOrderIndex         ()  { return m_aiViewOrderIndex;        }
+#endif
   Int**               getCodedScale             ()  { return m_aaiCodedScale;           }
   Int**               getCodedOffset            ()  { return m_aaiCodedOffset;          }
Index: /trunk/source/Lib/TAppCommon/program_options_lite.cpp
===================================================================
--- /trunk/source/Lib/TAppCommon/program_options_lite.cpp	(revision 1178)
+++ /trunk/source/Lib/TAppCommon/program_options_lite.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TAppCommon/program_options_lite.h
===================================================================
--- /trunk/source/Lib/TAppCommon/program_options_lite.h	(revision 1178)
+++ /trunk/source/Lib/TAppCommon/program_options_lite.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/AccessUnit.h
===================================================================
--- /trunk/source/Lib/TLibCommon/AccessUnit.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/AccessUnit.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/CommonDef.h
===================================================================
--- /trunk/source/Lib/TLibCommon/CommonDef.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/CommonDef.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/ContextModel.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/ContextModel.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/ContextModel.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/ContextModel.h
===================================================================
--- /trunk/source/Lib/TLibCommon/ContextModel.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/ContextModel.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/ContextModel3DBuffer.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/ContextModel3DBuffer.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/ContextModel3DBuffer.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/ContextModel3DBuffer.h
===================================================================
--- /trunk/source/Lib/TLibCommon/ContextModel3DBuffer.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/ContextModel3DBuffer.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/ContextTables.h
===================================================================
--- /trunk/source/Lib/TLibCommon/ContextTables.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/ContextTables.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -51,7 +51,12 @@
 #define NUM_SPLIT_FLAG_CTX            3       ///< number of context models for split flag
 #define NUM_SKIP_FLAG_CTX             3       ///< number of context models for skip flag
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+#define NUM_DIS_FLAG_CTX              1
+#define NUM_DIS_TYPE_CTX              1       
+#else
 #if H_3D_SINGLE_DEPTH
 #define NUM_SINGLEDEPTH_FLAG_CTX                     1
 #define NUM_SINGLE_DEPTH_VALUE_DATA_CTX              1       
+#endif
 #endif
 #define NUM_MERGE_FLAG_EXT_CTX        1       ///< number of context models for merge flag of merge extended
@@ -153,4 +158,20 @@
   { CNU,  CNU,  CNU, }, 
 };
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+static const UChar 
+INIT_DIS_FLAG[3][NUM_DIS_FLAG_CTX] =  
+{
+    { 185 }, 
+    { 185 }, 
+    { 185 },
+};
+static const UChar
+INIT_DIS_TYPE[3][NUM_DIS_TYPE_CTX] = 
+{
+    { 137 }, 
+    { 137 }, 
+    { 137 }, 
+};
+#else
 #if H_3D_SINGLE_DEPTH
 static const UChar 
@@ -169,4 +190,5 @@
 };
 #endif
+#endif
 static const UChar
 INIT_MERGE_FLAG_EXT[3][NUM_MERGE_FLAG_EXT_CTX] = 
Index: /trunk/source/Lib/TLibCommon/NAL.h
===================================================================
--- /trunk/source/Lib/TLibCommon/NAL.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/NAL.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/SEI.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/SEI.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/SEI.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/SEI.h
===================================================================
--- /trunk/source/Lib/TLibCommon/SEI.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/SEI.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComBitCounter.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComBitCounter.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComBitCounter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComBitStream.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComBitStream.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComBitStream.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComBitStream.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComBitStream.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComBitStream.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComCABACTables.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComCABACTables.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComCABACTables.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComCABACTables.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComCABACTables.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComCABACTables.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComDataCU.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComDataCU.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -60,8 +60,13 @@
   
   m_skipFlag           = NULL;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_bDISFlag           = NULL;
+  m_uiDISType          = NULL;
+#else
 #if H_3D_SINGLE_DEPTH
   m_singleDepthFlag     = NULL;
   m_apSingleDepthValue  = NULL;
-#endif  
+#endif
+#endif
   m_pePartSize         = NULL;
   m_pePredMode         = NULL;
@@ -181,7 +186,12 @@
 
     m_skipFlag           = new Bool[ uiNumPartition ];
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    m_bDISFlag           = new Bool[ uiNumPartition ];
+    m_uiDISType          = (UInt*)xMalloc(UInt, uiNumPartition);
+#else
 #if H_3D_SINGLE_DEPTH
     m_singleDepthFlag     = new Bool[ uiNumPartition ];
     m_apSingleDepthValue  = (Pel*)xMalloc(Pel, uiNumPartition);
+#endif
 #endif
     m_pePartSize         = new Char[ uiNumPartition ];
@@ -327,7 +337,12 @@
 
     if ( m_skipFlag           ) { delete[] m_skipFlag;          m_skipFlag          = NULL; }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    if ( m_bDISFlag           ) { delete[] m_bDISFlag;   m_bDISFlag     = NULL; }
+    if ( m_uiDISType         ) { xFree(m_uiDISType);  m_uiDISType    = NULL; }
+#else
 #if H_3D_SINGLE_DEPTH
     if ( m_singleDepthFlag    ) { delete[] m_singleDepthFlag;   m_singleDepthFlag     = NULL; }
     if ( m_apSingleDepthValue ) { xFree(m_apSingleDepthValue);  m_apSingleDepthValue  = NULL; }
+#endif
 #endif
     if ( m_pePartSize         ) { delete[] m_pePartSize;        m_pePartSize        = NULL; }
@@ -491,7 +506,12 @@
     TComDataCU * pcFrom = pcPic->getCU(getAddr());
     m_skipFlag[ui]   = pcFrom->getSkipFlag(ui);
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    m_bDISFlag[ui]   = pcFrom->getDISFlag(ui);
+    m_uiDISType[ui]  = pcFrom->getDISType(ui);
+#else
 #if H_3D_SINGLE_DEPTH
     m_singleDepthFlag[ui]    = pcFrom->getSingleDepthFlag(ui);
     m_apSingleDepthValue[ui] = pcFrom->getSingleDepthValue(ui);
+#endif
 #endif
     m_pePartSize[ui] = pcFrom->getPartitionSize(ui);
@@ -546,7 +566,12 @@
   {
     memset( m_skipFlag          + firstElement, false,                    numElements * sizeof( *m_skipFlag ) );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    memset( m_bDISFlag          + firstElement, false,                    numElements * sizeof( *m_bDISFlag ) );
+    memset( m_uiDISType         + firstElement,     0,                    numElements * sizeof( *m_uiDISType) );
+#else
 #if H_3D_SINGLE_DEPTH
     memset( m_singleDepthFlag     + firstElement, false,                  numElements * sizeof( *m_singleDepthFlag ) );
     memset( m_apSingleDepthValue  + firstElement,     0,                  numElements * sizeof( *m_apSingleDepthValue ) );
+#endif
 #endif
     memset( m_pePartSize        + firstElement, SIZE_NONE,                numElements * sizeof( *m_pePartSize ) );
@@ -733,7 +758,12 @@
       m_puhTransformSkip[2][ui] = 0;
       m_skipFlag[ui]   = false;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      m_bDISFlag[ui]   = false;
+      m_uiDISType[ui]  = 0;
+#else
 #if H_3D_SINGLE_DEPTH
       m_singleDepthFlag[ui]     = false;
       m_apSingleDepthValue[ui]  = 0;
+#endif
 #endif
       m_pePartSize[ui] = SIZE_NONE;
@@ -861,5 +891,5 @@
   memset( m_puhCbf[2],          0, iSizeInUchar );
   memset( m_puhDepth,     uiDepth, iSizeInUchar );
-#if H_3D_NBDV
+#if H_3D_NBDV && !SEC_ARP_REM_ENC_RESTRICT_K0035
   m_pDvInfo->bDV = false;
 #endif
@@ -904,7 +934,12 @@
   {
     m_skipFlag[ui]   = false;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    m_bDISFlag[ui]   = false;
+    m_uiDISType[ui]  = 0;
+#else
 #if H_3D_SINGLE_DEPTH
     m_singleDepthFlag[ui]   = false;
     m_apSingleDepthValue[ui]= 0;
+#endif
 #endif
     m_pePartSize[ui] = SIZE_NONE;
@@ -929,7 +964,12 @@
       m_puhTransformSkip[2][ui] = pcCU->getTransformSkip(uiPartOffset+ui,TEXT_CHROMA_V);
       m_skipFlag[ui]   = pcCU->getSkipFlag(uiPartOffset+ui);
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      m_bDISFlag[ui]    = pcCU->getDISFlag(uiPartOffset+ui);
+      m_uiDISType[ui]   = pcCU->getDISType(uiPartOffset+ui);
+#else
 #if H_3D_SINGLE_DEPTH
       m_singleDepthFlag[ui]    = pcCU->getSingleDepthFlag(uiPartOffset+ui);
       m_apSingleDepthValue[ui] = pcCU->getSingleDepthValue(uiPartOffset+ui);
+#endif
 #endif
       m_pePartSize[ui] = pcCU->getPartitionSize(uiPartOffset+ui);
@@ -1078,8 +1118,13 @@
   
   m_skipFlag=pcCU->getSkipFlag()          + uiPart;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_bDISFlag     = pcCU->getDISFlag()     + uiPart;
+  m_uiDISType    = pcCU->getDISType()     + uiPart;
+#else
 #if H_3D_SINGLE_DEPTH
   m_singleDepthFlag     = pcCU->getSingleDepthFlag()   + uiPart;
   m_apSingleDepthValue  = pcCU->getSingleDepthValue()  + uiPart;
-#endif  
+#endif
+#endif
   m_phQP=pcCU->getQP()                    + uiPart;
   m_pePartSize = pcCU->getPartitionSize() + uiPart;
@@ -1215,8 +1260,13 @@
   
   m_skipFlag           = pcCU->getSkipFlag ()             + uiAbsPartIdx;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_bDISFlag           = pcCU->getDISFlag ()              + uiAbsPartIdx;
+  m_uiDISType          = pcCU->getDISType()               + uiAbsPartIdx;
+#else
 #if H_3D_SINGLE_DEPTH
   m_singleDepthFlag     = pcCU->getSingleDepthFlag ()             + uiAbsPartIdx;
   m_apSingleDepthValue  = pcCU->getSingleDepthValue ()            + uiAbsPartIdx;
-#endif  
+#endif
+#endif
   m_pePartSize         = pcCU->getPartitionSize ()        + uiAbsPartIdx;
 #if H_3D_NBDV
@@ -1290,7 +1340,12 @@
   Int sizeInChar  = sizeof( Char ) * uiNumPartition;
   memcpy( m_skipFlag   + uiOffset, pcCU->getSkipFlag(),       sizeof( *m_skipFlag )   * uiNumPartition );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  memcpy( m_bDISFlag   + uiOffset, pcCU->getDISFlag(),       sizeof( *m_bDISFlag )   * uiNumPartition );
+  memcpy( m_uiDISType  + uiOffset, pcCU->getDISType(),       sizeof( *m_uiDISType )  * uiNumPartition);
+#else
 #if H_3D_SINGLE_DEPTH
   memcpy( m_singleDepthFlag     + uiOffset, pcCU->getSingleDepthFlag(),       sizeof( *m_singleDepthFlag )   * uiNumPartition );
   memcpy( m_apSingleDepthValue  + uiOffset, pcCU->getSingleDepthValue(),      sizeof( *m_apSingleDepthValue ) * uiNumPartition);
+#endif
 #endif
   memcpy( m_phQP       + uiOffset, pcCU->getQP(),             sizeInChar                        );
@@ -1410,7 +1465,12 @@
 
   memcpy( rpcCU->getSkipFlag() + m_uiAbsIdxInLCU, m_skipFlag, sizeof( *m_skipFlag ) * m_uiNumPartition );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  memcpy( rpcCU->getDISFlag()  + m_uiAbsIdxInLCU, m_bDISFlag,    sizeof( *m_bDISFlag )  * m_uiNumPartition );
+  memcpy( rpcCU->getDISType()  + m_uiAbsIdxInLCU, m_uiDISType,   sizeof( *m_uiDISType ) * m_uiNumPartition );
+#else
 #if H_3D_SINGLE_DEPTH
   memcpy( rpcCU->getSingleDepthFlag()  + m_uiAbsIdxInLCU, m_singleDepthFlag,    sizeof( *m_singleDepthFlag ) * m_uiNumPartition );
   memcpy( rpcCU->getSingleDepthValue() + m_uiAbsIdxInLCU, m_apSingleDepthValue, sizeof( *m_apSingleDepthValue ) * m_uiNumPartition);
+#endif
 #endif
   memcpy( rpcCU->getQP() + m_uiAbsIdxInLCU, m_phQP, sizeInChar  );
@@ -1525,7 +1585,12 @@
   Int sizeInChar  = sizeof( Char ) * uiQNumPart;
   memcpy( rpcCU->getSkipFlag()       + uiPartOffset, m_skipFlag,   sizeof( *m_skipFlag )   * uiQNumPart );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  memcpy( rpcCU->getDISFlag()  + uiPartOffset, m_bDISFlag,    sizeof( *m_bDISFlag )   * uiQNumPart );
+  memcpy( rpcCU->getDISType()  + uiPartOffset, m_uiDISType,   sizeof( *m_uiDISType )  * uiQNumPart );
+#else
 #if H_3D_SINGLE_DEPTH
   memcpy( rpcCU->getSingleDepthFlag()  + uiPartOffset, m_singleDepthFlag,    sizeof( *m_singleDepthFlag )   * uiQNumPart );
   memcpy( rpcCU->getSingleDepthValue() + uiPartOffset, m_apSingleDepthValue, sizeof( *m_apSingleDepthValue ) * uiQNumPart);
+#endif
 #endif
   memcpy( rpcCU->getQP() + uiPartOffset, m_phQP, sizeInChar );
@@ -2323,6 +2388,8 @@
     Int iPictureHeight = depthPicYuv->getHeight();
     
+#if !HS_DBBP_CLEAN_K0048
     Int iWidth  = uiWidth;
     Int iHeight = uiHeight;
+#endif
     
     Bool depthRefineFlag = false;
@@ -2337,6 +2404,11 @@
     }
     
+#if HS_DBBP_CLEAN_K0048
+    Int depthPosX = Clip3(0,   iPictureWidth - 1,  iBlkX + ((cDv.getHor()+2)>>2));
+    Int depthPosY = Clip3(0,   iPictureHeight - 1, iBlkY + ((cDv.getVer()+2)>>2));
+#else
     Int depthPosX = Clip3(0,   iPictureWidth - iWidth,  iBlkX + ((cDv.getHor()+2)>>2));
     Int depthPosY = Clip3(0,   iPictureHeight- iHeight, iBlkY + ((cDv.getVer()+2)>>2));
+#endif
     
     pDepthPels = depthPicYuv->getLumaAddr() + depthPosX + depthPosY * uiDepthStride;
@@ -2382,4 +2454,5 @@
 Void TComDataCU::setCbfSubParts( UInt uiCbf, TextType eTType, UInt uiAbsPartIdx, UInt uiDepth )
 {
+
   UInt uiCurrPartNumb = m_pcPic->getNumPartInCU() >> (uiDepth << 1);
   memset( m_puhCbf[g_aucConvertTxtTypeToIdx[eTType]] + uiAbsPartIdx, uiCbf, sizeof( UChar ) * uiCurrPartNumb );
@@ -2427,4 +2500,17 @@
   memset( m_skipFlag + absPartIdx, skip, m_pcPic->getNumPartInCU() >> ( 2 * depth ) );
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TComDataCU::setDISFlagSubParts( Bool bDIS, UInt absPartIdx, UInt depth )
+{
+    assert( sizeof( *m_bDISFlag) == 1 );
+    memset( m_bDISFlag + absPartIdx, bDIS, m_pcPic->getNumPartInCU() >> ( 2 * depth ) );
+}
+
+Void TComDataCU::setDISTypeSubParts(UInt uiDISType, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth )
+{
+    setSubPartT( uiDISType, m_uiDISType, uiAbsPartIdx, uiDepth, uiPUIdx );
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TComDataCU::setSingleDepthFlagSubParts( Bool singleDepth, UInt absPartIdx, UInt depth )
@@ -2439,4 +2525,6 @@
 }
 #endif
+#endif
+
 Void TComDataCU::setPredModeSubParts( PredMode eMode, UInt uiAbsPartIdx, UInt uiDepth )
 {
@@ -4109,4 +4197,5 @@
               }
             }
+#if !SHARP_SUBBLOCK_CLEAN_K0044
             if (iPUHeight + iPUWidth == 12)
             {
@@ -4117,4 +4206,5 @@
               }
             }
+#endif
 
             iPartition ++;
@@ -5332,4 +5422,20 @@
 }
 
+#if SONY_MV_V_CONST_C0078
+Void TComDataCU::checkMV_V (TComMv&  rcMv,  RefPicList eRefPicList, int iRefIdx )
+{
+  if ( getSlice()->getSPS()->getInterViewMvVertConstraintFlag() )
+  {
+    if ( getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC() == getSlice()->getPOC() )
+    {
+        //When inter_view_mv_vert_constraint_flag is equal to 1,
+        //the vertical component of the motion vectors used for inter-layer prediction 
+        //shall be equal to or less than 56 in units of luma samples
+        assert ( rcMv.getVer() <= (56<<2) );
+    }
+  }
+}
+#endif
+
 UInt TComDataCU::getIntraSizeIdx(UInt uiAbsPartIdx)
 {
@@ -5674,14 +5780,28 @@
   }
 
-  if ( bIsCurrRefLongTerm || bIsColRefLongTerm )
+  if ( bIsCurrRefLongTerm || bIsColRefLongTerm ) // CY: this condition equals to both bIsCurrRefLongTerm and bIsColRefLongTerm being 1
   {
 #if H_3D_TMVP
+#if !H_3D_FIX_TMVP_SCALING_VIEW_ID
     Int iCurrViewId    = m_pcSlice->getViewIndex (); 
     Int iCurrRefViewId = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getViewIndex (); 
     Int iColViewId     = pColCU->getSlice()->getViewIndex(); 
     Int iColRefViewId  = pColCU->getSlice()->getRefPic( eColRefPicList, pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr))->getViewIndex(); 
-    iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId );
-
+#else
+    Int iCurrViewId    = m_pcSlice->getViewId (); 
+    Int iCurrRefViewId = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getViewId (); 
+    Int iColViewId     = pColCU->getSlice()->getViewId(); 
+    Int iColRefViewId  = pColCU->getSlice()->getRefPic( eColRefPicList, pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr))->getViewId(); 
+#endif
+#if H_3D_TMVP_SCALING_FIX_K0053
+    iScale = 4096;
+    if ( iCurrRefViewId != iCurrViewId && iColViewId != iColRefViewId )
+#endif
+      iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId );
+#if H_3D_TMVP_FIX_TICKET_97 
+    if ( bMRG && iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) ) 
+#else
     if ( iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) )
+#endif
     {
       rcMv = cColMv.scaleMv( iScale );
@@ -5695,5 +5815,5 @@
 #endif
   }
-  else
+  else // CY: both bIsCurrRefLongTerm and bIsColRefLongTerm are 0
   {
     iScale = xGetDistScaleFactor(iCurrPOC, iCurrRefPOC, iColPOC, iColRefPOC);
@@ -5860,5 +5980,9 @@
 #endif
 #if H_3D_IV_MERGE
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+Void TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp)
+#else
 Bool TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp)
+#endif
 {
 
@@ -5876,15 +6000,71 @@
       pDisp->m_acNBDV = cMv;
       pDisp->m_aVIdxCan = iViewIdx;
-
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
       return true;
-  }
+#endif
+  }
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   return false;
-}
-#endif
-
-#if H_3D_SINGLE_DEPTH
-Bool TComDataCU::getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index)
-{
-
+#endif
+}
+#endif
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Bool TComDataCU::getNeighDepth ( UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index )
+{
+#if NEIGHBORING_PIX_AVAILABILITY_FIX
+  UInt  uiPartIdxLT, uiPartIdxRT;
+  this->deriveLeftRightTopIdxAdi( uiPartIdxLT, uiPartIdxRT, 0, 0 );
+  UInt uiMidPart, uiPartNeighbor;  
+  TComDataCU* pcCUNeighbor;
+  Bool bDepAvail = false;
+  Pel *pDepth  = this->getPic()->getPicYuvRec()->getLumaAddr();
+  Int iDepStride =  this->getPic()->getPicYuvRec()->getStride();
+
+  Int xP, yP, nPSW, nPSH;
+  this->getPartPosition( uiPartIdx, xP, yP, nPSW, nPSH );
+
+  switch( index )
+  {
+  case 0: // Mid Left
+    uiMidPart = g_auiZscanToRaster[uiPartIdxLT] + (nPSH>>1) / this->getPic()->getMinCUHeight() * this->getPic()->getNumPartInWidth();
+    pcCUNeighbor = this->getPULeft( uiPartNeighbor, g_auiRasterToZscan[uiMidPart] );
+    if ( pcCUNeighbor )
+    {
+      if( !this->getSlice()->getPPS()->getConstrainedIntraPred() )
+      {
+        *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ];
+        bDepAvail = true;
+      }
+      else if ( pcCUNeighbor->getPredictionMode( uiPartNeighbor ) == MODE_INTRA )
+      {
+        *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ];
+        bDepAvail = true;
+      }
+    }
+    break;
+  case 1: // Mid Above
+    uiMidPart = g_auiZscanToRaster[uiPartIdxLT] + (nPSW>>1) / this->getPic()->getMinCUWidth();
+    pcCUNeighbor = this->getPUAbove( uiPartNeighbor, g_auiRasterToZscan[uiMidPart] );
+    if( pcCUNeighbor )
+    {
+      if( !this->getSlice()->getPPS()->getConstrainedIntraPred() )
+      {
+        *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ];
+        bDepAvail = true;
+      }
+      else if ( pcCUNeighbor->getPredictionMode( uiPartNeighbor ) == MODE_INTRA )
+      {
+        *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ];
+        bDepAvail = true;
+      }
+    }
+    break;
+  default:
+    break;
+  }
+
+  return bDepAvail;
+#else
   Bool bDepAvail = false;
   Pel *pDepth  = this->getPic()->getPicYuvRec()->getLumaAddr();
@@ -5912,10 +6092,46 @@
     break;
   default:
+    break;
+  }
+  return bDepAvail;
+#endif
+}
+#else
+#if H_3D_SINGLE_DEPTH
+Bool TComDataCU::getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index)
+{
+
+  Bool bDepAvail = false;
+  Pel *pDepth  = this->getPic()->getPicYuvRec()->getLumaAddr();
+  Int iDepStride =  this->getPic()->getPicYuvRec()->getStride();
+
+  Int xP, yP, nPSW, nPSH;
+  this->getPartPosition(uiPartIdx, xP, yP, nPSW, nPSH);
+  UInt PicHeight=this->getPic()->getPicYuvRec()->getHeight();
+  UInt PicWidth=this->getPic()->getPicYuvRec()->getWidth();
+  switch(index)
+  {
+  case 0: // Mid Left
+    if( ( xP != 0 ) && ( ( yP + ( nPSH >> 1 ) ) < PicHeight ) )
+    {
+      *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ];
+      bDepAvail = true;
+    }
+    break;
+  case 1: // Mid Above
+    if( ( yP != 0 ) && ( ( xP + ( nPSW >> 1 ) ) < PicWidth ) )
+    {
+      *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ];
+      bDepAvail = true;
+    }
+    break;
+  default:
       break;
   }
   return bDepAvail;
 }
-
-#endif
+#endif
+#endif
+
 #if H_3D_NBDV 
 //Notes from QC:
@@ -5923,5 +6139,9 @@
 //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
 //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
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+Void TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo
+#else
 Bool TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo
+#endif
 #if H_3D_NBDV_REF
 , Bool bDepthRefine
@@ -5931,5 +6151,7 @@
   //// ******* Init variables ******* /////
   // Init disparity struct for results
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   pDInfo->bDV = false;   
+#endif
   pDInfo->m_aVIdxCan = -1;
 
@@ -6026,5 +6248,9 @@
         pDInfo->m_acDoNBDV  = cColMv;
 #endif //H_3D_NBDV_REF
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+        return;
+#else
         return true;
+#endif
       }
     }
@@ -6043,5 +6269,9 @@
 #endif
     ) )
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+    return;
+#else
     return true;
+#endif
 
   //// ******* Get disparity from above block ******* /////
@@ -6055,5 +6285,9 @@
 #endif
       ) )
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+      return;
+#else
       return true;
+#endif
   }
 
@@ -6101,5 +6335,9 @@
           pDInfo->m_acDoNBDV = cDispVec;
 #endif
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+          return;
+#else
           return true;
+#endif
         }
       }
@@ -6137,7 +6375,11 @@
       pDInfo->m_acDoNBDV = defaultDV;
 #endif
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
       return true;
-  }
+#endif
+  }
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   return false; 
+#endif
 }
 
@@ -6712,4 +6954,5 @@
 
               }
+#if !SHARP_SUBBLOCK_CLEAN_K0044
               if (iSPHeight + iSPWidth == 12)
               {
@@ -6720,4 +6963,5 @@
                 }
               }
+#endif
               iPartition ++;
             }
@@ -6752,6 +6996,11 @@
       Int         iBaseAbsPartIdx;
 
+#if SEC_SHIFTED_IVMC_POS_K0036
+      Int offsetW = (iLoopCan == 0) ? 0 : ( iWidth  * 2 );
+      Int offsetH = (iLoopCan == 0) ? 0 : ( iHeight * 2 );
+#else
       Int offsetW = (iLoopCan == 0) ? 0 : ( ((iWidth /2)*4) + 4 );
       Int offsetH = (iLoopCan == 0) ? 0 : ( ((iHeight/2)*4) + 4 );
+#endif
 
       Int         iBasePosX   = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (cDv.getHor() + offsetW + 2 ) >> 2 ) );
Index: /trunk/source/Lib/TLibCommon/TComDataCU.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComDataCU.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComDataCU.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -110,7 +110,12 @@
   // -------------------------------------------------------------------------------------------------------------------
   Bool*         m_skipFlag;           ///< array of skip flags
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool*         m_bDISFlag;         
+  UInt*         m_uiDISType;
+#else
 #if H_3D_SINGLE_DEPTH
   Bool*         m_singleDepthFlag;           ///< array of single depth flags
   Pel*          m_apSingleDepthValue;
+#endif
 #endif
   Char*         m_pePartSize;         ///< array of partition sizes
@@ -308,4 +313,7 @@
   TComPic*      getPic                ()                        { return m_pcPic;           }
   TComSlice*    getSlice              ()                        { return m_pcSlice;         }
+#if H_3D_DISABLE_CHROMA
+  Void         setSlice              ( TComSlice* pcSlice)     { m_pcSlice = pcSlice;       }
+#endif
   UInt&         getAddr               ()                        { return m_uiCUAddr;        }
   UInt&         getZorderIdxInCU      ()                        { return m_uiAbsIdxInLCU; }
@@ -342,4 +350,15 @@
   Void         setSkipFlag           ( UInt idx, Bool skip)     { m_skipFlag[idx] = skip;   }
   Void         setSkipFlagSubParts   ( Bool skip, UInt absPartIdx, UInt depth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool*        getDISFlag            ()                         { return m_bDISFlag;          }
+  Bool         getDISFlag            ( UInt idx)                { return m_bDISFlag[idx];     }
+  Void         setDISFlag            ( UInt idx, Bool bDIS)     { m_bDISFlag[idx] = bDIS;   }
+  Void         setDISFlagSubParts    ( Bool bDIS, UInt absPartIdx, UInt depth );
+
+  UInt*        getDISType            ()                         { return m_uiDISType; }
+  UInt         getDISType            ( UInt idx)                { return m_uiDISType[idx];     }
+  Void         getDISType            ( UInt idx, UInt uiDISType)     { m_uiDISType[idx] = uiDISType;   }
+  Void         setDISTypeSubParts    ( UInt uiDISType, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth );
+#else
 #if H_3D_SINGLE_DEPTH
   Bool*        getSingleDepthFlag            ()                        { return m_singleDepthFlag;          }
@@ -353,4 +372,5 @@
   Void         setSingleDepthValueSubParts   (Pel singleDepthValue, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth );
 #endif  
+#endif
   Char*         getPredictionMode     ()                        { return m_pePredMode;        }
   PredMode      getPredictionMode     ( UInt uiIdx )            { return static_cast<PredMode>( m_pePredMode[uiIdx] ); }
@@ -418,6 +438,8 @@
   UChar         getCbf    ( UInt uiIdx, TextType eType )                  { return m_puhCbf[g_aucConvertTxtTypeToIdx[eType]][uiIdx];  }
   UChar*        getCbf    ( TextType eType )                              { return m_puhCbf[g_aucConvertTxtTypeToIdx[eType]];         }
+
   UChar         getCbf    ( UInt uiIdx, TextType eType, UInt uiTrDepth )  { return ( ( getCbf( uiIdx, eType ) >> uiTrDepth ) & 0x1 ); }
   Void          setCbf    ( UInt uiIdx, TextType eType, UChar uh )        { m_puhCbf[g_aucConvertTxtTypeToIdx[eType]][uiIdx] = uh;    }
+
   Void          clearCbf  ( UInt uiIdx, TextType eType, UInt uiNumParts );
   UChar         getQtRootCbf          ( UInt uiIdx )                      { return getCbf( uiIdx, TEXT_LUMA, 0 ) || getCbf( uiIdx, TEXT_CHROMA_U, 0 ) || getCbf( uiIdx, TEXT_CHROMA_V, 0 ); }
@@ -484,5 +506,9 @@
   );
   Bool          xGetColDisMV      ( Int currCandPic, RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx );
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+  Void          getDisMvpCandNBDV ( DisInfo* pDInfo
+#else
   Bool          getDisMvpCandNBDV ( DisInfo* pDInfo
+#endif
 #if H_3D_NBDV_REF
    , Bool bDepthRefine = false
@@ -491,9 +517,17 @@
    
 #if H_3D
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+  Void          getDispforDepth  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
+#else
   Bool          getDispforDepth  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
+#endif
   Bool          getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm );
 #endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+   Bool          getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index);
+#else
 #if H_3D_SINGLE_DEPTH
    Bool          getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index);
+#endif
 #endif
 #if H_3D_NBDV_REF
@@ -591,4 +625,7 @@
   
   Void          clipMv                ( TComMv&     rcMv     );
+#if SONY_MV_V_CONST_C0078
+  Void          checkMV_V (TComMv&  rcMv,  RefPicList eRefPicList, int iRefIdx );
+#endif
   Void          getMvPredLeft         ( TComMv&     rcMvPred )   { rcMvPred = m_cMvFieldA.getMv(); }
   Void          getMvPredAbove        ( TComMv&     rcMvPred )   { rcMvPred = m_cMvFieldB.getMv(); }
Index: /trunk/source/Lib/TLibCommon/TComInterpolationFilter.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComInterpolationFilter.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComInterpolationFilter.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComInterpolationFilter.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComInterpolationFilter.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComInterpolationFilter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComList.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComList.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComList.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComLoopFilter.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComLoopFilter.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComLoopFilter.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComLoopFilter.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComLoopFilter.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComLoopFilter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComMotionInfo.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComMotionInfo.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComMotionInfo.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComMotionInfo.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComMotionInfo.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComMotionInfo.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -63,5 +63,7 @@
 typedef struct _DisCand 
 {
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   Bool bDV;
+#endif
   TComMv m_acNBDV;              // DV from NBDV
 #if H_3D_NBDV_REF 
Index: /trunk/source/Lib/TLibCommon/TComMv.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComMv.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComMv.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPattern.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPattern.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPattern.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPattern.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPattern.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPattern.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPic.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPic.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPic.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPic.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPic.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPic.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPicSym.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPicSym.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPicSym.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPicSym.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPicSym.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPicSym.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPicYuv.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPicYuv.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPicYuv.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPicYuv.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPicYuv.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPicYuv.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPicYuvMD5.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPicYuvMD5.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPicYuvMD5.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComPrediction.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPrediction.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPrediction.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -630,5 +630,9 @@
 
 #if H_3D_DBBP
+#if HS_DBBP_CLEAN_K0048
+PartSize TComPrediction::getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize, TComDataCU*& pcCU)
+#else
 PartSize TComPrediction::getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize)
+#endif
 {
   // find virtual partitioning for this CU based on depth block
@@ -639,4 +643,37 @@
   Int iSumDepth = 0;
   Int iSubSample = 4;
+#if HS_DBBP_CLEAN_K0048
+  Int iPictureWidth = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getWidth();
+  Int iPictureHeight = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getHeight();
+  TComMv cDv = pcCU->getSlice()->getDepthRefinementFlag(  ) ? pcCU->getDvInfo(0).m_acDoNBDV : pcCU->getDvInfo(0).m_acNBDV;
+  if( pcCU->getSlice()->getDepthRefinementFlag(  ) )
+  {
+    cDv.setVer(0);
+  }
+  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);
+  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);
+  UInt t=0;
+
+  for (Int y=0; y<uiSize; y+=iSubSample)
+   {
+    for (Int x=0; x<uiSize; x+=iSubSample)
+   {
+if (iBlkX+x>iPictureWidth)
+{
+    Int depthPel = pDepthPels[t];
+    iSumDepth += depthPel;
+} 
+else
+{
+    Int depthPel = pDepthPels[x];
+    t=x;
+    iSumDepth += depthPel;
+}
+   }
+    
+    // next row
+    if (!(iBlkY+y+4>iPictureHeight))
+    pDepthPels += uiDepthStride*iSubSample;
+#else
   for (Int y=0; y<uiSize; y+=iSubSample)
   {
@@ -650,4 +687,5 @@
     // next row
     pDepthPels += uiDepthStride*iSubSample;
+#endif
   }
   
@@ -667,5 +705,18 @@
     for (Int x=0; x<uiSize; x+=iSubSample)
     {
+#if HS_DBBP_CLEAN_K0048
+      Int depthPel = 0;
+if (iBlkX+x>iPictureWidth)
+{
+    depthPel = pDepthPels[t];
+}
+else
+{ 
+    depthPel = pDepthPels[x];
+     t=x;
+}
+#else
       Int depthPel = pDepthPels[x];
+#endif
       
       // decide which segment this pixel belongs to
@@ -696,4 +747,7 @@
     
     // next row
+#if HS_DBBP_CLEAN_K0048
+    if (!(iBlkY+y+4>iPictureHeight))
+#endif
     pDepthPels += uiDepthStride*iSubSample;
   }
@@ -719,14 +773,80 @@
 }
 
+#if HS_DBBP_CLEAN_K0048
+Bool TComPrediction::getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask, TComDataCU*& pcCU)
+#else
 Bool TComPrediction::getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask )
+#endif
 {
   // segmentation of texture block --> mask IDs
   Pel*  pDepthBlockStart      = pDepthPels;
-  
+
   // first compute average of depth block for thresholding
   Int iSumDepth = 0;
   Int uiMinDepth = MAX_INT;
   Int uiMaxDepth = 0;
-
+#if HS_DBBP_CLEAN_K0048
+  uiMinDepth = pDepthPels[ 0 ];
+  uiMaxDepth = pDepthPels[ 0 ];
+  iSumDepth  = pDepthPels[ 0 ];
+  UInt t=0;
+  Int iPictureWidth = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getWidth();
+  Int iPictureHeight = pcCU->getSlice()->getIvPic (true, pcCU->getDvInfo(0).m_aVIdxCan)->getPicYuvRec()->getHeight();  
+  TComMv cDv = pcCU->getSlice()->getDepthRefinementFlag(  ) ? pcCU->getDvInfo(0).m_acDoNBDV : pcCU->getDvInfo(0).m_acNBDV;
+  if( pcCU->getSlice()->getDepthRefinementFlag(  ) )
+  {
+    cDv.setVer(0);
+  }
+  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);
+  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);
+  if (iBlkX>(Int)(iPictureWidth - uiWidth))
+  {
+    iSumDepth += pDepthPels[ iPictureWidth - iBlkX - 1 ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ iPictureWidth - iBlkX - 1 ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ iPictureWidth - iBlkX - 1 ]);
+  }
+  else
+  {
+    iSumDepth += pDepthPels[ uiWidth - 1 ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiWidth - 1 ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiWidth - 1 ]);
+  }
+  if (iBlkY>(Int)(iPictureHeight - uiHeight))
+  {
+    iSumDepth += pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) ]);
+  }
+  else
+  {
+    iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
+  }
+  if (iBlkY>(Int)(iPictureHeight - uiHeight) && iBlkX>(Int)(iPictureWidth - uiWidth))
+  {
+    iSumDepth += pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + iPictureWidth - iBlkX - 1 ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + iPictureWidth - iBlkX - 1 ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + iPictureWidth - iBlkX - 1 ]);
+  }
+  else if (iBlkY>(Int)(iPictureHeight - uiHeight))
+  {
+    iSumDepth += pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + uiWidth - 1 ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + uiWidth - 1 ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (iPictureHeight - iBlkY - 1) + uiWidth - 1 ]);
+  }
+  else if (iBlkX>(Int)(iPictureWidth - uiWidth))
+  {
+    iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) + iPictureWidth - iBlkX - 1 ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + iPictureWidth - iBlkX - 1 ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + iPictureWidth - iBlkX - 1 ]);
+  }
+  else
+  {
+    iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ];
+    uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
+    uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
+  }
+#else
   iSumDepth  = pDepthPels[ 0 ];
   iSumDepth += pDepthPels[ uiWidth - 1 ];
@@ -743,6 +863,6 @@
   uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
   uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
-
-  
+#endif
+
   // don't generate mask for blocks with small depth range (encoder decision)
   if( uiMaxDepth - uiMinDepth < 10 )
@@ -750,13 +870,13 @@
     return false;
   }
-  
+
   AOF(uiWidth==uiHeight);
   Int iMean = iSumDepth >> 2;
-  
+
   // start again for segmentation
   pDepthPels = pDepthBlockStart;
-  
+
   Bool bInvertMask = pDepthPels[0]>iMean; // top-left segment needs to be mapped to partIdx 0
-  
+
   // generate mask
   UInt uiSumPix[2] = {0,0};
@@ -765,26 +885,42 @@
     for (Int x=0; x<uiHeight; x++)
     {
+#if HS_DBBP_CLEAN_K0048
+      Int depthPel = 0;
+      if (iBlkX+x>iPictureWidth)
+      {
+        depthPel = pDepthPels[t];
+      }
+      else
+      {
+        depthPel = pDepthPels[x];
+        t=x;
+      }
+#else
       Int depthPel = pDepthPels[x];
-      
+#endif
+
       // decide which segment this pixel belongs to
       Int ucSegment = (Int)(depthPel>iMean);
-      
+
       if( bInvertMask )
       {
         ucSegment = 1-ucSegment;
       }
-      
+
       // count pixels for each segment
       uiSumPix[ucSegment]++;
-      
+
       // set mask value
       pMask[x] = (Bool)ucSegment;
     }
-    
+
     // next row
-    pDepthPels += uiDepthStride;
+#if HS_DBBP_CLEAN_K0048
+    if (!(iBlkY+y+1>iPictureHeight))
+#endif
+      pDepthPels += uiDepthStride;
     pMask += MAX_CU_SIZE;
   }
-  
+
   // don't generate valid mask for tiny segments (encoder decision)
   // each segment needs to cover at least 1/8th of block
@@ -794,5 +930,5 @@
     return false;
   }
-  
+
   // all good
   return true;
@@ -1157,5 +1293,7 @@
   TComMv      cMv         = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr );
   pcCU->clipMv(cMv);
-
+#if SONY_MV_V_CONST_C0078
+  pcCU->checkMV_V(cMv, eRefPicList, iRefIdx );
+#endif
 #if H_3D_ARP
   if(pcCU->getARPW( uiPartAddr ) > 0  && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC())
@@ -1255,4 +1393,8 @@
 #if H_3D_NBDV
   DisInfo cDistparity;
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+  cDistparity.m_acNBDV = pcCU->getDvInfo(0).m_acNBDV;
+  cDistparity.m_aVIdxCan = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
+#else
   cDistparity.bDV           = pcCU->getDvInfo(uiPartAddr).bDV;
   if( cDistparity.bDV )
@@ -1262,11 +1404,17 @@
     cDistparity.m_aVIdxCan = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
   }
+#endif
 #else
   assert(0); // ARP can be applied only when a DV is available
 #endif
-
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+  UChar dW = pcCU->getARPW ( uiPartAddr );
+#else
   UChar dW = cDistparity.bDV ? pcCU->getARPW ( uiPartAddr ) : 0;
-
+#endif
+
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   if( cDistparity.bDV ) 
+#endif
   {
     Int arpRefIdx = pcCU->getSlice()->getFirstTRefIdx(eRefPicList);
@@ -1320,7 +1468,7 @@
       pYuvB0->clear(); pYuvB1->clear();
     }
-
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
     assert ( cDistparity.bDV );
-    
+#endif    
     TComMv cNBDV = cDistparity.m_acNBDV;
     pcCU->clipMv( cNBDV );
Index: /trunk/source/Lib/TLibCommon/TComPrediction.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComPrediction.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComPrediction.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -175,6 +175,11 @@
   
 #if H_3D_DBBP
+#if HS_DBBP_CLEAN_K0048
+  PartSize      getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize, TComDataCU*& pcCU);
+  Bool          getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask, TComDataCU*& pcCU);
+#else
   PartSize      getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize);
   Bool          getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask );
+#endif
   Void          combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr, UInt partSize );
 #endif
Index: /trunk/source/Lib/TLibCommon/TComRdCost.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComRdCost.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComRdCost.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -341,5 +341,9 @@
     else if( eDFunc >= DF_HADS && eDFunc <= DF_HADS16N )
     {
+#if !RWTH_DBBP_NO_SATD_K0028
       rcDistParam.DistFunc = TComRdCost::xGetMaskedHADs;
+#else
+      rcDistParam.DistFunc = TComRdCost::xGetMaskedSAD;
+#endif
     }
     else if( eDFunc >= DF_VSD && eDFunc <= DF_VSD16N )
@@ -441,5 +445,9 @@
   if( m_bUseMask )
   {
+#if !RWTH_DBBP_NO_SATD_K0028
     rcDistParam.DistFunc = (bHADME)?TComRdCost::xGetMaskedHADs:TComRdCost::xGetMaskedSAD;
+#else
+    rcDistParam.DistFunc = TComRdCost::xGetMaskedSAD;
+#endif
   }
 #endif
@@ -464,5 +472,9 @@
   if( m_bUseMask )
   {
+#if !RWTH_DBBP_NO_SATD_K0028
     rcDP.DistFunc = (bHadamard)?TComRdCost::xGetMaskedHADs:TComRdCost::xGetMaskedSAD;
+#else
+    rcDP.DistFunc = TComRdCost::xGetMaskedSAD;
+#endif
   }
 #endif
@@ -717,4 +729,5 @@
 }
 
+#if !RWTH_DBBP_NO_SATD_K0028
 UInt TComRdCost::xGetMaskedHADs( DistParam* pcDtParam )
 {
@@ -834,4 +847,5 @@
   return uiSum >> DISTORTION_PRECISION_ADJUSTMENT(pcDtParam->bitDepth-8);
 }
+#endif
 
 UInt TComRdCost::xGetMaskedVSD( DistParam* pcDtParam )
Index: /trunk/source/Lib/TLibCommon/TComRdCost.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComRdCost.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComRdCost.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -320,5 +320,7 @@
   static UInt xGetMaskedSSE     ( DistParam* pcDtParam );
   static UInt xGetMaskedSAD     ( DistParam* pcDtParam );
+#if !RWTH_DBBP_NO_SATD_K0028
   static UInt xGetMaskedHADs    ( DistParam* pcDtParam );
+#endif
   static UInt xGetMaskedVSD     ( DistParam* pcDtParam );
 #endif
Index: /trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComRdCostWeightPrediction.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComRom.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComRom.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComRom.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -391,12 +391,15 @@
 Bool g_tracePU = false; 
 Bool g_traceTU = false; 
+Bool g_disableNumbering = false; 
 Bool g_disableHLSTrace = false; 
-UInt64 g_stopAtCounter       = 0; 
+UInt64 g_stopAtCounter       = 937234; 
 Bool g_traceCopyBack         = false; 
 Bool g_decTraceDispDer       = false; 
 Bool g_decTraceMvFromMerge   = false; 
 Bool g_decTracePicOutput     = false; 
-Bool g_stopAtPos             = false; 
-Bool g_outputPos             = false; 
+Bool g_stopAtPos             = true; 
+Bool g_outputPos             = true;   
+Bool g_traceCameraParameters = false; 
+Bool g_encNumberOfWrittenBits     = true; 
 #endif
 #endif
@@ -600,10 +603,10 @@
 
   Bool stopFlag = false; 
-  if ( g_stopAtPos && poc == 0 && layerId == 1 )
+  if ( g_stopAtPos && poc == 0 && layerId == 2 )
   {
     Bool stopAtCU = true; 
     if ( stopAtCU )        // Stop at CU with specific size
     {    
-      stopFlag = ( cuPelX  == 888 ) && ( cuPelY  == 248 ) && ( cuWidth == 8 ) && ( cuHeight == 8); 
+      stopFlag = ( cuPelX  == 0 ) && ( cuPelY  == 0 ) && ( cuWidth == 8 ) && ( cuHeight == 8 ); 
     }
     else
@@ -633,5 +636,8 @@
       std::cout << "Break point here." << std::endl; 
     }
-    fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+    if ( !g_disableNumbering )
+    {  
+      fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+    }
     fprintf( g_hTrace, "%-50s       : %d\n", symbolName, val );     
     fflush ( g_hTrace );
@@ -739,6 +745,10 @@
   assert( uiWidth == uiHeight );
 
+#if SHARP_DMM_CLEAN_K0042
+  Int posStart = 0, posEnd = 0;
+#else
   UChar    uhStartX = 0,    uhStartY = 0,    uhEndX = 0,    uhEndY = 0;
   Int   iStepStartX = 0, iStepStartY = 0, iStepEndX = 0, iStepEndY = 0;
+#endif
 
   UInt uiBlockSize = 0;
@@ -752,4 +762,5 @@
   for( UInt uiOri = 0; uiOri < 6; uiOri++ )
   {
+#if !SHARP_DMM_CLEAN_K0042
     // init the edge line parameters for each of the 6 wedgelet types
     switch( uiOri )
@@ -762,13 +773,39 @@
     case( 5 ): {  uhStartX = (uiBlockSize-1); uhStartY = 0;               uhEndX = 0;               uhEndY = 0;               iStepStartX =  0; iStepStartY = +1; iStepEndX =  0; iStepEndY = +1; break; }
     }
-
+#endif
+
+#if SHARP_DMM_CLEAN_K0042
+    posEnd = (Int) racWedgeList.size();
+    if (uiOri == 0 || uiOri == 4)
+    {
+#endif
     for( Int iK = 0; iK < uiBlockSize; iK += (uiWidth>=16 ?2:1))
     {
       for( Int iL = 0; iL < uiBlockSize; iL += ((uiWidth>=16 && uiOri<4)?2:1) )
       {
+#if SHARP_DMM_CLEAN_K0042
+        Int xS = iK;
+        Int yS = 0;
+        Int xE = (uiOri == 0) ? 0 : iL;
+        Int yE = (uiOri == 0) ? iL : uiBlockSize - 1;
+        cTempWedgelet.setWedgelet( xS, yS, xE, yE, uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) );
+#else
         cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) );
+#endif
         addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList );
       }
     }
+#if SHARP_DMM_CLEAN_K0042
+    }
+    else
+    {
+      for (Int pos = posStart; pos < posEnd; pos++)
+      {
+        cTempWedgelet.generateWedgePatternByRotate(racWedgeList[pos], uiOri);
+        addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList );
+      }
+    }
+    posStart = posEnd;
+#endif
   }
 
Index: /trunk/source/Lib/TLibCommon/TComRom.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComRom.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComRom.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -230,5 +230,5 @@
 
 #ifndef ENC_DEC_TRACE
-#define ENC_DEC_TRACE   0
+#define ENC_DEC_TRACE   0  
 #endif
 
@@ -257,4 +257,5 @@
  extern Bool   g_traceTU; 
  extern Bool   g_disableHLSTrace;       // USE g_HLSTraceEnable to toggle HLS trace. Not this one!
+ extern Bool   g_disableNumbering;      // Don't print numbers to trace file
  extern UInt64 g_stopAtCounter;         // Counter to set breakpoint. 
  extern Bool   g_traceCopyBack;         // Output samples on copy back  
@@ -264,4 +265,6 @@
  extern Bool   g_stopAtPos;             // Stop at position
  extern Bool   g_outputPos;             // Output position
+ extern Bool   g_traceCameraParameters; // Trace camera parameters
+ extern Bool   g_encNumberOfWrittenBits;// Trace number of written bits
 
 #define DTRACE_CU(x,y)             writeToTraceFile( x,y, g_traceCU );
Index: /trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2014, ITU/ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2014, ITU/ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComSlice.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComSlice.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComSlice.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -137,9 +137,19 @@
 #endif
 #if H_3D
+#if HHI_INTER_COMP_PRED_K0052
+, m_inCmpPredFlag                 ( false )
+#endif
+#if HHI_CAM_PARA_K0052
+, m_numViews                        ( 0    )
+#endif
 , m_depthToDisparityB             ( NULL )
 , m_depthToDisparityF             ( NULL )
 #endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+, m_bApplyDIS                     (false)
+#else
 #if H_3D_SINGLE_DEPTH
 , m_bApplySingleDepthMode         (false)
+#endif
 #endif
 #endif
@@ -181,4 +191,20 @@
   m_iDefaultRefViewIdx = -1;
   m_bDefaultRefViewIdxAvailableFlag = false;
+#if HHI_INTER_COMP_PRED_K0052
+  m_ivMvPredFlag           = false;
+  m_ivMvScalingFlag        = false;
+  m_ivResPredFlag          = false;  
+  m_depthRefinementFlag    = false;
+  m_viewSynthesisPredFlag  = false;
+  m_depthBasedBlkPartFlag  = false;
+  m_mpiFlag                = false;
+  m_intraContourFlag       = false;
+  m_intraSdcWedgeFlag      = false;
+  m_qtPredFlag             = false;
+  m_interSdcFlag           = false;
+  m_depthIntraSkipFlag     = false;
+  m_subPbSize              =  1 << 6;
+  m_mpiSubPbSize           =  1 << 6;
+#endif
 }
 
@@ -188,5 +214,9 @@
   m_puiSubstreamSizes = NULL;
 #if H_3D
+#if HHI_CAM_PARA_K0052   
+  for( UInt i = 0; i < m_numViews; i++ )
+#else
   for( UInt i = 0; i < getViewIndex(); i++ )
+#endif
   {
     if ( m_depthToDisparityB && m_depthToDisparityB[ i ] )
@@ -198,5 +228,5 @@
     {
       delete[] m_depthToDisparityF [ i ];
-  }
+    }
   }
 
@@ -575,4 +605,8 @@
   Int i;
 
+#if HHI_RES_PRED_K0052
+  m_pocsInCurrRPSs.clear();
+#endif
+
   for(i=0; i < m_pcRPS->getNumberOfNegativePictures(); i++)
   {
@@ -585,4 +619,7 @@
       NumPocStCurr0++;
       pcRefPic->setCheckLTMSBPresent(false);  
+#if HHI_RES_PRED_K0052
+      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() ); 
+#endif
     }
   }
@@ -598,4 +635,7 @@
       NumPocStCurr1++;
       pcRefPic->setCheckLTMSBPresent(false);  
+#if HHI_RES_PRED_K0052
+      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() ); 
+#endif
     }
   }
@@ -610,4 +650,7 @@
       RefPicSetLtCurr[NumPocLtCurr] = pcRefPic;
       NumPocLtCurr++;
+#if HHI_RES_PRED_K0052
+      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() ); 
+#endif
     }
     if(pcRefPic==NULL) 
@@ -619,4 +662,7 @@
 
   Int numPocInterCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr; 
+#if HHI_RES_PRED_K0052
+  assert( numPocInterCurr == (Int) m_pocsInCurrRPSs.size() ); 
+#endif
   numPocTotalCurr = numPocInterCurr + getNumActiveRefLayerPics( );
   assert( numPocTotalCurr == getNumRpsCurrTempList() );
@@ -791,4 +837,23 @@
 Void TComSlice::setCamparaSlice( Int** aaiScale, Int** aaiOffset )
 {  
+#if HHI_CAM_PARA_K0052
+  Int voiInVps      = m_pcVPS->getVoiInVps(getViewIndex() ); 
+  if( m_pcVPS->getNumCp( voiInVps ) > 0 )
+  {    
+    if( m_pcVPS->getCpInSliceSegmentHeaderFlag( voiInVps ) )
+    {
+      for( Int m = 0; m < m_pcVPS->getNumCp( voiInVps ); m++ )
+      {      
+        Int j      = m_pcVPS->getCpRefVoi( voiInVps, m );
+        Int jInVps = m_pcVPS->getVoiInVps( j ); 
+
+        setCpScale   ( jInVps , aaiScale [ jInVps   ][ voiInVps ]);
+        setCpInvScale( jInVps , aaiScale [ voiInVps ][ jInVps   ]);
+        setCpOff     ( jInVps , aaiOffset[ jInVps   ][ voiInVps ]);
+        setCpInvOff  ( jInVps , aaiOffset[ voiInVps ][ jInVps   ]);
+      }
+    }
+  } 
+#else
   if( m_pcVPS->hasCamParInSliceHeader( m_viewIndex ) )
   {    
@@ -801,4 +866,5 @@
     }
   } 
+#endif
 }
 #endif
@@ -1099,6 +1165,10 @@
   }
 #endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_bApplyDIS = pSrc->m_bApplyDIS;
+#else
 #if H_3D_SINGLE_DEPTH
   m_bApplySingleDepthMode = pSrc->m_bApplySingleDepthMode;
+#endif
 #endif
 #if H_3D_IC
@@ -2147,7 +2217,8 @@
 {
   m_numViews = 1; 
-#if HHI_VIEW_ID_LIST_I5_J0107
+#if HHI_VIEW_ID_LIST_I5_J0107 || HHI_INTER_COMP_PRED_K0052
 #if H_3D
   AOF( m_viewOIdxList.size() == 0 ); 
+  
   m_viewOIdxList.push_back( 0 );        
 #endif
@@ -2170,5 +2241,5 @@
       {
         m_numViews++;
-#if HHI_VIEW_ID_LIST_I5_J0107
+#if HHI_VIEW_ID_LIST_I5_J0107  || HHI_INTER_COMP_PRED_K0052
 #if H_3D
         m_viewOIdxList.push_back( getViewOrderIdx( lId ) );        
@@ -2210,6 +2281,15 @@
   Int i = 0, j = 0;
 
+#if HHI_CAM_PARA_K0052
+  m_numCp    = new Int [ iNumViews ];
+  m_cpRefVoi = new Int*[ iNumViews ];
+  m_cpInSliceSegmentHeaderFlag = new Bool[ iNumViews ];
+
+  m_cpPresentFlag  = new Bool*[ iNumViews ]; 
+#else
   m_bCamParPresent = new Bool[ iNumViews ];
   m_bCamParInSliceHeader = new Bool[ iNumViews ];
+#endif
+  
 
   m_aaaiCodedScale = new Int**[ iNumViews ];
@@ -2217,8 +2297,24 @@
   for ( i = 0; i < iNumViews ; i++ )
   {
+#if HHI_CAM_PARA_K0052
+    m_cpInSliceSegmentHeaderFlag[i] = false;     
+#else
     m_bCamParPresent[i] = false; 
     m_bCamParInSliceHeader[i] = false; 
+#endif
+    
     m_aaaiCodedScale[i] = new Int*[ 2 ];
     m_aaaiCodedOffset[i] = new Int*[ 2 ];
+
+#if HHI_CAM_PARA_K0052
+    m_numCp   [i] = 0; 
+    m_cpRefVoi[i] = new Int[ iNumViews ];
+    m_cpPresentFlag[i] = new Bool[ iNumViews ]; 
+    for ( j = 0; j < iNumViews; j++)
+    {
+      m_cpRefVoi[i][j] = 0; 
+      m_cpPresentFlag[i][j] = false; 
+    }
+#endif
     for ( j = 0; j < 2; j++ )
     {
@@ -2239,4 +2335,5 @@
   Int i = 0, j = 0;
 
+#if !HHI_CAM_PARA_K0052
   if ( m_bCamParPresent != NULL )
   {
@@ -2247,4 +2344,35 @@
     delete [] m_bCamParInSliceHeader;
   }
+#else
+  if ( m_numCp != NULL )
+  {
+    delete [] m_numCp;
+  }
+
+  if ( m_cpRefVoi != NULL )
+  {
+    for ( i = 0; i < iNumViews ; i++ )
+    {
+      delete [] m_cpRefVoi[i];
+    }
+    delete[] m_cpRefVoi; 
+  }
+
+  if ( m_cpPresentFlag != NULL )
+  {
+    for ( i = 0; i < iNumViews ; i++ )
+    {
+      delete [] m_cpPresentFlag[i];
+    }
+    delete[] m_cpPresentFlag; 
+  }
+
+
+  if ( m_cpInSliceSegmentHeaderFlag != NULL )
+  {
+    delete [] m_cpInSliceSegmentHeaderFlag;
+  }
+#endif
+
 
   if ( m_aaaiCodedScale != NULL )
@@ -2276,6 +2404,6 @@
 
 
-Void
-  TComVPS::initCamParaVPS( UInt uiViewIndex, Bool bCamParPresent, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
+#if !HHI_CAM_PARA_K0052
+Void TComVPS::initCamParaVPS( UInt uiViewIndex, Bool bCamParPresent, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
 {
   AOT( uiViewIndex != 0 && !bCamParSlice && ( aaiScale == 0 || aaiOffset == 0 ) );  
@@ -2296,4 +2424,5 @@
   }
 }
+#endif
 
 #endif // H_3D
@@ -2730,5 +2859,7 @@
 #endif
 #if H_3D
+#if !HHI_CAM_PARA_K0052
 , m_bCamParInSliceHeader      (false)
+#endif
 #endif
 {
@@ -3754,7 +3885,24 @@
       {
         Int layerIdInNuh = getRefPicLayerId( i );
+#if HHI_RES_PRED_K0052
+        TComPic* picV = getIvPic( getIsDepth(), getVPS()->getViewIndex( layerIdInNuh ) );
+        assert( picV != NULL ); 
+        std::vector<Int> pocsInCurrRPSsPicV = picV->getSlice(0)->getPocsInCurrRPSs(); 
+        Bool refRpRefAvailFlag = false; 
+        for (Int idx = 0; idx < pocsInCurrRPSsPicV.size(); idx++)
+        {
+          if ( pocsInCurrRPSsPicV[idx] == prevPOC )
+          {
+            refRpRefAvailFlag = true; 
+            break; 
+          }
+        }
+
+        if (getFirstTRefIdx(eRefPicList) >= 0 && refRpRefAvailFlag )
+#else
         Int viewIdx = getVPS()->getViewId( layerIdInNuh );
         TComPic*pcPicPrev = ivPicLists->getPic(viewIdx, 0, prevPOC);
         if (getFirstTRefIdx(eRefPicList) >= 0 && pcPicPrev && pcPicPrev->getSlice( 0 )->isReferenced())
+#endif
         {
           m_arpRefPicAvailable[eRefPicList][layerIdInNuh] = true;
@@ -3929,5 +4077,5 @@
 #if H_3D_NBDV_REF
   setupLUT = setupLUT || getDepthRefinementFlag( );
-#endif 
+#endif  
 
 #if H_3D_IV_MERGE
@@ -3939,9 +4087,17 @@
     return; 
 
+#if HHI_CAM_PARA_K0052
+  m_numViews = getVPS()->getNumViews(); 
+#endif
   /// GT: Allocation should be moved to a better place later; 
   if ( m_depthToDisparityB == NULL )
   {
+#if HHI_CAM_PARA_K0052    
+    m_depthToDisparityB = new Int*[ m_numViews ];
+    for ( Int i = 0; i < getVPS()->getNumViews(); i++ )
+#else
     m_depthToDisparityB = new Int*[ getViewIndex() ];
     for ( Int i = 0; i < getViewIndex(); i++ )
+#endif
     {
       m_depthToDisparityB[ i ] = new Int[ Int(1 << g_bitDepthY) ]; 
@@ -3949,8 +4105,14 @@
   }
 
+  
   if ( m_depthToDisparityF == NULL )
   {
+#if HHI_CAM_PARA_K0052    
+    m_depthToDisparityF = new Int*[ m_numViews ];
+    for ( Int i = 0; i < m_numViews; i++ )
+#else
     m_depthToDisparityF= new Int*[ getViewIndex() ];
     for ( Int i = 0; i < getViewIndex(); i++ )
+#endif
     {
       m_depthToDisparityF[ i ] = new Int[ Int(1 << g_bitDepthY) ]; 
@@ -3963,5 +4125,37 @@
   TComVPS* vps = getVPS(); 
 
+#if HHI_CAM_PARA_K0052
+  Int log2Div = g_bitDepthY - 1 + vps->getCpPrecision();
+  Int voiInVps = vps->getVoiInVps( getViewIndex() ); 
+  Bool camParaSH = vps->getCpInSliceSegmentHeaderFlag( voiInVps );  
+
+  Int* codScale     = camParaSH ? m_aaiCodedScale [ 0 ] : vps->getCodedScale    ( voiInVps ); 
+  Int* codOffset    = camParaSH ? m_aaiCodedOffset[ 0 ] : vps->getCodedOffset   ( voiInVps ); 
+  Int* invCodScale  = camParaSH ? m_aaiCodedScale [ 1 ] : vps->getInvCodedScale ( voiInVps ); 
+  Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : vps->getInvCodedOffset( voiInVps ); 
+
+
+  for (Int i = 0; i < voiInVps; i++)
+  {
+    Int iInVoi = vps->getVoiInVps( i ); 
+#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC
+    if ( g_traceCameraParameters )
+    {
+      std::cout << std::endl << "Cp: " << codScale   [ iInVoi ] << " " <<    codOffset[ iInVoi ] << " "
+                << invCodScale[ iInVoi ] << " " << invCodOffset[ iInVoi ] << " " << log2Div; 
+    }
+#endif
+    for ( Int d = 0; d <= ( ( 1 << g_bitDepthY ) - 1 ); d++ )
+    {      
+      Int offset =    ( codOffset  [ iInVoi ] << g_bitDepthY ) + ( ( 1 << log2Div ) >> 1 );         
+      m_depthToDisparityB[ iInVoi ][ d ] = ( codScale [ iInVoi ] * d + offset ) >> log2Div; 
+
+      Int invOffset = ( invCodOffset[ iInVoi ] << g_bitDepthY ) + ( ( 1 << log2Div ) >> 1 );         
+      m_depthToDisparityF[ iInVoi ][ d ] = ( invCodScale[ iInVoi ] * d + invOffset ) >> log2Div; 
+    }
+  }
+#else
   Int log2Div = g_bitDepthY - 1 + vps->getCamParPrecision();
+
   Int viewIndex = getViewIndex();
 
@@ -3984,4 +4178,5 @@
     }
   }
+#endif
 }
 #endif
@@ -4023,9 +4218,9 @@
 
 #if H_3D
-
 Void TComSlice::init3dToolParameters()
 {
   Bool depthFlag = getIsDepth();
 
+#if !HHI_INTER_COMP_PRED_K0052
   Bool depthOfRefViewsAvailFlag = false; 
   Bool textOfCurViewAvailFlag = false; 
@@ -4072,4 +4267,5 @@
     }
   }
+
 
   Bool lidG0  = ( getLayerId() > 0 );
@@ -4088,9 +4284,40 @@
   m_intraSdcWedgeFlag      = sps3dExt->getIntraSdcWedgeFlag    ( depthFlag ) && lidG0                                     ;                          
   m_qtPredFlag             = sps3dExt->getQtPredFlag           ( depthFlag ) && lidG0           &&   textOfCurViewAvailFlag;
-  m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag ) && lidG0                                    ;                               
+  m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag ) && lidG0                                    ;  
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_depthIntraSkipFlag     = sps3dExt->getDepthIntraSkipFlag   ( depthFlag ) && lidG0                                    ;                          
+#else
   m_intraSingleFlag        = sps3dExt->getIntraSingleFlag      ( depthFlag ) && lidG0                                    ;                          
+#endif
 
   m_subPbSize              = lidG0 ? ( 1 << ( sps3dExt->getLog2SubPbSizeMinus3   ( depthFlag ) + 3 ) ) : getSPS()->getMaxCUWidth();  
   m_mpiSubPbSize           = 1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 );
+#else
+  Bool nRLLG0 =  ( getVPS()->getNumRefListLayers( getLayerId() ) > 0 );     
+
+  TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension();
+
+  m_ivMvPredFlag           = sps3dExt->getIvMvPredFlag         ( depthFlag ) && nRLLG0                       ;                             
+  m_ivMvScalingFlag        = sps3dExt->getIvMvScalingFlag      ( depthFlag )                                 ;                             
+  m_ivResPredFlag          = sps3dExt->getIvResPredFlag        ( depthFlag ) && nRLLG0                       ;                               
+#if HHI_CAM_PARA_K0052
+  m_depthRefinementFlag    = sps3dExt->getDepthRefinementFlag  ( depthFlag )           && getInCompPredFlag() && m_cpAvailableFlag;
+  m_viewSynthesisPredFlag  = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && nRLLG0 && getInCompPredFlag() && m_cpAvailableFlag;
+#else
+  m_depthRefinementFlag    = sps3dExt->getDepthRefinementFlag  ( depthFlag )           && getInCompPredFlag();                            
+  m_viewSynthesisPredFlag  = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && nRLLG0 && getInCompPredFlag();                            
+#endif
+  m_depthBasedBlkPartFlag  = sps3dExt->getDepthBasedBlkPartFlag( depthFlag )           && getInCompPredFlag();                          
+  m_mpiFlag                = sps3dExt->getMpiFlag              ( depthFlag )           && getInCompPredFlag();
+  m_intraContourFlag       = sps3dExt->getIntraContourFlag     ( depthFlag )           && getInCompPredFlag();
+  m_intraSdcWedgeFlag      = sps3dExt->getIntraSdcWedgeFlag    ( depthFlag )                                 ;                          
+  m_qtPredFlag             = sps3dExt->getQtPredFlag           ( depthFlag )           && getInCompPredFlag();
+  m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag )                                 ;  
+  m_depthIntraSkipFlag     = sps3dExt->getDepthIntraSkipFlag   ( depthFlag )                                 ;                          
+
+  m_subPbSize              =  1 << ( sps3dExt->getLog2SubPbSizeMinus3   ( depthFlag ) + 3 );  
+  m_mpiSubPbSize           =  1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 );
+
+#endif
 
 #if H_3D_OUTPUT_ACTIVE_TOOLS
@@ -4098,6 +4325,12 @@
   std::cout << "DepthFlag:              :" << getIsDepth()             << std::endl;
   std::cout << "ViewOrderIdx:           :" << getViewIndex()           << std::endl;
+#if HHI_INTER_COMP_PRED_K0052
+  std::cout << "InterCmpPredAvailableFlag:" << getInCmpPredAvailFlag() << std::endl;
+  std::cout << "InterCompPredFlag       :"  << getInCompPredFlag()     << std::endl;
+  //std::cout << "TextOfCurViewAvailFlag  :" << textOfCurViewAvailFlag   << std::endl;
+#else
   std::cout << "DepthOfRefViewsAvailFlag:" << depthOfRefViewsAvailFlag << std::endl;
   std::cout << "TextOfCurViewAvailFlag  :" << textOfCurViewAvailFlag   << std::endl;
+#endif
   
   std::cout << "ivMvPredFlag            :" << m_ivMvPredFlag           << std::endl;
@@ -4112,5 +4345,9 @@
   std::cout << "qtPredFlag              :" << m_qtPredFlag             << std::endl;
   std::cout << "interSdcFlag            :" << m_interSdcFlag           << std::endl;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  std::cout << "depthIntraSkipFlag      :" << m_depthIntraSkipFlag     << std::endl;    
+#else
   std::cout << "intraSingleFlag         :" << m_intraSingleFlag        << std::endl;    
+#endif
   std::cout << "subPbSize               :" << m_subPbSize              << std::endl;
   std::cout << "mpiSubPbSize            :" << m_mpiSubPbSize           << std::endl;
Index: /trunk/source/Lib/TLibCommon/TComSlice.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComSlice.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComSlice.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -914,14 +914,25 @@
   // VPS EXTENSION 2 SYNTAX ELEMENTS
 #if H_3D
+#if HHI_CAM_PARA_K0052  
+  Int*        m_numCp;  
+  Int**       m_cpRefVoi;
+  Bool**      m_cpPresentFlag; 
+  Int         m_cpPrecision;
+  Bool*       m_cpInSliceSegmentHeaderFlag;
+#else
   UInt        m_uiCamParPrecision;
   Bool*       m_bCamParInSliceHeader;
   Bool*       m_bCamParPresent;
+#endif
   Int         ***m_aaaiCodedScale ;
   Int         ***m_aaaiCodedOffset;
 
-#if HHI_VIEW_ID_LIST_I5_J0107
+#if HHI_VIEW_ID_LIST_I5_J0107 ||  HHI_INTER_COMP_PRED_K0052
   std::vector<Int>  m_viewOIdxList;
 #endif
-
+#if HHI_INTER_COMP_PRED_K0052
+  std::vector< std::vector<Bool> > m_viewCompLayerPresentFlag;
+  std::vector< std::vector<Int>  > m_viewCompLayerId;
+#endif
 #endif
 
@@ -1152,8 +1163,68 @@
   Int     getNumViews()                                                    { return m_numViews; }
   Void    initNumViews();
-#if HHI_VIEW_ID_LIST_I5_J0107
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+  Void   initViewCompLayer( )
+  { 
+    assert( m_viewCompLayerId.size() == 0 && m_viewCompLayerPresentFlag.size() == 0  );
+    for( Int i = 0; i < getNumViews(); i++ )
+    {
+      m_viewCompLayerId         .push_back( std::vector<Int>(0)  );
+      m_viewCompLayerPresentFlag.push_back( std::vector<Bool>(0) );      
+
+      for( Int depFlag = 0; depFlag  <=  1; depFlag++ )
+      {
+        Int iViewOIdx = getViewOIdxList( i );
+        Int layerId = -1;
+        for( Int j = 0; j  <=  getMaxLayersMinus1(); j++ ) 
+        {
+          Int jNuhLId = getLayerIdInNuh( j );
+          if( getVpsDepthFlag( jNuhLId ) == ( (Bool) depFlag )  &&  getViewOrderIdx( jNuhLId )  ==  iViewOIdx  
+            &&  getDependencyId( jNuhLId )  ==  0  &&  getAuxId( jNuhLId )  ==  0 )
+          {
+            layerId = jNuhLId;
+          }
+        }
+        m_viewCompLayerPresentFlag[ i ].push_back( layerId  !=  -1 );
+        m_viewCompLayerId         [ i ].push_back( layerId );        
+      }
+    }
+  };
+#endif
+#endif
+
+#if HHI_VIEW_ID_LIST_I5_J0107 || HHI_INTER_COMP_PRED_K0052
   Int     getViewOIdxList( Int i )                                         { return m_viewOIdxList[i]; }
-#endif
-
+#if HHI_CAM_PARA_K0052
+  std::vector<Int> getViewOIdxList( )                                               { return m_viewOIdxList; }
+#endif
+#endif
+
+#if HHI_INTER_COMP_PRED_K0052
+#if HHI_CAM_PARA_K0052
+  Int     getVoiInVps( Int viewOIdx )                                      
+#else
+  Int     getInvViewOIdxList( Int viewOIdx )                                      
+#endif
+  {    
+    for ( Int i = 0; i < m_viewOIdxList.size(); i++ )
+    {
+      if  ( m_viewOIdxList[ i ] == viewOIdx )
+      {
+        return i; 
+      }
+    }
+    assert( 0 );   
+    return -1; 
+  };
+
+#if HHI_CAM_PARA_K0052
+  Bool    getViewCompLayerPresentFlag (Int i, Bool d ) { return  m_viewCompLayerPresentFlag[ getVoiInVps(i) ][d]; }
+  Bool    getViewCompLayerId          (Int i, Bool d ) { return  m_viewCompLayerId         [ getVoiInVps(i) ][d]; }
+#else
+  Bool    getViewCompLayerPresentFlag (Int i, Bool d ) { return  m_viewCompLayerPresentFlag[ getInvViewOIdxList(i) ][d]; }
+  Bool    getViewCompLayerId          (Int i, Bool d ) { return  m_viewCompLayerId         [ getInvViewOIdxList(i) ][d]; }
+#endif
+#endif
   Bool    getDependencyFlag( Int i, Int j )                                { return m_dependencyFlag[i][j]; }
   Int     getNumDirectRefLayers( Int layerIdInNuh )                        { return m_numDirectRefLayers[ layerIdInNuh ];  };                               
@@ -1276,10 +1347,70 @@
   Void createCamPars(Int iNumViews);
   Void deleteCamPars();
+#if HHI_CAM_PARA_K0052
+  Void initCamParaVPS( Int vOIdxInVps, Int numCp, Bool cpInSliceSegmentHeaderFlag, Int* cpRefVoi, Int** aaiScale, Int** aaiOffset ); 
+#else
   Void initCamParaVPS      (  UInt uiViewIndex, Bool bCamParPresent = false, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
+#endif
+  
+#if HHI_CAM_PARA_K0052
+
+  Void setCpPrecision( Int  val ) { m_cpPrecision = val; } 
+  Int  getCpPrecision(  ) { return m_cpPrecision; } 
+
+  Void setNumCp( Int i, Int  val ) { m_numCp[i] = val; } 
+  Int  getNumCp( Int i )           { return m_numCp[i]; } 
+
+  Void setCpRefVoi( Int i, Int m, Int  val ) { m_cpRefVoi[i][m] = val; } 
+  Int  getCpRefVoi( Int i, Int m )           { return m_cpRefVoi[i][m]; }   
+  
+  Void setCpInSliceSegmentHeaderFlag( Int i, Bool flag ) { m_cpInSliceSegmentHeaderFlag[i] = flag; } 
+  Bool getCpInSliceSegmentHeaderFlag( Int i )            { return m_cpInSliceSegmentHeaderFlag[i]; } 
+  
+  Void setVpsCpScale( Int i, Int j, Int  val ) { m_aaaiCodedScale [i][0][j] = val; } 
+  Int  getVpsCpScale( Int i, Int j ) { return m_aaaiCodedScale[i][0][j]; } 
+
+  Void setVpsCpOff( Int i, Int j, Int  val ) { m_aaaiCodedOffset[i][0][j] = val; } 
+  Int  getVpsCpOff( Int i, Int j ) { return m_aaaiCodedOffset[i][0][j]; } 
+
+  Void setVpsCpInvScale( Int i, Int j, Int  val ) { m_aaaiCodedScale[i][1][j] = val; } 
+  Int  getVpsCpInvScale( Int i, Int j ) { return m_aaaiCodedScale[i][1][j]; } 
+
+  Void setVpsCpInvOff( Int i, Int j, Int  val ) { m_aaaiCodedOffset[i][1][j] = val; } 
+  Int  getVpsCpInvOff( Int i, Int j ) { return m_aaaiCodedOffset[i][1][j]; } 
+
+// Derived
+  Void deriveCpPresentFlag( )
+  {
+    for( Int nInVps = 0; nInVps < getNumViews(); nInVps++  )
+    {
+      for( Int mInVps = 0; mInVps < getNumViews(); mInVps++ )
+      {
+        m_cpPresentFlag[nInVps][mInVps] = 0; 
+      }
+    }
+
+   for( Int n = 1; n < getNumViews(); n++ )
+   {
+      Int iInVps = getVoiInVps(  getViewOIdxList( n ) );      
+      for( Int m = 0; m < getNumCp( iInVps ); m++ )
+      {
+         m_cpPresentFlag[ iInVps ][ getVoiInVps( getCpRefVoi( iInVps, m ) ) ] = 1;
+      }
+    }
+  }
+
+  Void setCpPresentFlag( Int i, Int m, Bool flag ) { m_cpPresentFlag[i][m] = flag; } 
+  Bool getCpPresentFlag( Int i, Int m )           { return m_cpPresentFlag[i][m]; }   
+
+#else
   UInt getCamParPrecision    ()  { return m_uiCamParPrecision; }
+
   Bool getCamParPresent      ( Int viewIndex )  { return m_bCamParPresent[viewIndex]; }
   Void setCamParPresent      ( Int viewIndex, Bool val )  { m_bCamParPresent[viewIndex] = val; }
   Bool hasCamParInSliceHeader( Int viewIndex )  { return m_bCamParInSliceHeader[viewIndex]; }
   Void setHasCamParInSliceHeader( Int viewIndex, Bool b )  { m_bCamParInSliceHeader[viewIndex] = b; }
+#endif
+
+
   Int* getCodedScale         ( Int viewIndex )  { return m_aaaiCodedScale [viewIndex][0]; }
   Int* getCodedOffset        ( Int viewIndex )  { return m_aaaiCodedOffset[viewIndex][0]; }
@@ -1574,5 +1705,9 @@
       m_qtPredFlag            [d] = false; 
       m_interSdcFlag          [d] = false; 
-      m_intraSingleFlag       [d] = false;   
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      m_depthIntraSkipFlag    [d] = false;   
+#else
+      m_intraSingleFlag       [d] = false; 
+#endif
     }
   }
@@ -1617,6 +1752,11 @@
   Bool getInterSdcFlag( Int d ) { return m_interSdcFlag[d]; } 
 
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void setDepthIntraSkipFlag( Int d, Bool flag ) { m_depthIntraSkipFlag[d] = flag; } 
+  Bool getDepthIntraSkipFlag( Int d ) { return m_depthIntraSkipFlag[d]; } 
+#else
   Void setIntraSingleFlag( Int d, Bool flag ) { m_intraSingleFlag[d] = flag; } 
   Bool getIntraSingleFlag( Int d ) { return m_intraSingleFlag[d]; } 
+#endif
 
 private:
@@ -1635,5 +1775,9 @@
   Bool        m_qtPredFlag            [2];
   Bool        m_interSdcFlag          [2];
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool        m_depthIntraSkipFlag    [2];  
+#else
   Bool        m_intraSingleFlag       [2];  
+#endif
 };
 
@@ -1740,6 +1884,8 @@
 #if H_3D
   TComSps3dExtension m_sps3dExtension; 
+#if !HHI_CAM_PARA_K0052
   UInt        m_uiCamParPrecision;
   Bool        m_bCamParInSliceHeader;
+#endif
   Int         m_aaiCodedScale [2][MAX_NUM_LAYERS];
   Int         m_aaiCodedOffset[2][MAX_NUM_LAYERS];
@@ -1759,6 +1905,11 @@
   Void setChromaFormatIdc (Int i)    { m_chromaFormatIdc = i;          }
 
+#if H_3D_DISABLE_CHROMA
+  static Int getWinUnitX (Int chromaFormatIdc) { assert (chromaFormatIdc >= 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitX[chromaFormatIdc];      }
+  static Int getWinUnitY (Int chromaFormatIdc) { assert (chromaFormatIdc >= 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitY[chromaFormatIdc];      }
+#else
   static Int getWinUnitX (Int chromaFormatIdc) { assert (chromaFormatIdc > 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitX[chromaFormatIdc];      }
   static Int getWinUnitY (Int chromaFormatIdc) { assert (chromaFormatIdc > 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitY[chromaFormatIdc];      }
+#endif
   
   // structure
@@ -2366,4 +2517,7 @@
   UInt                 m_nARPStepNum; 
   Int         m_aiFirstTRefIdx    [2]; 
+#if HHI_RES_PRED_K0052
+  std::vector<Int> m_pocsInCurrRPSs; 
+#endif
 #endif
 #if H_3D_IC
@@ -2372,4 +2526,13 @@
 #endif
 #if H_3D
+#if HHI_INTER_COMP_PRED_K0052
+  std::vector<Int> m_inCmpRefViewIdcs;
+  Bool       m_inCmpPredAvailFlag; 
+  Bool       m_inCmpPredFlag; 
+#endif
+#if HHI_CAM_PARA_K0052
+  Bool       m_cpAvailableFlag; 
+  Int        m_numViews; 
+#endif
   TComPic*   m_ivPicsCurrPoc [2][MAX_NUM_LAYERS];  
   Int**      m_depthToDisparityB; 
@@ -2377,6 +2540,10 @@
 #endif
 #endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool      m_bApplyDIS;
+#else
 #if H_3D_SINGLE_DEPTH
   Bool      m_bApplySingleDepthMode;
+#endif
 #endif
 #if H_3D_IC
@@ -2398,6 +2565,9 @@
   Bool m_qtPredFlag           ;
   Bool m_interSdcFlag         ;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool m_depthIntraSkipFlag   ;
+#else
   Bool m_intraSingleFlag      ;
-
+#endif
   Int  m_mpiSubPbSize         ; 
   Int  m_subPbSize            ; 
@@ -2467,4 +2637,14 @@
   Int       getRefPOC           ( RefPicList e, Int iRefIdx)    { return  m_aiRefPOCList[e][iRefIdx];   }
 #if H_3D
+#if HHI_INTER_COMP_PRED_K0052
+  Bool      getInCmpPredAvailFlag( )                             { return m_inCmpPredAvailFlag;    } 
+#if HHI_CAM_PARA_K0052
+  Bool      getCpAvailableFlag( )                             { return m_cpAvailableFlag;    } 
+#endif
+  Bool      getInCompPredFlag( )                                 { return m_inCmpPredFlag;         }    
+  Void      setInCompPredFlag( Bool b )                          { m_inCmpPredFlag = b;            }    
+  Int       getInCmpRefViewIdcs( Int i )                         { return m_inCmpRefViewIdcs  [i]; }
+  Int       getNumCurCmpLIds( )                                  { return (Int) m_inCmpRefViewIdcs.size(); } 
+#endif
   TComPic*  getIvPic            ( Bool depthFlag, Int viewIndex){ return  m_ivPicsCurrPoc[ depthFlag ? 1 : 0 ][ viewIndex ]; }
 #endif
@@ -2568,4 +2748,7 @@
   UInt getTLayer             ()                            { return m_uiTLayer;                      }
   Void setTLayer             ( UInt uiTLayer )             { m_uiTLayer = uiTLayer;                  }
+#if H_MV
+  Int getTemporalId          ( )                           { return (Int) m_uiTLayer;                }
+#endif
 
   Void setTLayerInfo( UInt uiTLayer );
@@ -2692,4 +2875,7 @@
   Void      setFirstTRefIdx        ( RefPicList e, Int i )         { m_aiFirstTRefIdx[e]    = i;      }
   Bool      getArpRefPicAvailable( RefPicList e, Int viewIdx) {return m_arpRefPicAvailable[e][getVPS()->getLayerIdInNuh(viewIdx, 0)]; }
+#if HHI_RES_PRED_K0052
+  std::vector<Int> getPocsInCurrRPSs()                             { return m_pocsInCurrRPSs; }; 
+#endif
 #endif
   Void      setIsDepth            ( Bool isDepth )   { m_isDepth = isDepth; }
@@ -2700,4 +2886,18 @@
   Int*      getInvCodedScale      ()  { return m_aaiCodedScale [1]; }
   Int*      getInvCodedOffset     ()  { return m_aaiCodedOffset[1]; }
+#if HHI_CAM_PARA_K0052
+  Void      setCpScale( Int j, Int  val ) { m_aaiCodedScale[0][j] = val; } 
+  Int       getCpScale( Int j ) { return m_aaiCodedScale[0][j]; } 
+            
+  Void      setCpOff( Int j, Int  val ) { m_aaiCodedOffset[0][j] = val; } 
+  Int       getCpOff( Int j ) { return m_aaiCodedOffset[0][j]; } 
+            
+  Void      setCpInvScale( Int j, Int  val ) { m_aaiCodedScale[1][j] = val; } 
+  Int       getCpInvScale( Int j ) { return m_aaiCodedScale[1][j]; } 
+            
+  Void      setCpInvOff( Int j, Int  val ) { m_aaiCodedOffset[1][j] = val; } 
+  Int       getCpInvOff( Int j ) { return m_aaiCodedOffset[1][j]; } 
+#endif
+
 #endif
 #endif
@@ -2706,6 +2906,11 @@
   Void    setDepthToDisparityLUTs();
 
+#if HHI_CAM_PARA_K0052
+  Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ getVPS()->getVoiInVps( refViewIdx) ]; }; 
+  Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ getVPS()->getVoiInVps( refViewIdx) ]; }; 
+#else
   Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; }; 
   Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; }; 
+#endif
 #endif
 #if H_3D_IC
@@ -2810,5 +3015,95 @@
 #if H_3D
   // 3D-HEVC tool parameters
+#if HHI_INTER_COMP_PRED_K0052
+  Void deriveInCmpPredAndCpAvailFlag()
+  { 
+    Int numCurCmpLIds = getIsDepth() ? 1 : getNumActiveRefLayerPics(); 
+    std::vector<Int> curCmpLIds;
+    if ( getIsDepth() )
+    {
+      curCmpLIds.push_back( getLayerId() );
+    }
+    else
+    {
+      for (Int i = 0; i < numCurCmpLIds; i++)
+      {
+        curCmpLIds.push_back( getRefPicLayerId( i ) );
+      }
+    }
+
+#if HHI_CAM_PARA_K0052
+    m_cpAvailableFlag = true;
+    m_inCmpRefViewIdcs.clear();
+#endif
+    Bool allRefCmpLayersAvailFlag = true;
+
+    for( Int i = 0; i <= numCurCmpLIds - 1; i++ )
+    {      
+      m_inCmpRefViewIdcs.push_back( getVPS()->getViewOrderIdx( curCmpLIds[ i ] ));
+#if HHI_CAM_PARA_K0052
+      if( !getVPS()->getCpPresentFlag( getVPS()->getVoiInVps( getViewIndex() ),  getVPS()->getVoiInVps( m_inCmpRefViewIdcs[ i ] ) ) )
+      {
+        m_cpAvailableFlag = false;
+      }
+#endif
+      Bool refCmpCurLIdAvailFlag = false;
+      if( getVPS()->getViewCompLayerPresentFlag( m_inCmpRefViewIdcs[ i ], !getIsDepth() ) )
+      {
+        Int j = getVPS()->getLayerIdInVps( getVPS()->getViewCompLayerId( m_inCmpRefViewIdcs[ i ],  !getIsDepth() ) );
+        if  ( getVPS()->getDirectDependencyFlag( getVPS()->getLayerIdInVps( getLayerId() ) ,  j ) &&
+          getVPS()->getSubLayersVpsMaxMinus1( j ) >= getTemporalId()   &&
+          ( getTemporalId() == 0 || getVPS()->getMaxTidIlRefPicsPlus1( j , getVPS()->getLayerIdInVps( getLayerId() ) ) > getTemporalId() )        
+          )
+        {
+          refCmpCurLIdAvailFlag = true;
+        }
+      }
+      if( !refCmpCurLIdAvailFlag )
+      {
+        allRefCmpLayersAvailFlag = false;
+      }
+    }
+
+    if( !allRefCmpLayersAvailFlag )
+    {
+      m_inCmpPredAvailFlag = false;
+    }  
+    else 
+    {
+      TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension();
+      if( !getIsDepth() )
+      {
+        m_inCmpPredAvailFlag = sps3dExt->getViewSynthesisPredFlag( getIsDepth() ) || 
+          sps3dExt->getDepthBasedBlkPartFlag( getIsDepth() ) || 
+          sps3dExt->getDepthRefinementFlag  ( getIsDepth() );                            
+      }
+      else
+      {
+        m_inCmpPredAvailFlag = sps3dExt->getIntraContourFlag( getIsDepth() ) || 
+          sps3dExt->getQtPredFlag( getIsDepth() ) || 
+          sps3dExt->getMpiFlag( getIsDepth() );                                  
+      }
+    }  
+  };
+
+#endif
+
   Void init3dToolParameters();   
+#if HHI_INTER_COMP_PRED_K0052
+  Void checkInCompPredRefLayers()
+  {
+    if ( getInCompPredFlag() )
+    {
+      for (Int i = 0; i < getNumCurCmpLIds(); i++ )
+      {
+        assert( getIvPic(!getIsDepth(), getInCmpRefViewIdcs( i ) ) != NULL );       
+        //  It is a requirement of bitstream conformance that there 
+        //  is a picture in the DPB with PicOrderCntVal equal to the PicOrderCntVal of the current picture, 
+        //  and a nuh_layer_id value equal to ViewCompLayerId[ inCmpRefViewIdcs[ i ] ][ !DepthFlag ].
+      }
+    }
+  };
+
+#endif
   Bool getIvMvPredFlag           ( ) { return m_ivMvPredFlag           ; };
   Bool getIvMvScalingFlag        ( ) { return m_ivMvScalingFlag        ; };
@@ -2822,5 +3117,9 @@
   Bool getQtPredFlag             ( ) { return m_qtPredFlag             ; };
   Bool getInterSdcFlag           ( ) { return m_interSdcFlag           ; };
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Bool getDepthIntraSkipFlag     ( ) { return m_depthIntraSkipFlag     ; };
+#else
   Bool getIntraSingleFlag        ( ) { return m_intraSingleFlag        ; };
+#endif
 
   Int  getMpiSubPbSize           ( ) { return m_mpiSubPbSize           ; }; 
Index: /trunk/source/Lib/TLibCommon/TComTrQuant.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComTrQuant.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComTrQuant.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComTrQuant.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComTrQuant.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComTrQuant.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComWedgelet.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComWedgelet.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComWedgelet.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -177,4 +177,39 @@
 }
 
+#if SHARP_DMM_CLEAN_K0042
+Void TComWedgelet::generateWedgePatternByRotate(const TComWedgelet &rcWedge, Int rotate)
+{
+  Int stride = m_uiWidth;
+  Int sinc, offsetI, offsetJ;
+  
+  sinc = 1;
+  offsetI = ( sinc) < 0 ? stride-1 : 0; // 0
+  offsetJ = (-sinc) < 0 ? stride-1 : 0; // stride - 1
+
+  for (Int y = 0; y < stride; y++)
+  {
+    for (Int x = 0; x < stride; x++)
+    {
+      Int i = offsetI + sinc * y; // y
+      Int j = offsetJ - sinc * x; // stride - 1 - x
+      m_pbPattern[(y * stride) + x] = !rcWedge.m_pbPattern[(j * stride) + i];
+    }
+  }
+  Int blocksize = rcWedge.m_uiWidth * (rcWedge.m_eWedgeRes == HALF_PEL ? 2 : 1);
+  Int offsetX = (-sinc) < 0 ? blocksize - 1 : 0;
+  Int offsetY = ( sinc) < 0 ? blocksize - 1 : 0;
+  m_uhXs = offsetX - sinc * rcWedge.m_uhYs;
+  m_uhYs = offsetY + sinc * rcWedge.m_uhXs;
+  m_uhXe = offsetX - sinc * rcWedge.m_uhYe;
+  m_uhYe = offsetY + sinc * rcWedge.m_uhXe;
+  m_uhOri = rotate;
+  m_eWedgeRes = rcWedge.m_eWedgeRes;
+  m_bIsCoarse = rcWedge.m_bIsCoarse;
+  m_uiAng = rcWedge.m_uiAng;
+  m_uiWidth  = rcWedge.m_uiWidth;
+  m_uiHeight = rcWedge.m_uiHeight;
+}
+#endif
+
 Void TComWedgelet::xGenerateWedgePattern()
 {
@@ -193,4 +228,19 @@
   xDrawEdgeLine( uhXs, uhYs, uhXe, uhYe, pbTempPattern, iTempStride );
 
+#if SHARP_DMM_CLEAN_K0042
+  Int shift = (m_eWedgeRes == HALF_PEL) ? 1 : 0;
+  Int endPos = uhYe>>shift;
+  for (Int y = 0; y <= endPos; y++)
+  {
+    for (Int x = 0; x < m_uiWidth && pbTempPattern[(y * m_uiWidth) + x] == 0; x++)
+    {
+      pbTempPattern[(y * m_uiWidth) + x] = true;
+    }
+  }
+  for( UInt k = 0; k < (m_uiWidth * m_uiHeight); k++ )
+  {
+    m_pbPattern[k] = pbTempPattern[k];
+  };
+#else
   switch( m_uhOri )
   {
@@ -252,4 +302,5 @@
     break;
   }
+#endif
 
   if( pbTempPattern )
@@ -294,6 +345,13 @@
   for( Int x = x0; x <= x1; x++ )
   {
+#if SHARP_DMM_CLEAN_K0042
+    Int shift = (m_eWedgeRes == HALF_PEL) ? 1 : 0;
+    Int stride = iPatternStride >> shift;
+    if( steep ) { pbPattern[((x>>shift) * stride) + (y>>shift)] = true; }
+    else        { pbPattern[((y>>shift) * stride) + (x>>shift)] = true; }
+#else
     if( steep ) { pbPattern[(x * iPatternStride) + y] = true; }
     else        { pbPattern[(y * iPatternStride) + x] = true; }
+#endif
 
     error += deltaerr;
Index: /trunk/source/Lib/TLibCommon/TComWedgelet.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComWedgelet.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComWedgelet.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -124,4 +124,7 @@
   Bool*           getScaledPattern(UInt uiWidth);
 
+#if SHARP_DMM_CLEAN_K0042
+  Void  generateWedgePatternByRotate(const TComWedgelet &rcWedge, Int rotate);
+#endif
   Void  setWedgelet( UChar uhXs, UChar uhYs, UChar uhXe, UChar uhYe, UChar uhOri, WedgeResolution eWedgeRes, Bool bIsCoarse = false );
   Void  findClosestAngle();
Index: /trunk/source/Lib/TLibCommon/TComWeightPrediction.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComWeightPrediction.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComWeightPrediction.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComWeightPrediction.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComWeightPrediction.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComWeightPrediction.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComYuv.cpp
===================================================================
--- /trunk/source/Lib/TLibCommon/TComYuv.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComYuv.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TComYuv.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TComYuv.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TComYuv.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /trunk/source/Lib/TLibCommon/TypeDef.h	(revision 1178)
+++ /trunk/source/Lib/TLibCommon/TypeDef.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -65,8 +65,15 @@
 #define H_3D          ( HEVC_EXT == 2)
 
+#if H_MV
+#define SONY_MV_V_CONST_C0078            1   // Control disparity vector search range via configuration file
+#define H_MV_FIX_CONF_WINDOW             1   
+#endif
+
 #define NTT_BUG_FIX_TK54    1
 #define BUG_FIX_TK65        1
 
 #define MTK_I0093           1
+
+#define RWTH_DBBP_NO_SATD_K0028       1
 /////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////   MAJOR DEFINES   ///////////////////////////////////  
@@ -78,4 +85,11 @@
 
 #if H_3D
+#define SEC_DEPTH_INTRA_SKIP_MODE_K0033   1   // Depth intra skip mode
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+#define NEIGHBORING_PIX_AVAILABILITY_FIX  1
+#endif
+
+
 #define H_3D_QTLPC                        1   // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
                                               // HHI_QTLPC_RAU_OFF_C0160 JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units 
@@ -117,4 +131,6 @@
 #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
 
+#define SEC_ARP_REM_ENC_RESTRICT_K0035    1   // Removal of encoder restriction of ARP, JCT3V-K0035
+
 #define H_3D_IC                           1   // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060
                                               // Unifying rounding offset, for IC part, JCT3V-D0135
@@ -185,9 +201,12 @@
                                               // SEC_SIMP_SHIFTED_DV_I0086     Simplification of Shifted DV candidate, JCT3V-I0086
 
-
+#define SEC_SHIFTED_IVMC_POS_K0036        1   // Position Derivation for Shifted-IVMC, JCT3V-K0036
 
 
 #define H_3D_TMVP                         1   // QC_TMVP_C0047 
                                               // Sony_M23639
+#if H_3D_TMVP
+#define H_3D_TMVP_SCALING_FIX_K0053       1   // QC/CY for K0053
+#endif
 
 #define H_3D_DIM                          1   // DIM, Depth intra modes, includes:
@@ -239,8 +258,10 @@
                                               // SHARP_DLT_SIMP_J0029              1   // DLT(DepthValue2Idx[]) table derivation cleanup
 
+#if !SEC_DEPTH_INTRA_SKIP_MODE_K0033
 #define H_3D_SINGLE_DEPTH                 1   // Single depth mode proposed in JCT3V-I0095
                                               // HS_SP_SIMP_J0066
                                               // SINGLE_DEPTH_SIMP_J0115           1 
                                               // MTK_SINGLE_DEPTH_VPS_FLAG_J0060   1   // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060
+#endif
 
 #define H_3D_INTER_SDC                    1   // INTER SDC, Inter simplified depth coding
@@ -265,4 +286,5 @@
                                               // SEC_DBBP_DMM4_THRESHOLD_I0076     Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076
                                               // SEC_DBBP_VIEW_REF_CHECK_J0037     1   // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4
+#define HS_DBBP_CLEAN_K0048     1 
 
 #define H_3D_DDD                          1   // Disparity derived depth coding
@@ -305,7 +327,17 @@
 // Fixes
 
+#define FIX_TICKET_95                          1   // pps_scaling_list_ref_layer_id parsing
 
 #if H_3D
+#define H_3D_DISABLE_CHROMA                    1 
 #define HHI_VIEW_ID_LIST_I5_J0107              0
+#define HHI_INTER_COMP_PRED_K0052              1
+#define HHI_RES_PRED_K0052                     1
+#define HHI_CAM_PARA_K0052                     1
+#define HHI_MOVE_SYN_K0052                     1
+#define H_3D_ANNEX_SELECTION_FIX               1
+#define H_3D_TMVP_FIX_TICKET_97                1
+#define H_3D_DIRECT_DEP_TYPE                   1
+#define H_3D_FIX_TMVP_SCALING_VIEW_ID          1
 #endif
 #define H_MV_FIX_REF_LAYER_PIC_FLAG            1
@@ -313,8 +345,10 @@
 #define H_3D_OUTPUT_ACTIVE_TOOLS               0
 
+#if !SEC_DEPTH_INTRA_SKIP_MODE_K0033
 ///// ***** SINGLE DEPTH MODE *********
 #if H_3D_SINGLE_DEPTH
 #define SINGLE_DEPTH_MODE_CAND_LIST_SIZE            2 // size of the sample candidate list
 
+#endif
 #endif
 
@@ -350,6 +384,9 @@
                                               // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
                                               // LG_ZEROINTRADEPTHRESI_A0087
+#define SHARP_DMM_CLEAN_K0042             1   // Generate DMM pattern with rotation 
 
 #define TICKET083_IVPFLAG_FIX             1
+#define SHARP_SUBBLOCK_CLEAN_K0044        1   // Remove unused bipred restriction
+
 #endif
 ///// ***** VIEW SYNTHESIS PREDICTION *********
Index: /trunk/source/Lib/TLibDecoder/AnnexBread.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/AnnexBread.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/AnnexBread.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/AnnexBread.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/AnnexBread.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/AnnexBread.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/NALread.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/NALread.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/NALread.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/NALread.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/NALread.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/NALread.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/SEIread.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/SEIread.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/SEIread.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/SEIread.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/SEIread.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/SEIread.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/SyntaxElementParser.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/SyntaxElementParser.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/SyntaxElementParser.cpp	(revision 1179)
@@ -4,5 +4,5 @@
 * granted under this license.  
 *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
 * All rights reserved.
 *
@@ -54,6 +54,12 @@
     return; 
   }
-#endif
-  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+  if ( !g_disableNumbering )
+  {
+#endif
+  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+  }
+#endif
+
   if (length < 10)
   {
@@ -75,6 +81,11 @@
     return; 
   }
-#endif
-  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+  if ( !g_disableNumbering )
+  {
+#endif
+  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+  }
+#endif
   fprintf( g_hTrace, "%-50s ue(v) : %u\n", pSymbolName, rValue ); 
   fflush ( g_hTrace );
@@ -89,6 +100,12 @@
     return; 
   }
-#endif
-  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+  if ( !g_disableNumbering )
+  {
+#endif
+  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+  }
+#endif
+
   fprintf( g_hTrace, "%-50s se(v) : %d\n", pSymbolName, rValue ); 
   fflush ( g_hTrace );
@@ -103,6 +120,11 @@
     return; 
   }
-#endif
-  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+  if ( !g_disableNumbering )
+  {
+#endif
+  fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+  }
+#endif
   fprintf( g_hTrace, "%-50s u(1)  : %d\n", pSymbolName, rValue ); 
   fflush ( g_hTrace );
Index: /trunk/source/Lib/TLibDecoder/SyntaxElementParser.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/SyntaxElementParser.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/SyntaxElementParser.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/TDecBinCoder.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecBinCoder.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecBinCoder.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 1179)
@@ -4,5 +4,5 @@
 * granted under this license.  
 *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
 * All rights reserved.
 *
@@ -39,5 +39,7 @@
 #include "SEIread.h"
 #include "TDecSlice.h"
-
+#if H_3D_ANNEX_SELECTION_FIX
+#include "TDecTop.h"
+#endif
 //! \ingroup TLibDecoder
 //! \{
@@ -91,4 +93,5 @@
 TDecCavlc::TDecCavlc()
 {
+#if !HHI_CAM_PARA_K0052
 #if H_3D
   m_aaiTempScale            = new Int* [ MAX_NUM_LAYERS ];
@@ -100,8 +103,10 @@
   }
 #endif
+#endif
 }
 
 TDecCavlc::~TDecCavlc()
 {
+#if !HHI_CAM_PARA_K0052
 #if H_3D
   for( UInt uiVId = 0; uiVId < MAX_NUM_LAYERS; uiVId++ )
@@ -112,4 +117,5 @@
   delete [] m_aaiTempScale;
   delete [] m_aaiTempOffset;
+#endif
 #endif
 }
@@ -777,5 +783,7 @@
     assert(uiCode <= 3);
     // 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
+#if !H_3D_DISABLE_CHROMA
     assert (uiCode == 1);
+#endif
     if( uiCode == 3 )
     {
@@ -1040,5 +1048,9 @@
       READ_FLAG( uiCode, "qt_pred_flag" ); sps3dExt->setQtPredFlag( d, uiCode == 1 );
       READ_FLAG( uiCode, "inter_sdc_flag" ); sps3dExt->setInterSdcFlag( d, uiCode == 1 );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      READ_FLAG( uiCode, "intra_skip_flag" ); sps3dExt->setDepthIntraSkipFlag( d, uiCode == 1 );
+#else
       READ_FLAG( uiCode, "intra_single_flag" ); sps3dExt->setIntraSingleFlag( d, uiCode == 1 );
+#endif
     }
   }
@@ -1051,5 +1063,12 @@
   READ_FLAG( uiCode, "poc_reset_info_present_flag" ); pcPPS->setPocResetInfoPresentFlag( uiCode == 1 );
   READ_FLAG( uiCode, "pps_infer_scaling_list_flag" ); pcPPS->setPpsInferScalingListFlag( uiCode == 1 );
+#if FIX_TICKET_95
+  if (pcPPS->getPpsInferScalingListFlag())
+  {
   READ_CODE( 6, uiCode, "pps_scaling_list_ref_layer_id" ); pcPPS->setPpsScalingListRefLayerId( uiCode );
+  }
+#else
+  READ_CODE( 6, uiCode, "pps_scaling_list_ref_layer_id" ); pcPPS->setPpsScalingListRefLayerId( uiCode );
+#endif
 
   UInt numRefLocOffsets;; 
@@ -1317,4 +1336,9 @@
   }
 
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+  pcVPS->initViewCompLayer( ); 
+#endif
+#endif
 
   for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
@@ -1466,5 +1490,5 @@
     for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 1 : 0; i <=  pcVPS->getMaxLayersMinus1(); i++ )
     {
-        READ_CODE( pcVPS->getVpsRepFormatIdxLen(), uiCode, "vps_rep_format_idx[i]" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
+      READ_CODE( pcVPS->getVpsRepFormatIdxLen(), uiCode, "vps_rep_format_idx[i]" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
     }
   }
@@ -1905,6 +1929,36 @@
 Void TDecCavlc::parseVPS3dExtension( TComVPS* pcVPS )
 {
+#if HHI_CAM_PARA_K0052
+  UInt uiCode;   
+  READ_UVLC( uiCode, "cp_precision"); pcVPS->setCpPrecision( uiCode ) ;
+  
+  for (Int n = 1; n < pcVPS->getNumViews(); n++)
+  {
+    Int i      = pcVPS->getViewOIdxList( n );
+    Int iInVps = pcVPS->getVoiInVps( i ); 
+    READ_CODE( 6, uiCode, "num_cp" ); pcVPS->setNumCp( iInVps, uiCode );
+
+    if( pcVPS->getNumCp( iInVps ) > 0 )
+    {
+      READ_FLAG( uiCode, "cp_in_slice_segment_header_flag" ); pcVPS->setCpInSliceSegmentHeaderFlag( iInVps, uiCode == 1 );
+      for( Int m = 0; m < pcVPS->getNumCp( iInVps ); m++ )
+      {
+        READ_UVLC( uiCode, "cp_ref_voi" ); pcVPS->setCpRefVoi( iInVps, m, uiCode );
+        if( !pcVPS->getCpInSliceSegmentHeaderFlag( iInVps ) )
+        {
+          Int j      = pcVPS->getCpRefVoi( iInVps, m );
+          Int jInVps = pcVPS->getVoiInVps( j ); 
+          Int iCode;
+          READ_SVLC( iCode, "vps_cp_scale" );                pcVPS->setVpsCpScale   ( iInVps, jInVps, iCode );
+          READ_SVLC( iCode, "vps_cp_off" );                  pcVPS->setVpsCpOff     ( iInVps, jInVps, iCode );
+          READ_SVLC( iCode, "vps_cp_inv_scale_plus_scale" ); pcVPS->setVpsCpInvScale( iInVps, jInVps, iCode - pcVPS->getVpsCpScale( iInVps, jInVps ) );
+          READ_SVLC( iCode, "vps_cp_inv_off_plus_off" );     pcVPS->setVpsCpInvOff  ( iInVps, jInVps, iCode - pcVPS->getVpsCpOff  ( iInVps, jInVps ) );
+        }
+      }
+    }    
+  }
+  pcVPS->deriveCpPresentFlag(); 
+#else
   UInt uiCode; 
-
 
   UInt uiCamParPrecision = 0; 
@@ -1955,4 +2009,5 @@
     }
   }
+#endif
 }
 #endif
@@ -2015,6 +2070,8 @@
 #endif
   rpcSlice->setSPS(sps);
+#if !HHI_INTER_COMP_PRED_K0052
 #if H_3D
   rpcSlice->init3dToolParameters();
+#endif
 #endif
   rpcSlice->setPPS(pps);
@@ -2108,5 +2165,11 @@
     }
     // in the first version chroma_format_idc is equal to one, thus colour_plane_id will not be present
+
+#if H_3D_DISABLE_CHROMA
+    assert (sps->getChromaFormatIdc() == 1 || rpcSlice->getIsDepth() );
+    assert (sps->getChromaFormatIdc() == 0 || !rpcSlice->getIsDepth() );
+#else
     assert (sps->getChromaFormatIdc() == 1 );
+#endif
     // if( separate_colour_plane_flag  ==  1 )
     //   colour_plane_id                                      u(2)
@@ -2405,9 +2468,34 @@
       }
     }
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+    if ( getDecTop()->decProcAnnexI() )
+    {    
+      rpcSlice->deriveInCmpPredAndCpAvailFlag();
+      if ( rpcSlice->getInCmpPredAvailFlag() )
+      {
+        READ_FLAG(uiCode, "in_comp_pred_flag");  rpcSlice->setInCompPredFlag((Bool)uiCode);      
+      }
+      rpcSlice->init3dToolParameters(); 
+    }
+#endif
+#endif
 #endif
     if(sps->getUseSAO())
     {
       READ_FLAG(uiCode, "slice_sao_luma_flag");  rpcSlice->setSaoEnabledFlag((Bool)uiCode);
+#if H_3D_DISABLE_CHROMA
+      if( rpcSlice->getSPS()->getChromaFormatIdc() != 0 )
+      {
       READ_FLAG(uiCode, "slice_sao_chroma_flag");  rpcSlice->setSaoEnabledFlagChroma((Bool)uiCode);
+    }
+      else
+      {
+        rpcSlice->setSaoEnabledFlagChroma( false );
+      }
+      
+#else
+      READ_FLAG(uiCode, "slice_sao_chroma_flag");  rpcSlice->setSaoEnabledFlagChroma((Bool)uiCode);
+#endif
     }
 
@@ -2574,5 +2662,12 @@
     }
 #if H_3D_IC
+#if H_3D_ANNEX_SELECTION_FIX
+    else if(    rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) 
+             && !rpcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 
+             && getDecTop()->decProcAnnexI()
+           )
+#else
     else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 )
+#endif
     {
       UInt uiCodeTmp = 0;
@@ -2671,4 +2766,23 @@
     rpcSlice->setLFCrossSliceBoundaryFlag( (uiCode==1)?true:false);
 
+#if HHI_CAM_PARA_K0052
+#if H_3D
+    if ( getDecTop()->decProcAnnexI() )
+    {
+      Int voiInVps = vps->getVoiInVps( rpcSlice->getViewIndex() ); 
+      if( vps->getCpInSliceSegmentHeaderFlag( voiInVps ) && !rpcSlice->getIsDepth() )
+      {
+        for( Int m = 0; m < vps->getNumCp( voiInVps ); m++ )
+        {
+          Int jInVps = vps->getVoiInVps( vps->getCpRefVoi( voiInVps, m ));
+          READ_SVLC( iCode, "cp_scale" );                rpcSlice->setCpScale   ( jInVps, iCode );
+          READ_SVLC( iCode, "cp_off" );                  rpcSlice->setCpOff     ( jInVps, iCode );
+          READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); rpcSlice->setCpInvScale( jInVps, iCode - rpcSlice->getCpScale   ( jInVps ));
+          READ_SVLC( iCode, "cp_inv_off_plus_off" );     rpcSlice->setCpInvOff  ( jInVps, iCode - rpcSlice->getCpOff     ( jInVps ));
+        }
+      }
+    }
+#endif
+#endif
   }
   
@@ -2694,4 +2808,5 @@
   }
 
+#if !HHI_CAM_PARA_K0052
 #if H_3D
 #if H_3D_FCO
@@ -2711,4 +2826,5 @@
     rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
   }
+#endif
 #endif
 
@@ -2984,4 +3100,11 @@
   assert(0);
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TDecCavlc::parseDIS( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
+{
+  assert(0);
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TDecCavlc::parseSingleDepthMode( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
@@ -2990,4 +3113,6 @@
 }
 #endif
+#endif
+
 Void TDecCavlc::parseCUTransquantBypassFlag( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
 {
@@ -3145,10 +3270,14 @@
 {
   wpScalingParam  *wp;
+#if H_3D_DISABLE_CHROMA
+  Bool            bChroma     = ( pcSlice->getSPS()->getChromaFormatIdc() != 0 ); 
+#else
   Bool            bChroma     = true; // color always present in HEVC ?
+#endif
   SliceType       eSliceType  = pcSlice->getSliceType();
   Int             iNbRef       = (eSliceType == B_SLICE ) ? (2) : (1);
   UInt            uiLog2WeightDenomLuma, uiLog2WeightDenomChroma;
   UInt            uiTotalSignalledWeightFlags = 0;
-  
+
   Int iDeltaDenom;
   // decode delta_luma_log2_weight_denom :
@@ -3162,4 +3291,10 @@
     uiLog2WeightDenomChroma = (UInt)(iDeltaDenom + uiLog2WeightDenomLuma);
   }
+  else
+  { 
+    // For some reasons this is also needed to fix a compiler warning when H_3D_DISABLE_CHROMA is equal to 0.
+    uiLog2WeightDenomChroma = 0; 
+  }
+
 
   for ( Int iNumRef=0 ; iNumRef<iNbRef ; iNumRef++ ) 
Index: /trunk/source/Lib/TLibDecoder/TDecCAVLC.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecCAVLC.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecCAVLC.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -52,4 +52,7 @@
 // Class definition
 // ====================================================================================================================
+#if H_3D_ANNEX_SELECTION_FIX
+class TDecTop;
+#endif
 
 /// CAVLC decoder class
@@ -63,8 +66,15 @@
   void  parseShortTermRefPicSet            (TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Int idx);
   
+
+#if !HHI_CAM_PARA_K0052
 #if H_3D
   Int**    m_aaiTempScale;
   Int**    m_aaiTempOffset;
 #endif
+#endif
+#if H_3D_ANNEX_SELECTION_FIX
+  TDecTop*  m_decTop;
+#endif
+
 
 public:
@@ -108,5 +118,7 @@
   Void  parsePPS            ( TComPPS* pcPPS);
 #endif
-
+#if H_3D_ANNEX_SELECTION_FIX
+  Void  setDecTop           ( TDecTop* decTop ) { m_decTop = decTop; }; 
+#endif
   Void  parseVUI            ( TComVUI* pcVUI, TComSPS* pcSPS );
   Void  parseSEI            ( SEIMessages& );
@@ -124,7 +136,11 @@
   
   Void  parseSkipFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void  parseDIS            ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#else
 #if H_3D_SINGLE_DEPTH
   Void  parseSingleDepthMode        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
-#endif  
+#endif
+#endif
   Void  parseCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
   Void parseMergeFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
@@ -166,4 +182,9 @@
   Void  parseScalingList               ( TComScalingList* scalingList );
   Void xDecodeScalingList    ( TComScalingList *scalingList, UInt sizeId, UInt listId);
+
+#if H_3D_ANNEX_SELECTION_FIX
+  TDecTop*  getDecTop()      { return m_decTop; };
+#endif
+
 protected:
   Bool  xMoreRbspData();
Index: /trunk/source/Lib/TLibDecoder/TDecCu.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecCu.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecCu.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -290,4 +290,15 @@
 #if H_MV_ENC_DEC_TRAC
   DTRACE_CU_S("=========== coding_unit ===========\n")
+#if H_MV_ENC_DEC_TRAC
+#if ENC_DEC_TRACE
+    stopAtPos  ( pcCU->getSlice()->getPOC(), 
+    pcCU->getSlice()->getLayerId(), 
+    uiLPelX,
+    uiTPelY,
+    uiRPelX-uiLPelX+1, 
+    uiBPelY-uiTPelY+1);
+#endif
+#endif
+
 #endif
 
@@ -299,5 +310,7 @@
 #if H_3D_NBDV 
   DisInfo DvInfo; 
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   DvInfo.bDV = false;
+#endif
   DvInfo.m_acNBDV.setZero();
   DvInfo.m_aVIdxCan = 0;
@@ -334,5 +347,9 @@
       if( pcCU->getSlice()->getIsDepth())
       {
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+        m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo);
+#else
         DvInfo.bDV = m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo);
+#endif
       }
       else
@@ -342,10 +359,18 @@
       if( pcCU->getSlice()->getDepthBasedBlkPartFlag() )  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
       {
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+        m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true);
+#else
         DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true);
+#endif
       }
       else
 #endif
       {
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+        m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
+#else
         DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
+#endif
       }
 #if H_3D_IV_MERGE
@@ -520,4 +545,9 @@
     return;
   }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_pcEntropyDecoder->decodeDIS( pcCU, uiAbsPartIdx, uiDepth );
+  if(!pcCU->getDISFlag(uiAbsPartIdx))
+  {
+#else
 #if H_3D_SINGLE_DEPTH
   m_pcEntropyDecoder->decodeSingleDepthMode( pcCU, uiAbsPartIdx, uiDepth );
@@ -525,10 +555,13 @@
   {
 #endif
+#endif
   m_pcEntropyDecoder->decodePredMode( pcCU, uiAbsPartIdx, uiDepth );
   m_pcEntropyDecoder->decodePartSize( pcCU, uiAbsPartIdx, uiDepth );
 
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
   m_pcEntropyDecoder->decodeSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
 #endif
+#endif
   if (pcCU->isIntra( uiAbsPartIdx ) && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N )
   {
@@ -537,4 +570,9 @@
     if(pcCU->getIPCMFlag(uiAbsPartIdx))
     {
+#if HHI_MOVE_SYN_K0052
+#if H_3D_DIM_SDC
+      m_pcEntropyDecoder->decodeSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
+#endif
+#endif
       xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
 #if H_3D_IV_MERGE
@@ -550,10 +588,15 @@
   // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
   m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
+
   // Coefficient decoding
   Bool bCodeDQP = getdQPFlag();
   m_pcEntropyDecoder->decodeCoeff( pcCU, uiAbsPartIdx, uiDepth, uiCurrWidth, uiCurrHeight, bCodeDQP );
   setdQPFlag( bCodeDQP );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  }
+#else
 #if H_3D_SINGLE_DEPTH
   }
+#endif
 #endif
   xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
@@ -616,15 +659,4 @@
   
   m_ppcCU[uiDepth]->copySubCU( pcCU, uiAbsPartIdx, uiDepth );
-  
-#if H_MV_ENC_DEC_TRAC
-#if ENC_DEC_TRACE
-  stopAtPos  ( m_ppcCU[uiDepth]->getSlice()->getPOC(), 
-    m_ppcCU[uiDepth]->getSlice()->getLayerId(), 
-    m_ppcCU[uiDepth]->getCUPelX(),
-    m_ppcCU[uiDepth]->getCUPelY(),
-    m_ppcCU[uiDepth]->getWidth(0), 
-    m_ppcCU[uiDepth]->getHeight(0) );
-#endif
-#endif
 
   switch( m_ppcCU[uiDepth]->getPredictionMode(0) )
@@ -656,4 +688,17 @@
       break;
     case MODE_INTRA:
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      if( m_ppcCU[uiDepth]->getDISFlag(0) )
+      {
+        xReconDIS( m_ppcCU[uiDepth], 0, uiDepth );
+      }
+#if H_3D_DIM_SDC
+      else if( m_ppcCU[uiDepth]->getSDCFlag(0) )
+      {
+        xReconIntraSDC( m_ppcCU[uiDepth], 0, uiDepth );
+      }
+#endif
+      else
+#else
 #if H_3D_SINGLE_DEPTH
       if( m_ppcCU[uiDepth]->getSingleDepthFlag(0) )
@@ -671,4 +716,5 @@
 #endif
 #endif
+#endif
       xReconIntraQT( m_ppcCU[uiDepth], uiDepth );
       break;
@@ -704,4 +750,83 @@
   }
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TDecCu::xReconDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
+{
+  UInt uiWidth        = pcCU->getWidth  ( 0 );
+  UInt uiHeight       = pcCU->getHeight ( 0 );
+
+  TComYuv* pcRecoYuv  = m_ppcYuvReco[uiDepth];
+
+  UInt    uiStride    = pcRecoYuv->getStride  ();
+  Pel*    piReco      = pcRecoYuv->getLumaAddr( uiAbsPartIdx );
+
+
+  AOF( uiWidth == uiHeight );
+  AOF( uiAbsPartIdx == 0 );
+
+  Bool  bAboveAvail = false;
+  Bool  bLeftAvail  = false;
+  pcCU->getPattern()->initPattern   ( pcCU, 0, uiAbsPartIdx );
+  pcCU->getPattern()->initAdiPattern( pcCU, uiAbsPartIdx, 0, 
+    m_pcPrediction->getPredicBuf       (),
+    m_pcPrediction->getPredicBufWidth  (),
+    m_pcPrediction->getPredicBufHeight (),
+    bAboveAvail, bLeftAvail
+    );
+
+  if ( pcCU->getDISType(uiAbsPartIdx) == 0 )
+  {
+    m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), VER_IDX, piReco, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
+  }
+  else if ( pcCU->getDISType(uiAbsPartIdx) == 1 )
+  {
+    m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), HOR_IDX, piReco, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
+  }
+  else if ( pcCU->getDISType(uiAbsPartIdx) == 2 )
+  {
+    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
+    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 0 );
+    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
+    {
+      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
+      {
+        piReco[ uiX ] = pSingleDepth;
+      }
+      piReco+= uiStride;
+    }
+  }
+  else if ( pcCU->getDISType(uiAbsPartIdx) == 3 )
+  {
+    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
+    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 1 );
+    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
+    {
+      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
+      {
+        piReco[ uiX ] = pSingleDepth;
+      }
+      piReco+= uiStride;
+    }
+  }
+
+  // clear UV
+  UInt  uiStrideC     = pcRecoYuv->getCStride();
+  Pel   *pRecCb       = pcRecoYuv->getCbAddr();
+  Pel   *pRecCr       = pcRecoYuv->getCrAddr();
+
+  for (Int y=0; y<uiHeight/2; y++)
+  {
+    for (Int x=0; x<uiWidth/2; x++)
+    {
+      pRecCb[x] = 1<<(g_bitDepthC-1);
+      pRecCr[x] = 1<<(g_bitDepthC-1);
+    }
+
+    pRecCb += uiStrideC;
+    pRecCr += uiStrideC;
+  }
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TDecCu::xReconIntraSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
@@ -772,4 +897,6 @@
 }
 #endif
+#endif
+
 #if H_3D_INTER_SDC
 Void TDecCu::xReconInterSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
@@ -835,5 +962,9 @@
   // compute mask by segmenting depth block
   Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE];
+#if HS_DBBP_CLEAN_K0048
+  Bool bValidMask = m_pcPrediction->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, pcCU->getWidth(0), pcCU->getHeight(0), pMask, pcCU);
+#else
   Bool bValidMask = m_pcPrediction->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, pcCU->getWidth(0), pcCU->getHeight(0), pMask);
+#endif
   AOF(bValidMask);
   
Index: /trunk/source/Lib/TLibDecoder/TDecCu.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecCu.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecCu.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -123,6 +123,10 @@
   Void setdQPFlag               ( Bool b )                { m_bDecodeDQP = b;           }
   Void xFillPCMBuffer           (TComDataCU* pCU, UInt depth);
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void xReconDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#else
 #if H_3D_SINGLE_DEPTH
   Void xReconIntraSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#endif
 #endif
 #if H_3D_DIM_SDC
Index: /trunk/source/Lib/TLibDecoder/TDecEntropy.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -52,4 +52,16 @@
   m_pcEntropyDecoderIf->parseSkipFlag( pcCU, uiAbsPartIdx, uiDepth );
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TDecEntropy::decodeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
+{
+  if( !pcCU->getSlice()->getDepthIntraSkipFlag() )
+  {
+    return;
+  }  
+
+  m_pcEntropyDecoderIf->parseDIS( pcCU, uiAbsPartIdx, uiDepth );
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TDecEntropy::decodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
@@ -63,4 +75,6 @@
 }
 #endif
+#endif
+
 Void TDecEntropy::decodeCUTransquantBypassFlag(TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
@@ -147,5 +161,5 @@
 {
   m_pcEntropyDecoderIf->parsePartSize( pcCU, uiAbsPartIdx, uiDepth );
-  
+#if !HHI_MOVE_SYN_K0052  
 #if H_3D_DBBP
 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
@@ -154,4 +168,5 @@
   }
 #endif
+#endif
 }
 
@@ -161,6 +176,17 @@
   {
     decodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx, uiDepth );
+#if HHI_MOVE_SYN_K0052
+    decodeSDCFlag   ( pcCU, uiAbsPartIdx, uiDepth );    
+#endif
 #if H_3D_DIM_SDC
+#if H_3D_DISABLE_CHROMA
+#if !HHI_MOVE_SYN_K0052
+    if(!pcCU->getSDCFlag(uiAbsPartIdx) && !pcCU->getSlice()->getIsDepth() )
+#else
+    if(!pcCU->getSDCFlag(uiAbsPartIdx) && pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0  )
+#endif
+#else
     if(!pcCU->getSDCFlag(uiAbsPartIdx))
+#endif
 #endif
     decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth );
@@ -239,4 +265,5 @@
   pcSubCU->copyDVInfoFrom( pcCU, uiAbsPartIdx);
 #endif
+#if HHI_MOVE_SYN_K0052
   for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
   {
@@ -247,15 +274,43 @@
     //DTRACE_PU("x1", uiTPelY)
 #endif
+
+    ////// Parse PUs syntax
     decodeMergeFlag( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
     if ( pcCU->getMergeFlag( uiSubPartIdx ) )
     {
-      decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth );
+      decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth );      
+    }
+    else
+    {
+      decodeInterDirPU( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
+      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
+      {        
+        if ( pcCU->getSlice()->getNumRefIdx( RefPicList( uiRefListIdx ) ) > 0 )
+        {
+          decodeRefFrmIdxPU( pcCU,    uiSubPartIdx,              uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
+          decodeMvdPU      ( pcCU,    uiSubPartIdx,              uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
+          decodeMVPIdxPU   ( pcSubCU, uiSubPartIdx-uiAbsPartIdx, uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
+        }
+      }
+    }
+  }
+
+  ////// Parse CUs extension syntax
+  decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth ); 
+  decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth ); 
+
+#if H_3D_ARP
+  decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
+#endif
+#if H_3D_IC
+  decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
+#endif
+
+  ////// Decode motion vectors
+  for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
+  {
+    if ( pcCU->getMergeFlag( uiSubPartIdx ) )
+    {
       UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
-#if H_3D_ARP
-      decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
-#endif
-#if H_3D_IC
-      decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
-#endif
 #if H_3D_DBBP
       if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(uiAbsPartIdx) == false )
@@ -390,4 +445,172 @@
     else
     {
+      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
+      {        
+        if ( pcCU->getSlice()->getNumRefIdx( RefPicList( uiRefListIdx ) ) > 0 )
+        {
+          decodeMvsAMVP   ( pcSubCU, uiSubPartIdx-uiAbsPartIdx, uiDepth, uiPartIdx, RefPicList( uiRefListIdx ) );
+        }
+      }
+    }
+
+    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) )
+    {
+      pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMv( TComMv(0,0), ePartSize, uiSubPartIdx, uiDepth, uiPartIdx);
+      pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllRefIdx( -1, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx);
+      pcCU->setInterDirSubParts( 1, uiSubPartIdx, uiPartIdx, uiDepth);
+    }
+  }
+#else
+  for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
+  {
+#if H_MV_ENC_DEC_TRAC
+    DTRACE_PU_S("=========== prediction_unit ===========\n")
+    // ToDo: 
+    //DTRACE_PU("x0", uiLPelX)
+    //DTRACE_PU("x1", uiTPelY)
+#endif
+    decodeMergeFlag( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
+    if ( pcCU->getMergeFlag( uiSubPartIdx ) )
+    {
+      decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth );
+      UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
+#if H_3D_ARP
+      decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
+#endif
+#if H_3D_IC
+      decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
+#endif
+#if H_3D_DBBP
+      if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(uiAbsPartIdx) == false )
+#else
+      if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 ) 
+#endif
+      {
+        pcSubCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );
+        if ( !isMerged )
+        {
+#if H_3D_VSP
+          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
+          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if H_3D_SPIVMP
+          memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
+#endif
+          pcSubCU->initAvailableFlags();
+          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
+          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
+#if H_3D_SPIVMP
+            , pcMvFieldSP, puhInterDirSP
+#endif
+            , numValidMergeCand );
+          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
+#if H_3D_SPIVMP
+            , bSPIVMPFlag
+#endif
+            , numValidMergeCand );
+          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
+
+#else
+#if H_3D
+          pcSubCU->initAvailableFlags();
+          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
+          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
+
+#else
+          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
+#endif
+#endif
+          isMerged = true;
+        }
+        pcSubCU->setPartSizeSubParts( ePartSize, 0, uiDepth );
+      }
+      else
+      {
+        uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
+#if H_3D_VSP
+        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
+        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if H_3D_SPIVMP
+        memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
+#endif
+        pcSubCU->initAvailableFlags();
+        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
+        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
+#if H_3D_SPIVMP
+          , pcMvFieldSP, puhInterDirSP
+#endif
+          ,numValidMergeCand, uiMergeIndex );
+        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
+#if H_3D_SPIVMP
+          , bSPIVMPFlag
+#endif
+          ,numValidMergeCand );
+        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
+#else
+#if H_3D
+        pcSubCU->initAvailableFlags();
+        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
+        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
+#else
+        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
+#endif
+#endif
+      }
+      pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
+
+      TComMv cTmpMv( 0, 0 );
+      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
+      {        
+        if ( pcCU->getSlice()->getNumRefIdx( RefPicList( uiRefListIdx ) ) > 0 )
+        {
+          pcCU->setMVPIdxSubParts( 0, RefPicList( uiRefListIdx ), uiSubPartIdx, uiPartIdx, uiDepth);
+          pcCU->setMVPNumSubParts( 0, RefPicList( uiRefListIdx ), uiSubPartIdx, uiPartIdx, uiDepth);
+          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
+          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
+#if H_3D_VSP
+#if H_3D_DBBP
+          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 && !pcCU->getDBBPFlag( uiAbsPartIdx ) )
+#else
+          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 )
+#endif
+          {
+            if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
+            {
+              UInt dummy;
+              Int vspSize;
+              Int width, height;
+              pcCU->getPartIndexAndSize( uiPartIdx, dummy, width, height, uiSubPartIdx, pcCU->getTotalNumPart()==256 );
+              pcCU->setMvFieldPUForVSP( pcCU, uiSubPartIdx, width, height, RefPicList( uiRefListIdx ), cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ].getRefIdx(), vspSize );
+              pcCU->setVSPFlag( uiSubPartIdx, vspSize );
+            }
+          }
+#endif
+        }
+      }
+#if H_3D_SPIVMP
+      pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );  
+      if (bSPIVMPFlag[uiMergeIndex] != 0)
+      {
+        Int iWidth, iHeight;
+        UInt uiIdx;
+        pcCU->getPartIndexAndSize( uiPartIdx, uiIdx, iWidth, iHeight, uiSubPartIdx, true );
+
+        UInt uiSPAddr;
+
+        Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight;
+
+        pcCU->getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight);
+
+        for (Int iPartitionIdx = 0; iPartitionIdx < iNumSP; iPartitionIdx++)
+        {
+          pcCU->getSPAbsPartIdx(uiSubPartIdx, iSPWidth, iSPHeight, iPartitionIdx, iNumSPInOneLine, uiSPAddr);
+          pcCU->setInterDirSP(puhInterDirSP[iPartitionIdx], uiSPAddr, iSPWidth, iSPHeight);
+          pcCU->getCUMvField( REF_PIC_LIST_0 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx], iSPWidth, iSPHeight);
+          pcCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight);
+        }
+      }
+#endif
+    }
+    else
+    {
       decodeInterDirPU( pcCU, uiSubPartIdx, uiDepth, uiPartIdx );
       for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
@@ -414,4 +637,5 @@
     }
   }
+#endif
 #if H_3D_SPIVMP
   delete[] pcMvFieldSP;
@@ -482,17 +706,8 @@
 }
 
+#if HHI_MOVE_SYN_K0052
 Void TDecEntropy::decodeMVPIdxPU( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
 {
   Int iMVPIdx = -1;
-
-  TComMv cZeroMv( 0, 0 );
-  TComMv cMv     = cZeroMv;
-  Int    iRefIdx = -1;
-
-  TComCUMvField* pcSubCUMvField = pcSubCU->getCUMvField( eRefList );
-  AMVPInfo* pAMVPInfo = pcSubCUMvField->getAMVPInfo();
-
-  iRefIdx = pcSubCUMvField->getRefIdx(uiPartAddr);
-  cMv = cZeroMv;
 
   if ( (pcSubCU->getInterDir(uiPartAddr) & ( 1 << eRefList )) )
@@ -512,4 +727,62 @@
 #endif
   }
+  pcSubCU->setMVPIdxSubParts( iMVPIdx, eRefList, uiPartAddr, uiPartIdx, uiDepth );
+}
+
+Void TDecEntropy::decodeMvsAMVP( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
+{
+  TComMv cZeroMv( 0, 0 );
+  TComMv cMv     = cZeroMv;
+  Int    iRefIdx = -1;
+
+  TComCUMvField* pcSubCUMvField = pcSubCU->getCUMvField( eRefList );
+  AMVPInfo* pAMVPInfo = pcSubCUMvField->getAMVPInfo();
+
+  iRefIdx = pcSubCUMvField->getRefIdx(uiPartAddr);
+  cMv = cZeroMv;
+
+  pcSubCU->fillMvpCand(uiPartIdx, uiPartAddr, eRefList, iRefIdx, pAMVPInfo);
+  pcSubCU->setMVPNumSubParts(pAMVPInfo->iN, eRefList, uiPartAddr, uiPartIdx, uiDepth);
+  if ( iRefIdx >= 0 )
+  {
+    m_pcPrediction->getMvPredAMVP( pcSubCU, uiPartIdx, uiPartAddr, eRefList, cMv);
+    cMv += pcSubCUMvField->getMvd( uiPartAddr );
+  }
+
+  PartSize ePartSize = pcSubCU->getPartitionSize( uiPartAddr );
+  pcSubCU->getCUMvField( eRefList )->setAllMv(cMv, ePartSize, uiPartAddr, 0, uiPartIdx);
+}
+
+#else
+Void TDecEntropy::decodeMVPIdxPU( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
+{
+  Int iMVPIdx = -1;
+
+  TComMv cZeroMv( 0, 0 );
+  TComMv cMv     = cZeroMv;
+  Int    iRefIdx = -1;
+
+  TComCUMvField* pcSubCUMvField = pcSubCU->getCUMvField( eRefList );
+  AMVPInfo* pAMVPInfo = pcSubCUMvField->getAMVPInfo();
+
+  iRefIdx = pcSubCUMvField->getRefIdx(uiPartAddr);
+  cMv = cZeroMv;
+
+  if ( (pcSubCU->getInterDir(uiPartAddr) & ( 1 << eRefList )) )
+  {
+    m_pcEntropyDecoderIf->parseMVPIdx( iMVPIdx );
+#if H_MV_ENC_DEC_TRAC
+#if ENC_DEC_TRACE
+    if ( eRefList == REF_PIC_LIST_0 )
+    {
+      DTRACE_PU("mvp_l0_flag", iMVPIdx)
+    }
+    else
+    {
+      DTRACE_PU("mvp_l1_flag", iMVPIdx)
+    }
+#endif
+#endif
+  }
   pcSubCU->fillMvpCand(uiPartIdx, uiPartAddr, eRefList, iRefIdx, pAMVPInfo);
   pcSubCU->setMVPNumSubParts(pAMVPInfo->iN, eRefList, uiPartAddr, uiPartIdx, uiDepth);
@@ -524,7 +797,21 @@
   pcSubCU->getCUMvField( eRefList )->setAllMv(cMv, ePartSize, uiPartAddr, 0, uiPartIdx);
 }
-
+#endif
 Void TDecEntropy::xDecodeTransform( TComDataCU* pcCU, UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP, Int quadtreeTULog2MinSizeInCU)
 {
+
+#if H_MV_ENC_DEC_TRAC
+#if ENC_DEC_TRACE
+  UInt uiLPelX   = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ];
+  UInt uiTPelY   = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ];
+  
+  DTRACE_TU_S("=========== transform_tree ===========\n")
+  DTRACE_TU("x0", uiLPelX)
+  DTRACE_TU("x1", uiTPelY)
+  DTRACE_TU("log2TrafoSize", g_uiMaxCUWidth>>uiDepth)
+  DTRACE_TU("trafoDepth"  , uiDepth)
+#endif
+#endif
+
   UInt uiSubdiv;
   const UInt uiLog2TrafoSize = g_aucConvertToBit[pcCU->getSlice()->getSPS()->getMaxCUWidth()]+2 - uiDepth;
@@ -579,4 +866,7 @@
     if( bFirstCbfOfCU || uiLog2TrafoSize > 2 )
     {
+#if H_3D_DISABLE_CHROMA
+      if (pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )      
+      {
       if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth - 1 ) )
       {
@@ -587,4 +877,26 @@
         m_pcEntropyDecoderIf->parseQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth, uiDepth );
       }
+    }
+    else
+    {
+        if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth - 1 ) )
+        {
+          pcCU->setCbfSubParts( 0, TEXT_CHROMA_U, uiAbsPartIdx, uiTrDepth - 1 );
+        }
+        if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth - 1 ) )
+        {
+          pcCU->setCbfSubParts( 0, TEXT_CHROMA_V, uiAbsPartIdx, uiTrDepth - 1 );
+        }
+      }
+#else
+      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth - 1 ) )
+      {
+        m_pcEntropyDecoderIf->parseQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepth, uiDepth );
+      }
+      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth - 1 ) )
+      {
+        m_pcEntropyDecoderIf->parseQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepth, uiDepth );
+      }
+#endif
     }
     else
@@ -748,6 +1060,14 @@
     assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
+#if H_3D_DISABLE_CHROMA
+    if (pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
+    {
+      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
+      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
+    }
+#else
     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
+#endif
   }
 
@@ -811,4 +1131,11 @@
 {
   pcCU->setSDCFlagSubParts( false, uiAbsPartIdx, uiDepth );
+#if HHI_MOVE_SYN_K0052
+  if ( pcCU->isSkipped( uiAbsPartIdx ) )
+  {
+    return; 
+  }
+#endif
+
 
   if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) || 
@@ -830,5 +1157,12 @@
 Void TDecEntropy::decodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
-  m_pcEntropyDecoderIf->parseDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );
+#if HHI_MOVE_SYN_K0052
+  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
+  {
+#endif
+    m_pcEntropyDecoderIf->parseDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );
+#if HHI_MOVE_SYN_K0052
+  }
+#endif
 }
 #endif
Index: /trunk/source/Lib/TLibDecoder/TDecEntropy.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecEntropy.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecEntropy.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -85,6 +85,10 @@
 public:
   virtual Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  virtual Void parseDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
+#else
 #if H_3D_SINGLE_DEPTH
   virtual Void parseSingleDepthMode       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
+#endif
 #endif
   virtual Void parseCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
@@ -148,5 +152,7 @@
   Void decodeMvdPU        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
   Void decodeMVPIdxPU     ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
-  
+#if HHI_MOVE_SYN_K0052
+  Void decodeMvsAMVP       ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
+#endif  
   Void    setEntropyDecoder           ( TDecEntropyIf* p );
   Void    setBitstream                ( TComInputBitstream* p ) { m_pcEntropyDecoderIf->setBitstream(p);                    }
@@ -171,6 +177,10 @@
   Void decodeSplitFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
   Void decodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void decodeDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) ;
+#else
 #if H_3D_SINGLE_DEPTH
   Void decodeSingleDepthMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) ;
+#endif
 #endif
   Void decodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
Index: /trunk/source/Lib/TLibDecoder/TDecGop.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecGop.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecGop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -92,5 +92,5 @@
   m_pcSliceDecoder        = pcSliceDecoder;
   m_pcLoopFilter          = pcLoopFilter;
-  m_pcSAO  = pcSAO;
+  m_pcSAO  = pcSAO;  
 }
 
Index: /trunk/source/Lib/TLibDecoder/TDecGop.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecGop.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecGop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -56,4 +56,5 @@
 #include "TDecBinCoderCABAC.h"
 
+
 //! \ingroup TLibDecoder
 //! \{
@@ -62,4 +63,8 @@
 // Class definition
 // ====================================================================================================================
+#if H_3D_ANNEX_SELECTION_FIX
+class TDecTop; 
+#endif
+
 
 /// GOP decoder class
@@ -78,4 +83,7 @@
   TDecSlice*            m_pcSliceDecoder;
   TComLoopFilter*       m_pcLoopFilter;
+#if H_3D_ANNEX_SELECTION_FIX
+  TDecTop*              m_decTop; 
+#endif
   
   TComSampleAdaptiveOffset*     m_pcSAO;
Index: /trunk/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -52,7 +52,12 @@
 , m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
 , m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+, m_cCUDISFlagSCModel         ( 1,             1,               NUM_DIS_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
+, m_cCUDISTypeSCModel         ( 1,             1,               NUM_DIS_TYPE_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
+#else
 #if H_3D_SINGLE_DEPTH
 , m_cCUSingleDepthFlagSCModel        ( 1,             1,               NUM_SINGLEDEPTH_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
 , m_cSingleDepthValueSCModel         ( 1,             1,               NUM_SINGLE_DEPTH_VALUE_DATA_CTX      , m_contextModels + m_numContextModels, m_numContextModels)
+#endif
 #endif
 , m_cCUMergeFlagExtSCModel    ( 1,             1,               NUM_MERGE_FLAG_EXT_CTX        , m_contextModels + m_numContextModels, m_numContextModels)
@@ -136,7 +141,12 @@
   m_cCUSplitFlagSCModel.initBuffer       ( sliceType, qp, (UChar*)INIT_SPLIT_FLAG );
   m_cCUSkipFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SKIP_FLAG );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_cCUDISFlagSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_DIS_FLAG );
+  m_cCUDISTypeSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_DIS_TYPE );
+#else
 #if H_3D_SINGLE_DEPTH
   m_cCUSingleDepthFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SINGLEDEPTH_FLAG );
   m_cSingleDepthValueSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
+#endif
 #endif
   m_cCUMergeFlagExtSCModel.initBuffer    ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT );
@@ -207,7 +217,12 @@
   m_cCUSplitFlagSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SPLIT_FLAG );
   m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
+  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
+#else
 #if H_3D_SINGLE_DEPTH
   m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
   m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
+#endif
 #endif
   m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT );
@@ -486,4 +501,9 @@
     }
 
+
+#if H_3D_DISABLE_CHROMA
+    if( pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
+    {    
+#endif
     piPCMSample = pcCU->getPCMSampleCb() + uiChromaOffset;
     uiWidth = pcCU->getWidth(uiAbsPartIdx)/2;
@@ -517,4 +537,8 @@
       piPCMSample += uiWidth;
     }
+#if H_3D_DISABLE_CHROMA
+    }
+#endif
+
 
     m_pcTDecBinIf->start();
@@ -570,4 +594,50 @@
 #endif
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TDecSbac::parseDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
+{
+  pcCU->setDISFlagSubParts( false,        uiAbsPartIdx, uiDepth );
+  UInt uiSymbol = 0;
+  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUDISFlagSCModel.get( 0, 0, 0 ) );
+  if( uiSymbol )
+  {
+    pcCU->setDISFlagSubParts( true,        uiAbsPartIdx, uiDepth );
+    pcCU->setSkipFlagSubParts( false,        uiAbsPartIdx, uiDepth );
+    pcCU->setSDCFlagSubParts( false,        uiAbsPartIdx, uiDepth );
+    pcCU->setPredModeSubParts( MODE_INTRA,  uiAbsPartIdx, uiDepth );
+    pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
+    pcCU->setLumaIntraDirSubParts (DC_IDX, uiAbsPartIdx, uiDepth );
+    pcCU->setSizeSubParts( g_uiMaxCUWidth>>uiDepth, g_uiMaxCUHeight>>uiDepth, uiAbsPartIdx, uiDepth );
+    pcCU->setMergeFlagSubParts( false , uiAbsPartIdx, 0, uiDepth );
+    pcCU->setTrIdxSubParts(0, uiAbsPartIdx, uiDepth);
+    pcCU->setCbfSubParts(0, 1, 1, uiAbsPartIdx, uiDepth);
+
+    UInt uiUnaryIdx = 0;
+    UInt uiNumCand  = 4;
+
+    if ( uiNumCand > 1 )
+    {
+      for( ; uiUnaryIdx < uiNumCand - 1; ++uiUnaryIdx )
+      {
+        UInt uiSymbol2 = 0;
+        if ( uiUnaryIdx==0 )
+        {
+          m_pcTDecBinIf->decodeBin( uiSymbol2, m_cCUDISTypeSCModel.get( 0, 0, 0 ) );
+        }
+        else
+        {
+          m_pcTDecBinIf->decodeBinEP( uiSymbol2);
+        }
+        if( uiSymbol2 == 0 )
+        {
+          break;
+        }
+      }
+    }
+    pcCU->setDISTypeSubParts(uiUnaryIdx, uiAbsPartIdx, 0, uiDepth);
+  }
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TDecSbac::parseSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
@@ -616,6 +686,7 @@
   }
 }
-
-#endif
+#endif
+#endif
+
 /** parse merge flag
  * \param pcCU
@@ -1304,4 +1375,6 @@
   DTRACE_CABAC_V( uiLog2TransformBlockSize )
   DTRACE_CABAC_T( "\n" )
+#else
+  DTRACE_TU("split_transform_flag", ruiSubdivFlag )
 #endif
 }
@@ -1382,4 +1455,17 @@
   DTRACE_CABAC_V( uiAbsPartIdx )
   DTRACE_CABAC_T( "\n" )
+#else
+  if ( eType == TEXT_CHROMA_U )
+  {
+    DTRACE_TU("cbf_cb", uiSymbol )
+  }
+  else if ( eType == TEXT_CHROMA_V )
+  {
+    DTRACE_TU("cbf_cr", uiSymbol )
+  }
+  else
+  {
+    DTRACE_TU("cbf_luma", uiSymbol )
+  }
 #endif
   
@@ -2105,5 +2191,5 @@
 
   m_pcTDecBinIf->decodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, uiCtxSDCFlag ) );
-
+  DTRACE_CU("dc_only_flag", uiSymbol)
   if( uiSymbol )
   {
@@ -2129,5 +2215,5 @@
   
   m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) );
-  
+  DTRACE_CU("dbbp_flag", uiSymbol)
   PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
   AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
Index: /trunk/source/Lib/TLibDecoder/TDecSbac.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecSbac.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecSbac.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -125,7 +125,11 @@
   
   Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void parseDIS          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#else
 #if H_3D_SINGLE_DEPTH  
   Void parseSingleDepthMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
-#endif  
+#endif
+#endif
   Void parseCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
   Void parseSplitFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
@@ -178,7 +182,12 @@
   ContextModel3DBuffer m_cCUSplitFlagSCModel;
   ContextModel3DBuffer m_cCUSkipFlagSCModel;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  ContextModel3DBuffer m_cCUDISFlagSCModel;
+  ContextModel3DBuffer m_cCUDISTypeSCModel;
+#else
 #if H_3D_SINGLE_DEPTH
   ContextModel3DBuffer m_cCUSingleDepthFlagSCModel;
   ContextModel3DBuffer m_cSingleDepthValueSCModel;
+#endif
 #endif
   ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
Index: /trunk/source/Lib/TLibDecoder/TDecSlice.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecSlice.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecSlice.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/TDecSlice.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecSlice.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecSlice.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibDecoder/TDecTop.cpp
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecTop.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -76,5 +76,9 @@
   xDeleteArray( m_adBaseViewShiftLUT, MAX_NUM_LAYERS, MAX_NUM_LAYERS, 2 );
   xDeleteArray( m_aiBaseViewShiftLUT, MAX_NUM_LAYERS, MAX_NUM_LAYERS, 2 );
+#if HHI_CAM_PARA_K0052
+  xDeleteArray( m_receivedIdc, m_vps->getNumViews() );
+#else
   xDeleteArray( m_receivedIdc, m_uiMaxViewIndex + 1 );
+#endif
 }
 
@@ -91,4 +95,44 @@
   m_firstReceivedPoc        = -2; 
 
+#if HHI_CAM_PARA_K0052  
+  for (Int i = 0; i <= vps->getMaxLayersMinus1(); i++)
+  {
+    Int curViewIdxInVps = m_vps->getVoiInVps( m_vps->getViewIndex( m_vps->getLayerIdInNuh( i ) ) ) ; 
+    m_bCamParsVaryOverTime = m_bCamParsVaryOverTime || vps->getCpInSliceSegmentHeaderFlag( curViewIdxInVps );    
+  }
+
+  assert( m_receivedIdc == NULL ); 
+  m_receivedIdc = new Int*[ m_vps->getNumViews() ]; 
+  for (Int i = 0; i < m_vps->getNumViews(); i++)
+  {
+    m_receivedIdc[i] = new Int[ m_vps->getNumViews() ]; 
+  }
+
+  xResetReceivedIdc( true ); 
+
+  for (Int voiInVps = 0; voiInVps < m_vps->getNumViews(); voiInVps++ )
+  {
+    if( !m_vps->getCpInSliceSegmentHeaderFlag( voiInVps ) ) 
+    {
+      for (Int baseVoiInVps = 0; baseVoiInVps < m_vps->getNumViews(); baseVoiInVps++ )
+      { 
+        if( m_vps->getCpPresentFlag( voiInVps, baseVoiInVps ) )
+        {
+          m_receivedIdc   [ baseVoiInVps ][ voiInVps ] = -1; 
+          m_aaiCodedScale [ baseVoiInVps ][ voiInVps ] = m_vps->getCodedScale    (voiInVps) [ baseVoiInVps ];
+          m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ] = m_vps->getCodedOffset   (voiInVps) [ baseVoiInVps ];
+
+          m_receivedIdc   [ voiInVps ][ baseVoiInVps ] = -1; 
+          m_aaiCodedScale [ voiInVps ][ baseVoiInVps ] = m_vps->getInvCodedScale (voiInVps) [ baseVoiInVps ];
+          m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ] = m_vps->getInvCodedOffset(voiInVps) [ baseVoiInVps ];
+          xInitLUTs( baseVoiInVps, voiInVps, m_aaiCodedScale[ baseVoiInVps ][ voiInVps ], m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
+          xInitLUTs( voiInVps, baseVoiInVps, m_aaiCodedScale[ voiInVps ][ baseVoiInVps ], m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
+        }
+      }
+    }
+  }
+}
+
+#else
   m_uiMaxViewIndex            = -1; 
   for (Int i = 0; i <= vps->getMaxLayersMinus1(); i++)
@@ -98,5 +142,4 @@
     m_uiMaxViewIndex = std::max( m_uiMaxViewIndex, curViewIdx  ) ; 
   }
-
   assert( m_receivedIdc == NULL ); 
   m_receivedIdc = new Int*[ m_uiMaxViewIndex + 1]; 
@@ -131,11 +174,22 @@
 }
 
+#endif
+
+
+
 Void
 CamParsCollector::xResetReceivedIdc( Bool overWriteFlag )
 {
+#if HHI_CAM_PARA_K0052
+  for (Int i = 0; i < m_vps->getNumViews(); i++)
+  {  
+    for (Int j = 0; j < m_vps->getNumViews(); j++)
+    {
+#else
   for (Int i = 0; i <= m_uiMaxViewIndex; i++)
   {  
     for (Int j = 0; j <= m_uiMaxViewIndex; j++)
     {
+#endif
       if ( overWriteFlag ||  ( m_receivedIdc[i][j] != -1 ) )
       {
@@ -178,5 +232,9 @@
   CamParsCollector::xInitLUTs( UInt uiSourceView, UInt uiTargetView, Int iScale, Int iOffset, Double****& radLUT, Int****& raiLUT)
 {
+#if HHI_CAM_PARA_K0052
+  Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_vps->getCpPrecision() + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
+#else
   Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_vps->getCamParPrecision() + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
+#endif
   Int     iLog2DivChroma = iLog2DivLuma + 1;
 
@@ -255,4 +313,40 @@
   }
 
+#if HHI_CAM_PARA_K0052
+  UInt voiInVps          = m_vps->getVoiInVps(pcSlice->getViewIndex());  
+  if( m_vps->getCpInSliceSegmentHeaderFlag( voiInVps ) ) // check consistency of slice parameters here
+  {   
+    for( Int baseVoiInVps = 0; baseVoiInVps < m_vps->getNumViews(); baseVoiInVps++ )
+    {        
+      if ( m_vps->getCpPresentFlag( voiInVps, baseVoiInVps ) )
+      {
+        if ( m_receivedIdc[ voiInVps ][ baseVoiInVps ] != 0 )
+        {      
+          AOF( m_aaiCodedScale [ voiInVps ][ baseVoiInVps ] == pcSlice->getInvCodedScale () [ baseVoiInVps ] );
+          AOF( m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ] == pcSlice->getInvCodedOffset() [ baseVoiInVps ] );
+        }
+        else
+        {          
+          m_receivedIdc   [ voiInVps ][ baseVoiInVps ]  = 1; 
+          m_aaiCodedScale [ voiInVps ][ baseVoiInVps ]  = pcSlice->getInvCodedScale () [ baseVoiInVps ];
+          m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ]  = pcSlice->getInvCodedOffset() [ baseVoiInVps ];
+          xInitLUTs( voiInVps, baseVoiInVps, m_aaiCodedScale[ voiInVps ][ baseVoiInVps ], m_aaiCodedOffset[ voiInVps ][ baseVoiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT);
+        }
+        if ( m_receivedIdc[ baseVoiInVps ][ voiInVps ] != 0 )
+        {      
+          AOF( m_aaiCodedScale [ baseVoiInVps ][ voiInVps ] == pcSlice->getCodedScale    () [ baseVoiInVps ] );
+          AOF( m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ] == pcSlice->getCodedOffset   () [ baseVoiInVps ] );
+        }
+        else
+        {        
+          m_receivedIdc   [ baseVoiInVps ][ voiInVps ]  = 1; 
+          m_aaiCodedScale [ baseVoiInVps ][ voiInVps ]  = pcSlice->getCodedScale    () [ baseVoiInVps ];
+          m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ]  = pcSlice->getCodedOffset   () [ baseVoiInVps ];
+          xInitLUTs( baseVoiInVps, voiInVps, m_aaiCodedScale[ baseVoiInVps ][ voiInVps ], m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT);
+        }
+      }
+    }
+  }  
+#else
   UInt uiViewIndex          = pcSlice->getViewIndex();  
   if( m_vps->getCamParPresent( uiViewIndex ) )
@@ -289,4 +383,7 @@
     }
   }
+#endif
+
+
 }
 
@@ -311,4 +408,33 @@
     if( iPOC == m_firstReceivedPoc )
     {
+#if HHI_CAM_PARA_K0052
+      fprintf( m_pCodedScaleOffsetFile, "#ViewOrderIdx     ViewIdVal\n" );
+      fprintf( m_pCodedScaleOffsetFile, "#------------ -------------\n" );
+      
+      for( UInt voiInVps = 0; voiInVps < m_vps->getNumViews(); voiInVps++ )
+      {
+        fprintf( m_pCodedScaleOffsetFile, "%13d %13d\n", m_vps->getViewOIdxList( voiInVps ), m_vps->getViewIdVal( m_vps->getViewOIdxList( voiInVps ) ) );
+      }
+      fprintf( m_pCodedScaleOffsetFile, "\n\n");
+      fprintf( m_pCodedScaleOffsetFile, "# StartFrame     EndFrame    TargetVOI      BaseVOI   CodedScale  CodedOffset    Precision\n" );
+      fprintf( m_pCodedScaleOffsetFile, "#----------- ------------ ------------ ------------ ------------ ------------ ------------\n" );
+    }
+    if( iPOC == m_firstReceivedPoc || m_bCamParsVaryOverTime  )
+    {
+      Int iS = iPOC;
+      Int iE = ( m_bCamParsVaryOverTime ? iPOC : ~( 1 << 31 ) );
+      for( UInt voiInVps = 0; voiInVps < m_vps->getNumViews(); voiInVps++ )
+      {
+        for( UInt baseVoiInVps = 0; baseVoiInVps < m_vps->getNumViews(); baseVoiInVps++ )
+        {
+          if( voiInVps != baseVoiInVps )
+          {
+            if ( m_receivedIdc[baseVoiInVps][voiInVps] != 0 )
+            {            
+              fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
+                iS, iE, m_vps->getViewOIdxList( voiInVps ), m_vps->getViewOIdxList( baseVoiInVps ), 
+                m_aaiCodedScale [ baseVoiInVps ][ voiInVps ], 
+                m_aaiCodedOffset[ baseVoiInVps ][ voiInVps ], m_vps->getCpPrecision() );
+#else
       fprintf( m_pCodedScaleOffsetFile, "#  ViewIndex       ViewId\n" );
       fprintf( m_pCodedScaleOffsetFile, "#----------- ------------\n" );
@@ -325,7 +451,13 @@
       Int iS = iPOC;
       Int iE = ( m_bCamParsVaryOverTime ? iPOC : ~( 1 << 31 ) );
+#if HHI_CAM_PARA_K0052
+      for( UInt uiViewIndex = 0; uiViewIndex < m_vps->getNumViews(); uiViewIndex++ )
+      {
+        for( UInt uiBaseIndex = 0; uiBaseIndex < m_vps->getNumViews(); uiBaseIndex++ )
+#else
       for( UInt uiViewIndex = 0; uiViewIndex <= m_uiMaxViewIndex; uiViewIndex++ )
       {
         for( UInt uiBaseIndex = 0; uiBaseIndex <= m_uiMaxViewIndex; uiBaseIndex++ )
+#endif
         {
           if( uiViewIndex != uiBaseIndex )
@@ -333,6 +465,12 @@
             if ( m_receivedIdc[uiBaseIndex][uiViewIndex] != 0 )
             {            
+#if HHI_CAM_PARA_K0052
+              fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
+                iS, iE, uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_vps->getCpPrecision() );
+#else
               fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
                 iS, iE, uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_vps->getCamParPrecision() );
+#endif
+#endif
             }            
           }
@@ -417,4 +555,7 @@
 #if !H_MV
   initROM();
+#endif
+#if H_3D_ANNEX_SELECTION_FIX
+  m_cCavlcDecoder.setDecTop( this ); 
 #endif
   m_cGopDecoder.init( &m_cEntropyDecoder, &m_cSbacDecoder, &m_cBinCABAC, &m_cCavlcDecoder, &m_cSliceDecoder, &m_cLoopFilter, &m_cSAO );
@@ -727,5 +868,7 @@
 #endif
 #if H_3D
+#if !HHI_INTER_COMP_PRED_K0052
   m_apcSlicePilot->init3dToolParameters();
+#endif
 #endif
   pps->setSPS(sps);
@@ -955,4 +1098,19 @@
   xActivateParameterSets();
 
+#if SONY_MV_V_CONST_C0078
+  //Check Multiview Main profile constraint in G.11.1.1
+  //  When ViewOrderIdx[ i ] derived according to any active VPS is equal to 1 
+  //  for the layer with nuh_layer_id equal to i in subBitstream, 
+  //  inter_view_mv_vert_constraint_flag shall be equal to 1 
+  //  in the sps_multilayer_extension( ) syntax structure in each active SPS for that layer.
+  if( m_apcSlicePilot->getSPS()->getPTL()->getGeneralPTL()->getProfileIdc()==Profile::MULTIVIEWMAIN
+      &&
+      m_apcSlicePilot->getVPS()->getViewOrderIdx(m_apcSlicePilot->getVPS()->getLayerIdInNuh(getLayerId()))==1 
+     )
+  {
+    assert( m_apcSlicePilot->getSPS()->getInterViewMvVertConstraintFlag()==1 );
+  }
+#endif
+
   if (m_apcSlicePilot->isNextSlice()) 
   {
@@ -1074,4 +1232,8 @@
 #endif
 #endif
+#if HHI_RES_PRED_K0052
+  pcSlice->setIvPicLists( m_ivPicLists );         
+#endif
+
   if (bNextSlice)
   {
@@ -1109,5 +1271,10 @@
 
 #if H_3D
+#if !HHI_RES_PRED_K0052
     pcSlice->setIvPicLists( m_ivPicLists );         
+#endif
+
+#if HHI_INTER_COMP_PRED_K0052
+    pcSlice->checkInCompPredRefLayers(); 
 #if H_3D_IV_MERGE
 #if H_3D_FCO
@@ -1117,4 +1284,13 @@
 #endif
 #endif    
+#else
+#if H_3D_IV_MERGE
+#if H_3D_FCO
+    //assert( !getIsDepth() );
+#else
+    assert( !getIsDepth() || ( pcSlice->getTexturePic() != 0 ) );
+#endif
+#endif    
+#endif
 #endif
 #if H_MV
Index: /trunk/source/Lib/TLibDecoder/TDecTop.h
===================================================================
--- /trunk/source/Lib/TLibDecoder/TDecTop.h	(revision 1178)
+++ /trunk/source/Lib/TLibDecoder/TDecTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -97,5 +97,7 @@
   TComVPS* m_vps; 
   Int**    m_receivedIdc; 
+#if!HHI_CAM_PARA_K0052
   Int      m_uiMaxViewIndex; 
+#endif
   Int      m_lastPoc; 
   Int      m_firstReceivedPoc; 
@@ -243,4 +245,7 @@
   CamParsCollector*       m_pcCamParsCollector;
 #endif
+#if H_3D_ANNEX_SELECTION_FIX
+  Int                     m_profileIdc;
+#endif
 #endif
 
@@ -301,4 +306,30 @@
   Void                    setCamParsCollector( CamParsCollector* pcCamParsCollector ) { m_pcCamParsCollector = pcCamParsCollector; }
 #endif
+#if H_3D_ANNEX_SELECTION_FIX
+  Void                    setProfileIdc()
+  {        
+    if (m_targetOptLayerSetIdx != -1 )
+    {    
+      TComVPS* vps = getPrefetchedVPS(); 
+      Int lsIdx = vps->olsIdxToLsIdx( m_targetOptLayerSetIdx );
+      Int lIdx = -1; 
+      for (Int j = 0; j < vps->getNumLayersInIdList( lsIdx ); j++ )
+      {
+        if ( vps->getLayerSetLayerIdList( lsIdx, j ) == getLayerId() )
+        {
+          lIdx = j; 
+          break; 
+        }        
+      }
+      assert( lIdx != -1 ); 
+
+      Int profileIdc = vps->getPTL( vps->getProfileTierLevelIdx( m_targetOptLayerSetIdx, lIdx ) )->getGeneralPTL()->getProfileIdc();
+      assert( profileIdc == 1 || profileIdc == 6 || profileIdc == 8 ); 
+      m_profileIdc = profileIdc;   
+    };
+  }
+  Bool                    decProcAnnexI()           { assert( m_profileIdc != -1 ); return ( m_profileIdc == 8); }    
+#endif
+
 #endif
 protected:
Index: /trunk/source/Lib/TLibEncoder/AnnexBwrite.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/AnnexBwrite.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/AnnexBwrite.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/NALwrite.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/NALwrite.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/NALwrite.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/NALwrite.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/NALwrite.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/NALwrite.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/SEIwrite.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/SEIwrite.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/SEIwrite.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/SEIwrite.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/SEIwrite.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/SEIwrite.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/SyntaxElementWriter.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/SyntaxElementWriter.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/SyntaxElementWriter.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -49,5 +49,13 @@
   if( g_HLSTraceEnable )
   {
+#if H_MV_ENC_DEC_TRAC
+    if ( !g_disableNumbering )
+    {
+#endif
     fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+    }
+#endif
+
     if( length<10 )
     {
@@ -66,5 +74,13 @@
   if( g_HLSTraceEnable )
   {
+#if H_MV_ENC_DEC_TRAC
+    if ( !g_disableNumbering )
+    {
+#endif
     fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+    }
+#endif
+
     fprintf( g_hTrace, "%-50s ue(v) : %d\n", pSymbolName, value ); 
   }
@@ -76,5 +92,13 @@
   if( g_HLSTraceEnable )
   {
+#if H_MV_ENC_DEC_TRAC
+    if ( !g_disableNumbering )
+    {
+#endif
     fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+    }
+#endif
+
     fprintf( g_hTrace, "%-50s se(v) : %d\n", pSymbolName, value ); 
   }
@@ -86,5 +110,12 @@
   if( g_HLSTraceEnable )
   {
+#if H_MV_ENC_DEC_TRAC
+    if ( !g_disableNumbering )
+    {
+#endif
     fprintf( g_hTrace, "%8lld  ", g_nSymbolCounter++ );
+#if H_MV_ENC_DEC_TRAC
+    }
+#endif
     fprintf( g_hTrace, "%-50s u(1)  : %d\n", pSymbolName, value ); 
   }
Index: /trunk/source/Lib/TLibEncoder/SyntaxElementWriter.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/SyntaxElementWriter.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/SyntaxElementWriter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncAnalyze.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncAnalyze.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncAnalyze.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncAnalyze.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncAnalyze.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncAnalyze.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncBinCoder.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncBinCoder.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncBinCoder.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncBinCoderCABAC.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncCavlc.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -40,7 +40,10 @@
 #include "SEIwrite.h"
 #include "../TLibCommon/TypeDef.h"
-
+#if H_3D_ANNEX_SELECTION_FIX
+#include "TEncTop.h"
+#endif
 //! \ingroup TLibEncoder
 //! \{
+
 
 #if ENC_DEC_TRACE
@@ -678,5 +681,7 @@
 #endif
   WRITE_UVLC( pcSPS->getChromaFormatIdc (),         "chroma_format_idc" );
+#if !H_3D_DISABLE_CHROMA
   assert(pcSPS->getChromaFormatIdc () == 1);
+#endif
   // in the first version chroma_format_idc can only be equal to 1 (4:2:0)
   if( pcSPS->getChromaFormatIdc () == 3 )
@@ -857,5 +862,12 @@
   WRITE_FLAG( pcPPS->getPocResetInfoPresentFlag( ) ? 1 : 0 , "poc_reset_info_present_flag" );
   WRITE_FLAG( pcPPS->getPpsInferScalingListFlag( ) ? 1 : 0 , "pps_infer_scaling_list_flag" );
+#if FIX_TICKET_95
+  if (pcPPS->getPpsInferScalingListFlag())
+  {
+    WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" );
+  }
+#else    
   WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" );
+#endif
   WRITE_UVLC( 0, "num_ref_loc_offsets" );
   WRITE_FLAG( 0 , "colour_mapping_enabled_flag" );
@@ -889,5 +901,9 @@
       WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" );
       WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      WRITE_FLAG( sps3dExt->getDepthIntraSkipFlag( d ) ? 1 : 0 , "intra_skip_flag" );
+#else
       WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" );
+#endif
     }
   }
@@ -1365,12 +1381,12 @@
   if ( pcRepFormat->getChromaAndBitDepthVpsPresentFlag() )
   {  
-  WRITE_CODE( pcRepFormat->getChromaFormatVpsIdc( ), 2, "chroma_format_vps_idc" );
-
-  if ( pcRepFormat->getChromaFormatVpsIdc() == 3 )
-  {
-    WRITE_FLAG( pcRepFormat->getSeparateColourPlaneVpsFlag( ) ? 1 : 0 , "separate_colour_plane_vps_flag" );
-  }
-  WRITE_CODE( pcRepFormat->getBitDepthVpsLumaMinus8( ),      4, "bit_depth_vps_luma_minus8" );
-  WRITE_CODE( pcRepFormat->getBitDepthVpsChromaMinus8( ),    4, "bit_depth_vps_chroma_minus8" );
+    WRITE_CODE( pcRepFormat->getChromaFormatVpsIdc( ), 2, "chroma_format_vps_idc" );  
+
+    if ( pcRepFormat->getChromaFormatVpsIdc() == 3 )
+    {
+      WRITE_FLAG( pcRepFormat->getSeparateColourPlaneVpsFlag( ) ? 1 : 0 , "separate_colour_plane_vps_flag" );
+    }
+    WRITE_CODE( pcRepFormat->getBitDepthVpsLumaMinus8( ),      4, "bit_depth_vps_luma_minus8" );
+    WRITE_CODE( pcRepFormat->getBitDepthVpsChromaMinus8( ),    4, "bit_depth_vps_chroma_minus8" );
   }
   else
@@ -1598,4 +1614,31 @@
 Void TEncCavlc::codeVPS3dExtension( TComVPS* pcVPS )
 { 
+#if HHI_CAM_PARA_K0052
+  WRITE_UVLC( pcVPS->getCpPrecision( ), "cp_precision" );
+  for (Int n = 1; n < pcVPS->getNumViews(); n++)
+  {
+    Int i      = pcVPS->getViewOIdxList( n );
+    Int iInVps = pcVPS->getVoiInVps( i ); 
+    WRITE_CODE( pcVPS->getNumCp( iInVps ), 6, "num_cp" );
+
+    if( pcVPS->getNumCp( iInVps ) > 0 )
+    {
+      WRITE_FLAG( pcVPS->getCpInSliceSegmentHeaderFlag( iInVps ) ? 1 : 0 , "cp_in_slice_segment_header_flag" );
+      for( Int m = 0; m < pcVPS->getNumCp( iInVps ); m++ )
+      {
+        WRITE_UVLC( pcVPS->getCpRefVoi( iInVps, m ), "cp_ref_voi" );
+        if( !pcVPS->getCpInSliceSegmentHeaderFlag( iInVps ) )
+        {
+          Int j      = pcVPS->getCpRefVoi( iInVps, m );
+          Int jInVps = pcVPS->getVoiInVps( j ); 
+          WRITE_SVLC( pcVPS->getVpsCpScale   ( iInVps, jInVps ), "vps_cp_scale" );
+          WRITE_SVLC( pcVPS->getVpsCpOff     ( iInVps, jInVps ), "vps_cp_off" );
+          WRITE_SVLC( pcVPS->getVpsCpInvScale( iInVps, jInVps ) + pcVPS->getVpsCpScale( iInVps, jInVps ), "vps_cp_inv_scale_plus_scale" );
+          WRITE_SVLC( pcVPS->getVpsCpInvOff  ( iInVps, jInVps ) + pcVPS->getVpsCpOff  ( iInVps, jInVps ), "vps_cp_inv_off_plus_off" );
+        }
+      }
+    }
+  }  
+#else
   WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
   for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
@@ -1617,4 +1660,5 @@
     }
   }
+#endif
 }
 #endif
@@ -1721,5 +1765,10 @@
 
     // in the first version chroma_format_idc is equal to one, thus colour_plane_id will not be present
+#if H_3D_DISABLE_CHROMA
+    assert (pcSlice->getSPS()->getChromaFormatIdc() == 1 || pcSlice->getIsDepth() );
+    assert (pcSlice->getSPS()->getChromaFormatIdc() == 0 || !pcSlice->getIsDepth() );
+#else
     assert (pcSlice->getSPS()->getChromaFormatIdc() == 1 );
+#endif
     // if( separate_colour_plane_flag  ==  1 )
     //   colour_plane_id                                      u(2)
@@ -1895,4 +1944,16 @@
     }
 #endif
+
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D      
+  if( getEncTop()->decProcAnnexI() )
+  {
+      if ( pcSlice->getInCmpPredAvailFlag() )
+      {
+        WRITE_FLAG( pcSlice->getInCompPredFlag(), "in_comp_pred_flag" );
+      }
+  }
+#endif
+#endif
     if(pcSlice->getSPS()->getUseSAO())
     {
@@ -1900,5 +1961,12 @@
       {
          WRITE_FLAG( pcSlice->getSaoEnabledFlag(), "slice_sao_luma_flag" );
+#if H_3D_DISABLE_CHROMA
+         if ( !pcSlice->getIsDepth() )
+         {
          WRITE_FLAG( pcSlice->getSaoEnabledFlagChroma(), "slice_sao_chroma_flag" );
+      }
+#else
+         WRITE_FLAG( pcSlice->getSaoEnabledFlagChroma(), "slice_sao_chroma_flag" );
+#endif
       }
     }
@@ -2018,5 +2086,12 @@
     }
 #if H_3D_IC
+#if H_3D_ANNEX_SELECTION_FIX
+    else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE )
+      && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 
+      && getEncTop()->decProcAnnexI()       
+      )
+#else
     else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 )
+#endif
     {
       WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" );
@@ -2073,5 +2148,26 @@
       WRITE_FLAG(pcSlice->getLFCrossSliceBoundaryFlag()?1:0, "slice_loop_filter_across_slices_enabled_flag");
     }
-  }
+#if HHI_CAM_PARA_K0052
+#if H_3D
+    if (getEncTop()->decProcAnnexI() )
+    {
+      Int voiInVps = vps->getVoiInVps( pcSlice->getViewIndex() ); 
+      if( vps->getCpInSliceSegmentHeaderFlag( voiInVps ) && !pcSlice->getIsDepth() )
+      {
+        for( Int m = 0; m < vps->getNumCp( voiInVps ); m++ )
+        {
+          Int jInVps = vps->getVoiInVps( vps->getCpRefVoi( voiInVps, m ));
+          WRITE_SVLC( pcSlice->getCpScale   ( jInVps )   , "cp_scale" );
+          WRITE_SVLC( pcSlice->getCpOff     ( jInVps )   , "cp_off" );
+          WRITE_SVLC( pcSlice->getCpInvScale( jInVps ) + pcSlice->getCpScale( jInVps ) , "cp_inv_scale_plus_scale" );
+          WRITE_SVLC( pcSlice->getCpInvOff  ( jInVps ) + pcSlice->getCpOff  ( jInVps ) , "cp_inv_off_plus_off" );
+        }
+      }
+    }
+#endif
+#endif
+  }
+
+#if !HHI_CAM_PARA_K0052  
 #if H_3D
 #if H_3D_FCO
@@ -2089,4 +2185,5 @@
     }
   }
+#endif
 #endif
 
@@ -2435,4 +2532,11 @@
   assert(0);
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TEncCavlc::codeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx )
+{
+  assert(0);
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TEncCavlc::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
@@ -2441,4 +2545,6 @@
 }
 #endif
+#endif
+
 Void TEncCavlc::codeSplitFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
@@ -2544,5 +2650,9 @@
 {
   wpScalingParam  *wp;
+#if  H_3D_DISABLE_CHROMA
+  Bool            bChroma     = !pcSlice->getIsDepth(); // color always present in HEVC ?
+#else
   Bool            bChroma     = true; // color always present in HEVC ?
+#endif
   Int             iNbRef       = (pcSlice->getSliceType() == B_SLICE ) ? (2) : (1);
   Bool            bDenomCoded  = false;
Index: /trunk/source/Lib/TLibEncoder/TEncCavlc.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncCavlc.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncCavlc.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -68,5 +68,7 @@
   TComSlice*    m_pcSlice;
   UInt          m_uiCoeffCost;
-
+#if H_3D_ANNEX_SELECTION_FIX
+  TEncTop*      m_encTop; 
+#endif
   Void codeShortTermRefPicSet              ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
   Bool findMatchingLTRP ( TComSlice* pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag );
@@ -127,6 +129,10 @@
   Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
   Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void codeDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx );
+#else
 #if H_3D_SINGLE_DEPTH
   Void codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx );
+#endif
 #endif
   Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
@@ -181,5 +187,8 @@
   Void codeDFFlag       ( UInt uiCode, const Char *pSymbolName );
   Void codeDFSvlc       ( Int   iCode, const Char *pSymbolName );
-
+#if H_3D_ANNEX_SELECTION_FIX
+  TEncTop* getEncTop()               { return m_encTop; };
+  Void     setEncTop( TEncTop* et )  {  m_encTop = et; };
+#endif
 };
 
Index: /trunk/source/Lib/TLibEncoder/TEncCfg.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncCfg.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncCfg.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -78,4 +78,7 @@
   Int m_interViewRefPosL[2][MAX_NUM_REF_PICS];  
 #endif
+#if HHI_INTER_COMP_PRED_K0052
+  Bool m_interCompPredFlag;
+#endif
   GOPEntry()
   : m_POC(-1)
@@ -95,4 +98,9 @@
   , m_numActiveRefLayerPics(0)
 #endif
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+  , m_interCompPredFlag(false)
+#endif
+#endif
   {
     ::memset( m_referencePics, 0, sizeof(m_referencePics) );
@@ -180,5 +188,8 @@
   Int       m_iSearchRange;                     //  0:Full frame
   Int       m_bipredSearchRange;
-
+#if SONY_MV_V_CONST_C0078
+  Bool      m_bUseDisparitySearchRangeRestriction;
+  Int       m_iVerticalDisparitySearchRange;
+#endif
   //====== Quality control ========
   Int       m_iMaxDeltaQP;                      //  Max. absolute delta QP (1:default)
@@ -369,8 +380,10 @@
 
   //====== Camera Parameters ======
+#if !HHI_CAM_PARA_K0052
   UInt      m_uiCamParPrecision;
   Bool      m_bCamParInSliceHeader;
   Int**     m_aaiCodedScale;
   Int**     m_aaiCodedOffset;
+#endif
   TAppComCamPara* m_cameraParameters; 
   
@@ -405,4 +418,8 @@
   Bool      m_bUseQTL;
 #endif
+#if H_3D_ANNEX_SELECTION_FIX
+  Int m_profileIdc;
+#endif
+
 #endif
 public:
@@ -418,4 +435,7 @@
   , m_isDepth(false)
   , m_bUseVSO(false)
+#if H_3D_ANNEX_SELECTION_FIX
+  , m_profileIdc( -1 )
+#endif
 #endif
 #endif
@@ -502,4 +522,8 @@
   Void      setSearchRange                  ( Int   i )      { m_iSearchRange = i; }
   Void      setBipredSearchRange            ( Int   i )      { m_bipredSearchRange = i; }
+#if SONY_MV_V_CONST_C0078
+  Void      setUseDisparitySearchRangeRestriction ( Bool   b )      { m_bUseDisparitySearchRangeRestriction = b; }
+  Void      setVerticalDisparitySearchRange ( Int   i )      { m_iVerticalDisparitySearchRange = i; }
+#endif
 
   //====== Quality control ========
@@ -554,4 +578,8 @@
   Int       getFastSearch                   ()      { return  m_iFastSearch; }
   Int       getSearchRange                  ()      { return  m_iSearchRange; }
+#if SONY_MV_V_CONST_C0078
+  Bool      getUseDisparitySearchRangeRestriction ()      { return  m_bUseDisparitySearchRangeRestriction; }
+  Int       getVerticalDisparitySearchRange ()            { return  m_iVerticalDisparitySearchRange; }
+#endif
 
   //==== Quality control ========
@@ -895,8 +923,10 @@
 
  //==== CAMERA PARAMETERS  ==========
+#if !HHI_CAM_PARA_K0052
   Void      setCamParPrecision              ( UInt  u )      { m_uiCamParPrecision      = u; }
   Void      setCamParInSliceHeader          ( Bool  b )      { m_bCamParInSliceHeader   = b; }
   Void      setCodedScale                   ( Int** p )      { m_aaiCodedScale          = p; }
   Void      setCodedOffset                  ( Int** p )      { m_aaiCodedOffset         = p; }
+#endif
   Void      setCameraParameters             ( TAppComCamPara* c) { m_cameraParameters   = c; }
 
@@ -946,4 +976,9 @@
   Bool      getUseQTL                       ()         { return m_bUseQTL; }
 #endif
+#if H_3D_ANNEX_SELECTION_FIX
+  Void                    setProfileIdc( Int a )    { assert( a == 1 || a == 6 || a == 8 ); m_profileIdc = a;  }
+  Bool                    decProcAnnexI()           { assert( m_profileIdc != -1 ); return ( m_profileIdc == 8); }    
+#endif
+
 #endif // H_3D
 };
Index: /trunk/source/Lib/TLibEncoder/TEncCu.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -275,4 +275,8 @@
   m_ppcTempCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() );
 
+#if H_3D_DISABLE_CHROMA
+  m_ppcWeightedTempCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() );
+#endif
+
 #if KWU_RC_MADPRED_E0227
   m_LCUPredictionSAD = 0;
@@ -437,5 +441,7 @@
 #if H_3D_VSP
   DisInfo DvInfo; 
+#if !SEC_ARP_REM_ENC_RESTRICT_K0035
   DvInfo.bDV = false;
+#endif
   DvInfo.m_acNBDV.setZero();
   DvInfo.m_aVIdxCan = 0;
@@ -583,5 +589,9 @@
           if (rpcTempCU->getSlice()->getIsDepth() )
           {
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+            rpcTempCU->getDispforDepth(0, 0, &DvInfo);
+#else
             DvInfo.bDV = rpcTempCU->getDispforDepth(0, 0, &DvInfo);
+#endif
           }
           else
@@ -590,8 +600,16 @@
 #if H_3D_NBDV_REF
           if( rpcTempCU->getSlice()->getDepthRefinementFlag() )
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+            rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
+#else
             DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
+#endif
           else
 #endif 
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+            rpcTempCU->getDisMvpCandNBDV(&DvInfo);
+#else
             DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo);
+#endif
 
 #if H_3D_IV_MERGE
@@ -712,4 +730,12 @@
     }
 #endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
+    if( rpcBestCU->getSlice()->getDepthIntraSkipFlag() )
+    {
+      xCheckRDCostDIS( rpcBestCU, rpcTempCU, SIZE_2Nx2N );
+      rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
+    }
+#else
 #if H_3D_SINGLE_DEPTH
     rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
@@ -719,4 +745,5 @@
       rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
     }
+#endif
 #endif
     if(!earlyDetectionSkipMode)
@@ -1226,4 +1253,7 @@
       TComDataCU* pcSubTempPartCU     = m_ppcTempCU[uhNextDepth];
 
+#if H_3D_DISABLE_CHROMA
+      m_ppcWeightedTempCU[uhNextDepth]->setSlice( m_ppcWeightedTempCU[ uiDepth]->getSlice()); 
+#endif
       for ( UInt uiPartUnitIdx = 0; uiPartUnitIdx < 4; uiPartUnitIdx++ )
       {
@@ -1577,4 +1607,9 @@
     return;
   }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_pcEntropyCoder->encodeDIS( pcCU, uiAbsPartIdx );
+  if(!pcCU->getDISFlag(uiAbsPartIdx))
+  {
+#else
 #if H_3D_SINGLE_DEPTH
   m_pcEntropyCoder->encodeSingleDepthMode( pcCU, uiAbsPartIdx );
@@ -1582,17 +1617,24 @@
   {
 #endif
+#endif
   m_pcEntropyCoder->encodePredMode( pcCU, uiAbsPartIdx );
   
   m_pcEntropyCoder->encodePartSize( pcCU, uiAbsPartIdx, uiDepth );
   
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
   m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
 #endif
+#endif
   if (pcCU->isIntra( uiAbsPartIdx ) && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N )
   {
     m_pcEntropyCoder->encodeIPCMInfo( pcCU, uiAbsPartIdx );
-
     if(pcCU->getIPCMFlag(uiAbsPartIdx))
     {
+#if HHI_MOVE_SYN_K0052
+#if H_3D_DIM_SDC
+      m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
+#endif  
+#endif
       // Encode slice finish
       finishCU(pcCU,uiAbsPartIdx,uiDepth);
@@ -1603,5 +1645,10 @@
   // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
   m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
-
+#if HHI_MOVE_SYN_K0052
+  m_pcEntropyCoder->encodeDBBPFlag( pcCU, uiAbsPartIdx );
+#if H_3D_DIM_SDC
+  m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
+#endif  
+#endif
 #if H_3D_ARP
   m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx );
@@ -1612,8 +1659,16 @@
   // Encode Coefficients
   Bool bCodeDQP = getdQPFlag();
+#if H_3D_DISABLE_CHROMA
+  m_pcEntropyCoder->encodeCoeff( pcCU, uiAbsPartIdx, uiDepth, pcCU->getWidth (uiAbsPartIdx), pcCU->getHeight(uiAbsPartIdx), bCodeDQP, false );
+#else
   m_pcEntropyCoder->encodeCoeff( pcCU, uiAbsPartIdx, uiDepth, pcCU->getWidth (uiAbsPartIdx), pcCU->getHeight(uiAbsPartIdx), bCodeDQP );
+#endif
   setdQPFlag( bCodeDQP );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  }
+#else
 #if H_3D_SINGLE_DEPTH
   }
+#endif
 #endif
   // --- write terminating bit ---
@@ -1834,5 +1889,9 @@
 #if H_3D_ARP
   Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1;
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+  if( nARPWMax < 0 || bICFlag )
+#else
   if( nARPWMax < 0 || !rpcTempCU->getDvInfo(0).bDV || bICFlag )
+#endif
   {
     nARPWMax = 0;
@@ -2000,6 +2059,10 @@
 
           rpcTempCU->setSkipFlagSubParts( rpcTempCU->getQtRootCbf(0) == 0, 0, uhDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+          rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
+#else
 #if H_3D_SINGLE_DEPTH
           rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
+#endif
 #endif
 #if H_3D_VSP // possible bug fix
@@ -2042,6 +2105,10 @@
               }
               rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+              rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
+#else
 #if H_3D_SINGLE_DEPTH
               rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
+#endif
 #endif
               rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth );
@@ -2166,6 +2233,9 @@
   Bool bFirstTime = true;
   Int nARPWMax    = rpcTempCU->getSlice()->getARPStepNum() - 1;
-
+#if SEC_ARP_REM_ENC_RESTRICT_K0035
+  if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || rpcTempCU->getICFlag(0) )
+#else
   if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || !rpcTempCU->getDvInfo(0).bDV || rpcTempCU->getICFlag(0) )
+#endif
   {
     nARPWMax = 0;
@@ -2193,6 +2263,10 @@
   
   rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
+#else
 #if H_3D_SINGLE_DEPTH
   rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
+#endif
 #endif
   rpcTempCU->setPartSizeSubParts  ( ePartSize,  0, uhDepth );
@@ -2303,6 +2377,10 @@
       }
       rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
+#else
 #if H_3D_SINGLE_DEPTH
       rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
+#endif
 #endif
       rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth );
@@ -2413,4 +2491,78 @@
   }
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TEncCu::xCheckRDCostDIS( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
+{
+  UInt uiDepth = rpcTempCU->getDepth( 0 );
+  if( !rpcBestCU->getSlice()->getIsDepth() || (eSize != SIZE_2Nx2N))
+  {
+    return;
+  }
+
+#if H_3D_VSO // M5
+  if( m_pcRdCost->getUseRenModel() )
+  {
+    UInt  uiWidth     = m_ppcOrigYuv[uiDepth]->getWidth   ();
+    UInt  uiHeight    = m_ppcOrigYuv[uiDepth]->getHeight  ();
+    Pel*  piSrc       = m_ppcOrigYuv[uiDepth]->getLumaAddr();
+    UInt  uiSrcStride = m_ppcOrigYuv[uiDepth]->getStride  ();
+    m_pcRdCost->setRenModelData( rpcTempCU, 0, piSrc, uiSrcStride, uiWidth, uiHeight );
+  }
+#endif
+
+  rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
+  rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );
+  rpcTempCU->setPredModeSubParts( MODE_INTRA, 0, uiDepth );
+  rpcTempCU->setCUTransquantBypassSubParts( rpcTempCU->getCUTransquantBypass(0), 0, uiDepth );
+
+  rpcTempCU->setTrIdxSubParts(0, 0, uiDepth);
+  rpcTempCU->setCbfSubParts(0, 1, 1, 0, uiDepth);
+  rpcTempCU->setDISFlagSubParts(true, 0, uiDepth);
+  rpcTempCU->setLumaIntraDirSubParts (DC_IDX, 0, uiDepth);
+#if H_3D_DIM_SDC
+  rpcTempCU->setSDCFlagSubParts( false, 0, uiDepth);
+#endif
+
+  UInt uiPreCalcDistC;
+  m_pcPredSearch  ->estIntraPredDIS      ( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC, false );
+
+#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC
+  Int oldTraceCopyBack = g_traceCopyBack; 
+  g_traceCopyBack = false;  
+#endif
+  m_ppcRecoYuvTemp[uiDepth]->copyToPicLuma(rpcTempCU->getPic()->getPicYuvRec(), rpcTempCU->getAddr(), rpcTempCU->getZorderIdxInCU() );
+  #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC  
+    g_traceCopyBack = oldTraceCopyBack; 
+  #endif
+
+
+  m_pcEntropyCoder->resetBits();
+  if ( rpcTempCU->getSlice()->getPPS()->getTransquantBypassEnableFlag())
+  {
+    m_pcEntropyCoder->encodeCUTransquantBypassFlag( rpcTempCU, 0,          true );
+  }
+  m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
+  m_pcEntropyCoder->encodeDIS( rpcTempCU, 0,          true );
+
+
+  m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);
+
+  rpcTempCU->getTotalBits() = m_pcEntropyCoder->getNumberOfWrittenBits();
+  rpcTempCU->getTotalBins() = ((TEncBinCABAC *)((TEncSbac*)m_pcEntropyCoder->m_pcEntropyCoderIf)->getEncBinIf())->getBinsCoded();
+
+
+#if H_3D_VSO // M6
+  if( m_pcRdCost->getUseLambdaScaleVSO())  
+    rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCostVSO( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() );  
+  else
+#endif
+    rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCost( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() );
+
+
+  xCheckDQP( rpcTempCU );
+  xCheckBestMode(rpcBestCU, rpcTempCU, uiDepth);
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TEncCu::xCheckRDCostSingleDepth( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
@@ -2480,4 +2632,5 @@
 }
 #endif
+#endif
 
 Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG )
@@ -2522,5 +2675,11 @@
   AOF( uiDepthStride != 0 );
   
+#if HS_DBBP_CLEAN_K0048
+  PartSize eVirtualPartSize = m_pcPredSearch->getPartitionSizeFromDepth(pDepthPels, uiDepthStride, uiWidth, rpcTempCU);
+
   // derive partitioning from depth
+  Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE];
+  Bool bValidMask = m_pcPredSearch->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, uiWidth, uiHeight, pMask, rpcTempCU);
+#else
   PartSize eVirtualPartSize = m_pcPredSearch->getPartitionSizeFromDepth(pDepthPels, uiDepthStride, uiWidth);
   
@@ -2528,4 +2687,5 @@
   Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE];
   Bool bValidMask = m_pcPredSearch->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, uiWidth, uiHeight, pMask);
+#endif
   
   if( !bValidMask )
@@ -2636,6 +2796,10 @@
 
   rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  rpcTempCU->setDISFlagSubParts( false, 0, uiDepth );
+#else
 #if H_3D_SINGLE_DEPTH
   rpcTempCU->setSingleDepthFlagSubParts( false, 0, uiDepth );
+#endif
 #endif
   rpcTempCU->setPartSizeSubParts( eSize, 0, uiDepth );
@@ -2656,5 +2820,9 @@
   
 #if H_3D_DIM_SDC
+#if 0 // H_3D_DISABLE_CHROMA
+  if( !rpcTempCU->getSDCFlag( 0 ) && !rpcTempCU->getSlice()->getIsDepth() )
+#else
   if( !rpcTempCU->getSDCFlag( 0 ) )
+#endif
 #endif
   m_pcPredSearch  ->estIntraPredChromaQT( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC );
@@ -2666,4 +2834,9 @@
   }
   m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_pcEntropyCoder->encodeDIS( rpcTempCU, 0,          true );
+  if(!rpcTempCU->getDISFlag(0))
+  {
+#else
 #if H_3D_SINGLE_DEPTH
   m_pcEntropyCoder->encodeSingleDepthMode( rpcTempCU, 0,          true );
@@ -2671,19 +2844,37 @@
   {
 #endif
+#endif
   m_pcEntropyCoder->encodePredMode( rpcTempCU, 0,          true );
   m_pcEntropyCoder->encodePartSize( rpcTempCU, 0, uiDepth, true );
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
   m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
 #endif
+#endif
   m_pcEntropyCoder->encodePredInfo( rpcTempCU, 0,          true );
   m_pcEntropyCoder->encodeIPCMInfo(rpcTempCU, 0, true );
+#if HHI_MOVE_SYN_K0052
+#if H_3D_DIM_SDC
+  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
+#endif
+#endif
 
   // Encode Coefficients
   Bool bCodeDQP = getdQPFlag();
+#if H_3D_DISABLE_CHROMA
+  m_pcEntropyCoder->encodeCoeff( rpcTempCU, 0, uiDepth, rpcTempCU->getWidth (0), rpcTempCU->getHeight(0), bCodeDQP, true );
+#else
   m_pcEntropyCoder->encodeCoeff( rpcTempCU, 0, uiDepth, rpcTempCU->getWidth (0), rpcTempCU->getHeight(0), bCodeDQP );
+#endif
+
+
   setdQPFlag( bCodeDQP );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  }
+#else
 #if H_3D_SINGLE_DEPTH
   }
-#endif        
+#endif
+#endif
   m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);
   
@@ -2713,6 +2904,10 @@
 
   rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  rpcTempCU->setDISFlagSubParts( false, 0, uiDepth );
+#else
 #if H_3D_SINGLE_DEPTH
   rpcTempCU->setSingleDepthFlagSubParts( false, 0, uiDepth );
+#endif
 #endif
   rpcTempCU->setIPCMFlag(0, true);
@@ -2732,14 +2927,24 @@
   }
   m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_pcEntropyCoder->encodeDIS( rpcTempCU, 0,          true );
+#else
 #if H_3D_SINGLE_DEPTH
   m_pcEntropyCoder->encodeSingleDepthMode( rpcTempCU, 0,          true );
 #endif
+#endif
   m_pcEntropyCoder->encodePredMode ( rpcTempCU, 0,          true );
   m_pcEntropyCoder->encodePartSize ( rpcTempCU, 0, uiDepth, true );
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
   m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
 #endif
+#endif
   m_pcEntropyCoder->encodeIPCMInfo ( rpcTempCU, 0, true );
-
+#if HHI_MOVE_SYN_K0052
+#if H_3D_DIM_SDC
+  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
+#endif
+#endif
   m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);
 
Index: /trunk/source/Lib/TLibEncoder/TEncCu.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncCu.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncCu.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -159,6 +159,10 @@
   Void  xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG = false );
 #endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void  xCheckRDCostDIS   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
+#else
 #if H_3D_SINGLE_DEPTH
   Void  xCheckRDCostSingleDepth   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
+#endif
 #endif
 #if H_3D_DIM
Index: /trunk/source/Lib/TLibEncoder/TEncEntropy.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncEntropy.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncEntropy.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -111,4 +111,19 @@
   m_pcEntropyCoderIf->codeSkipFlag( pcCU, uiAbsPartIdx );
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TEncEntropy::encodeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
+{
+  if ( !pcCU->getSlice()->getIsDepth() )
+  {
+    return;
+  }
+  if( bRD )
+  {
+    uiAbsPartIdx = 0;
+  }
+  m_pcEntropyCoderIf->codeDIS( pcCU, uiAbsPartIdx );
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TEncEntropy::encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
@@ -125,4 +140,6 @@
 }
 #endif
+#endif
+
 /** encode merge flag
  * \param pcCU
@@ -254,4 +271,5 @@
   m_pcEntropyCoderIf->codePartSize( pcCU, uiAbsPartIdx, uiDepth );
   
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DBBP
   if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
@@ -259,4 +277,5 @@
     encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD);
   }
+#endif
 #endif
 }
@@ -285,6 +304,24 @@
 }
 
+#if H_3D_DISABLE_CHROMA
+Void TEncEntropy::xEncodeTransform( TComDataCU* pcCU,UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP, Bool rd )
+#else
 Void TEncEntropy::xEncodeTransform( TComDataCU* pcCU,UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP )
-{
+#endif
+{
+
+#if H_MV_ENC_DEC_TRAC
+#if ENC_DEC_TRACE
+  UInt uiLPelX   = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ];
+  UInt uiTPelY   = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ];
+
+  DTRACE_TU_S("=========== transform_tree ===========\n")
+  DTRACE_TU("x0", uiLPelX)
+  DTRACE_TU("x1", uiTPelY)
+  DTRACE_TU("log2TrafoSize", g_uiMaxCUWidth>>uiDepth)
+  DTRACE_TU("trafoDepth"  , uiDepth)
+#endif
+#endif
+
   const UInt uiSubdiv = pcCU->getTransformIdx( uiAbsPartIdx ) + pcCU->getDepth( uiAbsPartIdx ) > uiDepth;
   const UInt uiLog2TrafoSize = g_aucConvertToBit[pcCU->getSlice()->getSPS()->getMaxCUWidth()]+2 - uiDepth;
@@ -292,5 +329,11 @@
   UInt cbfU = pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrIdx );
   UInt cbfV = pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrIdx );
-
+#if H_3D_DISABLE_CHROMA
+  if( !rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() == 0 )
+  {
+    cbfU = 0;
+    cbfV = 0;
+  }
+#endif
   if(uiTrIdx==0)
   {
@@ -309,4 +352,11 @@
       cbfU = pcCU->getCbf( m_uiBakAbsPartIdx, TEXT_CHROMA_U, uiTrIdx );
       cbfV = pcCU->getCbf( m_uiBakAbsPartIdx, TEXT_CHROMA_V, uiTrIdx );
+#if H_3D_DISABLE_CHROMA
+      if( !rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() == 0 )
+      {
+        cbfU = 0;
+        cbfV = 0;
+      }
+#endif
     }
   }
@@ -349,4 +399,17 @@
   if( bFirstCbfOfCU || uiLog2TrafoSize > 2 )
   {
+#if H_3D_DISABLE_CHROMA
+    if (pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 || rd)
+    {
+      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) )
+      {
+        m_pcEntropyCoderIf->codeQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr );
+      }
+      if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr - 1 ) )
+      {
+        m_pcEntropyCoderIf->codeQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr );
+      }
+    }
+#else
     if( bFirstCbfOfCU || pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) )
     {
@@ -357,9 +420,18 @@
       m_pcEntropyCoderIf->codeQtCbf( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr );
     }
+#endif
   }
   else if( uiLog2TrafoSize == 2 )
   {
+#if H_3D_DISABLE_CHROMA
+    if ( rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
+    {
     assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) );
     assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr - 1 ) );
+  }
+#else
+    assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, uiTrDepthCurr - 1 ) );
+    assert( pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr ) == pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, uiTrDepthCurr - 1 ) );
+#endif
   }
   
@@ -374,4 +446,16 @@
     const UInt partNum = pcCU->getPic()->getNumPartInCU() >> (uiDepth << 1);
     
+#if H_3D_DISABLE_CHROMA
+    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP, rd );
+
+    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
+    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP ,rd );
+
+    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
+    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP, rd );
+
+    uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
+    xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP, rd );
+#else
     xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP );
 
@@ -384,4 +468,5 @@
     uiAbsPartIdx += partNum;  offsetLuma += size;  offsetChroma += (size>>2);
     xEncodeTransform( pcCU, offsetLuma, offsetChroma, uiAbsPartIdx, uiDepth, width, height, uiTrIdx, bCodeDQP );
+#endif
   }
   else
@@ -400,5 +485,11 @@
 #endif
     
+#if H_3D_DISABLE_CHROMA
+    Bool notcbfUV = !rd && pcCU->getSlice()->getSPS()->getChromaFormatIdc() == 0 ? 1 : ( !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) ) ;
+    if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && 
+      uiDepth == pcCU->getDepth( uiAbsPartIdx ) && notcbfUV ) 
+#else
     if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
+#endif
     {
       assert( pcCU->getCbf( uiAbsPartIdx, TEXT_LUMA, 0 ) );
@@ -489,5 +580,9 @@
     encodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx,true );
 #if H_3D_DIM_SDC
+#if H_3D_DISABLE_CHROMA
+    if(!pcCU->getSDCFlag(uiAbsPartIdx) && ( pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0  || bRD ) ) 
+#else
     if(!pcCU->getSDCFlag(uiAbsPartIdx))
+#endif
 #endif
     encodeIntraDirModeChroma( pcCU, uiAbsPartIdx, bRD );
@@ -657,5 +752,9 @@
  * \param uiHeight
  */
+#if H_3D_DISABLE_CHROMA
+Void TEncEntropy::encodeCoeff( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP, Bool rd )
+#else
 Void TEncEntropy::encodeCoeff( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP )
+#endif
 {
   UInt uiMinCoeffSize = pcCU->getPic()->getMinCUWidth()*pcCU->getPic()->getMinCUHeight();
@@ -668,7 +767,16 @@
     assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
+#if H_3D_DISABLE_CHROMA
+    if (!pcCU->getSlice()->getIsDepth() )
+    {
+      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
+      assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
+    }
+#else
     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
-  }
+#endif
+  }
+
 
   if( pcCU->getSDCFlag( uiAbsPartIdx ) && !pcCU->isIntra( uiAbsPartIdx ) )
@@ -723,5 +831,9 @@
   }
   
+#if H_3D_DISABLE_CHROMA
+  xEncodeTransform( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, bCodeDQP, rd);
+#else
   xEncodeTransform( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, bCodeDQP);
+#endif
 }
 
@@ -792,9 +904,20 @@
 Void TEncEntropy::encodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
 {
-  if( bRD )
-  {
-    uiAbsPartIdx = 0;
-  }
-  m_pcEntropyCoderIf->codeDBBPFlag( pcCU, uiAbsPartIdx );
+#if HHI_MOVE_SYN_K0052
+  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && 
+    ( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || 
+      pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && 
+      pcCU->getWidth(uiAbsPartIdx) > 8 && 
+      pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
+  {
+#endif
+    if( bRD )
+    {
+      uiAbsPartIdx = 0;
+    }
+    m_pcEntropyCoderIf->codeDBBPFlag( pcCU, uiAbsPartIdx );
+#if HHI_MOVE_SYN_K0052
+  }
+#endif
 }
 #endif
Index: /trunk/source/Lib/TLibEncoder/TEncEntropy.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncEntropy.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncEntropy.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -82,6 +82,10 @@
   virtual Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
   virtual Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  virtual Void codeDIS          ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
+#else
 #if H_3D_SINGLE_DEPTH
   virtual Void codeSingleDepthMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
+#endif
 #endif
   virtual Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
@@ -147,5 +151,14 @@
   Void    resetBits                 ()                        { m_pcEntropyCoderIf->resetBits();      }
   Void    resetCoeffCost            ()                        { m_pcEntropyCoderIf->resetCoeffCost(); }
-  UInt    getNumberOfWrittenBits    ()                        { return m_pcEntropyCoderIf->getNumberOfWrittenBits(); }
+  UInt    getNumberOfWrittenBits    ()
+  {
+#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC
+    Bool oldJustDoIt = g_bJustDoIt;
+    g_bJustDoIt = true; 
+    writeToTraceFile( "NumberOfWrittenBits", m_pcEntropyCoderIf->getNumberOfWrittenBits(), g_encNumberOfWrittenBits );
+    g_bJustDoIt = oldJustDoIt; 
+#endif
+    return m_pcEntropyCoderIf->getNumberOfWrittenBits(); 
+  }
   UInt    getCoeffCost              ()                        { return  m_pcEntropyCoderIf->getCoeffCost(); }
   Void    resetEntropy              ()                        { m_pcEntropyCoderIf->resetEntropy();  }
@@ -166,6 +179,10 @@
   Void encodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
   Void encodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void encodeDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD=false );
+#else
 #if H_3D_SINGLE_DEPTH
   Void encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD=false );
+#endif
 #endif
   Void encodePUWise       ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
@@ -209,7 +226,13 @@
 
 private:
+#if H_3D_DISABLE_CHROMA
+  Void xEncodeTransform        ( TComDataCU* pcCU,UInt offsetLumaOffset, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP, Bool rd );
+public:
+  Void encodeCoeff             ( TComDataCU* pcCU,                 UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP, Bool rd );
+#else
   Void xEncodeTransform        ( TComDataCU* pcCU,UInt offsetLumaOffset, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP );
 public:
   Void encodeCoeff             ( TComDataCU* pcCU,                 UInt uiAbsPartIdx, UInt uiDepth, UInt uiWidth, UInt uiHeight, Bool& bCodeDQP );
+#endif
   
   Void encodeCoeffNxN         ( TComDataCU* pcCU, TCoeff* pcCoeff, UInt uiAbsPartIdx, UInt uiTrWidth, UInt uiTrHeight, UInt uiDepth, TextType eType );
Index: /trunk/source/Lib/TLibEncoder/TEncGOP.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncGOP.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncGOP.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -885,5 +885,12 @@
     Int numDirectRefLayers = vps    ->getNumDirectRefLayers( getLayerId() ); 
 #endif
+#if HHI_INTER_COMP_PRED_K0052
+    pcSlice->setIvPicLists( m_ivPicLists );         
+
+    Int gopNum = (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid;
+    GOPEntry gopEntry      = m_pcCfg->getGOPEntry( gopNum );     
+#else
     GOPEntry gopEntry      = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid );     
+#endif
     
     Bool interLayerPredLayerIdcPresentFlag = false; 
@@ -922,4 +929,39 @@
     assert( pcSlice->getNumActiveRefLayerPics() == gopEntry.m_numActiveRefLayerPics ); 
     
+#if HHI_INTER_COMP_PRED_K0052
+#if H_3D
+    if ( m_pcEncTop->decProcAnnexI() )
+    {    
+      pcSlice->deriveInCmpPredAndCpAvailFlag(); 
+      if ( pcSlice->getInCmpPredAvailFlag() )
+      {      
+        pcSlice->setInCompPredFlag( gopEntry.m_interCompPredFlag ); 
+      }
+      else
+      {
+        if (gopEntry.m_interCompPredFlag )
+        {
+          if ( gopNum == MAX_GOP)
+          {
+            printf( "\nError: FrameI_l%d cannot enable inter-component prediction.\n", pcSlice->getVPS()->getLayerIdInVps( getLayerId() ) );
+          }
+          else
+          {
+            printf( "\nError: Frame%d_l%d cannot enable inter-component prediction.\n", gopNum, pcSlice->getVPS()->getLayerIdInVps( getLayerId() ) );
+          }
+          
+          exit(EXIT_FAILURE);
+        }
+      }
+      pcSlice->init3dToolParameters(); 
+      pcSlice->checkInCompPredRefLayers(); 
+    }
+    
+
+    // This needs to be done after initilizaiton of 3D tool parameters.
+    pcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( )   ) ? 1 : 0 ));
+#endif
+#endif
+
     pcSlice->createInterLayerReferencePictureSet( m_ivPicLists, m_refPicSetInterLayer0, m_refPicSetInterLayer1 ); 
     pcSlice->setNumRefIdx(REF_PIC_LIST_0,min(gopEntry.m_numRefPicsActive,( pcSlice->getRPS()->getNumberOfPictures() + (Int) m_refPicSetInterLayer0.size() + (Int) m_refPicSetInterLayer1.size()) ) );
@@ -968,4 +1010,5 @@
     }
 #endif
+#if !HHI_INTER_COMP_PRED_K0052
 #if H_3D
     pcSlice->setIvPicLists( m_ivPicLists );         
@@ -973,4 +1016,5 @@
     assert( !m_pcEncTop->getIsDepth() || ( pcSlice->getTexturePic() != 0 ) );
 #endif    
+#endif
 #endif
 #if H_3D_IC
@@ -1950,4 +1994,11 @@
               m_pcSAO->PCMLFDisableProcess(pcPic);
 
+#if H_3D_DISABLE_CHROMA
+            if (pcSlice->getIsDepth())
+            {
+              sliceEnabled[SAO_Cb] = false; 
+              sliceEnabled[SAO_Cr] = false; 
+            }
+#endif
             //assign SAO slice header
             for(Int s=0; s< uiNumSlices; s++)
Index: /trunk/source/Lib/TLibEncoder/TEncGOP.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncGOP.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncGOP.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncPic.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncPic.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncPic.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncPic.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncPic.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncPic.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncPreanalyzer.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncPreanalyzer.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncPreanalyzer.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncPreanalyzer.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncPreanalyzer.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncPreanalyzer.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncRateCtrl.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncRateCtrl.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncRateCtrl.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncRateCtrl.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncRateCtrl.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncRateCtrl.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2014, ITU/ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2014, ITU/ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncSbac.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -58,7 +58,12 @@
 , m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
 , m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+, m_cCUDISFlagSCModel         ( 1,             1,               NUM_DIS_FLAG_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
+, m_cCUDISTypeSCModel         ( 1,             1,               NUM_DIS_TYPE_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
+#else
 #if H_3D_SINGLE_DEPTH
 , m_cCUSingleDepthFlagSCModel        ( 1,             1,               NUM_SINGLEDEPTH_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
 , m_cSingleDepthValueSCModel         ( 1,             1,               NUM_SINGLE_DEPTH_VALUE_DATA_CTX      , m_contextModels + m_numContextModels, m_numContextModels)
+#endif
 #endif
 , m_cCUMergeFlagExtSCModel    ( 1,             1,               NUM_MERGE_FLAG_EXT_CTX        , m_contextModels + m_numContextModels, m_numContextModels)
@@ -134,7 +139,12 @@
   
   m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
+  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
+#else
 #if H_3D_SINGLE_DEPTH
   m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
   m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
+#endif
 #endif
   m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT);
@@ -214,7 +224,12 @@
       curCost  = m_cCUSplitFlagSCModel.calcCost       ( curSliceType, qp, (UChar*)INIT_SPLIT_FLAG );
       curCost += m_cCUSkipFlagSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_SKIP_FLAG );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      curCost += m_cCUDISFlagSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_DIS_FLAG );
+      curCost += m_cCUDISTypeSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_DIS_TYPE );
+#else
 #if H_3D_SINGLE_DEPTH
       curCost += m_cCUSingleDepthFlagSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_SINGLEDEPTH_FLAG );
       curCost += m_cSingleDepthValueSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
+#endif
 #endif
       curCost += m_cCUMergeFlagExtSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT);
@@ -287,8 +302,13 @@
   
   m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
+  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
+#else
 #if H_3D_SINGLE_DEPTH
   m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
   m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
-#endif  
+#endif
+#endif
   m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT);
   m_cCUMergeIdxExtSCModel.initBuffer     ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT);
@@ -446,4 +466,37 @@
   m_pcBinIf->encodeBinsEP( bins, numBins );
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TEncSbac::codeDIS( TComDataCU* pcCU, UInt uiAbsPartIdx )
+{
+  UInt uiSymbol = pcCU->getDISFlag(uiAbsPartIdx ) ? 1 : 0;
+  m_pcBinIf->encodeBin( uiSymbol, m_cCUDISFlagSCModel.get( 0, 0, 0 ) );
+  if(uiSymbol)
+  {
+    UInt uiUnaryIdx = (UInt) pcCU->getDISType(uiAbsPartIdx);
+    UInt uiNumCand  = 4;
+
+    if ( uiNumCand > 1 )
+    {
+      for( UInt ui = 0; ui < uiNumCand - 1; ++ui )
+      {
+        const UInt uiSymbol2 = ui == uiUnaryIdx ? 0 : 1;
+        if ( ui == 0 )
+        {
+          m_pcBinIf->encodeBin( uiSymbol2, m_cCUDISTypeSCModel.get( 0, 0, 0 ) );
+        }
+        else
+        {
+          m_pcBinIf->encodeBinEP( uiSymbol2 );
+        }
+        if( uiSymbol2 == 0 )
+        {
+          break;
+        }
+      }
+    }
+  }
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TEncSbac::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
@@ -477,4 +530,6 @@
 }
 #endif
+#endif
+
 /** Coding of coeff_abs_level_minus3
  * \param uiSymbol value of coeff_abs_level_minus3
@@ -1040,5 +1095,8 @@
   DTRACE_CABAC_V( uiCtx )
   DTRACE_CABAC_T( "\n" )
-#endif
+#else
+  DTRACE_TU("split_transform_flag", uiSymbol )
+#endif
+
 }
 
@@ -1371,4 +1429,17 @@
   DTRACE_CABAC_V( uiAbsPartIdx )
   DTRACE_CABAC_T( "\n" )
+#else
+  if ( eType == TEXT_CHROMA_U )
+  {
+    DTRACE_TU("cbf_cb", uiCbf )
+  }
+  else if ( eType == TEXT_CHROMA_V )
+  {
+    DTRACE_TU("cbf_cr", uiCbf )
+  }
+  else
+  {
+    DTRACE_TU("cbf_luma", uiCbf )
+  }
 #endif
 }
@@ -1446,4 +1517,8 @@
     }
 
+#if H_3D_DISABLE_CHROMA
+    if( pcCU->getSlice()->getSPS()->getChromaFormatIdc() != 0 )
+    {    
+#endif
     piPCMSample = pcCU->getPCMSampleCb() + uiChromaOffset;
     uiWidth = pcCU->getWidth(uiAbsPartIdx)/2;
@@ -1477,4 +1552,7 @@
       piPCMSample += uiWidth;
     }
+#if H_3D_DISABLE_CHROMA
+    }
+#endif
     m_pcBinIf->resetBac();
   }
@@ -2289,5 +2367,5 @@
   UInt uiSymbol = pcCU->getSDCFlag( uiAbsPartIdx ) ? 1 : 0;
   UInt uiCtxSDCFlag = pcCU->getCtxSDCFlag( uiAbsPartIdx );
-
+  DTRACE_CU("dc_only_flag", uiSymbol)
   m_pcBinIf->encodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, uiCtxSDCFlag ) );
 }
@@ -2305,4 +2383,5 @@
   UInt uiSymbol = pcCU->getDBBPFlag( uiAbsPartIdx ) ? 1 : 0;
   m_pcBinIf->encodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) );
+  DTRACE_CU("dbbp_flag", uiSymbol)
 }
 #endif
Index: /trunk/source/Lib/TLibEncoder/TEncSbac.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSbac.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSbac.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -146,6 +146,10 @@
   Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
   Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void codeDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx );
+#else
 #if H_3D_SINGLE_DEPTH
   Void codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx );
+#endif
 #endif
   Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
@@ -215,7 +219,12 @@
   ContextModel3DBuffer m_cCUSplitFlagSCModel;
   ContextModel3DBuffer m_cCUSkipFlagSCModel;
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  ContextModel3DBuffer m_cCUDISFlagSCModel;
+  ContextModel3DBuffer m_cCUDISTypeSCModel;
+#else
 #if H_3D_SINGLE_DEPTH
   ContextModel3DBuffer m_cCUSingleDepthFlagSCModel;
   ContextModel3DBuffer m_cSingleDepthValueSCModel;
+#endif
 #endif
   ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
Index: /trunk/source/Lib/TLibEncoder/TEncSearch.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -915,10 +915,21 @@
         }
         m_pcEntropyCoder->encodeSkipFlag( pcCU, 0, true );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+        m_pcEntropyCoder->encodeDIS(pcCU, 0, true );
+        if(!pcCU->getDISFlag(uiAbsPartIdx))
+#else
 #if H_3D_SINGLE_DEPTH
         m_pcEntropyCoder->encodeSingleDepthMode(pcCU, 0, true );
         if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
 #endif
-        m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
-      }
+#endif
+          m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
+      }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      else
+      {
+        m_pcEntropyCoder->encodeDIS(pcCU, 0, true );
+      }
+#else
 #if H_3D_SINGLE_DEPTH
       else
@@ -926,75 +937,118 @@
         m_pcEntropyCoder->encodeSingleDepthMode(pcCU, 0, true );
       }
-#endif      
+#endif
+#endif
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      if(!pcCU->getDISFlag(uiAbsPartIdx))
+      {
+#else
 #if H_3D_SINGLE_DEPTH
       if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
       {
 #endif
-      m_pcEntropyCoder  ->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
-
+#endif
+        m_pcEntropyCoder  ->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
+
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
-      m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
-#endif
-      if (pcCU->isIntra(0) && pcCU->getPartitionSize(0) == SIZE_2Nx2N )
-      {
-        m_pcEntropyCoder->encodeIPCMInfo( pcCU, 0, true );
-
-        if ( pcCU->getIPCMFlag (0))
-        {
-          return;
-        }
-      }
+        m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+#endif
+#endif
+        if (pcCU->isIntra(0) && pcCU->getPartitionSize(0) == SIZE_2Nx2N )
+        {
+          m_pcEntropyCoder->encodeIPCMInfo( pcCU, 0, true );
+          if ( pcCU->getIPCMFlag (0))
+          {
+#if HHI_MOVE_SYN_K0052
+#if H_3D_DIM_SDC
+            m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+#endif
+#endif
+            return;
+          }
+        }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+      }
+#else
 #if H_3D_SINGLE_DEPTH
-    }
-#endif
-    }
+      }
+#endif
+#endif
+    }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    if(!pcCU->getDISFlag(uiAbsPartIdx))
+    {
+#else
 #if H_3D_SINGLE_DEPTH
-      if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
-      {
-#endif
-    // luma prediction mode
-    if( pcCU->getPartitionSize(0) == SIZE_2Nx2N )
-    {
-      if( uiAbsPartIdx == 0 )
-      {
-        m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, 0 );
+    if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
+    {
+#endif
+#endif
+      // luma prediction mode
+      if( pcCU->getPartitionSize(0) == SIZE_2Nx2N )
+      {
+        if( uiAbsPartIdx == 0 )
+        {
+          m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, 0 );
 #if H_3D_DIM_SDC
-        if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && getDimType( pcCU->getLumaIntraDir( 0 ) ) < DIM_NUM_TYPE ) 
-        {
-          m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 );
-        }
-#endif
-      }
-    }
-    else
-    {
-      UInt uiQNumParts = pcCU->getTotalNumPart() >> 2;
-      if( uiTrDepth == 0 )
-      {
-        assert( uiAbsPartIdx == 0 );
-        for( UInt uiPart = 0; uiPart < 4; uiPart++ )
-        {
-          m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiPart * uiQNumParts );
+#if HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
-          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiPart * uiQNumParts ) ) && getDimType( pcCU->getLumaIntraDir( uiPart * uiQNumParts ) ) < DIM_NUM_TYPE ) 
+          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+#endif
+#endif
+          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && getDimType( pcCU->getLumaIntraDir( 0 ) ) < DIM_NUM_TYPE ) 
           {
-            m_pcEntropyCoder->encodeDeltaDC( pcCU, uiPart * uiQNumParts );
+            m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 );
           }
 #endif
         }
       }
-      else if( ( uiAbsPartIdx % uiQNumParts ) == 0 )
-      {
-        m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiAbsPartIdx );
+      else
+      {
+        UInt uiQNumParts = pcCU->getTotalNumPart() >> 2;
+        if( uiTrDepth == 0 )
+        {
+          assert( uiAbsPartIdx == 0 );
+          for( UInt uiPart = 0; uiPart < 4; uiPart++ )
+          {
+            m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiPart * uiQNumParts );
+
+#if HHI_MOVE_SYN_K0052
+          }
+          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+          for( UInt uiPart = 0; uiPart < 4; uiPart++ )
+          {
+#endif
 #if H_3D_DIM_SDC
-        if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiAbsPartIdx ) ) && getDimType( pcCU->getLumaIntraDir( uiAbsPartIdx ) ) < DIM_NUM_TYPE ) 
-        {
-          m_pcEntropyCoder->encodeDeltaDC( pcCU, uiAbsPartIdx );
-      }
-#endif
-    }
-  }
+            if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiPart * uiQNumParts ) ) && getDimType( pcCU->getLumaIntraDir( uiPart * uiQNumParts ) ) < DIM_NUM_TYPE ) 
+            {
+              m_pcEntropyCoder->encodeDeltaDC( pcCU, uiPart * uiQNumParts );
+            }
+#endif
+          }
+        }
+        else if( ( uiAbsPartIdx % uiQNumParts ) == 0 )
+        {
+          m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiAbsPartIdx );
+#if H_3D_DIM_SDC
+#if HHI_MOVE_SYN_K0052
+          if( uiAbsPartIdx == 0 )  
+          {
+            m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+          }
+#endif
+          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiAbsPartIdx ) ) && getDimType( pcCU->getLumaIntraDir( uiAbsPartIdx ) ) < DIM_NUM_TYPE ) 
+          {
+            m_pcEntropyCoder->encodeDeltaDC( pcCU, uiAbsPartIdx );
+          }
+#endif
+        }
+      }
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    }
+#else
 #if H_3D_SINGLE_DEPTH
     }
+#endif
 #endif
   }
@@ -1859,4 +1913,98 @@
   dRDCost  += dSingleCost;
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TEncSearch::xIntraCodingDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, UInt uiPredMode )
+{
+  UInt    uiWidth           = pcCU     ->getWidth   ( 0 );
+  UInt    uiHeight          = pcCU     ->getHeight  ( 0 );
+  UInt    uiStride          = pcOrgYuv ->getStride  ();
+  Pel*    piOrg             = pcOrgYuv ->getLumaAddr( uiAbsPartIdx );
+  Pel*    piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
+
+  AOF( uiWidth == uiHeight );
+  AOF( uiAbsPartIdx == 0 );
+  pcCU->setDISTypeSubParts(uiPredMode, uiAbsPartIdx, 0, pcCU->getDepth(0));  
+  //===== reconstruction =====
+
+  Bool bAboveAvail = false;
+  Bool bLeftAvail  = false;
+  pcCU->getPattern()->initPattern   ( pcCU, 0, 0 );
+  pcCU->getPattern()->initAdiPattern( pcCU, 0, 0, m_piYuvExt, m_iYuvExtStride, m_iYuvExtHeight, bAboveAvail, bLeftAvail );
+
+  if ( uiPredMode == 0 )
+  {
+    predIntraLumaAng( pcCU->getPattern(), VER_IDX, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
+  }
+  else if ( uiPredMode == 1 )
+  {
+    predIntraLumaAng( pcCU->getPattern(), HOR_IDX, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
+  }
+  else if ( uiPredMode == 2 )
+  {
+    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
+    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 0 );
+    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
+    {
+      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
+      {
+        piPred[ uiX ] = pSingleDepth;
+      }
+      piPred+= uiStride;
+    }
+  }
+  else if ( uiPredMode == 3 )
+  {
+    Pel pSingleDepth = 1 << ( g_bitDepthY - 1 );
+    pcCU->getNeighDepth ( 0, 0, &pSingleDepth, 1 );
+    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
+    {
+      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
+      {
+        piPred[ uiX ] = pSingleDepth;
+      }
+      piPred+= uiStride;
+    }
+  }
+
+  // clear UV
+  UInt  uiStrideC     = pcPredYuv->getCStride();
+  Pel   *pRecCb       = pcPredYuv->getCbAddr();
+  Pel   *pRecCr       = pcPredYuv->getCrAddr();
+
+  for (Int y=0; y<uiHeight/2; y++)
+  {
+    for (Int x=0; x<uiWidth/2; x++)
+    {
+      pRecCb[x] = 1<<(g_bitDepthC-1);
+      pRecCr[x] = 1<<(g_bitDepthC-1);
+    }
+
+    pRecCb += uiStrideC;
+    pRecCr += uiStrideC;
+  }
+
+  piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
+  //===== determine distortion =====
+#if H_3D_VSO
+  if ( m_pcRdCost->getUseVSO() )
+    ruiDist = m_pcRdCost->getDistPartVSO  ( pcCU, uiAbsPartIdx, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
+  else
+#endif
+    ruiDist = m_pcRdCost->getDistPart(g_bitDepthY, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight );
+
+  //===== determine rate and r-d cost =====
+  m_pcEntropyCoder->resetBits();
+  m_pcEntropyCoder->encodeDIS( pcCU, 0, true );
+  UInt uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
+
+#if H_3D_VSO
+  if ( m_pcRdCost->getUseLambdaScaleVSO())
+    dRDCost = m_pcRdCost->calcRdCostVSO( uiBits, ruiDist );
+  else
+#endif
+    dRDCost = m_pcRdCost->calcRdCost( uiBits, ruiDist );
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void TEncSearch::xIntraCodingSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Int iTestDepthIdx, Pel *DepthNeighbor )
@@ -1921,4 +2069,6 @@
 }
 #endif
+#endif
+
 #if H_3D_DIM_SDC
 Void TEncSearch::xIntraCodingSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bZeroResidual, Int iSDCDeltaResi  )
@@ -2168,10 +2318,20 @@
 
   m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth( 0 ), true );
+#if !HHI_MOVE_SYN_K0052
   m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+#endif
 
   // encode pred direction + DC residual data
   m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
+#if HHI_MOVE_SYN_K0052
+  m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+#endif
+
   Bool bDummy = false;
+#if H_3D_DISABLE_CHROMA
+  m_pcEntropyCoder->encodeCoeff( pcCU, 0, pcCU->getDepth( 0 ), uiWidth, uiHeight, bDummy, true );
+#else
   m_pcEntropyCoder->encodeCoeff( pcCU, 0, pcCU->getDepth( 0 ), uiWidth, uiHeight, bDummy );
+#endif
   UInt uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
 
@@ -2861,4 +3021,65 @@
   pcCU->setChromIntraDirSubParts( uiBestMode, 0, pcCU->getDepth( 0 ) );
 }
+
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+Void TEncSearch::estIntraPredDIS( TComDataCU* pcCU, 
+                                  TComYuv*    pcOrgYuv, 
+                                  TComYuv*    pcPredYuv, 
+                                  TComYuv*    pcResiYuv, 
+                                  TComYuv*    pcRecoYuv,
+                                  UInt&       ruiDistC,
+                                  Bool        bLumaOnly )
+{
+  UInt    uiDepth        = pcCU->getDepth(0);
+  UInt    uiWidth        = pcCU->getWidth (0);
+  UInt    uiHeight       = pcCU->getHeight(0);
+
+
+  Pel* piOrg         = pcOrgYuv ->getLumaAddr( 0, uiWidth );
+  UInt uiStride      = pcPredYuv->getStride();
+
+  Dist   uiDist = 0;
+  Double dCost   = 0.0;
+  Dist    uiBestDist = 0;
+  Double  dBestCost   = MAX_DOUBLE;
+  UInt     uiBestDISType = 0;
+
+  for( UInt uiPredMode = 0; uiPredMode < 4 ; uiPredMode++ )
+  {
+    // set context models
+    m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST] );
+
+    // determine residual for partition
+    uiDist = 0;
+    dCost   = 0.0;
+#if H_3D_VSO // M36
+    if( m_pcRdCost->getUseRenModel() )
+    {
+      m_pcRdCost->setRenModelData( pcCU, 0, piOrg, uiStride, uiWidth, uiHeight );
+    }
+#endif
+    xIntraCodingDIS(pcCU, 0, pcOrgYuv, pcPredYuv, uiDist, dCost, uiPredMode);
+    // check r-d cost
+    if( dCost < dBestCost )
+    {
+      uiBestDist = uiDist;
+      dBestCost   = dCost;
+      uiBestDISType = pcCU->getDISType(0);
+      // copy reconstruction
+      pcPredYuv->copyPartToPartYuv(pcRecoYuv, 0, uiWidth, uiHeight);
+    }
+  } 
+
+
+  pcCU->setDISTypeSubParts(uiBestDISType, 0, 0, uiDepth);  
+  assert(uiBestDISType >= 0);
+
+  //===== reset context models =====
+  m_pcRDGoOnSbacCoder->load(m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST]);
+
+  //===== set distortion (rate and r-d costs are determined later) =====
+  pcCU->getTotalDistortion() = uiBestDist;
+}
+#else
 #if H_3D_SINGLE_DEPTH
 Void 
@@ -2950,4 +3171,6 @@
 
 #endif 
+#endif
+
 Void 
 TEncSearch::estIntraPredQT( TComDataCU* pcCU, 
@@ -5311,6 +5534,19 @@
   TComMv      cMvPred = *pcMvPred;
   
+#if SONY_MV_V_CONST_C0078
+  Bool bMv_VRng_Restricted = false;
+  if( m_pcEncCfg->getUseDisparitySearchRangeRestriction()
+       &&
+      pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->getPOC() == pcCU->getSlice()->getPOC()
+    )
+  {
+      bMv_VRng_Restricted = true;
+  }
+  if ( bBi )  xSetSearchRange   ( pcCU, rcMv   , iSrchRng, cMvSrchRngLT, cMvSrchRngRB, bMv_VRng_Restricted, m_pcEncCfg->getVerticalDisparitySearchRange() );
+  else        xSetSearchRange   ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB, bMv_VRng_Restricted, m_pcEncCfg->getVerticalDisparitySearchRange() );
+#else
   if ( bBi )  xSetSearchRange   ( pcCU, rcMv   , iSrchRng, cMvSrchRngLT, cMvSrchRngRB );
   else        xSetSearchRange   ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB );
+#endif
   
   m_pcRdCost->getMotionCost ( 1, 0 );
@@ -5365,5 +5601,9 @@
 
 
+#if SONY_MV_V_CONST_C0078
+Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB, Bool bMv_VRng_Restricted, Int iVerDispSrchRng )
+#else
 Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB )
+#endif
 {
   Int  iMvShift = 2;
@@ -5380,4 +5620,14 @@
   rcMvSrchRngRB.setHor( cTmpMvPred.getHor() + (iSrchRng << iMvShift) );
   rcMvSrchRngRB.setVer( cTmpMvPred.getVer() + (iSrchRng << iMvShift) );
+  
+#if SONY_MV_V_CONST_C0078
+  if ( bMv_VRng_Restricted ) {
+    Int iRestrictMvVrange = ( iVerDispSrchRng - 1 ) << iMvShift ; // -1 to consider subpel search
+    if ( rcMvSrchRngRB.getVer() >= iRestrictMvVrange  ){
+      rcMvSrchRngRB.setVer( iRestrictMvVrange ); //only positive side is restricted
+    }
+  }
+#endif
+
   pcCU->clipMv        ( rcMvSrchRngLT );
   pcCU->clipMv        ( rcMvSrchRngRB );
@@ -7119,5 +7369,9 @@
     const UInt uiQTTempAccessLayer = pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() - uiLog2TrSize;
 
+#if 0 //H_3D_DISABLE_CHROMA
+    Bool  bCodeChroma   = !pcCU->getSlice()->getIsDepth();
+#else
     Bool  bCodeChroma   = true;
+#endif
     UInt  uiTrModeC     = uiTrMode;
     UInt  uiLog2TrSizeC = uiLog2TrSize-1;
@@ -7261,21 +7515,39 @@
     }
     m_pcEntropyCoder->encodeSkipFlag ( pcCU, 0, true );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+    m_pcEntropyCoder->encodeDIS ( pcCU, 0, true );
+#else
 #if H_3D_SINGLE_DEPTH
     m_pcEntropyCoder->encodeSingleDepthMode ( pcCU, 0, true );
 #endif
+#endif
     m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
     m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
+#if !HHI_MOVE_SYN_K0052
 #if H_3D_DIM_SDC
     m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
 #endif
+#endif 
     m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
+#if HHI_MOVE_SYN_K0052
+#if H_3D_DIM_SDC
+    m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
+#endif
+#endif
 #if H_3D_ARP
-    m_pcEntropyCoder->encodeARPW( pcCU , 0 );
+    m_pcEntropyCoder->encodeARPW( pcCU , 0  );
 #endif
 #if H_3D_IC
     m_pcEntropyCoder->encodeICFlag( pcCU, 0, true );
 #endif
+#if HHI_MOVE_SYN_K0052
+    m_pcEntropyCoder->encodeDBBPFlag( pcCU, 0, true );
+#endif
     Bool bDummy = false;
+#if H_3D_DISABLE_CHROMA
+    m_pcEntropyCoder->encodeCoeff   ( pcCU, 0, pcCU->getDepth(0), pcCU->getWidth(0), pcCU->getHeight(0), bDummy, true );
+#else
     m_pcEntropyCoder->encodeCoeff   ( pcCU, 0, pcCU->getDepth(0), pcCU->getWidth(0), pcCU->getHeight(0), bDummy );
+#endif
     
     ruiBits += m_pcEntropyCoder->getNumberOfWrittenBits();
Index: /trunk/source/Lib/TLibEncoder/TEncSearch.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSearch.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSearch.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -191,4 +191,13 @@
                                   TComYuv*    pcRecoYuv,
                                   UInt        uiPreCalcDistC );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void  estIntraPredDIS        ( TComDataCU* pcCU, 
+                                 TComYuv*    pcOrgYuv, 
+                                 TComYuv*    pcPredYuv, 
+                                 TComYuv*    pcResiYuv, 
+                                 TComYuv*    pcRecoYuv,
+                                 UInt&       ruiDistC,
+                                 Bool        bLumaOnly );
+#else
 #if H_3D_SINGLE_DEPTH
   Void  estIntraPredSingleDepth  ( TComDataCU* pcCU, 
@@ -199,5 +208,6 @@
                                   UInt&       ruiDistC,
                                   Bool        bLumaOnly );
-#endif    
+#endif
+#endif
   
   /// encoder estimation - inter prediction (non-skip)
@@ -354,6 +364,10 @@
                                     UInt         uiAbsPartIdx,
                                     UInt         stateU0V1Both2 );
+#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
+  Void xIntraCodingDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, UInt uiPredMode );
+#else
 #if H_3D_SINGLE_DEPTH
   Void xIntraCodingSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Int iTestDepthIdx, Pel * DepthNeighbor );
+#endif
 #endif
 #if H_3D_DIM
@@ -466,4 +480,13 @@
                                     UInt&         ruiSAD );
   
+#if SONY_MV_V_CONST_C0078
+  Void xSetSearchRange           (  TComDataCU* pcCU, 
+                                    TComMv& cMvPred, 
+                                    Int iSrchRng, 
+                                    TComMv& rcMvSrchRngLT, 
+                                    TComMv& rcMvSrchRngRB, 
+                                    Bool bMv_VRng_Restricted, 
+                                    Int iVerDispSrchRng );
+#else
   Void xSetSearchRange            ( TComDataCU*   pcCU,
                                     TComMv&       cMvPred,
@@ -471,4 +494,5 @@
                                     TComMv&       rcMvSrchRngLT,
                                     TComMv&       rcMvSrchRngRB );
+#endif
   
   Void xPatternSearchFast         ( TComDataCU*   pcCU,
Index: /trunk/source/Lib/TLibEncoder/TEncSlice.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSlice.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSlice.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -215,6 +215,8 @@
   rpcSlice->setPicOutputFlag( true );
   rpcSlice->setPOC( pocCurr );
+#if !HHI_INTER_COMP_PRED_K0052
 #if H_3D
-  rpcSlice->init3dToolParameters(); 
+    rpcSlice->init3dToolParameters(); 
+#endif
 #endif
 #if H_3D_IC
@@ -610,8 +612,14 @@
   rpcSlice->setSliceSegmentMode     ( m_pcCfg->getSliceSegmentMode()     );
   rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() );
+#if !HHI_INTER_COMP_PRED_K0052
 #if H_3D_IV_MERGE
   rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) || rpcSlice->getViewSynthesisPredFlag( )   ) ? 1 : 0 ));
 #else
   rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
+#endif
+#else
+#if !H_3D
+  rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
+#endif
 #endif
   xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() );
Index: /trunk/source/Lib/TLibEncoder/TEncSlice.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncSlice.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncSlice.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/TEncTop.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncTop.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
@@ -91,4 +91,7 @@
   m_aICEnableNum = NULL;
 #endif
+#if H_3D_ANNEX_SELECTION_FIX
+  m_cCavlcCoder.setEncTop(this); 
+#endif
 }
 
@@ -364,4 +367,5 @@
   }
 #endif
+
   // initialize processing unit classes
   m_cGOPEncoder.  init( this );
@@ -413,5 +417,9 @@
 #endif
 #if H_3D
+#if HHI_CAM_PARA_K0052
+  pcPicCurr->setScaleOffset( m_cameraParameters->getCodedScale(), m_cameraParameters->getCodedOffset() );
+#else
   pcPicCurr->setScaleOffset( m_aaiCodedScale, m_aaiCodedOffset );
+#endif
 #endif
 }
@@ -760,5 +768,11 @@
     m_cSPS.setSpsInferScalingListFlag   ( true ); 
     m_cSPS.setSpsScalingListRefLayerId( m_cVPS->getIdRefLayer( getLayerId(), 0 ) ); 
-  }
+#if SONY_MV_V_CONST_C0078
+    if ( m_bUseDisparitySearchRangeRestriction )
+    {
+      m_cSPS.setInterViewMvVertConstraintFlag ( true ) ;
+    }
+#endif
+  }  
   m_cSPS.setSpsExtensionPresentFlag       ( true ); 
   m_cSPS.setSpsMultilayerExtensionFlag    ( true ); 
@@ -773,4 +787,7 @@
   m_cSPS.setMaxCUHeight   ( g_uiMaxCUHeight     );
   m_cSPS.setMaxCUDepth    ( g_uiMaxCUDepth      );
+#if H_3D_DISABLE_CHROMA
+  m_cSPS.setChromaFormatIdc( getIsDepth() ? CHROMA_400 : CHROMA_420 ); 
+#endif
 
   Int minCUSize = m_cSPS.getMaxCUWidth() >> ( m_cSPS.getMaxCUDepth()-g_uiAddCUDepth );
Index: /trunk/source/Lib/TLibEncoder/TEncTop.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/TEncTop.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/TEncTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/WeightPredAnalysis.cpp
===================================================================
--- /trunk/source/Lib/TLibEncoder/WeightPredAnalysis.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/WeightPredAnalysis.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibEncoder/WeightPredAnalysis.h
===================================================================
--- /trunk/source/Lib/TLibEncoder/WeightPredAnalysis.h	(revision 1178)
+++ /trunk/source/Lib/TLibEncoder/WeightPredAnalysis.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibExtractor/TExtrTop.cpp
===================================================================
--- /trunk/source/Lib/TLibExtractor/TExtrTop.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibExtractor/TExtrTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibExtractor/TExtrTop.h
===================================================================
--- /trunk/source/Lib/TLibExtractor/TExtrTop.h	(revision 1178)
+++ /trunk/source/Lib/TLibExtractor/TExtrTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenFilter.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenFilter.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenFilter.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenFilter.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenFilter.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenFilter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenImage.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenImage.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenImage.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenImage.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenImage.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenImage.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenImagePlane.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenImagePlane.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenImagePlane.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenImagePlane.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenImagePlane.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenImagePlane.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenInterpFilter.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenInterpFilter.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenInterpFilter.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenInterpFilter.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenInterpFilter.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenInterpFilter.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenModSetupStrParser.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenModel.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenModel.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenModel.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenModel.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenModel.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenModel.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenSingleModel.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenSingleModel.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenSingleModel.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenSingleModel.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenSingleModel.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenSingleModel.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenTop.cpp
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenTop.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenTop.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibRenderer/TRenTop.h
===================================================================
--- /trunk/source/Lib/TLibRenderer/TRenTop.h	(revision 1178)
+++ /trunk/source/Lib/TLibRenderer/TRenTop.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.
  *
- * Copyright (c) 2010-2011, ISO/IEC
+ * Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibVideoIO/TVideoIOYuv.cpp
===================================================================
--- /trunk/source/Lib/TLibVideoIO/TVideoIOYuv.cpp	(revision 1178)
+++ /trunk/source/Lib/TLibVideoIO/TVideoIOYuv.cpp	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/TLibVideoIO/TVideoIOYuv.h
===================================================================
--- /trunk/source/Lib/TLibVideoIO/TVideoIOYuv.h	(revision 1178)
+++ /trunk/source/Lib/TLibVideoIO/TVideoIOYuv.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/libmd5/MD5.h
===================================================================
--- /trunk/source/Lib/libmd5/MD5.h	(revision 1178)
+++ /trunk/source/Lib/libmd5/MD5.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
Index: /trunk/source/Lib/libmd5/libmd5.h
===================================================================
--- /trunk/source/Lib/libmd5/libmd5.h	(revision 1178)
+++ /trunk/source/Lib/libmd5/libmd5.h	(revision 1179)
@@ -4,5 +4,5 @@
  * granted under this license.  
  *
-* Copyright (c) 2010-2014, ITU/ISO/IEC
+* Copyright (c) 2010-2015, ITU/ISO/IEC
  * All rights reserved.
  *
