Index: /branches/HTM-DEV-0.3-dev1/HTM.xcodeproj/project.pbxproj
===================================================================
--- /branches/HTM-DEV-0.3-dev1/HTM.xcodeproj/project.pbxproj	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/HTM.xcodeproj/project.pbxproj	(revision 467)
@@ -25,82 +25,84 @@
 
 /* Begin PBXBuildFile section */
-		78C593B5158721A1004401C5 /* ContextModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5931D158720BB004401C5 /* ContextModel.cpp */; };
-		78C593B6158721A1004401C5 /* ContextModel3DBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5931F158720BB004401C5 /* ContextModel3DBuffer.cpp */; };
-		78C593B7158721A1004401C5 /* TComAdaptiveLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59324158720BB004401C5 /* TComAdaptiveLoopFilter.cpp */; };
-		78C593B8158721A1004401C5 /* TComBitStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59327158720BB004401C5 /* TComBitStream.cpp */; };
-		78C593B9158721A1004401C5 /* TComCABACTables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59329158720BB004401C5 /* TComCABACTables.cpp */; };
-		78C593BA158721A1004401C5 /* TComDataCU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5932B158720BB004401C5 /* TComDataCU.cpp */; };
-		78C593BB158721A1004401C5 /* TComDepthMapGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5932D158720BB004401C5 /* TComDepthMapGenerator.cpp */; };
-		78C593BC158721A1004401C5 /* TComInterpolationFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5932F158720BB004401C5 /* TComInterpolationFilter.cpp */; };
-		78C593BD158721A1004401C5 /* TComLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59332158720BB004401C5 /* TComLoopFilter.cpp */; };
-		78C593BE158721A1004401C5 /* TComMotionInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59334158720BB004401C5 /* TComMotionInfo.cpp */; };
-		78C593BF158721A1004401C5 /* TComPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59337158720BB004401C5 /* TComPattern.cpp */; };
-		78C593C0158721A1004401C5 /* TComPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59339158720BB004401C5 /* TComPic.cpp */; };
-		78C593C1158721A1004401C5 /* TComPicSym.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5933B158720BB004401C5 /* TComPicSym.cpp */; };
-		78C593C2158721A1004401C5 /* TComPicYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5933D158720BB004401C5 /* TComPicYuv.cpp */; };
-		78C593C3158721A1004401C5 /* TComPicYuvMD5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5933F158720BB004401C5 /* TComPicYuvMD5.cpp */; };
-		78C593C4158721A1004401C5 /* TComPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59340158720BB004401C5 /* TComPrediction.cpp */; };
-		78C593C5158721A1004401C5 /* TComRdCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59342158720BB004401C5 /* TComRdCost.cpp */; };
-		78C593C6158721A1004401C5 /* TComRdCostWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59344158720BB004401C5 /* TComRdCostWeightPrediction.cpp */; };
-		78C593C7158721A1004401C5 /* TComResidualGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59346158720BB004401C5 /* TComResidualGenerator.cpp */; };
-		78C593C8158721A1004401C5 /* TComRom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59348158720BB004401C5 /* TComRom.cpp */; };
-		78C593C9158721A1004401C5 /* TComSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5934A158720BB004401C5 /* TComSampleAdaptiveOffset.cpp */; };
-		78C593CA158721A1004401C5 /* TComSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5934C158720BB004401C5 /* TComSlice.cpp */; };
-		78C593CB158721A1004401C5 /* TComTrQuant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5934E158720BB004401C5 /* TComTrQuant.cpp */; };
-		78C593CC158721A1004401C5 /* TComWedgelet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59350158720BB004401C5 /* TComWedgelet.cpp */; };
-		78C593CD158721A1004401C5 /* TComWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59352158720BB004401C5 /* TComWeightPrediction.cpp */; };
-		78C593CE158721A1004401C5 /* TComYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59354158720BB004401C5 /* TComYuv.cpp */; };
-		78C593CF158721AD004401C5 /* program_options_lite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59316158720BB004401C5 /* program_options_lite.cpp */; };
-		78C593D0158721AD004401C5 /* TAppComCamPara.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59318158720BB004401C5 /* TAppComCamPara.cpp */; };
-		78C593D1158721BB004401C5 /* AnnexBread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59358158720BB004401C5 /* AnnexBread.cpp */; };
-		78C593D2158721BB004401C5 /* NALread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5935A158720BB004401C5 /* NALread.cpp */; };
-		78C593D3158721BB004401C5 /* SEIread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5935C158720BB004401C5 /* SEIread.cpp */; };
-		78C593D4158721BB004401C5 /* TDecBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5935F158720BB004401C5 /* TDecBinCoderCABAC.cpp */; };
-		78C593D5158721BB004401C5 /* TDecCAVLC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59361158720BB004401C5 /* TDecCAVLC.cpp */; };
-		78C593D6158721BB004401C5 /* TDecCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59363158720BB004401C5 /* TDecCu.cpp */; };
-		78C593D7158721BB004401C5 /* TDecEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59365158720BB004401C5 /* TDecEntropy.cpp */; };
-		78C593D8158721BB004401C5 /* TDecGop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59367158720BB004401C5 /* TDecGop.cpp */; };
-		78C593D9158721BB004401C5 /* TDecSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59369158720BB004401C5 /* TDecSbac.cpp */; };
-		78C593DA158721BB004401C5 /* TDecSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5936B158720BB004401C5 /* TDecSlice.cpp */; };
-		78C593DB158721BB004401C5 /* TDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5936D158720BB004401C5 /* TDecTop.cpp */; };
-		78C593DC158721CE004401C5 /* NALwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59371158720BB004401C5 /* NALwrite.cpp */; };
-		78C593DD158721CE004401C5 /* SEIwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59373158720BB004401C5 /* SEIwrite.cpp */; };
-		78C593DE158721CE004401C5 /* TEncAdaptiveLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59375158720BB004401C5 /* TEncAdaptiveLoopFilter.cpp */; };
-		78C593DF158721CE004401C5 /* TEncBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59379158720BB004401C5 /* TEncBinCoderCABAC.cpp */; };
-		78C593E0158721CE004401C5 /* TEncBinCoderCABACCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5937B158720BB004401C5 /* TEncBinCoderCABACCounter.cpp */; };
-		78C593E1158721CE004401C5 /* TEncCavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5937D158720BB004401C5 /* TEncCavlc.cpp */; };
-		78C593E2158721CE004401C5 /* TEncCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59380158720BB004401C5 /* TEncCu.cpp */; };
-		78C593E3158721CE004401C5 /* TEncEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59382158720BB004401C5 /* TEncEntropy.cpp */; };
-		78C593E4158721CE004401C5 /* TEncGOP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59384158720BB004401C5 /* TEncGOP.cpp */; };
-		78C593E5158721CE004401C5 /* TEncPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59386158720BB004401C5 /* TEncPic.cpp */; };
-		78C593E6158721CE004401C5 /* TEncPreanalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59388158720BB004401C5 /* TEncPreanalyzer.cpp */; };
-		78C593E7158721CE004401C5 /* TEncSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5938A158720BB004401C5 /* TEncSampleAdaptiveOffset.cpp */; };
-		78C593E8158721CE004401C5 /* TEncSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5938C158720BB004401C5 /* TEncSbac.cpp */; };
-		78C593E9158721CE004401C5 /* TEncSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5938E158720BB004401C5 /* TEncSearch.cpp */; };
-		78C593EA158721CE004401C5 /* TEncSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59390158720BB004401C5 /* TEncSlice.cpp */; };
-		78C593EB158721CE004401C5 /* TEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59392158720BB004401C5 /* TEncTop.cpp */; };
-		78C593EC158721CE004401C5 /* WeightPredAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59394158720BB004401C5 /* WeightPredAnalysis.cpp */; };
-		78C593ED158721D7004401C5 /* TExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59397158720BB004401C5 /* TExtrTop.cpp */; };
-		78C593EE158721E2004401C5 /* TRenFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5939A158720BB004401C5 /* TRenFilter.cpp */; };
-		78C593EF158721E2004401C5 /* TRenImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5939C158720BB004401C5 /* TRenImage.cpp */; };
-		78C593F0158721E2004401C5 /* TRenImagePlane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5939E158720BB004401C5 /* TRenImagePlane.cpp */; };
-		78C593F1158721E2004401C5 /* TRenInterpFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A0158720BB004401C5 /* TRenInterpFilter.cpp */; };
-		78C593F2158721E2004401C5 /* TRenModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A2158720BB004401C5 /* TRenModel.cpp */; };
-		78C593F3158721E2004401C5 /* TRenModSetupStrParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A4158720BB004401C5 /* TRenModSetupStrParser.cpp */; };
-		78C593F4158721E2004401C5 /* TRenSingleModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A6158720BB004401C5 /* TRenSingleModel.cpp */; };
-		78C593F5158721E2004401C5 /* TRenTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A8158720BB004401C5 /* TRenTop.cpp */; };
-		78C593F6158721E9004401C5 /* TVideoIOYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */; };
-		78C593F7158721F1004401C5 /* encmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592EF158720BB004401C5 /* encmain.cpp */; };
-		78C593F8158721F1004401C5 /* TAppEncCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F0158720BB004401C5 /* TAppEncCfg.cpp */; };
-		78C593F9158721F1004401C5 /* TAppEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F2158720BB004401C5 /* TAppEncTop.cpp */; };
-		78C593FA158721F6004401C5 /* decmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592E9158720BB004401C5 /* decmain.cpp */; };
-		78C593FB158721F6004401C5 /* TAppDecCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592EA158720BB004401C5 /* TAppDecCfg.cpp */; };
-		78C593FC158721F6004401C5 /* TAppDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592EC158720BB004401C5 /* TAppDecTop.cpp */; };
-		78C593FD158721FC004401C5 /* extrmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F5158720BB004401C5 /* extrmain.cpp */; };
-		78C593FE158721FC004401C5 /* TAppExtrCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */; };
-		78C593FF158721FC004401C5 /* TAppExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F8158720BB004401C5 /* TAppExtrTop.cpp */; };
-		78C5940015872201004401C5 /* RendererMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592FB158720BB004401C5 /* RendererMain.cpp */; };
-		78C5940115872201004401C5 /* TAppRendererCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */; };
-		78C5940215872201004401C5 /* TAppRendererTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592FE158720BB004401C5 /* TAppRendererTop.cpp */; };
+		78348EE31760D55800133029 /* ContextModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E511760D51300133029 /* ContextModel.cpp */; };
+		78348EE51760D55800133029 /* ContextModel3DBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E531760D51300133029 /* ContextModel3DBuffer.cpp */; };
+		78348EE91760D55800133029 /* SEI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E571760D51300133029 /* SEI.cpp */; };
+		78348EEC1760D55800133029 /* TComBitStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E5A1760D51300133029 /* TComBitStream.cpp */; };
+		78348EEE1760D55800133029 /* TComCABACTables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E5C1760D51300133029 /* TComCABACTables.cpp */; };
+		78348EF01760D55800133029 /* TComDataCU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E5E1760D51300133029 /* TComDataCU.cpp */; };
+		78348EF21760D55800133029 /* TComInterpolationFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E601760D51300133029 /* TComInterpolationFilter.cpp */; };
+		78348EF51760D55800133029 /* TComLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E631760D51300133029 /* TComLoopFilter.cpp */; };
+		78348EF71760D55800133029 /* TComMotionInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E651760D51300133029 /* TComMotionInfo.cpp */; };
+		78348EFA1760D55800133029 /* TComPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E681760D51300133029 /* TComPattern.cpp */; };
+		78348EFC1760D55800133029 /* TComPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E6A1760D51300133029 /* TComPic.cpp */; };
+		78348EFE1760D55800133029 /* TComPicSym.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E6C1760D51300133029 /* TComPicSym.cpp */; };
+		78348F001760D55800133029 /* TComPicYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E6E1760D51300133029 /* TComPicYuv.cpp */; };
+		78348F021760D55800133029 /* TComPicYuvMD5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E701760D51300133029 /* TComPicYuvMD5.cpp */; };
+		78348F031760D55800133029 /* TComPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E711760D51300133029 /* TComPrediction.cpp */; };
+		78348F051760D55800133029 /* TComRdCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E731760D51300133029 /* TComRdCost.cpp */; };
+		78348F071760D55800133029 /* TComRdCostWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E751760D51300133029 /* TComRdCostWeightPrediction.cpp */; };
+		78348F091760D55800133029 /* TComRom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E771760D51300133029 /* TComRom.cpp */; };
+		78348F0B1760D55800133029 /* TComSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E791760D51300133029 /* TComSampleAdaptiveOffset.cpp */; };
+		78348F0D1760D55800133029 /* TComSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E7B1760D51300133029 /* TComSlice.cpp */; };
+		78348F0F1760D55800133029 /* TComTrQuant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E7D1760D51300133029 /* TComTrQuant.cpp */; };
+		78348F111760D55800133029 /* TComWedgelet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E7F1760D51300133029 /* TComWedgelet.cpp */; };
+		78348F131760D55800133029 /* TComWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E811760D51300133029 /* TComWeightPrediction.cpp */; };
+		78348F151760D55800133029 /* TComYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E831760D51300133029 /* TComYuv.cpp */; };
+		78348F181760D57800133029 /* program_options_lite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E4A1760D51300133029 /* program_options_lite.cpp */; };
+		78348F1A1760D57800133029 /* TAppComCamPara.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E4C1760D51300133029 /* TAppComCamPara.cpp */; };
+		78348F1C1760D58100133029 /* AnnexBread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E871760D51300133029 /* AnnexBread.cpp */; };
+		78348F1E1760D58100133029 /* NALread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E891760D51300133029 /* NALread.cpp */; };
+		78348F201760D58100133029 /* SEIread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E8B1760D51300133029 /* SEIread.cpp */; };
+		78348F221760D58100133029 /* SyntaxElementParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E8D1760D51300133029 /* SyntaxElementParser.cpp */; };
+		78348F251760D58100133029 /* TDecBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E901760D51300133029 /* TDecBinCoderCABAC.cpp */; };
+		78348F271760D58100133029 /* TDecCAVLC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E921760D51300133029 /* TDecCAVLC.cpp */; };
+		78348F291760D58100133029 /* TDecCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E941760D51300133029 /* TDecCu.cpp */; };
+		78348F2B1760D58100133029 /* TDecEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E961760D51300133029 /* TDecEntropy.cpp */; };
+		78348F2D1760D58100133029 /* TDecGop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E981760D51300133029 /* TDecGop.cpp */; };
+		78348F2F1760D58100133029 /* TDecSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E9A1760D51300133029 /* TDecSbac.cpp */; };
+		78348F311760D58100133029 /* TDecSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E9C1760D51300133029 /* TDecSlice.cpp */; };
+		78348F331760D58100133029 /* TDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E9E1760D51300133029 /* TDecTop.cpp */; };
+		78348F361760D58A00133029 /* NALwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA21760D51300133029 /* NALwrite.cpp */; };
+		78348F381760D58A00133029 /* SEIwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA41760D51300133029 /* SEIwrite.cpp */; };
+		78348F3A1760D58A00133029 /* SyntaxElementWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA61760D51300133029 /* SyntaxElementWriter.cpp */; };
+		78348F3C1760D58A00133029 /* TEncAnalyze.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA81760D51300133029 /* TEncAnalyze.cpp */; };
+		78348F3F1760D58A00133029 /* TEncBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EAB1760D51300133029 /* TEncBinCoderCABAC.cpp */; };
+		78348F411760D58A00133029 /* TEncBinCoderCABACCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EAD1760D51300133029 /* TEncBinCoderCABACCounter.cpp */; };
+		78348F431760D58A00133029 /* TEncCavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EAF1760D51300133029 /* TEncCavlc.cpp */; };
+		78348F461760D58A00133029 /* TEncCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB21760D51300133029 /* TEncCu.cpp */; };
+		78348F481760D58A00133029 /* TEncEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB41760D51300133029 /* TEncEntropy.cpp */; };
+		78348F4A1760D58A00133029 /* TEncGOP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB61760D51300133029 /* TEncGOP.cpp */; };
+		78348F4C1760D58A00133029 /* TEncPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB81760D51300133029 /* TEncPic.cpp */; };
+		78348F4E1760D58A00133029 /* TEncPreanalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EBA1760D51300133029 /* TEncPreanalyzer.cpp */; };
+		78348F501760D58A00133029 /* TEncRateCtrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EBC1760D51300133029 /* TEncRateCtrl.cpp */; };
+		78348F521760D58A00133029 /* TEncSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EBE1760D51300133029 /* TEncSampleAdaptiveOffset.cpp */; };
+		78348F541760D58A00133029 /* TEncSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC01760D51300133029 /* TEncSbac.cpp */; };
+		78348F561760D58A00133029 /* TEncSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC21760D51300133029 /* TEncSearch.cpp */; };
+		78348F581760D58A00133029 /* TEncSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC41760D51300133029 /* TEncSlice.cpp */; };
+		78348F5A1760D58A00133029 /* TEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC61760D51300133029 /* TEncTop.cpp */; };
+		78348F5C1760D58A00133029 /* WeightPredAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC81760D51300133029 /* WeightPredAnalysis.cpp */; };
+		78348F5E1760D59300133029 /* TExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ECB1760D51300133029 /* TExtrTop.cpp */; };
+		78348F601760D59900133029 /* TRenFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ECE1760D51300133029 /* TRenFilter.cpp */; };
+		78348F621760D59900133029 /* TRenImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED01760D51300133029 /* TRenImage.cpp */; };
+		78348F641760D59900133029 /* TRenImagePlane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED21760D51300133029 /* TRenImagePlane.cpp */; };
+		78348F661760D59900133029 /* TRenInterpFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED41760D51300133029 /* TRenInterpFilter.cpp */; };
+		78348F681760D59900133029 /* TRenModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED61760D51300133029 /* TRenModel.cpp */; };
+		78348F6A1760D59900133029 /* TRenModSetupStrParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED81760D51300133029 /* TRenModSetupStrParser.cpp */; };
+		78348F6C1760D59900133029 /* TRenSingleModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EDA1760D51300133029 /* TRenSingleModel.cpp */; };
+		78348F6E1760D59900133029 /* TRenTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EDC1760D51300133029 /* TRenTop.cpp */; };
+		78348F701760D5A000133029 /* TVideoIOYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EDF1760D51300133029 /* TVideoIOYuv.cpp */; };
+		78348F721760D5AE00133029 /* decmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E1D1760D51300133029 /* decmain.cpp */; };
+		78348F731760D5AE00133029 /* TAppDecCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E1E1760D51300133029 /* TAppDecCfg.cpp */; };
+		78348F741760D5AE00133029 /* TAppDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E201760D51300133029 /* TAppDecTop.cpp */; };
+		78348F751760D5B600133029 /* encmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E231760D51300133029 /* encmain.cpp */; };
+		78348F761760D5B600133029 /* TAppEncCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E241760D51300133029 /* TAppEncCfg.cpp */; };
+		78348F771760D5B600133029 /* TAppEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E261760D51300133029 /* TAppEncTop.cpp */; };
+		78348F781760D5BB00133029 /* extrmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E291760D51300133029 /* extrmain.cpp */; };
+		78348F791760D5BB00133029 /* TAppExtrCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E2A1760D51300133029 /* TAppExtrCfg.cpp */; };
+		78348F7A1760D5BB00133029 /* TAppExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E2C1760D51300133029 /* TAppExtrTop.cpp */; };
+		78348F7B1760D5C100133029 /* RendererMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E2F1760D51300133029 /* RendererMain.cpp */; };
+		78348F7C1760D5C100133029 /* TAppRendererCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E301760D51300133029 /* TAppRendererCfg.cpp */; };
+		78348F7D1760D5C100133029 /* TAppRendererTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E321760D51300133029 /* TAppRendererTop.cpp */; };
+		78348F7E1760D62800133029 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 78348E461760D51300133029 /* libmd5.c */; };
 		78C5940D15872233004401C5 /* libTLibCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767959411AD61BB00421804 /* libTLibCommon.a */; };
 		78C5940E15872233004401C5 /* libTLibEncoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767961911AD626F00421804 /* libTLibEncoder.a */; };
@@ -108,10 +110,8 @@
 		78C5941015872233004401C5 /* libTLibRenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7894E36714890D9A009259F4 /* libTLibRenderer.a */; };
 		78C5941115872233004401C5 /* libTAppCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C593B415872152004401C5 /* libTAppCommon.a */; };
-		78C594121587228A004401C5 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 78C59312158720BB004401C5 /* libmd5.c */; };
 		78C5941B158722B7004401C5 /* libTLibCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767959411AD61BB00421804 /* libTLibCommon.a */; };
 		78C5941C158722BA004401C5 /* libTLibDecoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 676795F411AD621A00421804 /* libTLibDecoder.a */; };
 		78C5941D158722BC004401C5 /* libTLibVideoIO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767964B11AD629200421804 /* libTLibVideoIO.a */; };
 		78C5941E158722C0004401C5 /* libTAppCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C593B415872152004401C5 /* libTAppCommon.a */; };
-		78C5941F158722D4004401C5 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 78C59312158720BB004401C5 /* libmd5.c */; };
 		78C59428158722F2004401C5 /* libTLibCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767959411AD61BB00421804 /* libTLibCommon.a */; };
 		78C59429158722F6004401C5 /* libTLibVideoIO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767964B11AD629200421804 /* libTLibVideoIO.a */; };
@@ -289,190 +289,190 @@
 		6767966A11AD635600421804 /* TAppEncoder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppEncoder; sourceTree = BUILT_PRODUCTS_DIR; };
 		6782E0DE11AD691A00E8FFB8 /* TAppDecoder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppDecoder; sourceTree = BUILT_PRODUCTS_DIR; };
+		78348E1D1760D51300133029 /* decmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = decmain.cpp; sourceTree = "<group>"; };
+		78348E1E1760D51300133029 /* TAppDecCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecCfg.cpp; sourceTree = "<group>"; };
+		78348E1F1760D51300133029 /* TAppDecCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecCfg.h; sourceTree = "<group>"; };
+		78348E201760D51300133029 /* TAppDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecTop.cpp; sourceTree = "<group>"; };
+		78348E211760D51300133029 /* TAppDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecTop.h; sourceTree = "<group>"; };
+		78348E231760D51300133029 /* encmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = encmain.cpp; sourceTree = "<group>"; };
+		78348E241760D51300133029 /* TAppEncCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncCfg.cpp; sourceTree = "<group>"; };
+		78348E251760D51300133029 /* TAppEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncCfg.h; sourceTree = "<group>"; };
+		78348E261760D51300133029 /* TAppEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncTop.cpp; sourceTree = "<group>"; };
+		78348E271760D51300133029 /* TAppEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncTop.h; sourceTree = "<group>"; };
+		78348E291760D51300133029 /* extrmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = extrmain.cpp; sourceTree = "<group>"; };
+		78348E2A1760D51300133029 /* TAppExtrCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrCfg.cpp; sourceTree = "<group>"; };
+		78348E2B1760D51300133029 /* TAppExtrCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrCfg.h; sourceTree = "<group>"; };
+		78348E2C1760D51300133029 /* TAppExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrTop.cpp; sourceTree = "<group>"; };
+		78348E2D1760D51300133029 /* TAppExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrTop.h; sourceTree = "<group>"; };
+		78348E2F1760D51300133029 /* RendererMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RendererMain.cpp; sourceTree = "<group>"; };
+		78348E301760D51300133029 /* TAppRendererCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererCfg.cpp; sourceTree = "<group>"; };
+		78348E311760D51300133029 /* TAppRendererCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererCfg.h; sourceTree = "<group>"; };
+		78348E321760D51300133029 /* TAppRendererTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererTop.cpp; sourceTree = "<group>"; };
+		78348E331760D51300133029 /* TAppRendererTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererTop.h; sourceTree = "<group>"; };
+		78348E351760D51300133029 /* annexBbytecount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = annexBbytecount.cpp; sourceTree = "<group>"; };
+		78348E371760D51300133029 /* encode.shl */ = {isa = PBXFileReference; lastKnownFileType = text; path = encode.shl; sourceTree = "<group>"; };
+		78348E381760D51300133029 /* encodeCommand.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = encodeCommand.sh; sourceTree = "<group>"; };
+		78348E391760D51300133029 /* ExtractBitrates.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitrates.cpp; sourceTree = "<group>"; };
+		78348E3A1760D51300133029 /* ExtractBitrates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtractBitrates.h; sourceTree = "<group>"; };
+		78348E3B1760D51300133029 /* ExtractBitratesMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitratesMain.cpp; sourceTree = "<group>"; };
+		78348E3C1760D51300133029 /* GuessLambdaModifiers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiers.cpp; sourceTree = "<group>"; };
+		78348E3D1760D51300133029 /* GuessLambdaModifiers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuessLambdaModifiers.h; sourceTree = "<group>"; };
+		78348E3E1760D51300133029 /* GuessLambdaModifiersMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiersMain.cpp; sourceTree = "<group>"; };
+		78348E3F1760D51300133029 /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = "<group>"; };
+		78348E401760D51300133029 /* QuickStartGuide.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = QuickStartGuide.pdf; sourceTree = "<group>"; };
+		78348E411760D51300133029 /* RuntimeError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RuntimeError.h; sourceTree = "<group>"; };
+		78348E421760D51300133029 /* targetBitrates.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = targetBitrates.sh; sourceTree = "<group>"; };
+		78348E431760D51300133029 /* convert_NtoMbit_YCbCr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = convert_NtoMbit_YCbCr.cpp; sourceTree = "<group>"; };
+		78348E461760D51300133029 /* libmd5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = libmd5.c; sourceTree = "<group>"; };
+		78348E471760D51300133029 /* libmd5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libmd5.h; sourceTree = "<group>"; };
+		78348E481760D51300133029 /* MD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MD5.h; sourceTree = "<group>"; };
+		78348E4A1760D51300133029 /* program_options_lite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = program_options_lite.cpp; sourceTree = "<group>"; };
+		78348E4B1760D51300133029 /* program_options_lite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = program_options_lite.h; sourceTree = "<group>"; };
+		78348E4C1760D51300133029 /* TAppComCamPara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppComCamPara.cpp; sourceTree = "<group>"; };
+		78348E4D1760D51300133029 /* TAppComCamPara.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppComCamPara.h; sourceTree = "<group>"; };
+		78348E4F1760D51300133029 /* AccessUnit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessUnit.h; sourceTree = "<group>"; };
+		78348E501760D51300133029 /* CommonDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommonDef.h; sourceTree = "<group>"; };
+		78348E511760D51300133029 /* ContextModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel.cpp; sourceTree = "<group>"; };
+		78348E521760D51300133029 /* ContextModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel.h; sourceTree = "<group>"; };
+		78348E531760D51300133029 /* ContextModel3DBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel3DBuffer.cpp; sourceTree = "<group>"; };
+		78348E541760D51300133029 /* ContextModel3DBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel3DBuffer.h; sourceTree = "<group>"; };
+		78348E551760D51300133029 /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextTables.h; sourceTree = "<group>"; };
+		78348E561760D51300133029 /* NAL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NAL.h; sourceTree = "<group>"; };
+		78348E571760D51300133029 /* SEI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEI.cpp; sourceTree = "<group>"; };
+		78348E581760D51300133029 /* SEI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEI.h; sourceTree = "<group>"; };
+		78348E591760D51300133029 /* TComBitCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitCounter.h; sourceTree = "<group>"; };
+		78348E5A1760D51300133029 /* TComBitStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComBitStream.cpp; sourceTree = "<group>"; };
+		78348E5B1760D51300133029 /* TComBitStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitStream.h; sourceTree = "<group>"; };
+		78348E5C1760D51300133029 /* TComCABACTables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComCABACTables.cpp; sourceTree = "<group>"; };
+		78348E5D1760D51300133029 /* TComCABACTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComCABACTables.h; sourceTree = "<group>"; };
+		78348E5E1760D51300133029 /* TComDataCU.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDataCU.cpp; sourceTree = "<group>"; };
+		78348E5F1760D51300133029 /* TComDataCU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDataCU.h; sourceTree = "<group>"; };
+		78348E601760D51300133029 /* TComInterpolationFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComInterpolationFilter.cpp; sourceTree = "<group>"; };
+		78348E611760D51300133029 /* TComInterpolationFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComInterpolationFilter.h; sourceTree = "<group>"; };
+		78348E621760D51300133029 /* TComList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComList.h; sourceTree = "<group>"; };
+		78348E631760D51300133029 /* TComLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComLoopFilter.cpp; sourceTree = "<group>"; };
+		78348E641760D51300133029 /* TComLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComLoopFilter.h; sourceTree = "<group>"; };
+		78348E651760D51300133029 /* TComMotionInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComMotionInfo.cpp; sourceTree = "<group>"; };
+		78348E661760D51300133029 /* TComMotionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMotionInfo.h; sourceTree = "<group>"; };
+		78348E671760D51300133029 /* TComMv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMv.h; sourceTree = "<group>"; };
+		78348E681760D51300133029 /* TComPattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPattern.cpp; sourceTree = "<group>"; };
+		78348E691760D51300133029 /* TComPattern.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPattern.h; sourceTree = "<group>"; };
+		78348E6A1760D51300133029 /* TComPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPic.cpp; sourceTree = "<group>"; };
+		78348E6B1760D51300133029 /* TComPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPic.h; sourceTree = "<group>"; };
+		78348E6C1760D51300133029 /* TComPicSym.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicSym.cpp; sourceTree = "<group>"; };
+		78348E6D1760D51300133029 /* TComPicSym.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicSym.h; sourceTree = "<group>"; };
+		78348E6E1760D51300133029 /* TComPicYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuv.cpp; sourceTree = "<group>"; };
+		78348E6F1760D51300133029 /* TComPicYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicYuv.h; sourceTree = "<group>"; };
+		78348E701760D51300133029 /* TComPicYuvMD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuvMD5.cpp; sourceTree = "<group>"; };
+		78348E711760D51300133029 /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPrediction.cpp; sourceTree = "<group>"; };
+		78348E721760D51300133029 /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPrediction.h; sourceTree = "<group>"; };
+		78348E731760D51300133029 /* TComRdCost.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCost.cpp; sourceTree = "<group>"; };
+		78348E741760D51300133029 /* TComRdCost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCost.h; sourceTree = "<group>"; };
+		78348E751760D51300133029 /* TComRdCostWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCostWeightPrediction.cpp; sourceTree = "<group>"; };
+		78348E761760D51300133029 /* TComRdCostWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCostWeightPrediction.h; sourceTree = "<group>"; };
+		78348E771760D51300133029 /* TComRom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRom.cpp; sourceTree = "<group>"; };
+		78348E781760D51300133029 /* TComRom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRom.h; sourceTree = "<group>"; };
+		78348E791760D51300133029 /* TComSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
+		78348E7A1760D51300133029 /* TComSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSampleAdaptiveOffset.h; sourceTree = "<group>"; };
+		78348E7B1760D51300133029 /* TComSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSlice.cpp; sourceTree = "<group>"; };
+		78348E7C1760D51300133029 /* TComSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSlice.h; sourceTree = "<group>"; };
+		78348E7D1760D51300133029 /* TComTrQuant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComTrQuant.cpp; sourceTree = "<group>"; };
+		78348E7E1760D51300133029 /* TComTrQuant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComTrQuant.h; sourceTree = "<group>"; };
+		78348E7F1760D51300133029 /* TComWedgelet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWedgelet.cpp; sourceTree = "<group>"; };
+		78348E801760D51300133029 /* TComWedgelet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWedgelet.h; sourceTree = "<group>"; };
+		78348E811760D51300133029 /* TComWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWeightPrediction.cpp; sourceTree = "<group>"; };
+		78348E821760D51300133029 /* TComWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWeightPrediction.h; sourceTree = "<group>"; };
+		78348E831760D51300133029 /* TComYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComYuv.cpp; sourceTree = "<group>"; };
+		78348E841760D51300133029 /* TComYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComYuv.h; sourceTree = "<group>"; };
+		78348E851760D51300133029 /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeDef.h; sourceTree = "<group>"; };
+		78348E871760D51300133029 /* AnnexBread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AnnexBread.cpp; sourceTree = "<group>"; };
+		78348E881760D51300133029 /* AnnexBread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBread.h; sourceTree = "<group>"; };
+		78348E891760D51300133029 /* NALread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALread.cpp; sourceTree = "<group>"; };
+		78348E8A1760D51300133029 /* NALread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALread.h; sourceTree = "<group>"; };
+		78348E8B1760D51300133029 /* SEIread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIread.cpp; sourceTree = "<group>"; };
+		78348E8C1760D51300133029 /* SEIread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIread.h; sourceTree = "<group>"; };
+		78348E8D1760D51300133029 /* SyntaxElementParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SyntaxElementParser.cpp; sourceTree = "<group>"; };
+		78348E8E1760D51300133029 /* SyntaxElementParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntaxElementParser.h; sourceTree = "<group>"; };
+		78348E8F1760D51300133029 /* TDecBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoder.h; sourceTree = "<group>"; };
+		78348E901760D51300133029 /* TDecBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecBinCoderCABAC.cpp; sourceTree = "<group>"; };
+		78348E911760D51300133029 /* TDecBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoderCABAC.h; sourceTree = "<group>"; };
+		78348E921760D51300133029 /* TDecCAVLC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCAVLC.cpp; sourceTree = "<group>"; };
+		78348E931760D51300133029 /* TDecCAVLC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCAVLC.h; sourceTree = "<group>"; };
+		78348E941760D51300133029 /* TDecCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCu.cpp; sourceTree = "<group>"; };
+		78348E951760D51300133029 /* TDecCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCu.h; sourceTree = "<group>"; };
+		78348E961760D51300133029 /* TDecEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecEntropy.cpp; sourceTree = "<group>"; };
+		78348E971760D51300133029 /* TDecEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecEntropy.h; sourceTree = "<group>"; };
+		78348E981760D51300133029 /* TDecGop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecGop.cpp; sourceTree = "<group>"; };
+		78348E991760D51300133029 /* TDecGop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecGop.h; sourceTree = "<group>"; };
+		78348E9A1760D51300133029 /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSbac.cpp; sourceTree = "<group>"; };
+		78348E9B1760D51300133029 /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSbac.h; sourceTree = "<group>"; };
+		78348E9C1760D51300133029 /* TDecSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSlice.cpp; sourceTree = "<group>"; };
+		78348E9D1760D51300133029 /* TDecSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSlice.h; sourceTree = "<group>"; };
+		78348E9E1760D51300133029 /* TDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecTop.cpp; sourceTree = "<group>"; };
+		78348E9F1760D51300133029 /* TDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecTop.h; sourceTree = "<group>"; };
+		78348EA11760D51300133029 /* AnnexBwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBwrite.h; sourceTree = "<group>"; };
+		78348EA21760D51300133029 /* NALwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALwrite.cpp; sourceTree = "<group>"; };
+		78348EA31760D51300133029 /* NALwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALwrite.h; sourceTree = "<group>"; };
+		78348EA41760D51300133029 /* SEIwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIwrite.cpp; sourceTree = "<group>"; };
+		78348EA51760D51300133029 /* SEIwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIwrite.h; sourceTree = "<group>"; };
+		78348EA61760D51300133029 /* SyntaxElementWriter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SyntaxElementWriter.cpp; sourceTree = "<group>"; };
+		78348EA71760D51300133029 /* SyntaxElementWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntaxElementWriter.h; sourceTree = "<group>"; };
+		78348EA81760D51300133029 /* TEncAnalyze.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncAnalyze.cpp; sourceTree = "<group>"; };
+		78348EA91760D51300133029 /* TEncAnalyze.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAnalyze.h; sourceTree = "<group>"; };
+		78348EAA1760D51300133029 /* TEncBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoder.h; sourceTree = "<group>"; };
+		78348EAB1760D51300133029 /* TEncBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABAC.cpp; sourceTree = "<group>"; };
+		78348EAC1760D51300133029 /* TEncBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABAC.h; sourceTree = "<group>"; };
+		78348EAD1760D51300133029 /* TEncBinCoderCABACCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABACCounter.cpp; sourceTree = "<group>"; };
+		78348EAE1760D51300133029 /* TEncBinCoderCABACCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABACCounter.h; sourceTree = "<group>"; };
+		78348EAF1760D51300133029 /* TEncCavlc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCavlc.cpp; sourceTree = "<group>"; };
+		78348EB01760D51300133029 /* TEncCavlc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCavlc.h; sourceTree = "<group>"; };
+		78348EB11760D51300133029 /* TEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCfg.h; sourceTree = "<group>"; };
+		78348EB21760D51300133029 /* TEncCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCu.cpp; sourceTree = "<group>"; };
+		78348EB31760D51300133029 /* TEncCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCu.h; sourceTree = "<group>"; };
+		78348EB41760D51300133029 /* TEncEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncEntropy.cpp; sourceTree = "<group>"; };
+		78348EB51760D51300133029 /* TEncEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncEntropy.h; sourceTree = "<group>"; };
+		78348EB61760D51300133029 /* TEncGOP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncGOP.cpp; sourceTree = "<group>"; };
+		78348EB71760D51300133029 /* TEncGOP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncGOP.h; sourceTree = "<group>"; };
+		78348EB81760D51300133029 /* TEncPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPic.cpp; sourceTree = "<group>"; };
+		78348EB91760D51300133029 /* TEncPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPic.h; sourceTree = "<group>"; };
+		78348EBA1760D51300133029 /* TEncPreanalyzer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPreanalyzer.cpp; sourceTree = "<group>"; };
+		78348EBB1760D51300133029 /* TEncPreanalyzer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPreanalyzer.h; sourceTree = "<group>"; };
+		78348EBC1760D51300133029 /* TEncRateCtrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncRateCtrl.cpp; sourceTree = "<group>"; };
+		78348EBD1760D51300133029 /* TEncRateCtrl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncRateCtrl.h; sourceTree = "<group>"; };
+		78348EBE1760D51300133029 /* TEncSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
+		78348EBF1760D51300133029 /* TEncSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSampleAdaptiveOffset.h; sourceTree = "<group>"; };
+		78348EC01760D51300133029 /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSbac.cpp; sourceTree = "<group>"; };
+		78348EC11760D51300133029 /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSbac.h; sourceTree = "<group>"; };
+		78348EC21760D51300133029 /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSearch.cpp; sourceTree = "<group>"; };
+		78348EC31760D51300133029 /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSearch.h; sourceTree = "<group>"; };
+		78348EC41760D51300133029 /* TEncSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSlice.cpp; sourceTree = "<group>"; };
+		78348EC51760D51300133029 /* TEncSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSlice.h; sourceTree = "<group>"; };
+		78348EC61760D51300133029 /* TEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncTop.cpp; sourceTree = "<group>"; };
+		78348EC71760D51300133029 /* TEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncTop.h; sourceTree = "<group>"; };
+		78348EC81760D51300133029 /* WeightPredAnalysis.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WeightPredAnalysis.cpp; sourceTree = "<group>"; };
+		78348EC91760D51300133029 /* WeightPredAnalysis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeightPredAnalysis.h; sourceTree = "<group>"; };
+		78348ECB1760D51300133029 /* TExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TExtrTop.cpp; sourceTree = "<group>"; };
+		78348ECC1760D51300133029 /* TExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TExtrTop.h; sourceTree = "<group>"; };
+		78348ECE1760D51300133029 /* TRenFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenFilter.cpp; sourceTree = "<group>"; };
+		78348ECF1760D51300133029 /* TRenFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenFilter.h; sourceTree = "<group>"; };
+		78348ED01760D51300133029 /* TRenImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImage.cpp; sourceTree = "<group>"; };
+		78348ED11760D51300133029 /* TRenImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImage.h; sourceTree = "<group>"; };
+		78348ED21760D51300133029 /* TRenImagePlane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImagePlane.cpp; sourceTree = "<group>"; };
+		78348ED31760D51300133029 /* TRenImagePlane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImagePlane.h; sourceTree = "<group>"; };
+		78348ED41760D51300133029 /* TRenInterpFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenInterpFilter.cpp; sourceTree = "<group>"; };
+		78348ED51760D51300133029 /* TRenInterpFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenInterpFilter.h; sourceTree = "<group>"; };
+		78348ED61760D51300133029 /* TRenModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModel.cpp; sourceTree = "<group>"; };
+		78348ED71760D51300133029 /* TRenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModel.h; sourceTree = "<group>"; };
+		78348ED81760D51300133029 /* TRenModSetupStrParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModSetupStrParser.cpp; sourceTree = "<group>"; };
+		78348ED91760D51300133029 /* TRenModSetupStrParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModSetupStrParser.h; sourceTree = "<group>"; };
+		78348EDA1760D51300133029 /* TRenSingleModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenSingleModel.cpp; sourceTree = "<group>"; };
+		78348EDB1760D51300133029 /* TRenSingleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenSingleModel.h; sourceTree = "<group>"; };
+		78348EDC1760D51300133029 /* TRenTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenTop.cpp; sourceTree = "<group>"; };
+		78348EDD1760D51300133029 /* TRenTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenTop.h; sourceTree = "<group>"; };
+		78348EDF1760D51300133029 /* TVideoIOYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TVideoIOYuv.cpp; sourceTree = "<group>"; };
+		78348EE01760D51300133029 /* TVideoIOYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TVideoIOYuv.h; sourceTree = "<group>"; };
 		7885897D15664E3D00982C12 /* libTLibExtractor.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTLibExtractor.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		7885899415664E6A00982C12 /* TAppExtractor */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppExtractor; sourceTree = BUILT_PRODUCTS_DIR; };
 		7894E36714890D9A009259F4 /* libTLibRenderer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTLibRenderer.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		7894E38A14890DD2009259F4 /* TAppRenderer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppRenderer; sourceTree = BUILT_PRODUCTS_DIR; };
-		78C592E9158720BB004401C5 /* decmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = decmain.cpp; sourceTree = "<group>"; };
-		78C592EA158720BB004401C5 /* TAppDecCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecCfg.cpp; sourceTree = "<group>"; };
-		78C592EB158720BB004401C5 /* TAppDecCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecCfg.h; sourceTree = "<group>"; };
-		78C592EC158720BB004401C5 /* TAppDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecTop.cpp; sourceTree = "<group>"; };
-		78C592ED158720BB004401C5 /* TAppDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecTop.h; sourceTree = "<group>"; };
-		78C592EF158720BB004401C5 /* encmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = encmain.cpp; sourceTree = "<group>"; };
-		78C592F0158720BB004401C5 /* TAppEncCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncCfg.cpp; sourceTree = "<group>"; };
-		78C592F1158720BB004401C5 /* TAppEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncCfg.h; sourceTree = "<group>"; };
-		78C592F2158720BB004401C5 /* TAppEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncTop.cpp; sourceTree = "<group>"; };
-		78C592F3158720BB004401C5 /* TAppEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncTop.h; sourceTree = "<group>"; };
-		78C592F5158720BB004401C5 /* extrmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = extrmain.cpp; sourceTree = "<group>"; };
-		78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrCfg.cpp; sourceTree = "<group>"; };
-		78C592F7158720BB004401C5 /* TAppExtrCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrCfg.h; sourceTree = "<group>"; };
-		78C592F8158720BB004401C5 /* TAppExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrTop.cpp; sourceTree = "<group>"; };
-		78C592F9158720BB004401C5 /* TAppExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrTop.h; sourceTree = "<group>"; };
-		78C592FB158720BB004401C5 /* RendererMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RendererMain.cpp; sourceTree = "<group>"; };
-		78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererCfg.cpp; sourceTree = "<group>"; };
-		78C592FD158720BB004401C5 /* TAppRendererCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererCfg.h; sourceTree = "<group>"; };
-		78C592FE158720BB004401C5 /* TAppRendererTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererTop.cpp; sourceTree = "<group>"; };
-		78C592FF158720BB004401C5 /* TAppRendererTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererTop.h; sourceTree = "<group>"; };
-		78C59301158720BB004401C5 /* annexBbytecount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = annexBbytecount.cpp; sourceTree = "<group>"; };
-		78C59303158720BB004401C5 /* encode.shl */ = {isa = PBXFileReference; lastKnownFileType = text; path = encode.shl; sourceTree = "<group>"; };
-		78C59304158720BB004401C5 /* encodeCommand.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = encodeCommand.sh; sourceTree = "<group>"; };
-		78C59305158720BB004401C5 /* ExtractBitrates.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitrates.cpp; sourceTree = "<group>"; };
-		78C59306158720BB004401C5 /* ExtractBitrates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtractBitrates.h; sourceTree = "<group>"; };
-		78C59307158720BB004401C5 /* ExtractBitratesMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitratesMain.cpp; sourceTree = "<group>"; };
-		78C59308158720BB004401C5 /* GuessLambdaModifiers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiers.cpp; sourceTree = "<group>"; };
-		78C59309158720BB004401C5 /* GuessLambdaModifiers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuessLambdaModifiers.h; sourceTree = "<group>"; };
-		78C5930A158720BB004401C5 /* GuessLambdaModifiersMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiersMain.cpp; sourceTree = "<group>"; };
-		78C5930B158720BB004401C5 /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = "<group>"; };
-		78C5930C158720BB004401C5 /* QuickStartGuide.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = QuickStartGuide.pdf; sourceTree = "<group>"; };
-		78C5930D158720BB004401C5 /* RuntimeError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RuntimeError.h; sourceTree = "<group>"; };
-		78C5930E158720BB004401C5 /* targetBitrates.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = targetBitrates.sh; sourceTree = "<group>"; };
-		78C5930F158720BB004401C5 /* convert_NtoMbit_YCbCr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = convert_NtoMbit_YCbCr.cpp; sourceTree = "<group>"; };
-		78C59312158720BB004401C5 /* libmd5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = libmd5.c; sourceTree = "<group>"; };
-		78C59313158720BB004401C5 /* libmd5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libmd5.h; sourceTree = "<group>"; };
-		78C59314158720BB004401C5 /* MD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MD5.h; sourceTree = "<group>"; };
-		78C59316158720BB004401C5 /* program_options_lite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = program_options_lite.cpp; sourceTree = "<group>"; };
-		78C59317158720BB004401C5 /* program_options_lite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = program_options_lite.h; sourceTree = "<group>"; };
-		78C59318158720BB004401C5 /* TAppComCamPara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppComCamPara.cpp; sourceTree = "<group>"; };
-		78C59319158720BB004401C5 /* TAppComCamPara.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppComCamPara.h; sourceTree = "<group>"; };
-		78C5931B158720BB004401C5 /* AccessUnit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessUnit.h; sourceTree = "<group>"; };
-		78C5931C158720BB004401C5 /* CommonDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommonDef.h; sourceTree = "<group>"; };
-		78C5931D158720BB004401C5 /* ContextModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel.cpp; sourceTree = "<group>"; };
-		78C5931E158720BB004401C5 /* ContextModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel.h; sourceTree = "<group>"; };
-		78C5931F158720BB004401C5 /* ContextModel3DBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel3DBuffer.cpp; sourceTree = "<group>"; };
-		78C59320158720BB004401C5 /* ContextModel3DBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel3DBuffer.h; sourceTree = "<group>"; };
-		78C59321158720BB004401C5 /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextTables.h; sourceTree = "<group>"; };
-		78C59322158720BB004401C5 /* NAL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NAL.h; sourceTree = "<group>"; };
-		78C59323158720BB004401C5 /* SEI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEI.h; sourceTree = "<group>"; };
-		78C59324158720BB004401C5 /* TComAdaptiveLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComAdaptiveLoopFilter.cpp; sourceTree = "<group>"; };
-		78C59325158720BB004401C5 /* TComAdaptiveLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComAdaptiveLoopFilter.h; sourceTree = "<group>"; };
-		78C59326158720BB004401C5 /* TComBitCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitCounter.h; sourceTree = "<group>"; };
-		78C59327158720BB004401C5 /* TComBitStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComBitStream.cpp; sourceTree = "<group>"; };
-		78C59328158720BB004401C5 /* TComBitStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitStream.h; sourceTree = "<group>"; };
-		78C59329158720BB004401C5 /* TComCABACTables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComCABACTables.cpp; sourceTree = "<group>"; };
-		78C5932A158720BB004401C5 /* TComCABACTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComCABACTables.h; sourceTree = "<group>"; };
-		78C5932B158720BB004401C5 /* TComDataCU.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDataCU.cpp; sourceTree = "<group>"; };
-		78C5932C158720BB004401C5 /* TComDataCU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDataCU.h; sourceTree = "<group>"; };
-		78C5932D158720BB004401C5 /* TComDepthMapGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDepthMapGenerator.cpp; sourceTree = "<group>"; };
-		78C5932E158720BB004401C5 /* TComDepthMapGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDepthMapGenerator.h; sourceTree = "<group>"; };
-		78C5932F158720BB004401C5 /* TComInterpolationFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComInterpolationFilter.cpp; sourceTree = "<group>"; };
-		78C59330158720BB004401C5 /* TComInterpolationFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComInterpolationFilter.h; sourceTree = "<group>"; };
-		78C59331158720BB004401C5 /* TComList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComList.h; sourceTree = "<group>"; };
-		78C59332158720BB004401C5 /* TComLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComLoopFilter.cpp; sourceTree = "<group>"; };
-		78C59333158720BB004401C5 /* TComLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComLoopFilter.h; sourceTree = "<group>"; };
-		78C59334158720BB004401C5 /* TComMotionInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComMotionInfo.cpp; sourceTree = "<group>"; };
-		78C59335158720BB004401C5 /* TComMotionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMotionInfo.h; sourceTree = "<group>"; };
-		78C59336158720BB004401C5 /* TComMv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMv.h; sourceTree = "<group>"; };
-		78C59337158720BB004401C5 /* TComPattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPattern.cpp; sourceTree = "<group>"; };
-		78C59338158720BB004401C5 /* TComPattern.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPattern.h; sourceTree = "<group>"; };
-		78C59339158720BB004401C5 /* TComPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPic.cpp; sourceTree = "<group>"; };
-		78C5933A158720BB004401C5 /* TComPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPic.h; sourceTree = "<group>"; };
-		78C5933B158720BB004401C5 /* TComPicSym.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicSym.cpp; sourceTree = "<group>"; };
-		78C5933C158720BB004401C5 /* TComPicSym.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicSym.h; sourceTree = "<group>"; };
-		78C5933D158720BB004401C5 /* TComPicYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuv.cpp; sourceTree = "<group>"; };
-		78C5933E158720BB004401C5 /* TComPicYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicYuv.h; sourceTree = "<group>"; };
-		78C5933F158720BB004401C5 /* TComPicYuvMD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuvMD5.cpp; sourceTree = "<group>"; };
-		78C59340158720BB004401C5 /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPrediction.cpp; sourceTree = "<group>"; };
-		78C59341158720BB004401C5 /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPrediction.h; sourceTree = "<group>"; };
-		78C59342158720BB004401C5 /* TComRdCost.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCost.cpp; sourceTree = "<group>"; };
-		78C59343158720BB004401C5 /* TComRdCost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCost.h; sourceTree = "<group>"; };
-		78C59344158720BB004401C5 /* TComRdCostWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCostWeightPrediction.cpp; sourceTree = "<group>"; };
-		78C59345158720BB004401C5 /* TComRdCostWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCostWeightPrediction.h; sourceTree = "<group>"; };
-		78C59346158720BB004401C5 /* TComResidualGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComResidualGenerator.cpp; sourceTree = "<group>"; };
-		78C59347158720BB004401C5 /* TComResidualGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComResidualGenerator.h; sourceTree = "<group>"; };
-		78C59348158720BB004401C5 /* TComRom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRom.cpp; sourceTree = "<group>"; };
-		78C59349158720BB004401C5 /* TComRom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRom.h; sourceTree = "<group>"; };
-		78C5934A158720BB004401C5 /* TComSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
-		78C5934B158720BB004401C5 /* TComSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSampleAdaptiveOffset.h; sourceTree = "<group>"; };
-		78C5934C158720BB004401C5 /* TComSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSlice.cpp; sourceTree = "<group>"; };
-		78C5934D158720BB004401C5 /* TComSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSlice.h; sourceTree = "<group>"; };
-		78C5934E158720BB004401C5 /* TComTrQuant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComTrQuant.cpp; sourceTree = "<group>"; };
-		78C5934F158720BB004401C5 /* TComTrQuant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComTrQuant.h; sourceTree = "<group>"; };
-		78C59350158720BB004401C5 /* TComWedgelet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWedgelet.cpp; sourceTree = "<group>"; };
-		78C59351158720BB004401C5 /* TComWedgelet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWedgelet.h; sourceTree = "<group>"; };
-		78C59352158720BB004401C5 /* TComWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWeightPrediction.cpp; sourceTree = "<group>"; };
-		78C59353158720BB004401C5 /* TComWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWeightPrediction.h; sourceTree = "<group>"; };
-		78C59354158720BB004401C5 /* TComYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComYuv.cpp; sourceTree = "<group>"; };
-		78C59355158720BB004401C5 /* TComYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComYuv.h; sourceTree = "<group>"; };
-		78C59356158720BB004401C5 /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeDef.h; sourceTree = "<group>"; };
-		78C59358158720BB004401C5 /* AnnexBread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AnnexBread.cpp; sourceTree = "<group>"; };
-		78C59359158720BB004401C5 /* AnnexBread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBread.h; sourceTree = "<group>"; };
-		78C5935A158720BB004401C5 /* NALread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALread.cpp; sourceTree = "<group>"; };
-		78C5935B158720BB004401C5 /* NALread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALread.h; sourceTree = "<group>"; };
-		78C5935C158720BB004401C5 /* SEIread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIread.cpp; sourceTree = "<group>"; };
-		78C5935D158720BB004401C5 /* SEIread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIread.h; sourceTree = "<group>"; };
-		78C5935E158720BB004401C5 /* TDecBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoder.h; sourceTree = "<group>"; };
-		78C5935F158720BB004401C5 /* TDecBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecBinCoderCABAC.cpp; sourceTree = "<group>"; };
-		78C59360158720BB004401C5 /* TDecBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoderCABAC.h; sourceTree = "<group>"; };
-		78C59361158720BB004401C5 /* TDecCAVLC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCAVLC.cpp; sourceTree = "<group>"; };
-		78C59362158720BB004401C5 /* TDecCAVLC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCAVLC.h; sourceTree = "<group>"; };
-		78C59363158720BB004401C5 /* TDecCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCu.cpp; sourceTree = "<group>"; };
-		78C59364158720BB004401C5 /* TDecCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCu.h; sourceTree = "<group>"; };
-		78C59365158720BB004401C5 /* TDecEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecEntropy.cpp; sourceTree = "<group>"; };
-		78C59366158720BB004401C5 /* TDecEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecEntropy.h; sourceTree = "<group>"; };
-		78C59367158720BB004401C5 /* TDecGop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecGop.cpp; sourceTree = "<group>"; };
-		78C59368158720BB004401C5 /* TDecGop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecGop.h; sourceTree = "<group>"; };
-		78C59369158720BB004401C5 /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSbac.cpp; sourceTree = "<group>"; };
-		78C5936A158720BB004401C5 /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSbac.h; sourceTree = "<group>"; };
-		78C5936B158720BB004401C5 /* TDecSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSlice.cpp; sourceTree = "<group>"; };
-		78C5936C158720BB004401C5 /* TDecSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSlice.h; sourceTree = "<group>"; };
-		78C5936D158720BB004401C5 /* TDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecTop.cpp; sourceTree = "<group>"; };
-		78C5936E158720BB004401C5 /* TDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecTop.h; sourceTree = "<group>"; };
-		78C59370158720BB004401C5 /* AnnexBwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBwrite.h; sourceTree = "<group>"; };
-		78C59371158720BB004401C5 /* NALwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALwrite.cpp; sourceTree = "<group>"; };
-		78C59372158720BB004401C5 /* NALwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALwrite.h; sourceTree = "<group>"; };
-		78C59373158720BB004401C5 /* SEIwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIwrite.cpp; sourceTree = "<group>"; };
-		78C59374158720BB004401C5 /* SEIwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIwrite.h; sourceTree = "<group>"; };
-		78C59375158720BB004401C5 /* TEncAdaptiveLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncAdaptiveLoopFilter.cpp; sourceTree = "<group>"; };
-		78C59376158720BB004401C5 /* TEncAdaptiveLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAdaptiveLoopFilter.h; sourceTree = "<group>"; };
-		78C59377158720BB004401C5 /* TEncAnalyze.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAnalyze.h; sourceTree = "<group>"; };
-		78C59378158720BB004401C5 /* TEncBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoder.h; sourceTree = "<group>"; };
-		78C59379158720BB004401C5 /* TEncBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABAC.cpp; sourceTree = "<group>"; };
-		78C5937A158720BB004401C5 /* TEncBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABAC.h; sourceTree = "<group>"; };
-		78C5937B158720BB004401C5 /* TEncBinCoderCABACCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABACCounter.cpp; sourceTree = "<group>"; };
-		78C5937C158720BB004401C5 /* TEncBinCoderCABACCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABACCounter.h; sourceTree = "<group>"; };
-		78C5937D158720BB004401C5 /* TEncCavlc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCavlc.cpp; sourceTree = "<group>"; };
-		78C5937E158720BB004401C5 /* TEncCavlc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCavlc.h; sourceTree = "<group>"; };
-		78C5937F158720BB004401C5 /* TEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCfg.h; sourceTree = "<group>"; };
-		78C59380158720BB004401C5 /* TEncCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCu.cpp; sourceTree = "<group>"; };
-		78C59381158720BB004401C5 /* TEncCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCu.h; sourceTree = "<group>"; };
-		78C59382158720BB004401C5 /* TEncEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncEntropy.cpp; sourceTree = "<group>"; };
-		78C59383158720BB004401C5 /* TEncEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncEntropy.h; sourceTree = "<group>"; };
-		78C59384158720BB004401C5 /* TEncGOP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncGOP.cpp; sourceTree = "<group>"; };
-		78C59385158720BB004401C5 /* TEncGOP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncGOP.h; sourceTree = "<group>"; };
-		78C59386158720BB004401C5 /* TEncPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPic.cpp; sourceTree = "<group>"; };
-		78C59387158720BB004401C5 /* TEncPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPic.h; sourceTree = "<group>"; };
-		78C59388158720BB004401C5 /* TEncPreanalyzer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPreanalyzer.cpp; sourceTree = "<group>"; };
-		78C59389158720BB004401C5 /* TEncPreanalyzer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPreanalyzer.h; sourceTree = "<group>"; };
-		78C5938A158720BB004401C5 /* TEncSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
-		78C5938B158720BB004401C5 /* TEncSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSampleAdaptiveOffset.h; sourceTree = "<group>"; };
-		78C5938C158720BB004401C5 /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSbac.cpp; sourceTree = "<group>"; };
-		78C5938D158720BB004401C5 /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSbac.h; sourceTree = "<group>"; };
-		78C5938E158720BB004401C5 /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSearch.cpp; sourceTree = "<group>"; };
-		78C5938F158720BB004401C5 /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSearch.h; sourceTree = "<group>"; };
-		78C59390158720BB004401C5 /* TEncSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSlice.cpp; sourceTree = "<group>"; };
-		78C59391158720BB004401C5 /* TEncSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSlice.h; sourceTree = "<group>"; };
-		78C59392158720BB004401C5 /* TEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncTop.cpp; sourceTree = "<group>"; };
-		78C59393158720BB004401C5 /* TEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncTop.h; sourceTree = "<group>"; };
-		78C59394158720BB004401C5 /* WeightPredAnalysis.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WeightPredAnalysis.cpp; sourceTree = "<group>"; };
-		78C59395158720BB004401C5 /* WeightPredAnalysis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeightPredAnalysis.h; sourceTree = "<group>"; };
-		78C59397158720BB004401C5 /* TExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TExtrTop.cpp; sourceTree = "<group>"; };
-		78C59398158720BB004401C5 /* TExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TExtrTop.h; sourceTree = "<group>"; };
-		78C5939A158720BB004401C5 /* TRenFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenFilter.cpp; sourceTree = "<group>"; };
-		78C5939B158720BB004401C5 /* TRenFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenFilter.h; sourceTree = "<group>"; };
-		78C5939C158720BB004401C5 /* TRenImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImage.cpp; sourceTree = "<group>"; };
-		78C5939D158720BB004401C5 /* TRenImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImage.h; sourceTree = "<group>"; };
-		78C5939E158720BB004401C5 /* TRenImagePlane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImagePlane.cpp; sourceTree = "<group>"; };
-		78C5939F158720BB004401C5 /* TRenImagePlane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImagePlane.h; sourceTree = "<group>"; };
-		78C593A0158720BB004401C5 /* TRenInterpFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenInterpFilter.cpp; sourceTree = "<group>"; };
-		78C593A1158720BB004401C5 /* TRenInterpFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenInterpFilter.h; sourceTree = "<group>"; };
-		78C593A2158720BB004401C5 /* TRenModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModel.cpp; sourceTree = "<group>"; };
-		78C593A3158720BB004401C5 /* TRenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModel.h; sourceTree = "<group>"; };
-		78C593A4158720BB004401C5 /* TRenModSetupStrParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModSetupStrParser.cpp; sourceTree = "<group>"; };
-		78C593A5158720BB004401C5 /* TRenModSetupStrParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModSetupStrParser.h; sourceTree = "<group>"; };
-		78C593A6158720BB004401C5 /* TRenSingleModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenSingleModel.cpp; sourceTree = "<group>"; };
-		78C593A7158720BB004401C5 /* TRenSingleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenSingleModel.h; sourceTree = "<group>"; };
-		78C593A8158720BB004401C5 /* TRenTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenTop.cpp; sourceTree = "<group>"; };
-		78C593A9158720BB004401C5 /* TRenTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenTop.h; sourceTree = "<group>"; };
-		78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TVideoIOYuv.cpp; sourceTree = "<group>"; };
-		78C593AC158720BB004401C5 /* TVideoIOYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TVideoIOYuv.h; sourceTree = "<group>"; };
 		78C593B415872152004401C5 /* libTAppCommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTAppCommon.a; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
@@ -589,6 +589,6 @@
 			isa = PBXGroup;
 			children = (
-				78C592E7158720BB004401C5 /* App */,
-				78C59310158720BB004401C5 /* Lib */,
+				78348E1B1760D51300133029 /* App */,
+				78348E441760D51300133029 /* Lib */,
 			);
 			indentWidth = 2;
@@ -615,12 +615,12 @@
 			sourceTree = "<group>";
 		};
-		78C592E7158720BB004401C5 /* App */ = {
+		78348E1B1760D51300133029 /* App */ = {
 			isa = PBXGroup;
 			children = (
-				78C592E8158720BB004401C5 /* TAppDecoder */,
-				78C592EE158720BB004401C5 /* TAppEncoder */,
-				78C592F4158720BB004401C5 /* TAppExtractor */,
-				78C592FA158720BB004401C5 /* TAppRenderer */,
-				78C59300158720BB004401C5 /* utils */,
+				78348E1C1760D51300133029 /* TAppDecoder */,
+				78348E221760D51300133029 /* TAppEncoder */,
+				78348E281760D51300133029 /* TAppExtractor */,
+				78348E2E1760D51300133029 /* TAppRenderer */,
+				78348E341760D51300133029 /* utils */,
 			);
 			name = App;
@@ -628,92 +628,92 @@
 			sourceTree = "<group>";
 		};
-		78C592E8158720BB004401C5 /* TAppDecoder */ = {
+		78348E1C1760D51300133029 /* TAppDecoder */ = {
 			isa = PBXGroup;
 			children = (
-				78C592E9158720BB004401C5 /* decmain.cpp */,
-				78C592EA158720BB004401C5 /* TAppDecCfg.cpp */,
-				78C592EB158720BB004401C5 /* TAppDecCfg.h */,
-				78C592EC158720BB004401C5 /* TAppDecTop.cpp */,
-				78C592ED158720BB004401C5 /* TAppDecTop.h */,
+				78348E1D1760D51300133029 /* decmain.cpp */,
+				78348E1E1760D51300133029 /* TAppDecCfg.cpp */,
+				78348E1F1760D51300133029 /* TAppDecCfg.h */,
+				78348E201760D51300133029 /* TAppDecTop.cpp */,
+				78348E211760D51300133029 /* TAppDecTop.h */,
 			);
 			path = TAppDecoder;
 			sourceTree = "<group>";
 		};
-		78C592EE158720BB004401C5 /* TAppEncoder */ = {
+		78348E221760D51300133029 /* TAppEncoder */ = {
 			isa = PBXGroup;
 			children = (
-				78C592EF158720BB004401C5 /* encmain.cpp */,
-				78C592F0158720BB004401C5 /* TAppEncCfg.cpp */,
-				78C592F1158720BB004401C5 /* TAppEncCfg.h */,
-				78C592F2158720BB004401C5 /* TAppEncTop.cpp */,
-				78C592F3158720BB004401C5 /* TAppEncTop.h */,
+				78348E231760D51300133029 /* encmain.cpp */,
+				78348E241760D51300133029 /* TAppEncCfg.cpp */,
+				78348E251760D51300133029 /* TAppEncCfg.h */,
+				78348E261760D51300133029 /* TAppEncTop.cpp */,
+				78348E271760D51300133029 /* TAppEncTop.h */,
 			);
 			path = TAppEncoder;
 			sourceTree = "<group>";
 		};
-		78C592F4158720BB004401C5 /* TAppExtractor */ = {
+		78348E281760D51300133029 /* TAppExtractor */ = {
 			isa = PBXGroup;
 			children = (
-				78C592F5158720BB004401C5 /* extrmain.cpp */,
-				78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */,
-				78C592F7158720BB004401C5 /* TAppExtrCfg.h */,
-				78C592F8158720BB004401C5 /* TAppExtrTop.cpp */,
-				78C592F9158720BB004401C5 /* TAppExtrTop.h */,
+				78348E291760D51300133029 /* extrmain.cpp */,
+				78348E2A1760D51300133029 /* TAppExtrCfg.cpp */,
+				78348E2B1760D51300133029 /* TAppExtrCfg.h */,
+				78348E2C1760D51300133029 /* TAppExtrTop.cpp */,
+				78348E2D1760D51300133029 /* TAppExtrTop.h */,
 			);
 			path = TAppExtractor;
 			sourceTree = "<group>";
 		};
-		78C592FA158720BB004401C5 /* TAppRenderer */ = {
+		78348E2E1760D51300133029 /* TAppRenderer */ = {
 			isa = PBXGroup;
 			children = (
-				78C592FB158720BB004401C5 /* RendererMain.cpp */,
-				78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */,
-				78C592FD158720BB004401C5 /* TAppRendererCfg.h */,
-				78C592FE158720BB004401C5 /* TAppRendererTop.cpp */,
-				78C592FF158720BB004401C5 /* TAppRendererTop.h */,
+				78348E2F1760D51300133029 /* RendererMain.cpp */,
+				78348E301760D51300133029 /* TAppRendererCfg.cpp */,
+				78348E311760D51300133029 /* TAppRendererCfg.h */,
+				78348E321760D51300133029 /* TAppRendererTop.cpp */,
+				78348E331760D51300133029 /* TAppRendererTop.h */,
 			);
 			path = TAppRenderer;
 			sourceTree = "<group>";
 		};
-		78C59300158720BB004401C5 /* utils */ = {
+		78348E341760D51300133029 /* utils */ = {
 			isa = PBXGroup;
 			children = (
-				78C59301158720BB004401C5 /* annexBbytecount.cpp */,
-				78C59302158720BB004401C5 /* BitrateTargeting */,
-				78C5930F158720BB004401C5 /* convert_NtoMbit_YCbCr.cpp */,
+				78348E351760D51300133029 /* annexBbytecount.cpp */,
+				78348E361760D51300133029 /* BitrateTargeting */,
+				78348E431760D51300133029 /* convert_NtoMbit_YCbCr.cpp */,
 			);
 			path = utils;
 			sourceTree = "<group>";
 		};
-		78C59302158720BB004401C5 /* BitrateTargeting */ = {
+		78348E361760D51300133029 /* BitrateTargeting */ = {
 			isa = PBXGroup;
 			children = (
-				78C59303158720BB004401C5 /* encode.shl */,
-				78C59304158720BB004401C5 /* encodeCommand.sh */,
-				78C59305158720BB004401C5 /* ExtractBitrates.cpp */,
-				78C59306158720BB004401C5 /* ExtractBitrates.h */,
-				78C59307158720BB004401C5 /* ExtractBitratesMain.cpp */,
-				78C59308158720BB004401C5 /* GuessLambdaModifiers.cpp */,
-				78C59309158720BB004401C5 /* GuessLambdaModifiers.h */,
-				78C5930A158720BB004401C5 /* GuessLambdaModifiersMain.cpp */,
-				78C5930B158720BB004401C5 /* makefile */,
-				78C5930C158720BB004401C5 /* QuickStartGuide.pdf */,
-				78C5930D158720BB004401C5 /* RuntimeError.h */,
-				78C5930E158720BB004401C5 /* targetBitrates.sh */,
+				78348E371760D51300133029 /* encode.shl */,
+				78348E381760D51300133029 /* encodeCommand.sh */,
+				78348E391760D51300133029 /* ExtractBitrates.cpp */,
+				78348E3A1760D51300133029 /* ExtractBitrates.h */,
+				78348E3B1760D51300133029 /* ExtractBitratesMain.cpp */,
+				78348E3C1760D51300133029 /* GuessLambdaModifiers.cpp */,
+				78348E3D1760D51300133029 /* GuessLambdaModifiers.h */,
+				78348E3E1760D51300133029 /* GuessLambdaModifiersMain.cpp */,
+				78348E3F1760D51300133029 /* makefile */,
+				78348E401760D51300133029 /* QuickStartGuide.pdf */,
+				78348E411760D51300133029 /* RuntimeError.h */,
+				78348E421760D51300133029 /* targetBitrates.sh */,
 			);
 			path = BitrateTargeting;
 			sourceTree = "<group>";
 		};
-		78C59310158720BB004401C5 /* Lib */ = {
+		78348E441760D51300133029 /* Lib */ = {
 			isa = PBXGroup;
 			children = (
-				78C59311158720BB004401C5 /* libmd5 */,
-				78C59315158720BB004401C5 /* TAppCommon */,
-				78C5931A158720BB004401C5 /* TLibCommon */,
-				78C59357158720BB004401C5 /* TLibDecoder */,
-				78C5936F158720BB004401C5 /* TLibEncoder */,
-				78C59396158720BB004401C5 /* TLibExtractor */,
-				78C59399158720BB004401C5 /* TLibRenderer */,
-				78C593AA158720BB004401C5 /* TLibVideoIO */,
+				78348E451760D51300133029 /* libmd5 */,
+				78348E491760D51300133029 /* TAppCommon */,
+				78348E4E1760D51300133029 /* TLibCommon */,
+				78348E861760D51300133029 /* TLibDecoder */,
+				78348EA01760D51300133029 /* TLibEncoder */,
+				78348ECA1760D51300133029 /* TLibExtractor */,
+				78348ECD1760D51300133029 /* TLibRenderer */,
+				78348EDE1760D51300133029 /* TLibVideoIO */,
 			);
 			name = Lib;
@@ -721,204 +721,204 @@
 			sourceTree = "<group>";
 		};
-		78C59311158720BB004401C5 /* libmd5 */ = {
+		78348E451760D51300133029 /* libmd5 */ = {
 			isa = PBXGroup;
 			children = (
-				78C59312158720BB004401C5 /* libmd5.c */,
-				78C59313158720BB004401C5 /* libmd5.h */,
-				78C59314158720BB004401C5 /* MD5.h */,
+				78348E461760D51300133029 /* libmd5.c */,
+				78348E471760D51300133029 /* libmd5.h */,
+				78348E481760D51300133029 /* MD5.h */,
 			);
 			path = libmd5;
 			sourceTree = "<group>";
 		};
-		78C59315158720BB004401C5 /* TAppCommon */ = {
+		78348E491760D51300133029 /* TAppCommon */ = {
 			isa = PBXGroup;
 			children = (
-				78C59316158720BB004401C5 /* program_options_lite.cpp */,
-				78C59317158720BB004401C5 /* program_options_lite.h */,
-				78C59318158720BB004401C5 /* TAppComCamPara.cpp */,
-				78C59319158720BB004401C5 /* TAppComCamPara.h */,
+				78348E4A1760D51300133029 /* program_options_lite.cpp */,
+				78348E4B1760D51300133029 /* program_options_lite.h */,
+				78348E4C1760D51300133029 /* TAppComCamPara.cpp */,
+				78348E4D1760D51300133029 /* TAppComCamPara.h */,
 			);
 			path = TAppCommon;
 			sourceTree = "<group>";
 		};
-		78C5931A158720BB004401C5 /* TLibCommon */ = {
+		78348E4E1760D51300133029 /* TLibCommon */ = {
 			isa = PBXGroup;
 			children = (
-				78C5931B158720BB004401C5 /* AccessUnit.h */,
-				78C5931C158720BB004401C5 /* CommonDef.h */,
-				78C5931D158720BB004401C5 /* ContextModel.cpp */,
-				78C5931E158720BB004401C5 /* ContextModel.h */,
-				78C5931F158720BB004401C5 /* ContextModel3DBuffer.cpp */,
-				78C59320158720BB004401C5 /* ContextModel3DBuffer.h */,
-				78C59321158720BB004401C5 /* ContextTables.h */,
-				78C59322158720BB004401C5 /* NAL.h */,
-				78C59323158720BB004401C5 /* SEI.h */,
-				78C59324158720BB004401C5 /* TComAdaptiveLoopFilter.cpp */,
-				78C59325158720BB004401C5 /* TComAdaptiveLoopFilter.h */,
-				78C59326158720BB004401C5 /* TComBitCounter.h */,
-				78C59327158720BB004401C5 /* TComBitStream.cpp */,
-				78C59328158720BB004401C5 /* TComBitStream.h */,
-				78C59329158720BB004401C5 /* TComCABACTables.cpp */,
-				78C5932A158720BB004401C5 /* TComCABACTables.h */,
-				78C5932B158720BB004401C5 /* TComDataCU.cpp */,
-				78C5932C158720BB004401C5 /* TComDataCU.h */,
-				78C5932D158720BB004401C5 /* TComDepthMapGenerator.cpp */,
-				78C5932E158720BB004401C5 /* TComDepthMapGenerator.h */,
-				78C5932F158720BB004401C5 /* TComInterpolationFilter.cpp */,
-				78C59330158720BB004401C5 /* TComInterpolationFilter.h */,
-				78C59331158720BB004401C5 /* TComList.h */,
-				78C59332158720BB004401C5 /* TComLoopFilter.cpp */,
-				78C59333158720BB004401C5 /* TComLoopFilter.h */,
-				78C59334158720BB004401C5 /* TComMotionInfo.cpp */,
-				78C59335158720BB004401C5 /* TComMotionInfo.h */,
-				78C59336158720BB004401C5 /* TComMv.h */,
-				78C59337158720BB004401C5 /* TComPattern.cpp */,
-				78C59338158720BB004401C5 /* TComPattern.h */,
-				78C59339158720BB004401C5 /* TComPic.cpp */,
-				78C5933A158720BB004401C5 /* TComPic.h */,
-				78C5933B158720BB004401C5 /* TComPicSym.cpp */,
-				78C5933C158720BB004401C5 /* TComPicSym.h */,
-				78C5933D158720BB004401C5 /* TComPicYuv.cpp */,
-				78C5933E158720BB004401C5 /* TComPicYuv.h */,
-				78C5933F158720BB004401C5 /* TComPicYuvMD5.cpp */,
-				78C59340158720BB004401C5 /* TComPrediction.cpp */,
-				78C59341158720BB004401C5 /* TComPrediction.h */,
-				78C59342158720BB004401C5 /* TComRdCost.cpp */,
-				78C59343158720BB004401C5 /* TComRdCost.h */,
-				78C59344158720BB004401C5 /* TComRdCostWeightPrediction.cpp */,
-				78C59345158720BB004401C5 /* TComRdCostWeightPrediction.h */,
-				78C59346158720BB004401C5 /* TComResidualGenerator.cpp */,
-				78C59347158720BB004401C5 /* TComResidualGenerator.h */,
-				78C59348158720BB004401C5 /* TComRom.cpp */,
-				78C59349158720BB004401C5 /* TComRom.h */,
-				78C5934A158720BB004401C5 /* TComSampleAdaptiveOffset.cpp */,
-				78C5934B158720BB004401C5 /* TComSampleAdaptiveOffset.h */,
-				78C5934C158720BB004401C5 /* TComSlice.cpp */,
-				78C5934D158720BB004401C5 /* TComSlice.h */,
-				78C5934E158720BB004401C5 /* TComTrQuant.cpp */,
-				78C5934F158720BB004401C5 /* TComTrQuant.h */,
-				78C59350158720BB004401C5 /* TComWedgelet.cpp */,
-				78C59351158720BB004401C5 /* TComWedgelet.h */,
-				78C59352158720BB004401C5 /* TComWeightPrediction.cpp */,
-				78C59353158720BB004401C5 /* TComWeightPrediction.h */,
-				78C59354158720BB004401C5 /* TComYuv.cpp */,
-				78C59355158720BB004401C5 /* TComYuv.h */,
-				78C59356158720BB004401C5 /* TypeDef.h */,
+				78348E4F1760D51300133029 /* AccessUnit.h */,
+				78348E501760D51300133029 /* CommonDef.h */,
+				78348E511760D51300133029 /* ContextModel.cpp */,
+				78348E521760D51300133029 /* ContextModel.h */,
+				78348E531760D51300133029 /* ContextModel3DBuffer.cpp */,
+				78348E541760D51300133029 /* ContextModel3DBuffer.h */,
+				78348E551760D51300133029 /* ContextTables.h */,
+				78348E561760D51300133029 /* NAL.h */,
+				78348E571760D51300133029 /* SEI.cpp */,
+				78348E581760D51300133029 /* SEI.h */,
+				78348E591760D51300133029 /* TComBitCounter.h */,
+				78348E5A1760D51300133029 /* TComBitStream.cpp */,
+				78348E5B1760D51300133029 /* TComBitStream.h */,
+				78348E5C1760D51300133029 /* TComCABACTables.cpp */,
+				78348E5D1760D51300133029 /* TComCABACTables.h */,
+				78348E5E1760D51300133029 /* TComDataCU.cpp */,
+				78348E5F1760D51300133029 /* TComDataCU.h */,
+				78348E601760D51300133029 /* TComInterpolationFilter.cpp */,
+				78348E611760D51300133029 /* TComInterpolationFilter.h */,
+				78348E621760D51300133029 /* TComList.h */,
+				78348E631760D51300133029 /* TComLoopFilter.cpp */,
+				78348E641760D51300133029 /* TComLoopFilter.h */,
+				78348E651760D51300133029 /* TComMotionInfo.cpp */,
+				78348E661760D51300133029 /* TComMotionInfo.h */,
+				78348E671760D51300133029 /* TComMv.h */,
+				78348E681760D51300133029 /* TComPattern.cpp */,
+				78348E691760D51300133029 /* TComPattern.h */,
+				78348E6A1760D51300133029 /* TComPic.cpp */,
+				78348E6B1760D51300133029 /* TComPic.h */,
+				78348E6C1760D51300133029 /* TComPicSym.cpp */,
+				78348E6D1760D51300133029 /* TComPicSym.h */,
+				78348E6E1760D51300133029 /* TComPicYuv.cpp */,
+				78348E6F1760D51300133029 /* TComPicYuv.h */,
+				78348E701760D51300133029 /* TComPicYuvMD5.cpp */,
+				78348E711760D51300133029 /* TComPrediction.cpp */,
+				78348E721760D51300133029 /* TComPrediction.h */,
+				78348E731760D51300133029 /* TComRdCost.cpp */,
+				78348E741760D51300133029 /* TComRdCost.h */,
+				78348E751760D51300133029 /* TComRdCostWeightPrediction.cpp */,
+				78348E761760D51300133029 /* TComRdCostWeightPrediction.h */,
+				78348E771760D51300133029 /* TComRom.cpp */,
+				78348E781760D51300133029 /* TComRom.h */,
+				78348E791760D51300133029 /* TComSampleAdaptiveOffset.cpp */,
+				78348E7A1760D51300133029 /* TComSampleAdaptiveOffset.h */,
+				78348E7B1760D51300133029 /* TComSlice.cpp */,
+				78348E7C1760D51300133029 /* TComSlice.h */,
+				78348E7D1760D51300133029 /* TComTrQuant.cpp */,
+				78348E7E1760D51300133029 /* TComTrQuant.h */,
+				78348E7F1760D51300133029 /* TComWedgelet.cpp */,
+				78348E801760D51300133029 /* TComWedgelet.h */,
+				78348E811760D51300133029 /* TComWeightPrediction.cpp */,
+				78348E821760D51300133029 /* TComWeightPrediction.h */,
+				78348E831760D51300133029 /* TComYuv.cpp */,
+				78348E841760D51300133029 /* TComYuv.h */,
+				78348E851760D51300133029 /* TypeDef.h */,
 			);
 			path = TLibCommon;
 			sourceTree = "<group>";
 		};
-		78C59357158720BB004401C5 /* TLibDecoder */ = {
+		78348E861760D51300133029 /* TLibDecoder */ = {
 			isa = PBXGroup;
 			children = (
-				78C59358158720BB004401C5 /* AnnexBread.cpp */,
-				78C59359158720BB004401C5 /* AnnexBread.h */,
-				78C5935A158720BB004401C5 /* NALread.cpp */,
-				78C5935B158720BB004401C5 /* NALread.h */,
-				78C5935C158720BB004401C5 /* SEIread.cpp */,
-				78C5935D158720BB004401C5 /* SEIread.h */,
-				78C5935E158720BB004401C5 /* TDecBinCoder.h */,
-				78C5935F158720BB004401C5 /* TDecBinCoderCABAC.cpp */,
-				78C59360158720BB004401C5 /* TDecBinCoderCABAC.h */,
-				78C59361158720BB004401C5 /* TDecCAVLC.cpp */,
-				78C59362158720BB004401C5 /* TDecCAVLC.h */,
-				78C59363158720BB004401C5 /* TDecCu.cpp */,
-				78C59364158720BB004401C5 /* TDecCu.h */,
-				78C59365158720BB004401C5 /* TDecEntropy.cpp */,
-				78C59366158720BB004401C5 /* TDecEntropy.h */,
-				78C59367158720BB004401C5 /* TDecGop.cpp */,
-				78C59368158720BB004401C5 /* TDecGop.h */,
-				78C59369158720BB004401C5 /* TDecSbac.cpp */,
-				78C5936A158720BB004401C5 /* TDecSbac.h */,
-				78C5936B158720BB004401C5 /* TDecSlice.cpp */,
-				78C5936C158720BB004401C5 /* TDecSlice.h */,
-				78C5936D158720BB004401C5 /* TDecTop.cpp */,
-				78C5936E158720BB004401C5 /* TDecTop.h */,
+				78348E871760D51300133029 /* AnnexBread.cpp */,
+				78348E881760D51300133029 /* AnnexBread.h */,
+				78348E891760D51300133029 /* NALread.cpp */,
+				78348E8A1760D51300133029 /* NALread.h */,
+				78348E8B1760D51300133029 /* SEIread.cpp */,
+				78348E8C1760D51300133029 /* SEIread.h */,
+				78348E8D1760D51300133029 /* SyntaxElementParser.cpp */,
+				78348E8E1760D51300133029 /* SyntaxElementParser.h */,
+				78348E8F1760D51300133029 /* TDecBinCoder.h */,
+				78348E901760D51300133029 /* TDecBinCoderCABAC.cpp */,
+				78348E911760D51300133029 /* TDecBinCoderCABAC.h */,
+				78348E921760D51300133029 /* TDecCAVLC.cpp */,
+				78348E931760D51300133029 /* TDecCAVLC.h */,
+				78348E941760D51300133029 /* TDecCu.cpp */,
+				78348E951760D51300133029 /* TDecCu.h */,
+				78348E961760D51300133029 /* TDecEntropy.cpp */,
+				78348E971760D51300133029 /* TDecEntropy.h */,
+				78348E981760D51300133029 /* TDecGop.cpp */,
+				78348E991760D51300133029 /* TDecGop.h */,
+				78348E9A1760D51300133029 /* TDecSbac.cpp */,
+				78348E9B1760D51300133029 /* TDecSbac.h */,
+				78348E9C1760D51300133029 /* TDecSlice.cpp */,
+				78348E9D1760D51300133029 /* TDecSlice.h */,
+				78348E9E1760D51300133029 /* TDecTop.cpp */,
+				78348E9F1760D51300133029 /* TDecTop.h */,
 			);
 			path = TLibDecoder;
 			sourceTree = "<group>";
 		};
-		78C5936F158720BB004401C5 /* TLibEncoder */ = {
+		78348EA01760D51300133029 /* TLibEncoder */ = {
 			isa = PBXGroup;
 			children = (
-				78C59370158720BB004401C5 /* AnnexBwrite.h */,
-				78C59371158720BB004401C5 /* NALwrite.cpp */,
-				78C59372158720BB004401C5 /* NALwrite.h */,
-				78C59373158720BB004401C5 /* SEIwrite.cpp */,
-				78C59374158720BB004401C5 /* SEIwrite.h */,
-				78C59375158720BB004401C5 /* TEncAdaptiveLoopFilter.cpp */,
-				78C59376158720BB004401C5 /* TEncAdaptiveLoopFilter.h */,
-				78C59377158720BB004401C5 /* TEncAnalyze.h */,
-				78C59378158720BB004401C5 /* TEncBinCoder.h */,
-				78C59379158720BB004401C5 /* TEncBinCoderCABAC.cpp */,
-				78C5937A158720BB004401C5 /* TEncBinCoderCABAC.h */,
-				78C5937B158720BB004401C5 /* TEncBinCoderCABACCounter.cpp */,
-				78C5937C158720BB004401C5 /* TEncBinCoderCABACCounter.h */,
-				78C5937D158720BB004401C5 /* TEncCavlc.cpp */,
-				78C5937E158720BB004401C5 /* TEncCavlc.h */,
-				78C5937F158720BB004401C5 /* TEncCfg.h */,
-				78C59380158720BB004401C5 /* TEncCu.cpp */,
-				78C59381158720BB004401C5 /* TEncCu.h */,
-				78C59382158720BB004401C5 /* TEncEntropy.cpp */,
-				78C59383158720BB004401C5 /* TEncEntropy.h */,
-				78C59384158720BB004401C5 /* TEncGOP.cpp */,
-				78C59385158720BB004401C5 /* TEncGOP.h */,
-				78C59386158720BB004401C5 /* TEncPic.cpp */,
-				78C59387158720BB004401C5 /* TEncPic.h */,
-				78C59388158720BB004401C5 /* TEncPreanalyzer.cpp */,
-				78C59389158720BB004401C5 /* TEncPreanalyzer.h */,
-				78C5938A158720BB004401C5 /* TEncSampleAdaptiveOffset.cpp */,
-				78C5938B158720BB004401C5 /* TEncSampleAdaptiveOffset.h */,
-				78C5938C158720BB004401C5 /* TEncSbac.cpp */,
-				78C5938D158720BB004401C5 /* TEncSbac.h */,
-				78C5938E158720BB004401C5 /* TEncSearch.cpp */,
-				78C5938F158720BB004401C5 /* TEncSearch.h */,
-				78C59390158720BB004401C5 /* TEncSlice.cpp */,
-				78C59391158720BB004401C5 /* TEncSlice.h */,
-				78C59392158720BB004401C5 /* TEncTop.cpp */,
-				78C59393158720BB004401C5 /* TEncTop.h */,
-				78C59394158720BB004401C5 /* WeightPredAnalysis.cpp */,
-				78C59395158720BB004401C5 /* WeightPredAnalysis.h */,
+				78348EA11760D51300133029 /* AnnexBwrite.h */,
+				78348EA21760D51300133029 /* NALwrite.cpp */,
+				78348EA31760D51300133029 /* NALwrite.h */,
+				78348EA41760D51300133029 /* SEIwrite.cpp */,
+				78348EA51760D51300133029 /* SEIwrite.h */,
+				78348EA61760D51300133029 /* SyntaxElementWriter.cpp */,
+				78348EA71760D51300133029 /* SyntaxElementWriter.h */,
+				78348EA81760D51300133029 /* TEncAnalyze.cpp */,
+				78348EA91760D51300133029 /* TEncAnalyze.h */,
+				78348EAA1760D51300133029 /* TEncBinCoder.h */,
+				78348EAB1760D51300133029 /* TEncBinCoderCABAC.cpp */,
+				78348EAC1760D51300133029 /* TEncBinCoderCABAC.h */,
+				78348EAD1760D51300133029 /* TEncBinCoderCABACCounter.cpp */,
+				78348EAE1760D51300133029 /* TEncBinCoderCABACCounter.h */,
+				78348EAF1760D51300133029 /* TEncCavlc.cpp */,
+				78348EB01760D51300133029 /* TEncCavlc.h */,
+				78348EB11760D51300133029 /* TEncCfg.h */,
+				78348EB21760D51300133029 /* TEncCu.cpp */,
+				78348EB31760D51300133029 /* TEncCu.h */,
+				78348EB41760D51300133029 /* TEncEntropy.cpp */,
+				78348EB51760D51300133029 /* TEncEntropy.h */,
+				78348EB61760D51300133029 /* TEncGOP.cpp */,
+				78348EB71760D51300133029 /* TEncGOP.h */,
+				78348EB81760D51300133029 /* TEncPic.cpp */,
+				78348EB91760D51300133029 /* TEncPic.h */,
+				78348EBA1760D51300133029 /* TEncPreanalyzer.cpp */,
+				78348EBB1760D51300133029 /* TEncPreanalyzer.h */,
+				78348EBC1760D51300133029 /* TEncRateCtrl.cpp */,
+				78348EBD1760D51300133029 /* TEncRateCtrl.h */,
+				78348EBE1760D51300133029 /* TEncSampleAdaptiveOffset.cpp */,
+				78348EBF1760D51300133029 /* TEncSampleAdaptiveOffset.h */,
+				78348EC01760D51300133029 /* TEncSbac.cpp */,
+				78348EC11760D51300133029 /* TEncSbac.h */,
+				78348EC21760D51300133029 /* TEncSearch.cpp */,
+				78348EC31760D51300133029 /* TEncSearch.h */,
+				78348EC41760D51300133029 /* TEncSlice.cpp */,
+				78348EC51760D51300133029 /* TEncSlice.h */,
+				78348EC61760D51300133029 /* TEncTop.cpp */,
+				78348EC71760D51300133029 /* TEncTop.h */,
+				78348EC81760D51300133029 /* WeightPredAnalysis.cpp */,
+				78348EC91760D51300133029 /* WeightPredAnalysis.h */,
 			);
 			path = TLibEncoder;
 			sourceTree = "<group>";
 		};
-		78C59396158720BB004401C5 /* TLibExtractor */ = {
+		78348ECA1760D51300133029 /* TLibExtractor */ = {
 			isa = PBXGroup;
 			children = (
-				78C59397158720BB004401C5 /* TExtrTop.cpp */,
-				78C59398158720BB004401C5 /* TExtrTop.h */,
+				78348ECB1760D51300133029 /* TExtrTop.cpp */,
+				78348ECC1760D51300133029 /* TExtrTop.h */,
 			);
 			path = TLibExtractor;
 			sourceTree = "<group>";
 		};
-		78C59399158720BB004401C5 /* TLibRenderer */ = {
+		78348ECD1760D51300133029 /* TLibRenderer */ = {
 			isa = PBXGroup;
 			children = (
-				78C5939A158720BB004401C5 /* TRenFilter.cpp */,
-				78C5939B158720BB004401C5 /* TRenFilter.h */,
-				78C5939C158720BB004401C5 /* TRenImage.cpp */,
-				78C5939D158720BB004401C5 /* TRenImage.h */,
-				78C5939E158720BB004401C5 /* TRenImagePlane.cpp */,
-				78C5939F158720BB004401C5 /* TRenImagePlane.h */,
-				78C593A0158720BB004401C5 /* TRenInterpFilter.cpp */,
-				78C593A1158720BB004401C5 /* TRenInterpFilter.h */,
-				78C593A2158720BB004401C5 /* TRenModel.cpp */,
-				78C593A3158720BB004401C5 /* TRenModel.h */,
-				78C593A4158720BB004401C5 /* TRenModSetupStrParser.cpp */,
-				78C593A5158720BB004401C5 /* TRenModSetupStrParser.h */,
-				78C593A6158720BB004401C5 /* TRenSingleModel.cpp */,
-				78C593A7158720BB004401C5 /* TRenSingleModel.h */,
-				78C593A8158720BB004401C5 /* TRenTop.cpp */,
-				78C593A9158720BB004401C5 /* TRenTop.h */,
+				78348ECE1760D51300133029 /* TRenFilter.cpp */,
+				78348ECF1760D51300133029 /* TRenFilter.h */,
+				78348ED01760D51300133029 /* TRenImage.cpp */,
+				78348ED11760D51300133029 /* TRenImage.h */,
+				78348ED21760D51300133029 /* TRenImagePlane.cpp */,
+				78348ED31760D51300133029 /* TRenImagePlane.h */,
+				78348ED41760D51300133029 /* TRenInterpFilter.cpp */,
+				78348ED51760D51300133029 /* TRenInterpFilter.h */,
+				78348ED61760D51300133029 /* TRenModel.cpp */,
+				78348ED71760D51300133029 /* TRenModel.h */,
+				78348ED81760D51300133029 /* TRenModSetupStrParser.cpp */,
+				78348ED91760D51300133029 /* TRenModSetupStrParser.h */,
+				78348EDA1760D51300133029 /* TRenSingleModel.cpp */,
+				78348EDB1760D51300133029 /* TRenSingleModel.h */,
+				78348EDC1760D51300133029 /* TRenTop.cpp */,
+				78348EDD1760D51300133029 /* TRenTop.h */,
 			);
 			path = TLibRenderer;
 			sourceTree = "<group>";
 		};
-		78C593AA158720BB004401C5 /* TLibVideoIO */ = {
+		78348EDE1760D51300133029 /* TLibVideoIO */ = {
 			isa = PBXGroup;
 			children = (
-				78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */,
-				78C593AC158720BB004401C5 /* TVideoIOYuv.h */,
+				78348EDF1760D51300133029 /* TVideoIOYuv.cpp */,
+				78348EE01760D51300133029 /* TVideoIOYuv.h */,
 			);
 			path = TLibVideoIO;
@@ -1188,5 +1188,5 @@
 			attributes = {
 				BuildIndependentTargetsInParallel = YES;
-				LastUpgradeCheck = 0430;
+				LastUpgradeCheck = 0460;
 			};
 			buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "HTM" */;
@@ -1225,30 +1225,29 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593B5158721A1004401C5 /* ContextModel.cpp in Sources */,
-				78C593B6158721A1004401C5 /* ContextModel3DBuffer.cpp in Sources */,
-				78C593B7158721A1004401C5 /* TComAdaptiveLoopFilter.cpp in Sources */,
-				78C593B8158721A1004401C5 /* TComBitStream.cpp in Sources */,
-				78C593B9158721A1004401C5 /* TComCABACTables.cpp in Sources */,
-				78C593BA158721A1004401C5 /* TComDataCU.cpp in Sources */,
-				78C593BB158721A1004401C5 /* TComDepthMapGenerator.cpp in Sources */,
-				78C593BC158721A1004401C5 /* TComInterpolationFilter.cpp in Sources */,
-				78C593BD158721A1004401C5 /* TComLoopFilter.cpp in Sources */,
-				78C593BE158721A1004401C5 /* TComMotionInfo.cpp in Sources */,
-				78C593BF158721A1004401C5 /* TComPattern.cpp in Sources */,
-				78C593C0158721A1004401C5 /* TComPic.cpp in Sources */,
-				78C593C1158721A1004401C5 /* TComPicSym.cpp in Sources */,
-				78C593C2158721A1004401C5 /* TComPicYuv.cpp in Sources */,
-				78C593C3158721A1004401C5 /* TComPicYuvMD5.cpp in Sources */,
-				78C593C4158721A1004401C5 /* TComPrediction.cpp in Sources */,
-				78C593C5158721A1004401C5 /* TComRdCost.cpp in Sources */,
-				78C593C6158721A1004401C5 /* TComRdCostWeightPrediction.cpp in Sources */,
-				78C593C7158721A1004401C5 /* TComResidualGenerator.cpp in Sources */,
-				78C593C8158721A1004401C5 /* TComRom.cpp in Sources */,
-				78C593C9158721A1004401C5 /* TComSampleAdaptiveOffset.cpp in Sources */,
-				78C593CA158721A1004401C5 /* TComSlice.cpp in Sources */,
-				78C593CB158721A1004401C5 /* TComTrQuant.cpp in Sources */,
-				78C593CC158721A1004401C5 /* TComWedgelet.cpp in Sources */,
-				78C593CD158721A1004401C5 /* TComWeightPrediction.cpp in Sources */,
-				78C593CE158721A1004401C5 /* TComYuv.cpp in Sources */,
+				78348EE31760D55800133029 /* ContextModel.cpp in Sources */,
+				78348EE51760D55800133029 /* ContextModel3DBuffer.cpp in Sources */,
+				78348EE91760D55800133029 /* SEI.cpp in Sources */,
+				78348EEC1760D55800133029 /* TComBitStream.cpp in Sources */,
+				78348EEE1760D55800133029 /* TComCABACTables.cpp in Sources */,
+				78348EF01760D55800133029 /* TComDataCU.cpp in Sources */,
+				78348EF21760D55800133029 /* TComInterpolationFilter.cpp in Sources */,
+				78348EF51760D55800133029 /* TComLoopFilter.cpp in Sources */,
+				78348EF71760D55800133029 /* TComMotionInfo.cpp in Sources */,
+				78348EFA1760D55800133029 /* TComPattern.cpp in Sources */,
+				78348EFC1760D55800133029 /* TComPic.cpp in Sources */,
+				78348EFE1760D55800133029 /* TComPicSym.cpp in Sources */,
+				78348F001760D55800133029 /* TComPicYuv.cpp in Sources */,
+				78348F021760D55800133029 /* TComPicYuvMD5.cpp in Sources */,
+				78348F031760D55800133029 /* TComPrediction.cpp in Sources */,
+				78348F051760D55800133029 /* TComRdCost.cpp in Sources */,
+				78348F071760D55800133029 /* TComRdCostWeightPrediction.cpp in Sources */,
+				78348F091760D55800133029 /* TComRom.cpp in Sources */,
+				78348F0B1760D55800133029 /* TComSampleAdaptiveOffset.cpp in Sources */,
+				78348F0D1760D55800133029 /* TComSlice.cpp in Sources */,
+				78348F0F1760D55800133029 /* TComTrQuant.cpp in Sources */,
+				78348F111760D55800133029 /* TComWedgelet.cpp in Sources */,
+				78348F131760D55800133029 /* TComWeightPrediction.cpp in Sources */,
+				78348F151760D55800133029 /* TComYuv.cpp in Sources */,
+				78348F7E1760D62800133029 /* libmd5.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1258,15 +1257,16 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593D1158721BB004401C5 /* AnnexBread.cpp in Sources */,
-				78C593D2158721BB004401C5 /* NALread.cpp in Sources */,
-				78C593D3158721BB004401C5 /* SEIread.cpp in Sources */,
-				78C593D4158721BB004401C5 /* TDecBinCoderCABAC.cpp in Sources */,
-				78C593D5158721BB004401C5 /* TDecCAVLC.cpp in Sources */,
-				78C593D6158721BB004401C5 /* TDecCu.cpp in Sources */,
-				78C593D7158721BB004401C5 /* TDecEntropy.cpp in Sources */,
-				78C593D8158721BB004401C5 /* TDecGop.cpp in Sources */,
-				78C593D9158721BB004401C5 /* TDecSbac.cpp in Sources */,
-				78C593DA158721BB004401C5 /* TDecSlice.cpp in Sources */,
-				78C593DB158721BB004401C5 /* TDecTop.cpp in Sources */,
+				78348F1C1760D58100133029 /* AnnexBread.cpp in Sources */,
+				78348F1E1760D58100133029 /* NALread.cpp in Sources */,
+				78348F201760D58100133029 /* SEIread.cpp in Sources */,
+				78348F221760D58100133029 /* SyntaxElementParser.cpp in Sources */,
+				78348F251760D58100133029 /* TDecBinCoderCABAC.cpp in Sources */,
+				78348F271760D58100133029 /* TDecCAVLC.cpp in Sources */,
+				78348F291760D58100133029 /* TDecCu.cpp in Sources */,
+				78348F2B1760D58100133029 /* TDecEntropy.cpp in Sources */,
+				78348F2D1760D58100133029 /* TDecGop.cpp in Sources */,
+				78348F2F1760D58100133029 /* TDecSbac.cpp in Sources */,
+				78348F311760D58100133029 /* TDecSlice.cpp in Sources */,
+				78348F331760D58100133029 /* TDecTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1276,21 +1276,23 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593DC158721CE004401C5 /* NALwrite.cpp in Sources */,
-				78C593DD158721CE004401C5 /* SEIwrite.cpp in Sources */,
-				78C593DE158721CE004401C5 /* TEncAdaptiveLoopFilter.cpp in Sources */,
-				78C593DF158721CE004401C5 /* TEncBinCoderCABAC.cpp in Sources */,
-				78C593E0158721CE004401C5 /* TEncBinCoderCABACCounter.cpp in Sources */,
-				78C593E1158721CE004401C5 /* TEncCavlc.cpp in Sources */,
-				78C593E2158721CE004401C5 /* TEncCu.cpp in Sources */,
-				78C593E3158721CE004401C5 /* TEncEntropy.cpp in Sources */,
-				78C593E4158721CE004401C5 /* TEncGOP.cpp in Sources */,
-				78C593E5158721CE004401C5 /* TEncPic.cpp in Sources */,
-				78C593E6158721CE004401C5 /* TEncPreanalyzer.cpp in Sources */,
-				78C593E7158721CE004401C5 /* TEncSampleAdaptiveOffset.cpp in Sources */,
-				78C593E8158721CE004401C5 /* TEncSbac.cpp in Sources */,
-				78C593E9158721CE004401C5 /* TEncSearch.cpp in Sources */,
-				78C593EA158721CE004401C5 /* TEncSlice.cpp in Sources */,
-				78C593EB158721CE004401C5 /* TEncTop.cpp in Sources */,
-				78C593EC158721CE004401C5 /* WeightPredAnalysis.cpp in Sources */,
+				78348F361760D58A00133029 /* NALwrite.cpp in Sources */,
+				78348F381760D58A00133029 /* SEIwrite.cpp in Sources */,
+				78348F3A1760D58A00133029 /* SyntaxElementWriter.cpp in Sources */,
+				78348F3C1760D58A00133029 /* TEncAnalyze.cpp in Sources */,
+				78348F3F1760D58A00133029 /* TEncBinCoderCABAC.cpp in Sources */,
+				78348F411760D58A00133029 /* TEncBinCoderCABACCounter.cpp in Sources */,
+				78348F431760D58A00133029 /* TEncCavlc.cpp in Sources */,
+				78348F461760D58A00133029 /* TEncCu.cpp in Sources */,
+				78348F481760D58A00133029 /* TEncEntropy.cpp in Sources */,
+				78348F4A1760D58A00133029 /* TEncGOP.cpp in Sources */,
+				78348F4C1760D58A00133029 /* TEncPic.cpp in Sources */,
+				78348F4E1760D58A00133029 /* TEncPreanalyzer.cpp in Sources */,
+				78348F501760D58A00133029 /* TEncRateCtrl.cpp in Sources */,
+				78348F521760D58A00133029 /* TEncSampleAdaptiveOffset.cpp in Sources */,
+				78348F541760D58A00133029 /* TEncSbac.cpp in Sources */,
+				78348F561760D58A00133029 /* TEncSearch.cpp in Sources */,
+				78348F581760D58A00133029 /* TEncSlice.cpp in Sources */,
+				78348F5A1760D58A00133029 /* TEncTop.cpp in Sources */,
+				78348F5C1760D58A00133029 /* WeightPredAnalysis.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1300,5 +1302,5 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593F6158721E9004401C5 /* TVideoIOYuv.cpp in Sources */,
+				78348F701760D5A000133029 /* TVideoIOYuv.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1308,8 +1310,7 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593F7158721F1004401C5 /* encmain.cpp in Sources */,
-				78C593F8158721F1004401C5 /* TAppEncCfg.cpp in Sources */,
-				78C593F9158721F1004401C5 /* TAppEncTop.cpp in Sources */,
-				78C594121587228A004401C5 /* libmd5.c in Sources */,
+				78348F751760D5B600133029 /* encmain.cpp in Sources */,
+				78348F761760D5B600133029 /* TAppEncCfg.cpp in Sources */,
+				78348F771760D5B600133029 /* TAppEncTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1319,8 +1320,7 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593FA158721F6004401C5 /* decmain.cpp in Sources */,
-				78C593FB158721F6004401C5 /* TAppDecCfg.cpp in Sources */,
-				78C593FC158721F6004401C5 /* TAppDecTop.cpp in Sources */,
-				78C5941F158722D4004401C5 /* libmd5.c in Sources */,
+				78348F721760D5AE00133029 /* decmain.cpp in Sources */,
+				78348F731760D5AE00133029 /* TAppDecCfg.cpp in Sources */,
+				78348F741760D5AE00133029 /* TAppDecTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1330,5 +1330,5 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593ED158721D7004401C5 /* TExtrTop.cpp in Sources */,
+				78348F5E1760D59300133029 /* TExtrTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1338,7 +1338,7 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593FD158721FC004401C5 /* extrmain.cpp in Sources */,
-				78C593FE158721FC004401C5 /* TAppExtrCfg.cpp in Sources */,
-				78C593FF158721FC004401C5 /* TAppExtrTop.cpp in Sources */,
+				78348F781760D5BB00133029 /* extrmain.cpp in Sources */,
+				78348F791760D5BB00133029 /* TAppExtrCfg.cpp in Sources */,
+				78348F7A1760D5BB00133029 /* TAppExtrTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1348,12 +1348,12 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593EE158721E2004401C5 /* TRenFilter.cpp in Sources */,
-				78C593EF158721E2004401C5 /* TRenImage.cpp in Sources */,
-				78C593F0158721E2004401C5 /* TRenImagePlane.cpp in Sources */,
-				78C593F1158721E2004401C5 /* TRenInterpFilter.cpp in Sources */,
-				78C593F2158721E2004401C5 /* TRenModel.cpp in Sources */,
-				78C593F3158721E2004401C5 /* TRenModSetupStrParser.cpp in Sources */,
-				78C593F4158721E2004401C5 /* TRenSingleModel.cpp in Sources */,
-				78C593F5158721E2004401C5 /* TRenTop.cpp in Sources */,
+				78348F601760D59900133029 /* TRenFilter.cpp in Sources */,
+				78348F621760D59900133029 /* TRenImage.cpp in Sources */,
+				78348F641760D59900133029 /* TRenImagePlane.cpp in Sources */,
+				78348F661760D59900133029 /* TRenInterpFilter.cpp in Sources */,
+				78348F681760D59900133029 /* TRenModel.cpp in Sources */,
+				78348F6A1760D59900133029 /* TRenModSetupStrParser.cpp in Sources */,
+				78348F6C1760D59900133029 /* TRenSingleModel.cpp in Sources */,
+				78348F6E1760D59900133029 /* TRenTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1363,7 +1363,7 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C5940015872201004401C5 /* RendererMain.cpp in Sources */,
-				78C5940115872201004401C5 /* TAppRendererCfg.cpp in Sources */,
-				78C5940215872201004401C5 /* TAppRendererTop.cpp in Sources */,
+				78348F7B1760D5C100133029 /* RendererMain.cpp in Sources */,
+				78348F7C1760D5C100133029 /* TAppRendererCfg.cpp in Sources */,
+				78348F7D1760D5C100133029 /* TAppRendererTop.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1373,6 +1373,6 @@
 			buildActionMask = 2147483647;
 			files = (
-				78C593CF158721AD004401C5 /* program_options_lite.cpp in Sources */,
-				78C593D0158721AD004401C5 /* TAppComCamPara.cpp in Sources */,
+				78348F181760D57800133029 /* program_options_lite.cpp in Sources */,
+				78348F1A1760D57800133029 /* TAppComCamPara.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1527,4 +1527,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibCommon;
@@ -1535,4 +1537,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibCommon;
@@ -1543,4 +1547,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibDecoder;
@@ -1551,4 +1557,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibDecoder;
@@ -1559,4 +1567,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibEncoder;
@@ -1567,4 +1577,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibEncoder;
@@ -1575,4 +1587,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibVideoIO;
@@ -1583,4 +1597,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibVideoIO;
@@ -1591,4 +1607,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppEncoder;
@@ -1599,4 +1616,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppEncoder;
@@ -1607,4 +1625,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppDecoder;
@@ -1615,4 +1634,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppDecoder;
@@ -1623,4 +1643,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibExtractor;
@@ -1631,4 +1653,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibExtractor;
@@ -1639,4 +1663,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppExtractor;
@@ -1647,4 +1672,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppExtractor;
@@ -1655,4 +1681,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibRenderer;
@@ -1663,4 +1691,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TLibRenderer;
@@ -1671,4 +1701,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppRenderer;
@@ -1679,4 +1710,5 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/bin;
 				PRODUCT_NAME = TAppRenderer;
@@ -1687,4 +1719,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TAppCommon;
@@ -1695,4 +1729,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = TAppCommon;
@@ -1703,4 +1739,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 			};
@@ -1710,4 +1748,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 			};
Index: /branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.cpp	(revision 467)
@@ -123,4 +123,11 @@
   {
     vps.setVpsDepthModesFlag( layer, ((vps.getDepthId( layer ) != 0) && (m_useDMM || m_useRBC || m_useSDC || m_useDLT)) ? true : false );
+#if H_3D_DIM_DLT
+    vps.setUseDLTFlag( layer , ((vps.getDepthId( layer ) != 0) && m_useDLT) ? true : false );
+    if( vps.getUseDLTFlag( layer ) )
+    {
+      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod, 24), &vps);
+    }
+#endif
   }
 
@@ -986,4 +993,77 @@
 }
 
+#if H_3D_DIM_DLT
+Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps)
+{
+  TComPicYuv*       pcDepthPicYuvOrg = new TComPicYuv;
+  // allocate original YUV buffer
+  pcDepthPicYuvOrg->create( m_iSourceWidth, m_iSourceHeight, m_uiMaxCUWidth, m_uiMaxCUHeight, m_uiMaxCUDepth );
+  
+  TVideoIOYuv* depthVideoFile = new TVideoIOYuv;
+  
+  UInt uiMaxDepthValue = ((1 << g_bitDepthY)-1);
+  
+  Bool abValidDepths[256];
+  
+  depthVideoFile->open( m_pchInputFileList[layer], false, m_inputBitDepthY, m_inputBitDepthC, m_internalBitDepthY, m_internalBitDepthC );  // read  mode
+  
+  // initialize boolean array
+  for(Int p=0; p<=uiMaxDepthValue; p++)
+    abValidDepths[p] = false;
+  
+  Int iHeight   = pcDepthPicYuvOrg->getHeight();
+  Int iWidth    = pcDepthPicYuvOrg->getWidth();
+  Int iStride   = pcDepthPicYuvOrg->getStride();
+  
+  Pel* pInDM    = pcDepthPicYuvOrg->getLumaAddr();
+  
+  for(Int uiFrame=0; uiFrame < uiNumFrames; uiFrame++ )
+  {
+    depthVideoFile->read( pcDepthPicYuvOrg, m_aiPad );
+    
+    // check all pixel values
+    for (Int i=0; i<iHeight; i++)
+    {
+      Int rowOffset = i*iStride;
+      
+      for (Int j=0; j<iWidth; j++)
+      {
+        Pel depthValue = pInDM[rowOffset+j];
+        abValidDepths[depthValue] = true;
+      }
+    }
+  }
+  
+  depthVideoFile->close();
+  
+  pcDepthPicYuvOrg->destroy();
+  delete pcDepthPicYuvOrg;
+  
+  // convert boolean array to idx2Depth LUT
+  Int* aiIdx2DepthValue = (Int*) calloc(uiMaxDepthValue, sizeof(Int));
+  Int iNumDepthValues = 0;
+  for(Int p=0; p<=uiMaxDepthValue; p++)
+  {
+    if( abValidDepths[p] == true)
+    {
+      aiIdx2DepthValue[iNumDepthValues++] = p;
+    }
+  }
+  
+  if( uiNumFrames == 0 || (Int)ceil(Log2(iNumDepthValues)) == (Int)ceil(Log2(((1 << g_bitDepthY)-1))) )
+  {
+    // don't use DLT
+    vps->setUseDLTFlag(layer, false);
+  }
+  
+  // assign LUT
+  if( vps->getUseDLTFlag(layer) )
+    vps->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
+  
+  // free temporary memory
+  free(aiIdx2DepthValue);
+}
+#endif
+
 #if H_MV
 Void TAppEncTop::xSetDimensionIdAndLength( TComVPS& vps )
Index: /branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.h	(revision 467)
@@ -121,4 +121,8 @@
   Int  xGetMax( std::vector<Int>& vec);
 #endif
+  
+#if H_3D_DIM_DLT
+  Void  xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps);
+#endif
 public:
   TAppEncTop();
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/ContextTables.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/ContextTables.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/ContextTables.h	(revision 467)
@@ -111,4 +111,8 @@
 #endif
 
+#if H_3D_DIM_SDC
+#define SDC_NUM_RESIDUAL_FLAG_CTX        1
+#define SDC_NUM_RESIDUAL_CTX             1
+#endif
 // ====================================================================================================================
 // Tables
@@ -403,4 +407,20 @@
 };
 #endif
+#if H_3D_DIM_SDC
+static const UChar
+INIT_SDC_RESIDUAL_FLAG[3][SDC_NUM_RESIDUAL_FLAG_CTX] =
+{
+  { CNU },
+  { CNU },
+  { CNU },
+};
+static const UChar
+INIT_SDC_RESIDUAL[3][SDC_NUM_RESIDUAL_CTX] =
+{
+  { 155 },
+  { 155 },
+  { 155 },
+};
+#endif
 #endif
 //! \}
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.cpp	(revision 467)
@@ -130,4 +130,9 @@
   m_pbEdgePartition = NULL;
 #endif
+#if H_3D_DIM_SDC
+  m_pbSDCFlag             = NULL;
+  m_apSegmentDCOffset[0]  = NULL;
+  m_apSegmentDCOffset[1]  = NULL;
+#endif
 #endif
 
@@ -245,4 +250,9 @@
     m_pbEdgeLeftFirst = (Bool*)xMalloc(Bool, uiNumPartition);
     m_pbEdgePartition = (Bool*)xMalloc(Bool, uiNumPartition * 16);
+#endif
+#if H_3D_DIM_SDC
+    m_pbSDCFlag             = (Bool*)xMalloc(Bool, uiNumPartition);
+    m_apSegmentDCOffset[0]  = (Pel*)xMalloc(Pel, uiNumPartition);
+    m_apSegmentDCOffset[1]  = (Pel*)xMalloc(Pel, uiNumPartition);
 #endif
 #endif
@@ -353,4 +363,9 @@
     if ( m_pucEdgeCode     ) { xFree( m_pucEdgeCode     ); m_pucEdgeCode     = NULL; }
     if ( m_pbEdgePartition ) { xFree( m_pbEdgePartition ); m_pbEdgePartition = NULL; }
+#endif
+#if H_3D_DIM_SDC
+    if ( m_pbSDCFlag            ) { xFree(m_pbSDCFlag);             m_pbSDCFlag             = NULL; }
+    if ( m_apSegmentDCOffset[0] ) { xFree(m_apSegmentDCOffset[0]);  m_apSegmentDCOffset[0]  = NULL; }
+    if ( m_apSegmentDCOffset[1] ) { xFree(m_apSegmentDCOffset[1]);  m_apSegmentDCOffset[1]  = NULL; }
 #endif
 #endif
@@ -481,4 +496,7 @@
     m_puhCbf[2][ui]=pcFrom->m_puhCbf[2][ui];
     m_pbIPCMFlag[ui] = pcFrom->m_pbIPCMFlag[ui];
+#if H_3D_DIM_SDC
+    m_pbSDCFlag[ui] = pcFrom->m_pbSDCFlag[ui];
+#endif
   }
   
@@ -535,4 +553,9 @@
     memset( m_pbEdgeLeftFirst   + firstElement, false,                    numElements * sizeof( *m_pbEdgeLeftFirst ) );
     memset( m_pbEdgePartition   + firstElement, false,                    numElements * sizeof( *m_pbEdgePartition ) * 16 );
+#endif
+#if H_3D_DIM_SDC
+    memset( m_pbSDCFlag             + firstElement,     0,                numElements * sizeof( *m_pbSDCFlag            ) );
+    memset( m_apSegmentDCOffset[0]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[0] ) );
+    memset( m_apSegmentDCOffset[1]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[1] ) );
 #endif
 #endif
@@ -687,4 +710,9 @@
       m_dmm3IntraTabIdx [ui] = 0;
 #endif
+#if H_3D_DIM_SDC
+      m_pbSDCFlag           [ui] = false;
+      m_apSegmentDCOffset[0][ui] = 0;
+      m_apSegmentDCOffset[1][ui] = 0;
+#endif
 #endif
     }
@@ -785,4 +813,9 @@
   memset( m_pbEdgeLeftFirst, 0, iSizeInBool );
   memset( m_pbEdgePartition, 0, iSizeInBool * 16 );
+#endif
+#if H_3D_DIM_SDC
+  memset( m_pbSDCFlag,            0, sizeof(Bool) * m_uiNumPartition  );
+  memset( m_apSegmentDCOffset[0], 0, sizeof(Pel) * m_uiNumPartition   );
+  memset( m_apSegmentDCOffset[1], 0, sizeof(Pel) * m_uiNumPartition   );
 #endif
 #endif
@@ -840,4 +873,9 @@
       m_dmm3IntraTabIdx [ui] = pcCU->m_dmm3IntraTabIdx[uiPartOffset+ui];
 #endif
+#if H_3D_DIM_SDC
+      m_pbSDCFlag           [ui] = pcCU->m_pbSDCFlag            [ uiPartOffset + ui ];
+      m_apSegmentDCOffset[0][ui] = pcCU->m_apSegmentDCOffset[0] [ uiPartOffset + ui ];
+      m_apSegmentDCOffset[1][ui] = pcCU->m_apSegmentDCOffset[1] [ uiPartOffset + ui ];
+#endif
 #endif
     }
@@ -980,4 +1018,9 @@
   m_pbEdgeLeftFirst = pcCU->getEdgeLeftFirst()   + uiPart;
   m_pbEdgePartition = pcCU->getEdgePartition( uiPart );
+#endif
+#if H_3D_DIM_SDC
+  m_pbSDCFlag               = pcCU->getSDCFlag()              + uiPart;
+  m_apSegmentDCOffset[0]    = pcCU->getSDCSegmentDCOffset(0)  + uiPart;
+  m_apSegmentDCOffset[1]    = pcCU->getSDCSegmentDCOffset(1)  + uiPart;
 #endif
 #endif
@@ -1131,4 +1174,9 @@
   memcpy( getEdgePartition( uiOffset ),  pcCU->getEdgePartition(0), iSizeInBool * 16 );
 #endif
+#if H_3D_DIM_SDC
+  memcpy( m_pbSDCFlag             + uiOffset, pcCU->getSDCFlag(),             iSizeInBool  );
+  memcpy( m_apSegmentDCOffset[0]  + uiOffset, pcCU->getSDCSegmentDCOffset(0), sizeof( Pel ) * uiNumPartition);
+  memcpy( m_apSegmentDCOffset[1]  + uiOffset, pcCU->getSDCSegmentDCOffset(1), sizeof( Pel ) * uiNumPartition);
+#endif
 #endif
 
@@ -1233,4 +1281,9 @@
   memcpy( rpcCU->getEdgeLeftFirst()   + m_uiAbsIdxInLCU, m_pbEdgeLeftFirst, iSizeInBool );
   memcpy( rpcCU->getEdgePartition( m_uiAbsIdxInLCU ),    m_pbEdgePartition, iSizeInBool * 16 );
+#endif
+#if H_3D_DIM_SDC
+  memcpy( rpcCU->getSDCFlag()             + m_uiAbsIdxInLCU, m_pbSDCFlag,      iSizeInBool  );
+  memcpy( rpcCU->getSDCSegmentDCOffset(0) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[0], sizeof( Pel ) * m_uiNumPartition);
+  memcpy( rpcCU->getSDCSegmentDCOffset(1) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[1], sizeof( Pel ) * m_uiNumPartition);
 #endif
 #endif
@@ -1328,4 +1381,9 @@
   memcpy( rpcCU->getEdgePartition( uiPartOffset ),    m_pbEdgePartition, iSizeInBool * 16 );
 #endif
+#if H_3D_DIM_SDC
+  memcpy( rpcCU->getSDCFlag()             + uiPartOffset, m_pbSDCFlag,      iSizeInBool  );
+  memcpy( rpcCU->getSDCSegmentDCOffset(0) + uiPartOffset, m_apSegmentDCOffset[0], sizeof( Pel ) * uiQNumPart);
+  memcpy( rpcCU->getSDCSegmentDCOffset(1) + uiPartOffset, m_apSegmentDCOffset[1], sizeof( Pel ) * uiQNumPart);
+#endif
 #endif
 
@@ -2226,4 +2284,27 @@
   }
 }
+
+#if H_3D_DIM_SDC
+Void TComDataCU::setSDCFlagSubParts ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiDepth )
+{
+  assert( sizeof( *m_pbSDCFlag) == 1 );
+  memset( m_pbSDCFlag + uiAbsPartIdx, bSDCFlag, m_pcPic->getNumPartInCU() >> ( 2 * uiDepth ) );
+}
+
+Bool TComDataCU::getSDCAvailable( UInt uiAbsPartIdx )
+{
+  // check general CU information
+  if( !getSlice()->getIsDepth() || !isIntra(uiAbsPartIdx) || getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N )
+    return false;
+  
+  // check prediction mode
+  UInt uiLumaPredMode = getLumaIntraDir( uiAbsPartIdx );  
+  if( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) )
+    return true;
+  
+  // else
+  return false;
+}
+#endif
 
 Void TComDataCU::setMergeFlagSubParts ( Bool bMergeFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.h	(revision 467)
@@ -202,4 +202,8 @@
   Bool*         m_pbEdgePartition;      ///< true if it belongs to region 1, otherwise, region 0
 #endif
+#if H_3D_DIM_SDC
+  Bool*         m_pbSDCFlag;
+  Pel*          m_apSegmentDCOffset[2];
+#endif
 #endif
   
@@ -461,4 +465,15 @@
 
   Void   reconPartition( UInt uiAbsPartIdx, UInt uiDepth, Bool bLeft, UChar ucStartPos, UChar ucNumEdge, UChar* pucEdgeCode, Bool* pbRegion );
+#endif
+#if H_3D_DIM_SDC
+  Bool*         getSDCFlag          ()                        { return m_pbSDCFlag;               }
+  Bool          getSDCFlag          ( UInt uiIdx )            { return m_pbSDCFlag[uiIdx];        }
+  Void          setSDCFlagSubParts  ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiDepth );
+  
+  Bool          getSDCAvailable             ( UInt uiAbsPartIdx );
+  
+  Pel*          getSDCSegmentDCOffset( UInt uiSeg ) { return m_apSegmentDCOffset[uiSeg]; }
+  Pel           getSDCSegmentDCOffset( UInt uiSeg, UInt uiPartIdx ) { return m_apSegmentDCOffset[uiSeg][uiPartIdx]; }
+  Void          setSDCSegmentDCOffset( Pel pOffset, UInt uiSeg, UInt uiPartIdx) { m_apSegmentDCOffset[uiSeg][uiPartIdx] = pOffset; }
 #endif
 #endif
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.cpp	(revision 467)
@@ -476,6 +476,6 @@
     {
 #if H_3D_DIM_DLT
-      segDC1 = GetIdx2DepthValue( GetDepthValue2Idx( predDC1 ) + deltaDC1 );
-      segDC2 = GetIdx2DepthValue( GetDepthValue2Idx( predDC2 ) + deltaDC2 );
+      segDC1 = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 ) + deltaDC1 );
+      segDC2 = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 ) + deltaDC2 );
 #else
       segDC1 = ClipY( predDC1 + deltaDC1 );
@@ -1479,4 +1479,46 @@
 }
 #endif
+#if H_3D_DIM_SDC
+Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride )
+{
+  Int iSumDepth[2];
+  memset(iSumDepth, 0, sizeof(Int)*2);
+  Int iSumPix[2];
+  memset(iSumPix, 0, sizeof(Int)*2);
+  
+  Int subSamplePix;
+  if ( uiSize == 64 || uiSize == 32 )
+  {
+    subSamplePix = 2;
+  }
+  else
+  {
+    subSamplePix = 1;
+  }
+  for (Int y=0; y<uiSize; y+=subSamplePix)
+  {
+    for (Int x=0; x<uiSize; x+=subSamplePix)
+    {
+      UChar ucSegment = pMask?(UChar)pMask[x]:0;
+      assert( ucSegment < uiNumSegments );
+      
+      iSumDepth[ucSegment] += pOrig[x];
+      iSumPix[ucSegment]   += 1;
+    }
+    
+    pOrig  += uiStride*subSamplePix;
+    pMask  += uiMaskStride*subSamplePix;
+  }
+  
+  // compute mean for each segment
+  for( UChar ucSeg = 0; ucSeg < uiNumSegments; ucSeg++ )
+  {
+    if( iSumPix[ucSeg] > 0 )
+      rpSegMeans[ucSeg] = iSumDepth[ucSeg] / iSumPix[ucSeg];
+    else
+      rpSegMeans[ucSeg] = 0;  // this happens for zero-segments
+  }
+}
+#endif // H_3D_DIM_SDC
 #endif
 //! \}
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.h	(revision 467)
@@ -128,5 +128,8 @@
 #if H_3D_DIM
   // Depth intra
-  Void predIntraLumaDepth         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiIntraMode, Pel* piPred, UInt uiStride, Int iWidth, Int iHeight, Bool bFastEnc = false );         
+  Void predIntraLumaDepth         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiIntraMode, Pel* piPred, UInt uiStride, Int iWidth, Int iHeight, Bool bFastEnc = false );
+#if H_3D_DIM_SDC
+  Void analyzeSegmentsSDC         ( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride );
+#endif
 #endif
 
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.cpp	(revision 467)
@@ -1480,4 +1480,21 @@
     m_viewIndex         [i] = -1; 
     m_vpsDepthModesFlag [i] = false;
+#if H_3D_DIM_DLT
+    m_bUseDLTFlag         [i] = false;
+    
+    // allocate some memory and initialize with default mapping
+    m_iNumDepthmapValues[i] = ((1 << g_bitDepthY)-1)+1;
+    m_iBitsPerDepthValue[i] = (Int)ceil(Log2(m_iNumDepthmapValues[i]));
+    
+    m_iDepthValue2Idx[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
+    m_iIdx2DepthValue[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
+    
+    //default mapping
+    for (Int d=0; d<m_iNumDepthmapValues[i]; d++)
+    {
+      m_iDepthValue2Idx[i][d] = d;
+      m_iIdx2DepthValue[i][d] = d;
+    }
+#endif
 #endif
 
@@ -1502,4 +1519,67 @@
   if( m_cprmsPresentFlag != NULL )     delete[] m_cprmsPresentFlag;
 }
+  
+#if H_3D_DIM_DLT
+  Void TComVPS::setDepthLUTs(Int layerIdInVps, Int* idx2DepthValue, Int iNumDepthValues)
+  {
+    if( idx2DepthValue == NULL || iNumDepthValues == 0 ) // default mapping only
+      return;
+    
+    // copy idx2DepthValue to internal array
+    memcpy(m_iIdx2DepthValue[layerIdInVps], idx2DepthValue, iNumDepthValues*sizeof(UInt));
+    
+    UInt uiMaxDepthValue = ((1 << g_bitDepthY)-1);
+    for(Int p=0; p<=uiMaxDepthValue; p++)
+    {
+      Int iIdxDown    = 0;
+      Int iIdxUp      = iNumDepthValues-1;
+      Bool bFound     = false;
+      
+      // iterate over indices to find lower closest depth
+      Int i = 1;
+      while(!bFound && i<iNumDepthValues)
+      {
+        if( m_iIdx2DepthValue[layerIdInVps][i] > p )
+        {
+          iIdxDown  = i-1;
+          bFound    = true;
+        }
+        
+        i++;
+      }
+      // iterate over indices to find upper closest depth
+      i = iNumDepthValues-2;
+      bFound = false;
+      while(!bFound && i>=0)
+      {
+        if( m_iIdx2DepthValue[layerIdInVps][i] < p )
+        {
+          iIdxUp  = i+1;
+          bFound    = true;
+        }
+        
+        i--;
+      }
+      
+      // assert monotony
+      assert(iIdxDown<=iIdxUp);
+      
+      // assign closer depth value/idx
+      if( abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxDown]) < abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxUp]) )
+      {
+        m_iDepthValue2Idx[layerIdInVps][p] = iIdxDown;
+      }
+      else
+      {
+        m_iDepthValue2Idx[layerIdInVps][p] = iIdxUp;
+      }
+      
+    }
+    
+    // update DLT variables
+    m_iNumDepthmapValues[layerIdInVps] = iNumDepthValues;
+    m_iBitsPerDepthValue[layerIdInVps] = (Int)ceil(Log2(m_iNumDepthmapValues[layerIdInVps]));
+  }
+#endif
 
 #if H_MV
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.h	(revision 467)
@@ -525,4 +525,12 @@
   Int         m_viewIndex                [MAX_NUM_LAYERS   ];
   Bool        m_vpsDepthModesFlag        [MAX_NUM_LAYERS   ];
+#if H_3D_DIM_DLT
+  Bool        m_bUseDLTFlag              [MAX_NUM_LAYERS   ];
+  
+  Int         m_iBitsPerDepthValue       [MAX_NUM_LAYERS   ];
+  Int         m_iNumDepthmapValues       [MAX_NUM_LAYERS   ];
+  Int*        m_iDepthValue2Idx          [MAX_NUM_LAYERS   ];
+  Int*        m_iIdx2DepthValue          [MAX_NUM_LAYERS   ];
+#endif
 #endif
 
@@ -646,4 +654,14 @@
   Void    setVpsDepthModesFlag( Int layerIdInVps, Bool val )               { m_vpsDepthModesFlag[ layerIdInVps ] = val; }
   Bool    getVpsDepthModesFlag( Int layerIdInVps )                         { return m_vpsDepthModesFlag[ layerIdInVps ]; }
+#if H_3D_DIM_DLT
+  Bool    getUseDLTFlag      ( Int layerIdInVps )                         { return m_bUseDLTFlag[ layerIdInVps ]; }
+  Void    setUseDLTFlag      ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ]  = b;          }
+  
+  Int     getBitsPerDepthValue( Int layerIdInVps )        { return getUseDLTFlag(layerIdInVps)?m_iBitsPerDepthValue[layerIdInVps]:g_bitDepthY; }
+  Int     getNumDepthValues( Int layerIdInVps )           { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }
+  Int     depthValue2idx( Int layerIdInVps, Pel value )   { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }
+  Pel     idx2DepthValue( Int layerIdInVps, UInt uiIdx )  { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][uiIdx]:uiIdx; }
+  Void    setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );
+#endif
 #endif
 
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TypeDef.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TypeDef.h	(revision 467)
@@ -87,5 +87,5 @@
                                               // HHI_DELTADC_DLT_D0035
                                               // PKU_QC_DEPTH_INTRA_UNI_D0195
-                                              // ... [PM: add SDC and DLT related]
+                                              // RWTH_SDC_DLT_B0036
 #endif 
 
@@ -107,9 +107,12 @@
 #define H_3D_DIM_DMM                      1   // Depth Modeling Modes
 #define H_3D_DIM_RBC                      1   // Region Boundary Chain mode
-#define H_3D_DIM_SDC                      0   // Simplified Depth Coding method
-#define H_3D_DIM_DLT                      0   // Depth Lookup Table
+#define H_3D_DIM_SDC                      1   // Simplified Depth Coding method
+#define H_3D_DIM_DLT                      1   // Depth Lookup Table
 #define H_3D_DIM_ENC                      1   // Depth Intra encoder optimizations, includes:
                                               // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
                                               // LG_ZEROINTRADEPTHRESI_A0087
+#if H_3D_DIM_DLT || H_3D_DIM_SDC
+#define Log2( n ) ( log((double)n) / log(2.0) )
+#endif
 #endif
 
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 467)
@@ -961,4 +961,36 @@
         {
           READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
+          
+#if H_3D_DIM_DLT
+          if( pcVPS->getVpsDepthModesFlag( i ) )
+          {
+            READ_FLAG( uiCode, "use_dlt_flag[i]" );
+            pcVPS->setUseDLTFlag( i, uiCode == 1 ? true : false );
+            if( pcVPS->getUseDLTFlag( i ) )
+            {
+              // decode mapping
+              UInt uiNumDepthValues;
+              // parse number of values in DLT
+              READ_UVLC(uiNumDepthValues, "num_dlt_depth_values[i]");
+              
+              // parse actual DLT values
+              Int* aiIdx2DepthValue = (Int*) calloc(uiNumDepthValues, sizeof(Int));
+              for(Int d=0; d<uiNumDepthValues; d++)
+              {
+                READ_UVLC(uiCode, "dlt_depth_value[i][d]");
+                aiIdx2DepthValue[d] = (Int)uiCode;
+              }
+              
+              pcVPS->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
+              
+              // clean memory
+              free(aiIdx2DepthValue);
+            }
+            else
+              pcVPS->setDepthLUTs(i);
+          }
+          else
+            pcVPS->setDepthLUTs(i);
+#endif
         }
       }
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.cpp	(revision 467)
@@ -399,4 +399,9 @@
       break;
     case MODE_INTRA:
+#if H_3D_DIM_SDC
+      if( m_ppcCU[uiDepth]->getSDCFlag(0) )
+        xReconIntraSDC( m_ppcCU[uiDepth], 0, uiDepth );
+      else
+#endif
       xReconIntraQT( m_ppcCU[uiDepth], uiDepth );
       break;
@@ -634,4 +639,131 @@
 
 }
+
+#if H_3D_DIM_SDC
+Void TDecCu::xReconIntraSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
+{
+  UInt uiWidth        = pcCU->getWidth  ( 0 );
+  UInt uiHeight       = pcCU->getHeight ( 0 );
+  
+  TComYuv* pcRecoYuv  = m_ppcYuvReco[uiDepth];
+  TComYuv* pcPredYuv  = m_ppcYuvReco[uiDepth];
+  TComYuv* pcResiYuv  = m_ppcYuvResi[uiDepth];
+  
+  UInt    uiStride    = pcRecoYuv->getStride  ();
+  Pel*    piReco      = pcRecoYuv->getLumaAddr( uiAbsPartIdx );
+  Pel*    piPred      = pcPredYuv->getLumaAddr( uiAbsPartIdx );
+  Pel*    piResi      = pcResiYuv->getLumaAddr( uiAbsPartIdx );
+  
+  UInt    uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
+  Pel*    piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
+  UInt    uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
+  
+  UInt    uiLumaPredMode    = pcCU->getLumaIntraDir     ( uiAbsPartIdx );
+  
+  AOF( uiWidth == uiHeight );
+  AOF( uiAbsPartIdx == 0 );
+  AOF( pcCU->getSDCAvailable(uiAbsPartIdx) );
+  AOF( pcCU->getSDCFlag(uiAbsPartIdx) );
+  
+  //===== init availability pattern =====
+  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 );
+  
+  //===== get prediction signal =====
+#if H_3D_DIM
+  if( isDimMode( uiLumaPredMode ) )
+  {
+    m_pcPrediction->predIntraLumaDepth( pcCU, uiAbsPartIdx, uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight );
+  }
+  else
+  {
+#endif
+    m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
+#if H_3D_DIM
+  }
+#endif
+  
+  // number of segments depends on prediction mode
+  UInt uiNumSegments = 1;
+  Bool* pbMask = NULL;
+  UInt uiMaskStride = 0;
+  
+  if( getDimType( uiLumaPredMode ) == DMM1_IDX )
+  {
+    Int uiTabIdx = pcCU->getDmmWedgeTabIdx(DMM1_IDX, uiAbsPartIdx);
+    
+    WedgeList* pacWedgeList = &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
+    TComWedgelet* pcWedgelet = &(pacWedgeList->at( uiTabIdx ));
+    
+    uiNumSegments = 2;
+    pbMask = pcWedgelet->getPattern();
+    uiMaskStride = pcWedgelet->getStride();
+  }
+  
+  // get DC prediction for each segment
+  Pel apDCPredValues[2];
+  m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride);
+  
+  // reconstruct residual based on mask + DC residuals
+  Pel apDCResiValues[2];
+  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
+  {
+#if H_3D_DIM_DLT
+    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
+    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
+    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
+    
+    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
+#else
+    apDCResiValues[uiSegment]  = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
+#endif
+  }
+  
+  //===== reconstruction =====
+  Bool*pMask      = pbMask;
+  Pel* pPred      = piPred;
+  Pel* pResi      = piResi;
+  Pel* pReco      = piReco;
+  Pel* pRecIPred  = piRecIPred;
+  
+  for( UInt uiY = 0; uiY < uiHeight; uiY++ )
+  {
+    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
+    {
+      UChar ucSegment = pMask?(UChar)pMask[uiX]:0;
+      assert( ucSegment < uiNumSegments );
+      
+      Pel pResiDC = apDCResiValues[ucSegment];
+      
+      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResiDC );
+      pRecIPred[ uiX ] = pReco[ uiX ];
+    }
+    pPred     += uiStride;
+    pResi     += uiStride;
+    pReco     += uiStride;
+    pRecIPred += uiRecIPredStride;
+    pMask     += uiMaskStride;
+  }
+  
+  // 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] = 128;
+      pRecCr[x] = 128;
+    }
+    
+    pRecCb += uiStrideC;
+    pRecCr += uiStrideC;
+  }
+}
+#endif
 
 /** Function for deriving recontructed PU/CU Luma sample with QTree structure
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.h	(revision 467)
@@ -115,4 +115,7 @@
   Void setdQPFlag               ( Bool b )                { m_bDecodeDQP = b;           }
   Void xFillPCMBuffer           (TComDataCU* pCU, UInt depth);
+#if H_3D_DIM_SDC
+  Void xReconIntraSDC           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
+#endif
 };
 
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecEntropy.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 467)
@@ -107,5 +107,8 @@
   {
     decodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx, uiDepth );
-    decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth );
+#if H_3D_DIM_SDC
+    if(!pcCU->getSDCFlag(uiAbsPartIdx))
+#endif
+      decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth );
   }
   else                                                                // if it is Inter mode, encode motion vector and reference index
@@ -129,4 +132,10 @@
     return;
   }
+#if H_3D_DIM_SDC
+  if( pcCU->getSDCFlag(uiAbsPartIdx) )
+  {
+    return;
+  }
+#endif
   
   m_pcEntropyDecoderIf->parseIPCMInfo( pcCU, uiAbsPartIdx, uiDepth );
@@ -535,4 +544,16 @@
   UInt uiChromaOffset = uiLumaOffset>>2;
   
+#if H_3D_DIM_SDC
+  if( pcCU->getSDCFlag( uiAbsPartIdx ) )
+  {
+    assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
+    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
+    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
+    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
+    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
+    return;
+  }
+#endif
+  
   if( pcCU->isIntra(uiAbsPartIdx) )
   {
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 467)
@@ -89,4 +89,8 @@
 , m_cRbcDataSCModel           ( 1,             1,               NUM_RBC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
 #endif
+#if H_3D_DIM_SDC
+, m_cSDCResidualFlagSCModel     ( 1,             1,             SDC_NUM_RESIDUAL_FLAG_CTX     , m_contextModels + m_numContextModels, m_numContextModels)
+, m_cSDCResidualSCModel         ( 1,             1,             SDC_NUM_RESIDUAL_CTX          , m_contextModels + m_numContextModels, m_numContextModels)
+#endif
 #endif
 {
@@ -162,4 +166,8 @@
 #if H_3D_DIM_RBC
   m_cRbcDataSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_RBC_DATA );
+#endif
+#if H_3D_DIM_SDC
+  m_cSDCResidualFlagSCModel.initBuffer    ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
+  m_cSDCResidualSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL );
 #endif
 #endif
@@ -222,4 +230,8 @@
   m_cRbcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_RBC_DATA );
 #endif
+#if H_3D_DIM_SDC
+  m_cSDCResidualFlagSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
+  m_cSDCResidualSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
+#endif
 #endif
   m_pcTDecBinIf->start();
@@ -505,4 +517,69 @@
 }
 #endif
+#if H_3D_DIM_SDC
+Void TDecSbac::xParseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiSegment )
+{
+  assert( pcCU->getSlice()->getIsDepth() );
+  assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
+  assert( pcCU->getSDCFlag(uiAbsPartIdx) );
+  assert( uiSegment < 2 );
+  
+  UInt uiResidual = 0;
+  UInt uiBit      = 0;
+  UInt uiAbsIdx   = 0;
+  UInt uiSign     = 0;
+  Int  iIdx       = 0;
+  
+#if H_3D_DIM_DLT
+  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
+#else
+  UInt uiMaxResidualBits = g_bitDepthY;
+#endif
+  assert( uiMaxResidualBits <= g_bitDepthY );
+  
+  m_pcTDecBinIf->decodeBin(uiResidual, m_cSDCResidualFlagSCModel.get( 0, 0, 0 ) );
+  
+  if (uiResidual)
+  {
+    // decode residual sign bit
+    m_pcTDecBinIf->decodeBinEP(uiSign);
+    
+    // decode residual magnitude
+    // prefix part
+    UInt uiCount = 0;
+#if H_3D_DIM_DLT
+    UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
+#else
+    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
+#endif
+    UInt uiPrefixThreshold = ((uiNumDepthValues * 3) >> 2);
+    for ( UInt ui = 0; ui < uiPrefixThreshold; ui++)
+    {
+      m_pcTDecBinIf->decodeBin( uiBit, m_cSDCResidualSCModel.get(0, 0, 0) );
+      if ( uiBit == 0 )
+        break;
+      else
+        uiCount++;
+    }
+    // suffix part
+    if ( uiCount == uiPrefixThreshold )
+    {
+      for ( UInt ui = 0; ui < ( (UInt)ceil( Log2(uiNumDepthValues - uiPrefixThreshold) ) ); ui++ )
+      {
+        m_pcTDecBinIf->decodeBinEP( uiBit );
+        uiAbsIdx |= uiBit << ui;
+      }
+      uiAbsIdx += uiCount;
+    }
+    else
+      uiAbsIdx = uiCount;
+    
+    uiAbsIdx += 1;
+    iIdx =(Int)(uiSign ? -1 : 1)*uiAbsIdx;
+  }
+  
+  pcCU->setSDCSegmentDCOffset(iIdx, uiSegment, uiAbsPartIdx);
+}
+#endif
 #endif
 
@@ -962,34 +1039,34 @@
 
 #if H_3D_DIM_SDC
-  if( pcCU->getSDCAvailable(absPartIdx) && pcCU->getSDCFlag(absPartIdx) ) // sdcFlag
-  {
-    //assert(pcCU->getPartitionSize(uiAbsPartIdx)!=SIZE_NxN);
-    //pcCU->setTrIdxSubParts(0, uiAbsPartIdx, uiDepth);
-    //pcCU->setCbfSubParts(1, 1, 1, uiAbsPartIdx, uiDepth);
-
-    //UInt uiNumSegments = ( uiDir == DC_IDX || uiDir == PLANAR_IDX )? 1 : 2;
-    //for (int uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
-    //{
-    //  parseSDCResidualData(pcCU, uiAbsPartIdx, uiDepth, uiSeg);
-    //}
+  if( pcCU->getSDCFlag(absPartIdx) )
+  {
+    assert(pcCU->getPartitionSize(absPartIdx)==SIZE_2Nx2N);
+    pcCU->setTrIdxSubParts(0, absPartIdx, depth);
+    pcCU->setCbfSubParts(1, 1, 1, absPartIdx, depth);
+
+    UInt uiNumSegments = ( dir == DC_IDX || dir == PLANAR_IDX )? 1 : 2;
+    for (UInt uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
+    {
+      xParseSDCResidualData(pcCU, absPartIdx, depth, uiSeg);
+    }
   }
   else
   {
 #endif
-  if( dimType < DIM_NUM_TYPE )
-  {
-    UInt symbol;
-    m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get(0, 0, (RBC_IDX == dimType) ? 1 : 0) );
-    if( symbol )
-    {
-      dir += symbol;
-      for( UInt segment = 0; segment < 2; segment++ )
-      {
-        Pel valDeltaDC = 0;
-        xParseDimDeltaDC( valDeltaDC, dimType );
-        pcCU->setDimDeltaDC( dimType, segment, absPartIdx, valDeltaDC );
-      }
-    }
-  }
+    if( dimType < DIM_NUM_TYPE )
+    {
+      UInt symbol;
+      m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get(0, 0, (RBC_IDX == dimType) ? 1 : 0) );
+      if( symbol )
+      {
+        dir += symbol;
+        for( UInt segment = 0; segment < 2; segment++ )
+        {
+          Pel valDeltaDC = 0;
+          xParseDimDeltaDC( valDeltaDC, dimType );
+          pcCU->setDimDeltaDC( dimType, segment, absPartIdx, valDeltaDC );
+        }
+      }
+    }
 #if H_3D_DIM_SDC
   }
@@ -1088,5 +1165,5 @@
   pcCU->setLumaIntraDirSubParts( (UChar)dir, absPartIdx, depth );
 #if H_3D_DIM_SDC
-  pcCU->setSDCFlagSubParts( sdcFlag, absPartIdx, 0, depth ); 
+  pcCU->setSDCFlagSubParts( sdcFlag, absPartIdx, depth ); 
 #endif
 }
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.h	(revision 467)
@@ -108,4 +108,7 @@
   Void  xParseRbcEdge        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
+#if H_3D_DIM_SDC
+  Void  xParseSDCResidualData     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart );
+#endif
 #endif
 private:
@@ -201,4 +204,8 @@
   ContextModel3DBuffer m_cRbcDataSCModel;
 #endif
+#if H_3D_DIM_SDC  
+  ContextModel3DBuffer m_cSDCResidualFlagSCModel;
+  ContextModel3DBuffer m_cSDCResidualSCModel;
+#endif
 #endif
 };
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCavlc.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 467)
@@ -752,4 +752,20 @@
     {
       WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ),          "vps_depth_modes_flag[i]" );
+      
+#if H_3D_DIM_DLT
+      if( pcVPS->getVpsDepthModesFlag( i ) )
+      {
+        WRITE_FLAG( pcVPS->getUseDLTFlag( i ) ? 1 : 0, "use_dlt_flag[i]" );
+        if( pcVPS->getUseDLTFlag( i ) )
+        {
+          // code mapping
+          WRITE_UVLC(pcVPS->getNumDepthValues(i), "num_dlt_depth_values[i]");
+          for(Int d=0; d<pcVPS->getNumDepthValues(i); d++)
+          {
+            WRITE_UVLC( pcVPS->idx2DepthValue(i, d), "dlt_depth_value[i][d]" );
+          }
+        }
+      }
+#endif
     }
   }
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCu.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCu.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCu.cpp	(revision 467)
@@ -1487,4 +1487,7 @@
   m_ppcRecoYuvTemp[uiDepth]->copyToPicLuma(rpcTempCU->getPic()->getPicYuvRec(), rpcTempCU->getAddr(), rpcTempCU->getZorderIdxInCU() );
   
+#if H_3D_DIM_SDC
+  if( !rpcTempCU->getSDCFlag( 0 ) )
+#endif
   m_pcPredSearch  ->estIntraPredChromaQT( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC );
   
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncEntropy.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncEntropy.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncEntropy.cpp	(revision 467)
@@ -217,4 +217,10 @@
     return;
   }
+#if H_3D_DIM_SDC
+  if( pcCU->getSDCFlag(uiAbsPartIdx) )
+  {
+    return;
+  }
+#endif
   
   if( bRD )
@@ -427,4 +433,7 @@
   {
     encodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx,true );
+#if H_3D_DIM_SDC
+    if(!pcCU->getSDCFlag(uiAbsPartIdx))
+#endif
     encodeIntraDirModeChroma( pcCU, uiAbsPartIdx, bRD );
   }
@@ -592,5 +601,17 @@
   UInt uiLumaOffset   = uiMinCoeffSize*uiAbsPartIdx;
   UInt uiChromaOffset = uiLumaOffset>>2;
-    
+  
+#if H_3D_DIM_SDC
+  if( pcCU->getSDCFlag( uiAbsPartIdx ) )
+  {
+    assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
+    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
+    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
+    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
+    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
+    return;
+  }
+#endif
+
   if( pcCU->isIntra(uiAbsPartIdx) )
   {
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 467)
@@ -95,4 +95,8 @@
 , m_cRbcDataSCModel           ( 1,             1,               NUM_RBC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
 #endif
+#if H_3D_DIM_SDC
+, m_cSDCResidualFlagSCModel   ( 1,             1,               SDC_NUM_RESIDUAL_FLAG_CTX     , m_contextModels + m_numContextModels, m_numContextModels)
+, m_cSDCResidualSCModel       ( 1,             1,               SDC_NUM_RESIDUAL_CTX          , m_contextModels + m_numContextModels, m_numContextModels)
+#endif
 #endif
 {
@@ -159,4 +163,8 @@
 #if H_3D_DIM_RBC
   m_cRbcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_RBC_DATA );
+#endif
+#if H_3D_DIM_SDC
+  m_cSDCResidualFlagSCModel.initBuffer   ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
+  m_cSDCResidualSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
 #endif
 #endif
@@ -293,4 +301,8 @@
   m_cRbcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_RBC_DATA );
 #endif
+#if H_3D_DIM_SDC
+  m_cSDCResidualFlagSCModel.initBuffer   ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
+  m_cSDCResidualSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
+#endif
 #endif
   m_pcBinIf->start();
@@ -557,4 +569,75 @@
     if( uiReorderSymbol != 6 )
       m_pcBinIf->encodeBin( 0, m_cRbcDataSCModel.get( 0, 0, 0 ) );
+  }
+}
+#endif
+#if H_3D_DIM_SDC
+Void TEncSbac::xCodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiSegment )
+{
+  assert( pcCU->getSlice()->getIsDepth() );
+  assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
+  assert( pcCU->getSDCFlag(uiAbsPartIdx) );
+  assert( uiSegment < 2 );
+  
+  Pel segmentDCOffset = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
+  
+  UInt uiResidual = segmentDCOffset == 0 ? 0 : 1;
+  UInt uiSign     = segmentDCOffset < 0 ? 1 : 0;
+  UInt uiAbsIdx   = abs(segmentDCOffset);
+
+#if H_3D_DIM_DLT
+  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
+#else
+  UInt uiMaxResidualBits = g_bitDepthY;
+#endif
+  assert( uiMaxResidualBits <= g_bitDepthY );
+  
+  // residual flag
+  m_pcBinIf->encodeBin( uiResidual, m_cSDCResidualFlagSCModel.get( 0, 0, 0 ) );
+  
+  if (uiResidual)
+  {
+    // encode sign bit of residual
+    m_pcBinIf->encodeBinEP( uiSign );
+    
+#if H_3D_DIM_DLT
+    UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
+#else
+    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
+#endif
+    assert(uiAbsIdx <= uiNumDepthValues);
+    
+    // encode residual magnitude
+    uiAbsIdx -= 1;
+    // prefix part
+    if ( uiAbsIdx == 0 )
+      m_pcBinIf->encodeBin( 0, m_cSDCResidualSCModel.get(0, 0, 0) );
+    else
+    {
+      UInt l = uiAbsIdx;
+      UInt k = 0;
+      UInt uiPrefixThreshold = ((uiNumDepthValues * 3) >> 2);
+      while ( l > 0 && k < uiPrefixThreshold )
+      {
+        m_pcBinIf->encodeBin( 1, m_cSDCResidualSCModel.get(0, 0, 0) );
+        l--;
+        k++;
+      }
+      if ( uiAbsIdx < uiPrefixThreshold )
+        m_pcBinIf->encodeBin( 0, m_cSDCResidualSCModel.get(0, 0, 0) );
+      // suffix part
+      else
+      {
+        uiAbsIdx -= uiPrefixThreshold;
+        UInt uiSuffixLength = ( (UInt)ceil( Log2(uiNumDepthValues - uiPrefixThreshold) ) );
+        UInt uiBitInfo = 0;
+        for ( Int i = 0; i < uiSuffixLength; i++)
+        {
+          uiBitInfo = ( uiAbsIdx & ( 1 << i ) ) >> i;
+          m_pcBinIf->encodeBinEP( uiBitInfo);
+        }
+      }
+    }
+    
   }
 }
@@ -695,4 +778,12 @@
 Void TEncSbac::codePredMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
 {
+#if H_3D_DIM_SDC
+  if ( pcCU->getSlice()->isIntra() )
+  {
+    assert( pcCU->isIntra(uiAbsPartIdx) );
+    return;
+  }
+#endif
+  
   // get context function is here
   Int iPredMode = pcCU->getPredictionMode( uiAbsPartIdx );
@@ -916,5 +1007,5 @@
 
 #if H_3D_DIM
-Void TEncSbac::codeIntraDepth( TComDataCU* pcCU, UInt absPartIdx, Bool sdcRD )
+Void TEncSbac::codeIntraDepth( TComDataCU* pcCU, UInt absPartIdx )
 {
   codeIntraDepthMode( pcCU, absPartIdx );
@@ -953,13 +1044,10 @@
   if( pcCU->getSDCFlag( absPartIdx ) )
   {
-  //  assert(pcCU->getPartitionSize(uiAbsPartIdx)==SIZE_2Nx2N);
-  //  UInt uiNumSegments = ( uiDir == DC_IDX || uiDir == PLANAR_IDX )? 1 : 2;
-  //  if(!bSdcRD)
-  //  {
-  //    for (int uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
-  //    {
-  //      codeSDCResidualData(pcCU, uiAbsPartIdx, uiSeg);
-  //    }
-  //  }
+    assert(pcCU->getPartitionSize(absPartIdx)==SIZE_2Nx2N);
+    UInt uiNumSegments = ( dir == DC_IDX || dir == PLANAR_IDX )? 1 : 2;
+    for(UInt uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
+    {
+      xCodeSDCResidualData(pcCU, absPartIdx, uiSeg);
+    }
   }
   else
@@ -1010,12 +1098,11 @@
 #if H_3D_DIM_SDC
   if( pcCU->getSDCFlag( absPartIdx ) )
-  { 
-  //  switch( dir )
-  //  {
-  //  case PLANAR_IDX:              codeIdx = 0; break;
-  //  case DC_IDX:                  codeIdx = 6; break;
-  //  case (2*DMM1_IDX+DIM_OFFSET): codeIdx = 2; break;
-  //  default:                                   break;
-  //  }
+  {
+    switch( dir )
+    {
+      case PLANAR_IDX:  codeIdx = 0; break;
+      case DC_IDX:      codeIdx = 6; break;
+      default:          codeIdx = 2; break;
+    }
   }
 #endif
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.h	(revision 467)
@@ -127,4 +127,7 @@
   Void  xCodeRbcEdge         ( TComDataCU* pcCU, UInt uiAbsPartIdx );
 #endif
+#if H_3D_DIM_SDC
+  Void  xCodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiSegment );
+#endif
 #endif
   
@@ -165,5 +168,5 @@
 
 #if H_3D_DIM
-  Void codeIntraDepth          ( TComDataCU* pcCU, UInt absPartIdx, Bool sdcRD = false );
+  Void codeIntraDepth          ( TComDataCU* pcCU, UInt absPartIdx );
   Void codeIntraDepthMode      ( TComDataCU* pcCU, UInt absPartIdx );
 #endif
@@ -241,4 +244,8 @@
   ContextModel3DBuffer m_cRbcDataSCModel;
 #endif
+#if H_3D_DIM_SDC  
+  ContextModel3DBuffer m_cSDCResidualFlagSCModel;
+  ContextModel3DBuffer m_cSDCResidualSCModel;
+#endif
 #endif
 };
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.cpp
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 467)
@@ -1838,4 +1838,185 @@
 }
 
+#if H_3D_DIM_SDC
+Void TEncSearch::xIntraCodingSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bResidual )
+{
+  UInt    uiLumaPredMode    = pcCU     ->getLumaIntraDir( uiAbsPartIdx );
+  UInt    uiWidth           = pcCU     ->getWidth   ( 0 );
+  UInt    uiHeight          = pcCU     ->getHeight  ( 0 );
+  UInt    uiStride          = pcOrgYuv ->getStride  ();
+  Pel*    piOrg             = pcOrgYuv ->getLumaAddr( uiAbsPartIdx );
+  Pel*    piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
+  Pel*    piReco            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
+  
+  UInt    uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
+  Pel*    piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
+  UInt    uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
+  
+  AOF( uiWidth == uiHeight );
+  AOF( uiAbsPartIdx == 0 );
+  AOF( pcCU->getSDCAvailable(uiAbsPartIdx) );
+  AOF( pcCU->getSDCFlag(uiAbsPartIdx) );
+  AOF( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) );
+  AOF( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || uiWidth < 64  );
+  
+  //===== init availability pattern =====
+  Bool  bAboveAvail = false;
+  Bool  bLeftAvail  = false;
+  pcCU->getPattern()->initPattern   ( pcCU, 0, uiAbsPartIdx );
+  pcCU->getPattern()->initAdiPattern( pcCU, uiAbsPartIdx, 0, m_piYuvExt, m_iYuvExtStride, m_iYuvExtHeight, bAboveAvail, bLeftAvail );
+  
+  //===== get prediction signal =====
+#if H_3D_DIM
+  if( isDimMode( uiLumaPredMode ) )
+  {
+    predIntraLumaDepth( pcCU, uiAbsPartIdx, uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, true );
+  }
+  else
+  {
+#endif
+    predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
+#if H_3D_DIM
+  }
+#endif
+  
+  // number of segments depends on prediction mode
+  UInt uiNumSegments = 1;
+  Bool* pbMask = NULL;
+  UInt uiMaskStride = 0;
+    
+  if( getDimType( uiLumaPredMode ) == DMM1_IDX )
+  {
+    Int uiTabIdx = pcCU->getDmmWedgeTabIdx(DMM1_IDX, uiAbsPartIdx);
+    
+    WedgeList* pacWedgeList = &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
+    TComWedgelet* pcWedgelet = &(pacWedgeList->at( uiTabIdx ));
+    
+    uiNumSegments = 2;
+    pbMask = pcWedgelet->getPattern();
+    uiMaskStride = pcWedgelet->getStride();
+  }
+  
+  // get DC prediction for each segment
+  Pel apDCPredValues[2];
+  analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride );
+  
+  // get original DC for each segment
+  Pel apDCOrigValues[2];
+  analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride );
+  
+  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
+  {
+    // remap reconstructed value to valid depth values
+    Pel pDCRec = bResidual?apDCOrigValues[uiSegment]:apDCPredValues[uiSegment];
+    
+    // get residual (idx)
+#if H_3D_DIM_DLT
+    Pel pResidualIdx = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pDCRec ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
+#else
+    Pel pResidualIdx = pDCRec - apDCPredValues[uiSegment];
+#endif
+    
+    // save SDC DC offset
+    pcCU->setSDCSegmentDCOffset(pResidualIdx, uiSegment, uiAbsPartIdx);
+  }
+  
+  // reconstruct residual based on mask + DC residuals
+  Pel apDCResiValues[2];
+  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
+  {
+#if H_3D_DIM_DLT
+    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
+    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
+    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
+    
+    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
+#else
+    apDCResiValues[uiSegment]  = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
+#endif
+  }
+  
+  //===== reconstruction =====
+  Bool* pMask     = pbMask;
+  Pel* pPred      = piPred;
+  Pel* pReco      = piReco;
+  Pel* pRecIPred  = piRecIPred;
+  
+  for( UInt uiY = 0; uiY < uiHeight; uiY++ )
+  {
+    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
+    {
+      UChar ucSegment = pMask?(UChar)pMask[uiX]:0;
+      assert( ucSegment < uiNumSegments );
+
+      Pel pResiDC = apDCResiValues[ucSegment];
+      
+      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResiDC );
+      pRecIPred[ uiX ] = pReco[ uiX ];
+    }
+    pPred     += uiStride;
+    pReco     += uiStride;
+    pRecIPred += uiRecIPredStride;
+    pMask     += uiMaskStride;
+  }
+  
+  // 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] = 128;
+      pRecCr[x] = 128;
+    }
+    
+    pRecCb += uiStrideC;
+    pRecCr += uiStrideC;
+  }
+  
+  //===== determine distortion =====
+#if H_3D_VSO
+  if( m_pcRdCost->getUseVSO() )
+  {
+    if( m_pcRdCost->getUseEstimatedVSD() )
+    {
+      ruiDist = m_pcRdCost->getDistPartVSD( pcCU, uiAbsPartIdx, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
+    }
+    else
+    {
+      ruiDist = m_pcRdCost->getDistPartVSO( pcCU, uiAbsPartIdx, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
+    }
+  }
+  else
+#endif
+  {
+    ruiDist = m_pcRdCost->getDistPart( g_bitDepthY, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight );
+  }
+  
+  //----- determine rate and r-d cost -----
+  m_pcEntropyCoder->resetBits();
+  
+  // encode reduced intra header
+  m_pcEntropyCoder->encodeSkipFlag( pcCU, 0, true );
+  m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
+  
+  // encode pred direction + residual data
+  m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
+  UInt   uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
+  
+#if HHI_VSO
+  if ( m_pcRdCost->getUseLambdaScaleVSO())
+  {
+    dRDCost = m_pcRdCost->calcRdCostVSO( uiBits, ruiDist );
+  }
+  else
+#endif
+  {
+    dRDCost = m_pcRdCost->calcRdCost( uiBits, ruiDist );
+  }
+}
+#endif
 
 Void
@@ -2766,10 +2947,10 @@
     UInt    uiBestPUDistC = 0;
     Double  dBestPUCost   = MAX_DOUBLE;
+#if H_3D_DIM_SDC
+    Bool    bBestUseSDC   = false;
+    Pel     apBestDCOffsets[2] = {0,0};
+#endif
     for( UInt uiMode = 0; uiMode < numModesForFullRD; uiMode++ )
     {
-#if H_3D_DIM_ENC
-      for( UInt testZeroResi = 0; testZeroResi <= ((pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->isIRAP()) ? 1 : 0 ); testZeroResi++ )
-      {
-#endif
       // set luma prediction mode
       UInt uiOrgMode = uiRdModeList[uiMode];
@@ -2777,4 +2958,26 @@
       pcCU->setLumaIntraDirSubParts ( uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
       
+#if H_3D_DIM_SDC
+      Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) );
+      
+      for( UInt uiSDC=0; uiSDC<=(bTestSDC?1:0); uiSDC++ )
+      {
+        pcCU->setSDCFlagSubParts( (uiSDC != 0), uiPartOffset, uiDepth + uiInitTrDepth );
+#endif
+      
+#if H_3D_DIM_ENC || H_3D_DIM_SDC
+      Bool bTestZeroResi = false;
+#if H_3D_DIM_ENC
+      bTestZeroResi |= pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->isIRAP();
+#endif
+#if H_3D_DIM_SDC
+      bTestZeroResi |= pcCU->getSDCFlag(uiPartOffset);
+#endif
+#endif
+      
+#if H_3D_DIM_ENC || H_3D_DIM_SDC      
+      for( UInt testZeroResi = 0; testZeroResi <= (bTestZeroResi ? 1 : 0) ; testZeroResi++ )
+      {
+#endif
       // set context models
       if( m_bUseSBACRD )
@@ -2797,4 +3000,16 @@
       }
 #endif
+#if H_3D_DIM_SDC
+            if( pcCU->getSDCFlag(uiPartOffset) )
+            {
+              pcCU->setTrIdxSubParts(0, uiPartOffset, uiDepth + uiInitTrDepth);
+              pcCU->setCbfSubParts(1, 1, 1, uiPartOffset, uiDepth + uiInitTrDepth);
+              
+              // start encoding with SDC
+              xIntraCodingSDC(pcCU, uiPartOffset, pcOrgYuv, pcPredYuv, uiPUDistY, dPUCost, (testZeroResi!=0));
+            }
+            else
+            {
+#endif
 #if HHI_RQT_INTRA_SPEEDUP
 #if H_3D_DIM_ENC
@@ -2810,4 +3025,7 @@
 #endif
 #endif
+#if H_3D_DIM_SDC
+            }
+#endif
       
       // check r-d cost
@@ -2822,4 +3040,104 @@
         uiBestPUDistC = uiPUDistC;
         dBestPUCost   = dPUCost;
+        
+#if H_3D_DIM_SDC
+        if( pcCU->getSDCFlag(uiPartOffset) )
+        {
+          bBestUseSDC = true;
+          
+          // copy reconstruction
+          pcPredYuv->copyPartToPartYuv(pcRecoYuv, uiPartOffset, uiWidth, uiHeight);
+          
+          // copy DC values
+          apBestDCOffsets[0] = pcCU->getSDCSegmentDCOffset(0, uiPartOffset);
+          apBestDCOffsets[1] = pcCU->getSDCSegmentDCOffset(1, uiPartOffset);
+        }
+        else
+        {
+          bBestUseSDC = false;
+#endif
+        xSetIntraResultQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcRecoYuv );
+        
+        UInt uiQPartNum = pcCU->getPic()->getNumPartInCU() >> ( ( pcCU->getDepth(0) + uiInitTrDepth ) << 1 );
+        ::memcpy( m_puhQTTempTrIdx,  pcCU->getTransformIdx()       + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+        ::memcpy( m_puhQTTempCbf[0], pcCU->getCbf( TEXT_LUMA     ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+        ::memcpy( m_puhQTTempCbf[1], pcCU->getCbf( TEXT_CHROMA_U ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+        ::memcpy( m_puhQTTempCbf[2], pcCU->getCbf( TEXT_CHROMA_V ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+        ::memcpy( m_puhQTTempTransformSkipFlag[0], pcCU->getTransformSkip(TEXT_LUMA)     + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+        ::memcpy( m_puhQTTempTransformSkipFlag[1], pcCU->getTransformSkip(TEXT_CHROMA_U) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+        ::memcpy( m_puhQTTempTransformSkipFlag[2], pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
+#if H_3D_DIM_SDC
+        }
+#endif
+      }
+#if HHI_RQT_INTRA_SPEEDUP_MOD
+      else if( dPUCost < dSecondBestPUCost )
+      {
+        uiSecondBestMode  = uiOrgMode;
+        dSecondBestPUCost = dPUCost;
+      }
+#endif
+#if H_3D_DIM_ENC || H_3D_DIM_SDC
+      }
+#endif
+#if H_3D_DIM_SDC
+      } // SDC loop
+#endif
+    } // Mode loop
+    
+#if HHI_RQT_INTRA_SPEEDUP
+#if HHI_RQT_INTRA_SPEEDUP_MOD
+    for( UInt ui =0; ui < 2; ++ui )
+#endif
+    {
+#if HHI_RQT_INTRA_SPEEDUP_MOD
+      UInt uiOrgMode   = ui ? uiSecondBestMode  : uiBestPUMode;
+      if( uiOrgMode == MAX_UINT )
+      {
+        break;
+      }
+#else
+      UInt uiOrgMode = uiBestPUMode;
+#endif
+      
+      pcCU->setLumaIntraDirSubParts ( uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
+#if H_3D_DIM_SDC
+      pcCU->setSDCFlagSubParts(false, uiPartOffset, uiDepth + uiInitTrDepth);
+#endif
+      
+      // set context models
+      if( m_bUseSBACRD )
+      {
+        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST] );
+      }
+      
+      // determine residual for partition
+#if H_3D_VSO
+      Dist   uiPUDistY = 0;
+#else
+      UInt   uiPUDistY = 0;
+#endif
+      UInt   uiPUDistC = 0;
+      Double dPUCost   = 0.0;
+
+#if H_3D_VSO // M37
+      // reset Model
+      if( m_pcRdCost->getUseRenModel() )
+      {
+        m_pcRdCost->setRenModelData( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight );
+      }
+#endif
+      xRecurIntraCodingQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcOrgYuv, pcPredYuv, pcResiYuv, uiPUDistY, uiPUDistC, false, dPUCost );
+      
+      // check r-d cost
+      if( dPUCost < dBestPUCost )
+      {
+        uiBestPUMode  = uiOrgMode;
+        uiBestPUDistY = uiPUDistY;
+        uiBestPUDistC = uiPUDistC;
+        dBestPUCost   = dPUCost;
+#if H_3D_DIM_SDC
+        bBestUseSDC   = false;
+#endif
         
         xSetIntraResultQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcRecoYuv );
@@ -2834,76 +3152,4 @@
         ::memcpy( m_puhQTTempTransformSkipFlag[2], pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
       }
-#if HHI_RQT_INTRA_SPEEDUP_MOD
-      else if( dPUCost < dSecondBestPUCost )
-      {
-        uiSecondBestMode  = uiOrgMode;
-        dSecondBestPUCost = dPUCost;
-      }
-#endif
-#if H_3D_DIM_ENC
-      }
-#endif
-    } // Mode loop
-    
-#if HHI_RQT_INTRA_SPEEDUP
-#if HHI_RQT_INTRA_SPEEDUP_MOD
-    for( UInt ui =0; ui < 2; ++ui )
-#endif
-    {
-#if HHI_RQT_INTRA_SPEEDUP_MOD
-      UInt uiOrgMode   = ui ? uiSecondBestMode  : uiBestPUMode;
-      if( uiOrgMode == MAX_UINT )
-      {
-        break;
-      }
-#else
-      UInt uiOrgMode = uiBestPUMode;
-#endif
-      
-      pcCU->setLumaIntraDirSubParts ( uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
-      
-      // set context models
-      if( m_bUseSBACRD )
-      {
-        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST] );
-      }
-      
-      // determine residual for partition
-#if H_3D_VSO
-      Dist   uiPUDistY = 0;
-#else
-      UInt   uiPUDistY = 0;
-#endif
-      UInt   uiPUDistC = 0;
-      Double dPUCost   = 0.0;
-
-#if H_3D_VSO // M37
-      // reset Model
-      if( m_pcRdCost->getUseRenModel() )
-      {
-        m_pcRdCost->setRenModelData( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight );
-      }
-#endif
-      xRecurIntraCodingQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcOrgYuv, pcPredYuv, pcResiYuv, uiPUDistY, uiPUDistC, false, dPUCost );
-      
-      // check r-d cost
-      if( dPUCost < dBestPUCost )
-      {
-        uiBestPUMode  = uiOrgMode;
-        uiBestPUDistY = uiPUDistY;
-        uiBestPUDistC = uiPUDistC;
-        dBestPUCost   = dPUCost;
-        
-        xSetIntraResultQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcRecoYuv );
-        
-        UInt uiQPartNum = pcCU->getPic()->getNumPartInCU() >> ( ( pcCU->getDepth(0) + uiInitTrDepth ) << 1 );
-        ::memcpy( m_puhQTTempTrIdx,  pcCU->getTransformIdx()       + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-        ::memcpy( m_puhQTTempCbf[0], pcCU->getCbf( TEXT_LUMA     ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-        ::memcpy( m_puhQTTempCbf[1], pcCU->getCbf( TEXT_CHROMA_U ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-        ::memcpy( m_puhQTTempCbf[2], pcCU->getCbf( TEXT_CHROMA_V ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-        ::memcpy( m_puhQTTempTransformSkipFlag[0], pcCU->getTransformSkip(TEXT_LUMA)     + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-        ::memcpy( m_puhQTTempTransformSkipFlag[1], pcCU->getTransformSkip(TEXT_CHROMA_U) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-        ::memcpy( m_puhQTTempTransformSkipFlag[2], pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
-      }
     } // Mode loop
 #endif
@@ -2912,4 +3158,18 @@
     uiOverallDistY += uiBestPUDistY;
     uiOverallDistC += uiBestPUDistC;
+    
+#if H_3D_DIM_SDC
+    if( bBestUseSDC )
+    {
+      pcCU->setTrIdxSubParts(0, uiPartOffset, uiDepth + uiInitTrDepth);
+      pcCU->setCbfSubParts(1, 1, 1, uiPartOffset, uiDepth + uiInitTrDepth);
+      
+      //=== copy best DC segment values back to CU ====
+      pcCU->setSDCSegmentDCOffset(apBestDCOffsets[0], 0, uiPartOffset);
+      pcCU->setSDCSegmentDCOffset(apBestDCOffsets[1], 1, uiPartOffset);
+    }
+    else
+    {
+#endif
     
     //--- update transform index and cbf ---
@@ -2922,4 +3182,7 @@
     ::memcpy( pcCU->getTransformSkip(TEXT_CHROMA_U) + uiPartOffset, m_puhQTTempTransformSkipFlag[1], uiQPartNum * sizeof( UChar ) );
     ::memcpy( pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, m_puhQTTempTransformSkipFlag[2], uiQPartNum * sizeof( UChar ) );
+#if H_3D_DIM_SDC
+    }
+#endif
     //--- set reconstruction for next intra prediction blocks ---
     if( uiPU != uiNumPU - 1 )
@@ -2989,4 +3252,7 @@
     //=== update PU data ====
     pcCU->setLumaIntraDirSubParts     ( uiBestPUMode, uiPartOffset, uiDepth + uiInitTrDepth );
+#if H_3D_DIM_SDC
+    pcCU->setSDCFlagSubParts          ( bBestUseSDC, uiPartOffset, uiDepth + uiInitTrDepth );
+#endif
     pcCU->copyToPic                   ( uiDepth, uiPU, uiInitTrDepth );
   } // PU loop
@@ -6729,6 +6995,6 @@
 
 #if H_3D_DIM_DLT
-  rDeltaDC1 = (Int)GetDepthValue2Idx( ClipY(predDC1 + rDeltaDC1) ) - (Int)GetDepthValue2Idx( predDC1 );
-  rDeltaDC2 = (Int)GetDepthValue2Idx( ClipY(predDC2 + rDeltaDC2) ) - (Int)GetDepthValue2Idx( predDC2 );
+  rDeltaDC1 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC1 + rDeltaDC1) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 );
+  rDeltaDC2 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC2 + rDeltaDC2) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 );
 #endif
 }
Index: /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.h
===================================================================
--- /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.h	(revision 466)
+++ /branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.h	(revision 467)
@@ -352,4 +352,7 @@
   Bool xConstructChainCode        ( TComDataCU* pcCU, UInt uiAbsPtIdx, UInt uiWidth, UInt uiHeight );
 #endif
+#if H_3D_DIM_SDC
+  Void xIntraCodingSDC            ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bResidual );
+#endif
 #endif
 
