Changeset 467 in 3DVCSoftware for branches/HTM-DEV-0.3-dev1


Ignore:
Timestamp:
14 Jun 2013, 17:12:18 (11 years ago)
Author:
rwth
Message:

Integration of depth intra methods in macro H_3D_DIM, including:

  • Simplified Depth Coding (SDC) in H_3D_DIM_SDC
  • Depth Lookup Table (DLT) in H_3D_DIM_DLT
Location:
branches/HTM-DEV-0.3-dev1
Files:
26 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev1/HTM.xcodeproj/project.pbxproj

    r438 r467  
    2525
    2626/* Begin PBXBuildFile section */
    27                 78C593B5158721A1004401C5 /* ContextModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5931D158720BB004401C5 /* ContextModel.cpp */; };
    28                 78C593B6158721A1004401C5 /* ContextModel3DBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5931F158720BB004401C5 /* ContextModel3DBuffer.cpp */; };
    29                 78C593B7158721A1004401C5 /* TComAdaptiveLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59324158720BB004401C5 /* TComAdaptiveLoopFilter.cpp */; };
    30                 78C593B8158721A1004401C5 /* TComBitStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59327158720BB004401C5 /* TComBitStream.cpp */; };
    31                 78C593B9158721A1004401C5 /* TComCABACTables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59329158720BB004401C5 /* TComCABACTables.cpp */; };
    32                 78C593BA158721A1004401C5 /* TComDataCU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5932B158720BB004401C5 /* TComDataCU.cpp */; };
    33                 78C593BB158721A1004401C5 /* TComDepthMapGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5932D158720BB004401C5 /* TComDepthMapGenerator.cpp */; };
    34                 78C593BC158721A1004401C5 /* TComInterpolationFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5932F158720BB004401C5 /* TComInterpolationFilter.cpp */; };
    35                 78C593BD158721A1004401C5 /* TComLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59332158720BB004401C5 /* TComLoopFilter.cpp */; };
    36                 78C593BE158721A1004401C5 /* TComMotionInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59334158720BB004401C5 /* TComMotionInfo.cpp */; };
    37                 78C593BF158721A1004401C5 /* TComPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59337158720BB004401C5 /* TComPattern.cpp */; };
    38                 78C593C0158721A1004401C5 /* TComPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59339158720BB004401C5 /* TComPic.cpp */; };
    39                 78C593C1158721A1004401C5 /* TComPicSym.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5933B158720BB004401C5 /* TComPicSym.cpp */; };
    40                 78C593C2158721A1004401C5 /* TComPicYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5933D158720BB004401C5 /* TComPicYuv.cpp */; };
    41                 78C593C3158721A1004401C5 /* TComPicYuvMD5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5933F158720BB004401C5 /* TComPicYuvMD5.cpp */; };
    42                 78C593C4158721A1004401C5 /* TComPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59340158720BB004401C5 /* TComPrediction.cpp */; };
    43                 78C593C5158721A1004401C5 /* TComRdCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59342158720BB004401C5 /* TComRdCost.cpp */; };
    44                 78C593C6158721A1004401C5 /* TComRdCostWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59344158720BB004401C5 /* TComRdCostWeightPrediction.cpp */; };
    45                 78C593C7158721A1004401C5 /* TComResidualGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59346158720BB004401C5 /* TComResidualGenerator.cpp */; };
    46                 78C593C8158721A1004401C5 /* TComRom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59348158720BB004401C5 /* TComRom.cpp */; };
    47                 78C593C9158721A1004401C5 /* TComSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5934A158720BB004401C5 /* TComSampleAdaptiveOffset.cpp */; };
    48                 78C593CA158721A1004401C5 /* TComSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5934C158720BB004401C5 /* TComSlice.cpp */; };
    49                 78C593CB158721A1004401C5 /* TComTrQuant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5934E158720BB004401C5 /* TComTrQuant.cpp */; };
    50                 78C593CC158721A1004401C5 /* TComWedgelet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59350158720BB004401C5 /* TComWedgelet.cpp */; };
    51                 78C593CD158721A1004401C5 /* TComWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59352158720BB004401C5 /* TComWeightPrediction.cpp */; };
    52                 78C593CE158721A1004401C5 /* TComYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59354158720BB004401C5 /* TComYuv.cpp */; };
    53                 78C593CF158721AD004401C5 /* program_options_lite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59316158720BB004401C5 /* program_options_lite.cpp */; };
    54                 78C593D0158721AD004401C5 /* TAppComCamPara.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59318158720BB004401C5 /* TAppComCamPara.cpp */; };
    55                 78C593D1158721BB004401C5 /* AnnexBread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59358158720BB004401C5 /* AnnexBread.cpp */; };
    56                 78C593D2158721BB004401C5 /* NALread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5935A158720BB004401C5 /* NALread.cpp */; };
    57                 78C593D3158721BB004401C5 /* SEIread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5935C158720BB004401C5 /* SEIread.cpp */; };
    58                 78C593D4158721BB004401C5 /* TDecBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5935F158720BB004401C5 /* TDecBinCoderCABAC.cpp */; };
    59                 78C593D5158721BB004401C5 /* TDecCAVLC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59361158720BB004401C5 /* TDecCAVLC.cpp */; };
    60                 78C593D6158721BB004401C5 /* TDecCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59363158720BB004401C5 /* TDecCu.cpp */; };
    61                 78C593D7158721BB004401C5 /* TDecEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59365158720BB004401C5 /* TDecEntropy.cpp */; };
    62                 78C593D8158721BB004401C5 /* TDecGop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59367158720BB004401C5 /* TDecGop.cpp */; };
    63                 78C593D9158721BB004401C5 /* TDecSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59369158720BB004401C5 /* TDecSbac.cpp */; };
    64                 78C593DA158721BB004401C5 /* TDecSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5936B158720BB004401C5 /* TDecSlice.cpp */; };
    65                 78C593DB158721BB004401C5 /* TDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5936D158720BB004401C5 /* TDecTop.cpp */; };
    66                 78C593DC158721CE004401C5 /* NALwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59371158720BB004401C5 /* NALwrite.cpp */; };
    67                 78C593DD158721CE004401C5 /* SEIwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59373158720BB004401C5 /* SEIwrite.cpp */; };
    68                 78C593DE158721CE004401C5 /* TEncAdaptiveLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59375158720BB004401C5 /* TEncAdaptiveLoopFilter.cpp */; };
    69                 78C593DF158721CE004401C5 /* TEncBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59379158720BB004401C5 /* TEncBinCoderCABAC.cpp */; };
    70                 78C593E0158721CE004401C5 /* TEncBinCoderCABACCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5937B158720BB004401C5 /* TEncBinCoderCABACCounter.cpp */; };
    71                 78C593E1158721CE004401C5 /* TEncCavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5937D158720BB004401C5 /* TEncCavlc.cpp */; };
    72                 78C593E2158721CE004401C5 /* TEncCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59380158720BB004401C5 /* TEncCu.cpp */; };
    73                 78C593E3158721CE004401C5 /* TEncEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59382158720BB004401C5 /* TEncEntropy.cpp */; };
    74                 78C593E4158721CE004401C5 /* TEncGOP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59384158720BB004401C5 /* TEncGOP.cpp */; };
    75                 78C593E5158721CE004401C5 /* TEncPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59386158720BB004401C5 /* TEncPic.cpp */; };
    76                 78C593E6158721CE004401C5 /* TEncPreanalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59388158720BB004401C5 /* TEncPreanalyzer.cpp */; };
    77                 78C593E7158721CE004401C5 /* TEncSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5938A158720BB004401C5 /* TEncSampleAdaptiveOffset.cpp */; };
    78                 78C593E8158721CE004401C5 /* TEncSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5938C158720BB004401C5 /* TEncSbac.cpp */; };
    79                 78C593E9158721CE004401C5 /* TEncSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5938E158720BB004401C5 /* TEncSearch.cpp */; };
    80                 78C593EA158721CE004401C5 /* TEncSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59390158720BB004401C5 /* TEncSlice.cpp */; };
    81                 78C593EB158721CE004401C5 /* TEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59392158720BB004401C5 /* TEncTop.cpp */; };
    82                 78C593EC158721CE004401C5 /* WeightPredAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59394158720BB004401C5 /* WeightPredAnalysis.cpp */; };
    83                 78C593ED158721D7004401C5 /* TExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C59397158720BB004401C5 /* TExtrTop.cpp */; };
    84                 78C593EE158721E2004401C5 /* TRenFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5939A158720BB004401C5 /* TRenFilter.cpp */; };
    85                 78C593EF158721E2004401C5 /* TRenImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5939C158720BB004401C5 /* TRenImage.cpp */; };
    86                 78C593F0158721E2004401C5 /* TRenImagePlane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C5939E158720BB004401C5 /* TRenImagePlane.cpp */; };
    87                 78C593F1158721E2004401C5 /* TRenInterpFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A0158720BB004401C5 /* TRenInterpFilter.cpp */; };
    88                 78C593F2158721E2004401C5 /* TRenModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A2158720BB004401C5 /* TRenModel.cpp */; };
    89                 78C593F3158721E2004401C5 /* TRenModSetupStrParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A4158720BB004401C5 /* TRenModSetupStrParser.cpp */; };
    90                 78C593F4158721E2004401C5 /* TRenSingleModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A6158720BB004401C5 /* TRenSingleModel.cpp */; };
    91                 78C593F5158721E2004401C5 /* TRenTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593A8158720BB004401C5 /* TRenTop.cpp */; };
    92                 78C593F6158721E9004401C5 /* TVideoIOYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */; };
    93                 78C593F7158721F1004401C5 /* encmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592EF158720BB004401C5 /* encmain.cpp */; };
    94                 78C593F8158721F1004401C5 /* TAppEncCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F0158720BB004401C5 /* TAppEncCfg.cpp */; };
    95                 78C593F9158721F1004401C5 /* TAppEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F2158720BB004401C5 /* TAppEncTop.cpp */; };
    96                 78C593FA158721F6004401C5 /* decmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592E9158720BB004401C5 /* decmain.cpp */; };
    97                 78C593FB158721F6004401C5 /* TAppDecCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592EA158720BB004401C5 /* TAppDecCfg.cpp */; };
    98                 78C593FC158721F6004401C5 /* TAppDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592EC158720BB004401C5 /* TAppDecTop.cpp */; };
    99                 78C593FD158721FC004401C5 /* extrmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F5158720BB004401C5 /* extrmain.cpp */; };
    100                 78C593FE158721FC004401C5 /* TAppExtrCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */; };
    101                 78C593FF158721FC004401C5 /* TAppExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592F8158720BB004401C5 /* TAppExtrTop.cpp */; };
    102                 78C5940015872201004401C5 /* RendererMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592FB158720BB004401C5 /* RendererMain.cpp */; };
    103                 78C5940115872201004401C5 /* TAppRendererCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */; };
    104                 78C5940215872201004401C5 /* TAppRendererTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78C592FE158720BB004401C5 /* TAppRendererTop.cpp */; };
     27                78348EE31760D55800133029 /* ContextModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E511760D51300133029 /* ContextModel.cpp */; };
     28                78348EE51760D55800133029 /* ContextModel3DBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E531760D51300133029 /* ContextModel3DBuffer.cpp */; };
     29                78348EE91760D55800133029 /* SEI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E571760D51300133029 /* SEI.cpp */; };
     30                78348EEC1760D55800133029 /* TComBitStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E5A1760D51300133029 /* TComBitStream.cpp */; };
     31                78348EEE1760D55800133029 /* TComCABACTables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E5C1760D51300133029 /* TComCABACTables.cpp */; };
     32                78348EF01760D55800133029 /* TComDataCU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E5E1760D51300133029 /* TComDataCU.cpp */; };
     33                78348EF21760D55800133029 /* TComInterpolationFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E601760D51300133029 /* TComInterpolationFilter.cpp */; };
     34                78348EF51760D55800133029 /* TComLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E631760D51300133029 /* TComLoopFilter.cpp */; };
     35                78348EF71760D55800133029 /* TComMotionInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E651760D51300133029 /* TComMotionInfo.cpp */; };
     36                78348EFA1760D55800133029 /* TComPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E681760D51300133029 /* TComPattern.cpp */; };
     37                78348EFC1760D55800133029 /* TComPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E6A1760D51300133029 /* TComPic.cpp */; };
     38                78348EFE1760D55800133029 /* TComPicSym.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E6C1760D51300133029 /* TComPicSym.cpp */; };
     39                78348F001760D55800133029 /* TComPicYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E6E1760D51300133029 /* TComPicYuv.cpp */; };
     40                78348F021760D55800133029 /* TComPicYuvMD5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E701760D51300133029 /* TComPicYuvMD5.cpp */; };
     41                78348F031760D55800133029 /* TComPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E711760D51300133029 /* TComPrediction.cpp */; };
     42                78348F051760D55800133029 /* TComRdCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E731760D51300133029 /* TComRdCost.cpp */; };
     43                78348F071760D55800133029 /* TComRdCostWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E751760D51300133029 /* TComRdCostWeightPrediction.cpp */; };
     44                78348F091760D55800133029 /* TComRom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E771760D51300133029 /* TComRom.cpp */; };
     45                78348F0B1760D55800133029 /* TComSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E791760D51300133029 /* TComSampleAdaptiveOffset.cpp */; };
     46                78348F0D1760D55800133029 /* TComSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E7B1760D51300133029 /* TComSlice.cpp */; };
     47                78348F0F1760D55800133029 /* TComTrQuant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E7D1760D51300133029 /* TComTrQuant.cpp */; };
     48                78348F111760D55800133029 /* TComWedgelet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E7F1760D51300133029 /* TComWedgelet.cpp */; };
     49                78348F131760D55800133029 /* TComWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E811760D51300133029 /* TComWeightPrediction.cpp */; };
     50                78348F151760D55800133029 /* TComYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E831760D51300133029 /* TComYuv.cpp */; };
     51                78348F181760D57800133029 /* program_options_lite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E4A1760D51300133029 /* program_options_lite.cpp */; };
     52                78348F1A1760D57800133029 /* TAppComCamPara.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E4C1760D51300133029 /* TAppComCamPara.cpp */; };
     53                78348F1C1760D58100133029 /* AnnexBread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E871760D51300133029 /* AnnexBread.cpp */; };
     54                78348F1E1760D58100133029 /* NALread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E891760D51300133029 /* NALread.cpp */; };
     55                78348F201760D58100133029 /* SEIread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E8B1760D51300133029 /* SEIread.cpp */; };
     56                78348F221760D58100133029 /* SyntaxElementParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E8D1760D51300133029 /* SyntaxElementParser.cpp */; };
     57                78348F251760D58100133029 /* TDecBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E901760D51300133029 /* TDecBinCoderCABAC.cpp */; };
     58                78348F271760D58100133029 /* TDecCAVLC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E921760D51300133029 /* TDecCAVLC.cpp */; };
     59                78348F291760D58100133029 /* TDecCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E941760D51300133029 /* TDecCu.cpp */; };
     60                78348F2B1760D58100133029 /* TDecEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E961760D51300133029 /* TDecEntropy.cpp */; };
     61                78348F2D1760D58100133029 /* TDecGop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E981760D51300133029 /* TDecGop.cpp */; };
     62                78348F2F1760D58100133029 /* TDecSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E9A1760D51300133029 /* TDecSbac.cpp */; };
     63                78348F311760D58100133029 /* TDecSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E9C1760D51300133029 /* TDecSlice.cpp */; };
     64                78348F331760D58100133029 /* TDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E9E1760D51300133029 /* TDecTop.cpp */; };
     65                78348F361760D58A00133029 /* NALwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA21760D51300133029 /* NALwrite.cpp */; };
     66                78348F381760D58A00133029 /* SEIwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA41760D51300133029 /* SEIwrite.cpp */; };
     67                78348F3A1760D58A00133029 /* SyntaxElementWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA61760D51300133029 /* SyntaxElementWriter.cpp */; };
     68                78348F3C1760D58A00133029 /* TEncAnalyze.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EA81760D51300133029 /* TEncAnalyze.cpp */; };
     69                78348F3F1760D58A00133029 /* TEncBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EAB1760D51300133029 /* TEncBinCoderCABAC.cpp */; };
     70                78348F411760D58A00133029 /* TEncBinCoderCABACCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EAD1760D51300133029 /* TEncBinCoderCABACCounter.cpp */; };
     71                78348F431760D58A00133029 /* TEncCavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EAF1760D51300133029 /* TEncCavlc.cpp */; };
     72                78348F461760D58A00133029 /* TEncCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB21760D51300133029 /* TEncCu.cpp */; };
     73                78348F481760D58A00133029 /* TEncEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB41760D51300133029 /* TEncEntropy.cpp */; };
     74                78348F4A1760D58A00133029 /* TEncGOP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB61760D51300133029 /* TEncGOP.cpp */; };
     75                78348F4C1760D58A00133029 /* TEncPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EB81760D51300133029 /* TEncPic.cpp */; };
     76                78348F4E1760D58A00133029 /* TEncPreanalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EBA1760D51300133029 /* TEncPreanalyzer.cpp */; };
     77                78348F501760D58A00133029 /* TEncRateCtrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EBC1760D51300133029 /* TEncRateCtrl.cpp */; };
     78                78348F521760D58A00133029 /* TEncSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EBE1760D51300133029 /* TEncSampleAdaptiveOffset.cpp */; };
     79                78348F541760D58A00133029 /* TEncSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC01760D51300133029 /* TEncSbac.cpp */; };
     80                78348F561760D58A00133029 /* TEncSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC21760D51300133029 /* TEncSearch.cpp */; };
     81                78348F581760D58A00133029 /* TEncSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC41760D51300133029 /* TEncSlice.cpp */; };
     82                78348F5A1760D58A00133029 /* TEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC61760D51300133029 /* TEncTop.cpp */; };
     83                78348F5C1760D58A00133029 /* WeightPredAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EC81760D51300133029 /* WeightPredAnalysis.cpp */; };
     84                78348F5E1760D59300133029 /* TExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ECB1760D51300133029 /* TExtrTop.cpp */; };
     85                78348F601760D59900133029 /* TRenFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ECE1760D51300133029 /* TRenFilter.cpp */; };
     86                78348F621760D59900133029 /* TRenImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED01760D51300133029 /* TRenImage.cpp */; };
     87                78348F641760D59900133029 /* TRenImagePlane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED21760D51300133029 /* TRenImagePlane.cpp */; };
     88                78348F661760D59900133029 /* TRenInterpFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED41760D51300133029 /* TRenInterpFilter.cpp */; };
     89                78348F681760D59900133029 /* TRenModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED61760D51300133029 /* TRenModel.cpp */; };
     90                78348F6A1760D59900133029 /* TRenModSetupStrParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348ED81760D51300133029 /* TRenModSetupStrParser.cpp */; };
     91                78348F6C1760D59900133029 /* TRenSingleModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EDA1760D51300133029 /* TRenSingleModel.cpp */; };
     92                78348F6E1760D59900133029 /* TRenTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EDC1760D51300133029 /* TRenTop.cpp */; };
     93                78348F701760D5A000133029 /* TVideoIOYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348EDF1760D51300133029 /* TVideoIOYuv.cpp */; };
     94                78348F721760D5AE00133029 /* decmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E1D1760D51300133029 /* decmain.cpp */; };
     95                78348F731760D5AE00133029 /* TAppDecCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E1E1760D51300133029 /* TAppDecCfg.cpp */; };
     96                78348F741760D5AE00133029 /* TAppDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E201760D51300133029 /* TAppDecTop.cpp */; };
     97                78348F751760D5B600133029 /* encmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E231760D51300133029 /* encmain.cpp */; };
     98                78348F761760D5B600133029 /* TAppEncCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E241760D51300133029 /* TAppEncCfg.cpp */; };
     99                78348F771760D5B600133029 /* TAppEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E261760D51300133029 /* TAppEncTop.cpp */; };
     100                78348F781760D5BB00133029 /* extrmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E291760D51300133029 /* extrmain.cpp */; };
     101                78348F791760D5BB00133029 /* TAppExtrCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E2A1760D51300133029 /* TAppExtrCfg.cpp */; };
     102                78348F7A1760D5BB00133029 /* TAppExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E2C1760D51300133029 /* TAppExtrTop.cpp */; };
     103                78348F7B1760D5C100133029 /* RendererMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E2F1760D51300133029 /* RendererMain.cpp */; };
     104                78348F7C1760D5C100133029 /* TAppRendererCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E301760D51300133029 /* TAppRendererCfg.cpp */; };
     105                78348F7D1760D5C100133029 /* TAppRendererTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78348E321760D51300133029 /* TAppRendererTop.cpp */; };
     106                78348F7E1760D62800133029 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 78348E461760D51300133029 /* libmd5.c */; };
    105107                78C5940D15872233004401C5 /* libTLibCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767959411AD61BB00421804 /* libTLibCommon.a */; };
    106108                78C5940E15872233004401C5 /* libTLibEncoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767961911AD626F00421804 /* libTLibEncoder.a */; };
     
    108110                78C5941015872233004401C5 /* libTLibRenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7894E36714890D9A009259F4 /* libTLibRenderer.a */; };
    109111                78C5941115872233004401C5 /* libTAppCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C593B415872152004401C5 /* libTAppCommon.a */; };
    110                 78C594121587228A004401C5 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 78C59312158720BB004401C5 /* libmd5.c */; };
    111112                78C5941B158722B7004401C5 /* libTLibCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767959411AD61BB00421804 /* libTLibCommon.a */; };
    112113                78C5941C158722BA004401C5 /* libTLibDecoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 676795F411AD621A00421804 /* libTLibDecoder.a */; };
    113114                78C5941D158722BC004401C5 /* libTLibVideoIO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767964B11AD629200421804 /* libTLibVideoIO.a */; };
    114115                78C5941E158722C0004401C5 /* libTAppCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C593B415872152004401C5 /* libTAppCommon.a */; };
    115                 78C5941F158722D4004401C5 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 78C59312158720BB004401C5 /* libmd5.c */; };
    116116                78C59428158722F2004401C5 /* libTLibCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767959411AD61BB00421804 /* libTLibCommon.a */; };
    117117                78C59429158722F6004401C5 /* libTLibVideoIO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6767964B11AD629200421804 /* libTLibVideoIO.a */; };
     
    289289                6767966A11AD635600421804 /* TAppEncoder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppEncoder; sourceTree = BUILT_PRODUCTS_DIR; };
    290290                6782E0DE11AD691A00E8FFB8 /* TAppDecoder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppDecoder; sourceTree = BUILT_PRODUCTS_DIR; };
     291                78348E1D1760D51300133029 /* decmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = decmain.cpp; sourceTree = "<group>"; };
     292                78348E1E1760D51300133029 /* TAppDecCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecCfg.cpp; sourceTree = "<group>"; };
     293                78348E1F1760D51300133029 /* TAppDecCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecCfg.h; sourceTree = "<group>"; };
     294                78348E201760D51300133029 /* TAppDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecTop.cpp; sourceTree = "<group>"; };
     295                78348E211760D51300133029 /* TAppDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecTop.h; sourceTree = "<group>"; };
     296                78348E231760D51300133029 /* encmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = encmain.cpp; sourceTree = "<group>"; };
     297                78348E241760D51300133029 /* TAppEncCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncCfg.cpp; sourceTree = "<group>"; };
     298                78348E251760D51300133029 /* TAppEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncCfg.h; sourceTree = "<group>"; };
     299                78348E261760D51300133029 /* TAppEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncTop.cpp; sourceTree = "<group>"; };
     300                78348E271760D51300133029 /* TAppEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncTop.h; sourceTree = "<group>"; };
     301                78348E291760D51300133029 /* extrmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = extrmain.cpp; sourceTree = "<group>"; };
     302                78348E2A1760D51300133029 /* TAppExtrCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrCfg.cpp; sourceTree = "<group>"; };
     303                78348E2B1760D51300133029 /* TAppExtrCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrCfg.h; sourceTree = "<group>"; };
     304                78348E2C1760D51300133029 /* TAppExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrTop.cpp; sourceTree = "<group>"; };
     305                78348E2D1760D51300133029 /* TAppExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrTop.h; sourceTree = "<group>"; };
     306                78348E2F1760D51300133029 /* RendererMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RendererMain.cpp; sourceTree = "<group>"; };
     307                78348E301760D51300133029 /* TAppRendererCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererCfg.cpp; sourceTree = "<group>"; };
     308                78348E311760D51300133029 /* TAppRendererCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererCfg.h; sourceTree = "<group>"; };
     309                78348E321760D51300133029 /* TAppRendererTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererTop.cpp; sourceTree = "<group>"; };
     310                78348E331760D51300133029 /* TAppRendererTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererTop.h; sourceTree = "<group>"; };
     311                78348E351760D51300133029 /* annexBbytecount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = annexBbytecount.cpp; sourceTree = "<group>"; };
     312                78348E371760D51300133029 /* encode.shl */ = {isa = PBXFileReference; lastKnownFileType = text; path = encode.shl; sourceTree = "<group>"; };
     313                78348E381760D51300133029 /* encodeCommand.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = encodeCommand.sh; sourceTree = "<group>"; };
     314                78348E391760D51300133029 /* ExtractBitrates.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitrates.cpp; sourceTree = "<group>"; };
     315                78348E3A1760D51300133029 /* ExtractBitrates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtractBitrates.h; sourceTree = "<group>"; };
     316                78348E3B1760D51300133029 /* ExtractBitratesMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitratesMain.cpp; sourceTree = "<group>"; };
     317                78348E3C1760D51300133029 /* GuessLambdaModifiers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiers.cpp; sourceTree = "<group>"; };
     318                78348E3D1760D51300133029 /* GuessLambdaModifiers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuessLambdaModifiers.h; sourceTree = "<group>"; };
     319                78348E3E1760D51300133029 /* GuessLambdaModifiersMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiersMain.cpp; sourceTree = "<group>"; };
     320                78348E3F1760D51300133029 /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = "<group>"; };
     321                78348E401760D51300133029 /* QuickStartGuide.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = QuickStartGuide.pdf; sourceTree = "<group>"; };
     322                78348E411760D51300133029 /* RuntimeError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RuntimeError.h; sourceTree = "<group>"; };
     323                78348E421760D51300133029 /* targetBitrates.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = targetBitrates.sh; sourceTree = "<group>"; };
     324                78348E431760D51300133029 /* convert_NtoMbit_YCbCr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = convert_NtoMbit_YCbCr.cpp; sourceTree = "<group>"; };
     325                78348E461760D51300133029 /* libmd5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = libmd5.c; sourceTree = "<group>"; };
     326                78348E471760D51300133029 /* libmd5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libmd5.h; sourceTree = "<group>"; };
     327                78348E481760D51300133029 /* MD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MD5.h; sourceTree = "<group>"; };
     328                78348E4A1760D51300133029 /* program_options_lite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = program_options_lite.cpp; sourceTree = "<group>"; };
     329                78348E4B1760D51300133029 /* program_options_lite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = program_options_lite.h; sourceTree = "<group>"; };
     330                78348E4C1760D51300133029 /* TAppComCamPara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppComCamPara.cpp; sourceTree = "<group>"; };
     331                78348E4D1760D51300133029 /* TAppComCamPara.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppComCamPara.h; sourceTree = "<group>"; };
     332                78348E4F1760D51300133029 /* AccessUnit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessUnit.h; sourceTree = "<group>"; };
     333                78348E501760D51300133029 /* CommonDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommonDef.h; sourceTree = "<group>"; };
     334                78348E511760D51300133029 /* ContextModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel.cpp; sourceTree = "<group>"; };
     335                78348E521760D51300133029 /* ContextModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel.h; sourceTree = "<group>"; };
     336                78348E531760D51300133029 /* ContextModel3DBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel3DBuffer.cpp; sourceTree = "<group>"; };
     337                78348E541760D51300133029 /* ContextModel3DBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel3DBuffer.h; sourceTree = "<group>"; };
     338                78348E551760D51300133029 /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextTables.h; sourceTree = "<group>"; };
     339                78348E561760D51300133029 /* NAL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NAL.h; sourceTree = "<group>"; };
     340                78348E571760D51300133029 /* SEI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEI.cpp; sourceTree = "<group>"; };
     341                78348E581760D51300133029 /* SEI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEI.h; sourceTree = "<group>"; };
     342                78348E591760D51300133029 /* TComBitCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitCounter.h; sourceTree = "<group>"; };
     343                78348E5A1760D51300133029 /* TComBitStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComBitStream.cpp; sourceTree = "<group>"; };
     344                78348E5B1760D51300133029 /* TComBitStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitStream.h; sourceTree = "<group>"; };
     345                78348E5C1760D51300133029 /* TComCABACTables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComCABACTables.cpp; sourceTree = "<group>"; };
     346                78348E5D1760D51300133029 /* TComCABACTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComCABACTables.h; sourceTree = "<group>"; };
     347                78348E5E1760D51300133029 /* TComDataCU.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDataCU.cpp; sourceTree = "<group>"; };
     348                78348E5F1760D51300133029 /* TComDataCU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDataCU.h; sourceTree = "<group>"; };
     349                78348E601760D51300133029 /* TComInterpolationFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComInterpolationFilter.cpp; sourceTree = "<group>"; };
     350                78348E611760D51300133029 /* TComInterpolationFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComInterpolationFilter.h; sourceTree = "<group>"; };
     351                78348E621760D51300133029 /* TComList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComList.h; sourceTree = "<group>"; };
     352                78348E631760D51300133029 /* TComLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComLoopFilter.cpp; sourceTree = "<group>"; };
     353                78348E641760D51300133029 /* TComLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComLoopFilter.h; sourceTree = "<group>"; };
     354                78348E651760D51300133029 /* TComMotionInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComMotionInfo.cpp; sourceTree = "<group>"; };
     355                78348E661760D51300133029 /* TComMotionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMotionInfo.h; sourceTree = "<group>"; };
     356                78348E671760D51300133029 /* TComMv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMv.h; sourceTree = "<group>"; };
     357                78348E681760D51300133029 /* TComPattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPattern.cpp; sourceTree = "<group>"; };
     358                78348E691760D51300133029 /* TComPattern.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPattern.h; sourceTree = "<group>"; };
     359                78348E6A1760D51300133029 /* TComPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPic.cpp; sourceTree = "<group>"; };
     360                78348E6B1760D51300133029 /* TComPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPic.h; sourceTree = "<group>"; };
     361                78348E6C1760D51300133029 /* TComPicSym.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicSym.cpp; sourceTree = "<group>"; };
     362                78348E6D1760D51300133029 /* TComPicSym.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicSym.h; sourceTree = "<group>"; };
     363                78348E6E1760D51300133029 /* TComPicYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuv.cpp; sourceTree = "<group>"; };
     364                78348E6F1760D51300133029 /* TComPicYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicYuv.h; sourceTree = "<group>"; };
     365                78348E701760D51300133029 /* TComPicYuvMD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuvMD5.cpp; sourceTree = "<group>"; };
     366                78348E711760D51300133029 /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPrediction.cpp; sourceTree = "<group>"; };
     367                78348E721760D51300133029 /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPrediction.h; sourceTree = "<group>"; };
     368                78348E731760D51300133029 /* TComRdCost.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCost.cpp; sourceTree = "<group>"; };
     369                78348E741760D51300133029 /* TComRdCost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCost.h; sourceTree = "<group>"; };
     370                78348E751760D51300133029 /* TComRdCostWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCostWeightPrediction.cpp; sourceTree = "<group>"; };
     371                78348E761760D51300133029 /* TComRdCostWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCostWeightPrediction.h; sourceTree = "<group>"; };
     372                78348E771760D51300133029 /* TComRom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRom.cpp; sourceTree = "<group>"; };
     373                78348E781760D51300133029 /* TComRom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRom.h; sourceTree = "<group>"; };
     374                78348E791760D51300133029 /* TComSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
     375                78348E7A1760D51300133029 /* TComSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSampleAdaptiveOffset.h; sourceTree = "<group>"; };
     376                78348E7B1760D51300133029 /* TComSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSlice.cpp; sourceTree = "<group>"; };
     377                78348E7C1760D51300133029 /* TComSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSlice.h; sourceTree = "<group>"; };
     378                78348E7D1760D51300133029 /* TComTrQuant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComTrQuant.cpp; sourceTree = "<group>"; };
     379                78348E7E1760D51300133029 /* TComTrQuant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComTrQuant.h; sourceTree = "<group>"; };
     380                78348E7F1760D51300133029 /* TComWedgelet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWedgelet.cpp; sourceTree = "<group>"; };
     381                78348E801760D51300133029 /* TComWedgelet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWedgelet.h; sourceTree = "<group>"; };
     382                78348E811760D51300133029 /* TComWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWeightPrediction.cpp; sourceTree = "<group>"; };
     383                78348E821760D51300133029 /* TComWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWeightPrediction.h; sourceTree = "<group>"; };
     384                78348E831760D51300133029 /* TComYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComYuv.cpp; sourceTree = "<group>"; };
     385                78348E841760D51300133029 /* TComYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComYuv.h; sourceTree = "<group>"; };
     386                78348E851760D51300133029 /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeDef.h; sourceTree = "<group>"; };
     387                78348E871760D51300133029 /* AnnexBread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AnnexBread.cpp; sourceTree = "<group>"; };
     388                78348E881760D51300133029 /* AnnexBread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBread.h; sourceTree = "<group>"; };
     389                78348E891760D51300133029 /* NALread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALread.cpp; sourceTree = "<group>"; };
     390                78348E8A1760D51300133029 /* NALread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALread.h; sourceTree = "<group>"; };
     391                78348E8B1760D51300133029 /* SEIread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIread.cpp; sourceTree = "<group>"; };
     392                78348E8C1760D51300133029 /* SEIread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIread.h; sourceTree = "<group>"; };
     393                78348E8D1760D51300133029 /* SyntaxElementParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SyntaxElementParser.cpp; sourceTree = "<group>"; };
     394                78348E8E1760D51300133029 /* SyntaxElementParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntaxElementParser.h; sourceTree = "<group>"; };
     395                78348E8F1760D51300133029 /* TDecBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoder.h; sourceTree = "<group>"; };
     396                78348E901760D51300133029 /* TDecBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecBinCoderCABAC.cpp; sourceTree = "<group>"; };
     397                78348E911760D51300133029 /* TDecBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoderCABAC.h; sourceTree = "<group>"; };
     398                78348E921760D51300133029 /* TDecCAVLC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCAVLC.cpp; sourceTree = "<group>"; };
     399                78348E931760D51300133029 /* TDecCAVLC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCAVLC.h; sourceTree = "<group>"; };
     400                78348E941760D51300133029 /* TDecCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCu.cpp; sourceTree = "<group>"; };
     401                78348E951760D51300133029 /* TDecCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCu.h; sourceTree = "<group>"; };
     402                78348E961760D51300133029 /* TDecEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecEntropy.cpp; sourceTree = "<group>"; };
     403                78348E971760D51300133029 /* TDecEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecEntropy.h; sourceTree = "<group>"; };
     404                78348E981760D51300133029 /* TDecGop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecGop.cpp; sourceTree = "<group>"; };
     405                78348E991760D51300133029 /* TDecGop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecGop.h; sourceTree = "<group>"; };
     406                78348E9A1760D51300133029 /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSbac.cpp; sourceTree = "<group>"; };
     407                78348E9B1760D51300133029 /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSbac.h; sourceTree = "<group>"; };
     408                78348E9C1760D51300133029 /* TDecSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSlice.cpp; sourceTree = "<group>"; };
     409                78348E9D1760D51300133029 /* TDecSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSlice.h; sourceTree = "<group>"; };
     410                78348E9E1760D51300133029 /* TDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecTop.cpp; sourceTree = "<group>"; };
     411                78348E9F1760D51300133029 /* TDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecTop.h; sourceTree = "<group>"; };
     412                78348EA11760D51300133029 /* AnnexBwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBwrite.h; sourceTree = "<group>"; };
     413                78348EA21760D51300133029 /* NALwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALwrite.cpp; sourceTree = "<group>"; };
     414                78348EA31760D51300133029 /* NALwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALwrite.h; sourceTree = "<group>"; };
     415                78348EA41760D51300133029 /* SEIwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIwrite.cpp; sourceTree = "<group>"; };
     416                78348EA51760D51300133029 /* SEIwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIwrite.h; sourceTree = "<group>"; };
     417                78348EA61760D51300133029 /* SyntaxElementWriter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SyntaxElementWriter.cpp; sourceTree = "<group>"; };
     418                78348EA71760D51300133029 /* SyntaxElementWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntaxElementWriter.h; sourceTree = "<group>"; };
     419                78348EA81760D51300133029 /* TEncAnalyze.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncAnalyze.cpp; sourceTree = "<group>"; };
     420                78348EA91760D51300133029 /* TEncAnalyze.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAnalyze.h; sourceTree = "<group>"; };
     421                78348EAA1760D51300133029 /* TEncBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoder.h; sourceTree = "<group>"; };
     422                78348EAB1760D51300133029 /* TEncBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABAC.cpp; sourceTree = "<group>"; };
     423                78348EAC1760D51300133029 /* TEncBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABAC.h; sourceTree = "<group>"; };
     424                78348EAD1760D51300133029 /* TEncBinCoderCABACCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABACCounter.cpp; sourceTree = "<group>"; };
     425                78348EAE1760D51300133029 /* TEncBinCoderCABACCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABACCounter.h; sourceTree = "<group>"; };
     426                78348EAF1760D51300133029 /* TEncCavlc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCavlc.cpp; sourceTree = "<group>"; };
     427                78348EB01760D51300133029 /* TEncCavlc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCavlc.h; sourceTree = "<group>"; };
     428                78348EB11760D51300133029 /* TEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCfg.h; sourceTree = "<group>"; };
     429                78348EB21760D51300133029 /* TEncCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCu.cpp; sourceTree = "<group>"; };
     430                78348EB31760D51300133029 /* TEncCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCu.h; sourceTree = "<group>"; };
     431                78348EB41760D51300133029 /* TEncEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncEntropy.cpp; sourceTree = "<group>"; };
     432                78348EB51760D51300133029 /* TEncEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncEntropy.h; sourceTree = "<group>"; };
     433                78348EB61760D51300133029 /* TEncGOP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncGOP.cpp; sourceTree = "<group>"; };
     434                78348EB71760D51300133029 /* TEncGOP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncGOP.h; sourceTree = "<group>"; };
     435                78348EB81760D51300133029 /* TEncPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPic.cpp; sourceTree = "<group>"; };
     436                78348EB91760D51300133029 /* TEncPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPic.h; sourceTree = "<group>"; };
     437                78348EBA1760D51300133029 /* TEncPreanalyzer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPreanalyzer.cpp; sourceTree = "<group>"; };
     438                78348EBB1760D51300133029 /* TEncPreanalyzer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPreanalyzer.h; sourceTree = "<group>"; };
     439                78348EBC1760D51300133029 /* TEncRateCtrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncRateCtrl.cpp; sourceTree = "<group>"; };
     440                78348EBD1760D51300133029 /* TEncRateCtrl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncRateCtrl.h; sourceTree = "<group>"; };
     441                78348EBE1760D51300133029 /* TEncSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
     442                78348EBF1760D51300133029 /* TEncSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSampleAdaptiveOffset.h; sourceTree = "<group>"; };
     443                78348EC01760D51300133029 /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSbac.cpp; sourceTree = "<group>"; };
     444                78348EC11760D51300133029 /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSbac.h; sourceTree = "<group>"; };
     445                78348EC21760D51300133029 /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSearch.cpp; sourceTree = "<group>"; };
     446                78348EC31760D51300133029 /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSearch.h; sourceTree = "<group>"; };
     447                78348EC41760D51300133029 /* TEncSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSlice.cpp; sourceTree = "<group>"; };
     448                78348EC51760D51300133029 /* TEncSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSlice.h; sourceTree = "<group>"; };
     449                78348EC61760D51300133029 /* TEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncTop.cpp; sourceTree = "<group>"; };
     450                78348EC71760D51300133029 /* TEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncTop.h; sourceTree = "<group>"; };
     451                78348EC81760D51300133029 /* WeightPredAnalysis.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WeightPredAnalysis.cpp; sourceTree = "<group>"; };
     452                78348EC91760D51300133029 /* WeightPredAnalysis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeightPredAnalysis.h; sourceTree = "<group>"; };
     453                78348ECB1760D51300133029 /* TExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TExtrTop.cpp; sourceTree = "<group>"; };
     454                78348ECC1760D51300133029 /* TExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TExtrTop.h; sourceTree = "<group>"; };
     455                78348ECE1760D51300133029 /* TRenFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenFilter.cpp; sourceTree = "<group>"; };
     456                78348ECF1760D51300133029 /* TRenFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenFilter.h; sourceTree = "<group>"; };
     457                78348ED01760D51300133029 /* TRenImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImage.cpp; sourceTree = "<group>"; };
     458                78348ED11760D51300133029 /* TRenImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImage.h; sourceTree = "<group>"; };
     459                78348ED21760D51300133029 /* TRenImagePlane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImagePlane.cpp; sourceTree = "<group>"; };
     460                78348ED31760D51300133029 /* TRenImagePlane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImagePlane.h; sourceTree = "<group>"; };
     461                78348ED41760D51300133029 /* TRenInterpFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenInterpFilter.cpp; sourceTree = "<group>"; };
     462                78348ED51760D51300133029 /* TRenInterpFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenInterpFilter.h; sourceTree = "<group>"; };
     463                78348ED61760D51300133029 /* TRenModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModel.cpp; sourceTree = "<group>"; };
     464                78348ED71760D51300133029 /* TRenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModel.h; sourceTree = "<group>"; };
     465                78348ED81760D51300133029 /* TRenModSetupStrParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModSetupStrParser.cpp; sourceTree = "<group>"; };
     466                78348ED91760D51300133029 /* TRenModSetupStrParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModSetupStrParser.h; sourceTree = "<group>"; };
     467                78348EDA1760D51300133029 /* TRenSingleModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenSingleModel.cpp; sourceTree = "<group>"; };
     468                78348EDB1760D51300133029 /* TRenSingleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenSingleModel.h; sourceTree = "<group>"; };
     469                78348EDC1760D51300133029 /* TRenTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenTop.cpp; sourceTree = "<group>"; };
     470                78348EDD1760D51300133029 /* TRenTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenTop.h; sourceTree = "<group>"; };
     471                78348EDF1760D51300133029 /* TVideoIOYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TVideoIOYuv.cpp; sourceTree = "<group>"; };
     472                78348EE01760D51300133029 /* TVideoIOYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TVideoIOYuv.h; sourceTree = "<group>"; };
    291473                7885897D15664E3D00982C12 /* libTLibExtractor.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTLibExtractor.a; sourceTree = BUILT_PRODUCTS_DIR; };
    292474                7885899415664E6A00982C12 /* TAppExtractor */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppExtractor; sourceTree = BUILT_PRODUCTS_DIR; };
    293475                7894E36714890D9A009259F4 /* libTLibRenderer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTLibRenderer.a; sourceTree = BUILT_PRODUCTS_DIR; };
    294476                7894E38A14890DD2009259F4 /* TAppRenderer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppRenderer; sourceTree = BUILT_PRODUCTS_DIR; };
    295                 78C592E9158720BB004401C5 /* decmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = decmain.cpp; sourceTree = "<group>"; };
    296                 78C592EA158720BB004401C5 /* TAppDecCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecCfg.cpp; sourceTree = "<group>"; };
    297                 78C592EB158720BB004401C5 /* TAppDecCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecCfg.h; sourceTree = "<group>"; };
    298                 78C592EC158720BB004401C5 /* TAppDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecTop.cpp; sourceTree = "<group>"; };
    299                 78C592ED158720BB004401C5 /* TAppDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecTop.h; sourceTree = "<group>"; };
    300                 78C592EF158720BB004401C5 /* encmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = encmain.cpp; sourceTree = "<group>"; };
    301                 78C592F0158720BB004401C5 /* TAppEncCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncCfg.cpp; sourceTree = "<group>"; };
    302                 78C592F1158720BB004401C5 /* TAppEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncCfg.h; sourceTree = "<group>"; };
    303                 78C592F2158720BB004401C5 /* TAppEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncTop.cpp; sourceTree = "<group>"; };
    304                 78C592F3158720BB004401C5 /* TAppEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncTop.h; sourceTree = "<group>"; };
    305                 78C592F5158720BB004401C5 /* extrmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = extrmain.cpp; sourceTree = "<group>"; };
    306                 78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrCfg.cpp; sourceTree = "<group>"; };
    307                 78C592F7158720BB004401C5 /* TAppExtrCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrCfg.h; sourceTree = "<group>"; };
    308                 78C592F8158720BB004401C5 /* TAppExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrTop.cpp; sourceTree = "<group>"; };
    309                 78C592F9158720BB004401C5 /* TAppExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrTop.h; sourceTree = "<group>"; };
    310                 78C592FB158720BB004401C5 /* RendererMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RendererMain.cpp; sourceTree = "<group>"; };
    311                 78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererCfg.cpp; sourceTree = "<group>"; };
    312                 78C592FD158720BB004401C5 /* TAppRendererCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererCfg.h; sourceTree = "<group>"; };
    313                 78C592FE158720BB004401C5 /* TAppRendererTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererTop.cpp; sourceTree = "<group>"; };
    314                 78C592FF158720BB004401C5 /* TAppRendererTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererTop.h; sourceTree = "<group>"; };
    315                 78C59301158720BB004401C5 /* annexBbytecount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = annexBbytecount.cpp; sourceTree = "<group>"; };
    316                 78C59303158720BB004401C5 /* encode.shl */ = {isa = PBXFileReference; lastKnownFileType = text; path = encode.shl; sourceTree = "<group>"; };
    317                 78C59304158720BB004401C5 /* encodeCommand.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = encodeCommand.sh; sourceTree = "<group>"; };
    318                 78C59305158720BB004401C5 /* ExtractBitrates.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitrates.cpp; sourceTree = "<group>"; };
    319                 78C59306158720BB004401C5 /* ExtractBitrates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtractBitrates.h; sourceTree = "<group>"; };
    320                 78C59307158720BB004401C5 /* ExtractBitratesMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitratesMain.cpp; sourceTree = "<group>"; };
    321                 78C59308158720BB004401C5 /* GuessLambdaModifiers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiers.cpp; sourceTree = "<group>"; };
    322                 78C59309158720BB004401C5 /* GuessLambdaModifiers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuessLambdaModifiers.h; sourceTree = "<group>"; };
    323                 78C5930A158720BB004401C5 /* GuessLambdaModifiersMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiersMain.cpp; sourceTree = "<group>"; };
    324                 78C5930B158720BB004401C5 /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = "<group>"; };
    325                 78C5930C158720BB004401C5 /* QuickStartGuide.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = QuickStartGuide.pdf; sourceTree = "<group>"; };
    326                 78C5930D158720BB004401C5 /* RuntimeError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RuntimeError.h; sourceTree = "<group>"; };
    327                 78C5930E158720BB004401C5 /* targetBitrates.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = targetBitrates.sh; sourceTree = "<group>"; };
    328                 78C5930F158720BB004401C5 /* convert_NtoMbit_YCbCr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = convert_NtoMbit_YCbCr.cpp; sourceTree = "<group>"; };
    329                 78C59312158720BB004401C5 /* libmd5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = libmd5.c; sourceTree = "<group>"; };
    330                 78C59313158720BB004401C5 /* libmd5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libmd5.h; sourceTree = "<group>"; };
    331                 78C59314158720BB004401C5 /* MD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MD5.h; sourceTree = "<group>"; };
    332                 78C59316158720BB004401C5 /* program_options_lite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = program_options_lite.cpp; sourceTree = "<group>"; };
    333                 78C59317158720BB004401C5 /* program_options_lite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = program_options_lite.h; sourceTree = "<group>"; };
    334                 78C59318158720BB004401C5 /* TAppComCamPara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppComCamPara.cpp; sourceTree = "<group>"; };
    335                 78C59319158720BB004401C5 /* TAppComCamPara.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppComCamPara.h; sourceTree = "<group>"; };
    336                 78C5931B158720BB004401C5 /* AccessUnit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessUnit.h; sourceTree = "<group>"; };
    337                 78C5931C158720BB004401C5 /* CommonDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommonDef.h; sourceTree = "<group>"; };
    338                 78C5931D158720BB004401C5 /* ContextModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel.cpp; sourceTree = "<group>"; };
    339                 78C5931E158720BB004401C5 /* ContextModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel.h; sourceTree = "<group>"; };
    340                 78C5931F158720BB004401C5 /* ContextModel3DBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel3DBuffer.cpp; sourceTree = "<group>"; };
    341                 78C59320158720BB004401C5 /* ContextModel3DBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel3DBuffer.h; sourceTree = "<group>"; };
    342                 78C59321158720BB004401C5 /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextTables.h; sourceTree = "<group>"; };
    343                 78C59322158720BB004401C5 /* NAL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NAL.h; sourceTree = "<group>"; };
    344                 78C59323158720BB004401C5 /* SEI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEI.h; sourceTree = "<group>"; };
    345                 78C59324158720BB004401C5 /* TComAdaptiveLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComAdaptiveLoopFilter.cpp; sourceTree = "<group>"; };
    346                 78C59325158720BB004401C5 /* TComAdaptiveLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComAdaptiveLoopFilter.h; sourceTree = "<group>"; };
    347                 78C59326158720BB004401C5 /* TComBitCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitCounter.h; sourceTree = "<group>"; };
    348                 78C59327158720BB004401C5 /* TComBitStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComBitStream.cpp; sourceTree = "<group>"; };
    349                 78C59328158720BB004401C5 /* TComBitStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitStream.h; sourceTree = "<group>"; };
    350                 78C59329158720BB004401C5 /* TComCABACTables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComCABACTables.cpp; sourceTree = "<group>"; };
    351                 78C5932A158720BB004401C5 /* TComCABACTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComCABACTables.h; sourceTree = "<group>"; };
    352                 78C5932B158720BB004401C5 /* TComDataCU.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDataCU.cpp; sourceTree = "<group>"; };
    353                 78C5932C158720BB004401C5 /* TComDataCU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDataCU.h; sourceTree = "<group>"; };
    354                 78C5932D158720BB004401C5 /* TComDepthMapGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDepthMapGenerator.cpp; sourceTree = "<group>"; };
    355                 78C5932E158720BB004401C5 /* TComDepthMapGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDepthMapGenerator.h; sourceTree = "<group>"; };
    356                 78C5932F158720BB004401C5 /* TComInterpolationFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComInterpolationFilter.cpp; sourceTree = "<group>"; };
    357                 78C59330158720BB004401C5 /* TComInterpolationFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComInterpolationFilter.h; sourceTree = "<group>"; };
    358                 78C59331158720BB004401C5 /* TComList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComList.h; sourceTree = "<group>"; };
    359                 78C59332158720BB004401C5 /* TComLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComLoopFilter.cpp; sourceTree = "<group>"; };
    360                 78C59333158720BB004401C5 /* TComLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComLoopFilter.h; sourceTree = "<group>"; };
    361                 78C59334158720BB004401C5 /* TComMotionInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComMotionInfo.cpp; sourceTree = "<group>"; };
    362                 78C59335158720BB004401C5 /* TComMotionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMotionInfo.h; sourceTree = "<group>"; };
    363                 78C59336158720BB004401C5 /* TComMv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMv.h; sourceTree = "<group>"; };
    364                 78C59337158720BB004401C5 /* TComPattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPattern.cpp; sourceTree = "<group>"; };
    365                 78C59338158720BB004401C5 /* TComPattern.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPattern.h; sourceTree = "<group>"; };
    366                 78C59339158720BB004401C5 /* TComPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPic.cpp; sourceTree = "<group>"; };
    367                 78C5933A158720BB004401C5 /* TComPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPic.h; sourceTree = "<group>"; };
    368                 78C5933B158720BB004401C5 /* TComPicSym.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicSym.cpp; sourceTree = "<group>"; };
    369                 78C5933C158720BB004401C5 /* TComPicSym.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicSym.h; sourceTree = "<group>"; };
    370                 78C5933D158720BB004401C5 /* TComPicYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuv.cpp; sourceTree = "<group>"; };
    371                 78C5933E158720BB004401C5 /* TComPicYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicYuv.h; sourceTree = "<group>"; };
    372                 78C5933F158720BB004401C5 /* TComPicYuvMD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuvMD5.cpp; sourceTree = "<group>"; };
    373                 78C59340158720BB004401C5 /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPrediction.cpp; sourceTree = "<group>"; };
    374                 78C59341158720BB004401C5 /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPrediction.h; sourceTree = "<group>"; };
    375                 78C59342158720BB004401C5 /* TComRdCost.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCost.cpp; sourceTree = "<group>"; };
    376                 78C59343158720BB004401C5 /* TComRdCost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCost.h; sourceTree = "<group>"; };
    377                 78C59344158720BB004401C5 /* TComRdCostWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCostWeightPrediction.cpp; sourceTree = "<group>"; };
    378                 78C59345158720BB004401C5 /* TComRdCostWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCostWeightPrediction.h; sourceTree = "<group>"; };
    379                 78C59346158720BB004401C5 /* TComResidualGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComResidualGenerator.cpp; sourceTree = "<group>"; };
    380                 78C59347158720BB004401C5 /* TComResidualGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComResidualGenerator.h; sourceTree = "<group>"; };
    381                 78C59348158720BB004401C5 /* TComRom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRom.cpp; sourceTree = "<group>"; };
    382                 78C59349158720BB004401C5 /* TComRom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRom.h; sourceTree = "<group>"; };
    383                 78C5934A158720BB004401C5 /* TComSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
    384                 78C5934B158720BB004401C5 /* TComSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSampleAdaptiveOffset.h; sourceTree = "<group>"; };
    385                 78C5934C158720BB004401C5 /* TComSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSlice.cpp; sourceTree = "<group>"; };
    386                 78C5934D158720BB004401C5 /* TComSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSlice.h; sourceTree = "<group>"; };
    387                 78C5934E158720BB004401C5 /* TComTrQuant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComTrQuant.cpp; sourceTree = "<group>"; };
    388                 78C5934F158720BB004401C5 /* TComTrQuant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComTrQuant.h; sourceTree = "<group>"; };
    389                 78C59350158720BB004401C5 /* TComWedgelet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWedgelet.cpp; sourceTree = "<group>"; };
    390                 78C59351158720BB004401C5 /* TComWedgelet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWedgelet.h; sourceTree = "<group>"; };
    391                 78C59352158720BB004401C5 /* TComWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWeightPrediction.cpp; sourceTree = "<group>"; };
    392                 78C59353158720BB004401C5 /* TComWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWeightPrediction.h; sourceTree = "<group>"; };
    393                 78C59354158720BB004401C5 /* TComYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComYuv.cpp; sourceTree = "<group>"; };
    394                 78C59355158720BB004401C5 /* TComYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComYuv.h; sourceTree = "<group>"; };
    395                 78C59356158720BB004401C5 /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeDef.h; sourceTree = "<group>"; };
    396                 78C59358158720BB004401C5 /* AnnexBread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AnnexBread.cpp; sourceTree = "<group>"; };
    397                 78C59359158720BB004401C5 /* AnnexBread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBread.h; sourceTree = "<group>"; };
    398                 78C5935A158720BB004401C5 /* NALread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALread.cpp; sourceTree = "<group>"; };
    399                 78C5935B158720BB004401C5 /* NALread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALread.h; sourceTree = "<group>"; };
    400                 78C5935C158720BB004401C5 /* SEIread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIread.cpp; sourceTree = "<group>"; };
    401                 78C5935D158720BB004401C5 /* SEIread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIread.h; sourceTree = "<group>"; };
    402                 78C5935E158720BB004401C5 /* TDecBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoder.h; sourceTree = "<group>"; };
    403                 78C5935F158720BB004401C5 /* TDecBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecBinCoderCABAC.cpp; sourceTree = "<group>"; };
    404                 78C59360158720BB004401C5 /* TDecBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoderCABAC.h; sourceTree = "<group>"; };
    405                 78C59361158720BB004401C5 /* TDecCAVLC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCAVLC.cpp; sourceTree = "<group>"; };
    406                 78C59362158720BB004401C5 /* TDecCAVLC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCAVLC.h; sourceTree = "<group>"; };
    407                 78C59363158720BB004401C5 /* TDecCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCu.cpp; sourceTree = "<group>"; };
    408                 78C59364158720BB004401C5 /* TDecCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCu.h; sourceTree = "<group>"; };
    409                 78C59365158720BB004401C5 /* TDecEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecEntropy.cpp; sourceTree = "<group>"; };
    410                 78C59366158720BB004401C5 /* TDecEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecEntropy.h; sourceTree = "<group>"; };
    411                 78C59367158720BB004401C5 /* TDecGop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecGop.cpp; sourceTree = "<group>"; };
    412                 78C59368158720BB004401C5 /* TDecGop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecGop.h; sourceTree = "<group>"; };
    413                 78C59369158720BB004401C5 /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSbac.cpp; sourceTree = "<group>"; };
    414                 78C5936A158720BB004401C5 /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSbac.h; sourceTree = "<group>"; };
    415                 78C5936B158720BB004401C5 /* TDecSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSlice.cpp; sourceTree = "<group>"; };
    416                 78C5936C158720BB004401C5 /* TDecSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSlice.h; sourceTree = "<group>"; };
    417                 78C5936D158720BB004401C5 /* TDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecTop.cpp; sourceTree = "<group>"; };
    418                 78C5936E158720BB004401C5 /* TDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecTop.h; sourceTree = "<group>"; };
    419                 78C59370158720BB004401C5 /* AnnexBwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBwrite.h; sourceTree = "<group>"; };
    420                 78C59371158720BB004401C5 /* NALwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALwrite.cpp; sourceTree = "<group>"; };
    421                 78C59372158720BB004401C5 /* NALwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALwrite.h; sourceTree = "<group>"; };
    422                 78C59373158720BB004401C5 /* SEIwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIwrite.cpp; sourceTree = "<group>"; };
    423                 78C59374158720BB004401C5 /* SEIwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIwrite.h; sourceTree = "<group>"; };
    424                 78C59375158720BB004401C5 /* TEncAdaptiveLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncAdaptiveLoopFilter.cpp; sourceTree = "<group>"; };
    425                 78C59376158720BB004401C5 /* TEncAdaptiveLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAdaptiveLoopFilter.h; sourceTree = "<group>"; };
    426                 78C59377158720BB004401C5 /* TEncAnalyze.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAnalyze.h; sourceTree = "<group>"; };
    427                 78C59378158720BB004401C5 /* TEncBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoder.h; sourceTree = "<group>"; };
    428                 78C59379158720BB004401C5 /* TEncBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABAC.cpp; sourceTree = "<group>"; };
    429                 78C5937A158720BB004401C5 /* TEncBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABAC.h; sourceTree = "<group>"; };
    430                 78C5937B158720BB004401C5 /* TEncBinCoderCABACCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABACCounter.cpp; sourceTree = "<group>"; };
    431                 78C5937C158720BB004401C5 /* TEncBinCoderCABACCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABACCounter.h; sourceTree = "<group>"; };
    432                 78C5937D158720BB004401C5 /* TEncCavlc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCavlc.cpp; sourceTree = "<group>"; };
    433                 78C5937E158720BB004401C5 /* TEncCavlc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCavlc.h; sourceTree = "<group>"; };
    434                 78C5937F158720BB004401C5 /* TEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCfg.h; sourceTree = "<group>"; };
    435                 78C59380158720BB004401C5 /* TEncCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCu.cpp; sourceTree = "<group>"; };
    436                 78C59381158720BB004401C5 /* TEncCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCu.h; sourceTree = "<group>"; };
    437                 78C59382158720BB004401C5 /* TEncEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncEntropy.cpp; sourceTree = "<group>"; };
    438                 78C59383158720BB004401C5 /* TEncEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncEntropy.h; sourceTree = "<group>"; };
    439                 78C59384158720BB004401C5 /* TEncGOP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncGOP.cpp; sourceTree = "<group>"; };
    440                 78C59385158720BB004401C5 /* TEncGOP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncGOP.h; sourceTree = "<group>"; };
    441                 78C59386158720BB004401C5 /* TEncPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPic.cpp; sourceTree = "<group>"; };
    442                 78C59387158720BB004401C5 /* TEncPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPic.h; sourceTree = "<group>"; };
    443                 78C59388158720BB004401C5 /* TEncPreanalyzer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPreanalyzer.cpp; sourceTree = "<group>"; };
    444                 78C59389158720BB004401C5 /* TEncPreanalyzer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPreanalyzer.h; sourceTree = "<group>"; };
    445                 78C5938A158720BB004401C5 /* TEncSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
    446                 78C5938B158720BB004401C5 /* TEncSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSampleAdaptiveOffset.h; sourceTree = "<group>"; };
    447                 78C5938C158720BB004401C5 /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSbac.cpp; sourceTree = "<group>"; };
    448                 78C5938D158720BB004401C5 /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSbac.h; sourceTree = "<group>"; };
    449                 78C5938E158720BB004401C5 /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSearch.cpp; sourceTree = "<group>"; };
    450                 78C5938F158720BB004401C5 /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSearch.h; sourceTree = "<group>"; };
    451                 78C59390158720BB004401C5 /* TEncSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSlice.cpp; sourceTree = "<group>"; };
    452                 78C59391158720BB004401C5 /* TEncSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSlice.h; sourceTree = "<group>"; };
    453                 78C59392158720BB004401C5 /* TEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncTop.cpp; sourceTree = "<group>"; };
    454                 78C59393158720BB004401C5 /* TEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncTop.h; sourceTree = "<group>"; };
    455                 78C59394158720BB004401C5 /* WeightPredAnalysis.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WeightPredAnalysis.cpp; sourceTree = "<group>"; };
    456                 78C59395158720BB004401C5 /* WeightPredAnalysis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeightPredAnalysis.h; sourceTree = "<group>"; };
    457                 78C59397158720BB004401C5 /* TExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TExtrTop.cpp; sourceTree = "<group>"; };
    458                 78C59398158720BB004401C5 /* TExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TExtrTop.h; sourceTree = "<group>"; };
    459                 78C5939A158720BB004401C5 /* TRenFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenFilter.cpp; sourceTree = "<group>"; };
    460                 78C5939B158720BB004401C5 /* TRenFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenFilter.h; sourceTree = "<group>"; };
    461                 78C5939C158720BB004401C5 /* TRenImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImage.cpp; sourceTree = "<group>"; };
    462                 78C5939D158720BB004401C5 /* TRenImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImage.h; sourceTree = "<group>"; };
    463                 78C5939E158720BB004401C5 /* TRenImagePlane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImagePlane.cpp; sourceTree = "<group>"; };
    464                 78C5939F158720BB004401C5 /* TRenImagePlane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImagePlane.h; sourceTree = "<group>"; };
    465                 78C593A0158720BB004401C5 /* TRenInterpFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenInterpFilter.cpp; sourceTree = "<group>"; };
    466                 78C593A1158720BB004401C5 /* TRenInterpFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenInterpFilter.h; sourceTree = "<group>"; };
    467                 78C593A2158720BB004401C5 /* TRenModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModel.cpp; sourceTree = "<group>"; };
    468                 78C593A3158720BB004401C5 /* TRenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModel.h; sourceTree = "<group>"; };
    469                 78C593A4158720BB004401C5 /* TRenModSetupStrParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModSetupStrParser.cpp; sourceTree = "<group>"; };
    470                 78C593A5158720BB004401C5 /* TRenModSetupStrParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModSetupStrParser.h; sourceTree = "<group>"; };
    471                 78C593A6158720BB004401C5 /* TRenSingleModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenSingleModel.cpp; sourceTree = "<group>"; };
    472                 78C593A7158720BB004401C5 /* TRenSingleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenSingleModel.h; sourceTree = "<group>"; };
    473                 78C593A8158720BB004401C5 /* TRenTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenTop.cpp; sourceTree = "<group>"; };
    474                 78C593A9158720BB004401C5 /* TRenTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenTop.h; sourceTree = "<group>"; };
    475                 78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TVideoIOYuv.cpp; sourceTree = "<group>"; };
    476                 78C593AC158720BB004401C5 /* TVideoIOYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TVideoIOYuv.h; sourceTree = "<group>"; };
    477477                78C593B415872152004401C5 /* libTAppCommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTAppCommon.a; sourceTree = BUILT_PRODUCTS_DIR; };
    478478/* End PBXFileReference section */
     
    589589                        isa = PBXGroup;
    590590                        children = (
    591                                 78C592E7158720BB004401C5 /* App */,
    592                                 78C59310158720BB004401C5 /* Lib */,
     591                                78348E1B1760D51300133029 /* App */,
     592                                78348E441760D51300133029 /* Lib */,
    593593                        );
    594594                        indentWidth = 2;
     
    615615                        sourceTree = "<group>";
    616616                };
    617                 78C592E7158720BB004401C5 /* App */ = {
     617                78348E1B1760D51300133029 /* App */ = {
    618618                        isa = PBXGroup;
    619619                        children = (
    620                                 78C592E8158720BB004401C5 /* TAppDecoder */,
    621                                 78C592EE158720BB004401C5 /* TAppEncoder */,
    622                                 78C592F4158720BB004401C5 /* TAppExtractor */,
    623                                 78C592FA158720BB004401C5 /* TAppRenderer */,
    624                                 78C59300158720BB004401C5 /* utils */,
     620                                78348E1C1760D51300133029 /* TAppDecoder */,
     621                                78348E221760D51300133029 /* TAppEncoder */,
     622                                78348E281760D51300133029 /* TAppExtractor */,
     623                                78348E2E1760D51300133029 /* TAppRenderer */,
     624                                78348E341760D51300133029 /* utils */,
    625625                        );
    626626                        name = App;
     
    628628                        sourceTree = "<group>";
    629629                };
    630                 78C592E8158720BB004401C5 /* TAppDecoder */ = {
     630                78348E1C1760D51300133029 /* TAppDecoder */ = {
    631631                        isa = PBXGroup;
    632632                        children = (
    633                                 78C592E9158720BB004401C5 /* decmain.cpp */,
    634                                 78C592EA158720BB004401C5 /* TAppDecCfg.cpp */,
    635                                 78C592EB158720BB004401C5 /* TAppDecCfg.h */,
    636                                 78C592EC158720BB004401C5 /* TAppDecTop.cpp */,
    637                                 78C592ED158720BB004401C5 /* TAppDecTop.h */,
     633                                78348E1D1760D51300133029 /* decmain.cpp */,
     634                                78348E1E1760D51300133029 /* TAppDecCfg.cpp */,
     635                                78348E1F1760D51300133029 /* TAppDecCfg.h */,
     636                                78348E201760D51300133029 /* TAppDecTop.cpp */,
     637                                78348E211760D51300133029 /* TAppDecTop.h */,
    638638                        );
    639639                        path = TAppDecoder;
    640640                        sourceTree = "<group>";
    641641                };
    642                 78C592EE158720BB004401C5 /* TAppEncoder */ = {
     642                78348E221760D51300133029 /* TAppEncoder */ = {
    643643                        isa = PBXGroup;
    644644                        children = (
    645                                 78C592EF158720BB004401C5 /* encmain.cpp */,
    646                                 78C592F0158720BB004401C5 /* TAppEncCfg.cpp */,
    647                                 78C592F1158720BB004401C5 /* TAppEncCfg.h */,
    648                                 78C592F2158720BB004401C5 /* TAppEncTop.cpp */,
    649                                 78C592F3158720BB004401C5 /* TAppEncTop.h */,
     645                                78348E231760D51300133029 /* encmain.cpp */,
     646                                78348E241760D51300133029 /* TAppEncCfg.cpp */,
     647                                78348E251760D51300133029 /* TAppEncCfg.h */,
     648                                78348E261760D51300133029 /* TAppEncTop.cpp */,
     649                                78348E271760D51300133029 /* TAppEncTop.h */,
    650650                        );
    651651                        path = TAppEncoder;
    652652                        sourceTree = "<group>";
    653653                };
    654                 78C592F4158720BB004401C5 /* TAppExtractor */ = {
     654                78348E281760D51300133029 /* TAppExtractor */ = {
    655655                        isa = PBXGroup;
    656656                        children = (
    657                                 78C592F5158720BB004401C5 /* extrmain.cpp */,
    658                                 78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */,
    659                                 78C592F7158720BB004401C5 /* TAppExtrCfg.h */,
    660                                 78C592F8158720BB004401C5 /* TAppExtrTop.cpp */,
    661                                 78C592F9158720BB004401C5 /* TAppExtrTop.h */,
     657                                78348E291760D51300133029 /* extrmain.cpp */,
     658                                78348E2A1760D51300133029 /* TAppExtrCfg.cpp */,
     659                                78348E2B1760D51300133029 /* TAppExtrCfg.h */,
     660                                78348E2C1760D51300133029 /* TAppExtrTop.cpp */,
     661                                78348E2D1760D51300133029 /* TAppExtrTop.h */,
    662662                        );
    663663                        path = TAppExtractor;
    664664                        sourceTree = "<group>";
    665665                };
    666                 78C592FA158720BB004401C5 /* TAppRenderer */ = {
     666                78348E2E1760D51300133029 /* TAppRenderer */ = {
    667667                        isa = PBXGroup;
    668668                        children = (
    669                                 78C592FB158720BB004401C5 /* RendererMain.cpp */,
    670                                 78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */,
    671                                 78C592FD158720BB004401C5 /* TAppRendererCfg.h */,
    672                                 78C592FE158720BB004401C5 /* TAppRendererTop.cpp */,
    673                                 78C592FF158720BB004401C5 /* TAppRendererTop.h */,
     669                                78348E2F1760D51300133029 /* RendererMain.cpp */,
     670                                78348E301760D51300133029 /* TAppRendererCfg.cpp */,
     671                                78348E311760D51300133029 /* TAppRendererCfg.h */,
     672                                78348E321760D51300133029 /* TAppRendererTop.cpp */,
     673                                78348E331760D51300133029 /* TAppRendererTop.h */,
    674674                        );
    675675                        path = TAppRenderer;
    676676                        sourceTree = "<group>";
    677677                };
    678                 78C59300158720BB004401C5 /* utils */ = {
     678                78348E341760D51300133029 /* utils */ = {
    679679                        isa = PBXGroup;
    680680                        children = (
    681                                 78C59301158720BB004401C5 /* annexBbytecount.cpp */,
    682                                 78C59302158720BB004401C5 /* BitrateTargeting */,
    683                                 78C5930F158720BB004401C5 /* convert_NtoMbit_YCbCr.cpp */,
     681                                78348E351760D51300133029 /* annexBbytecount.cpp */,
     682                                78348E361760D51300133029 /* BitrateTargeting */,
     683                                78348E431760D51300133029 /* convert_NtoMbit_YCbCr.cpp */,
    684684                        );
    685685                        path = utils;
    686686                        sourceTree = "<group>";
    687687                };
    688                 78C59302158720BB004401C5 /* BitrateTargeting */ = {
     688                78348E361760D51300133029 /* BitrateTargeting */ = {
    689689                        isa = PBXGroup;
    690690                        children = (
    691                                 78C59303158720BB004401C5 /* encode.shl */,
    692                                 78C59304158720BB004401C5 /* encodeCommand.sh */,
    693                                 78C59305158720BB004401C5 /* ExtractBitrates.cpp */,
    694                                 78C59306158720BB004401C5 /* ExtractBitrates.h */,
    695                                 78C59307158720BB004401C5 /* ExtractBitratesMain.cpp */,
    696                                 78C59308158720BB004401C5 /* GuessLambdaModifiers.cpp */,
    697                                 78C59309158720BB004401C5 /* GuessLambdaModifiers.h */,
    698                                 78C5930A158720BB004401C5 /* GuessLambdaModifiersMain.cpp */,
    699                                 78C5930B158720BB004401C5 /* makefile */,
    700                                 78C5930C158720BB004401C5 /* QuickStartGuide.pdf */,
    701                                 78C5930D158720BB004401C5 /* RuntimeError.h */,
    702                                 78C5930E158720BB004401C5 /* targetBitrates.sh */,
     691                                78348E371760D51300133029 /* encode.shl */,
     692                                78348E381760D51300133029 /* encodeCommand.sh */,
     693                                78348E391760D51300133029 /* ExtractBitrates.cpp */,
     694                                78348E3A1760D51300133029 /* ExtractBitrates.h */,
     695                                78348E3B1760D51300133029 /* ExtractBitratesMain.cpp */,
     696                                78348E3C1760D51300133029 /* GuessLambdaModifiers.cpp */,
     697                                78348E3D1760D51300133029 /* GuessLambdaModifiers.h */,
     698                                78348E3E1760D51300133029 /* GuessLambdaModifiersMain.cpp */,
     699                                78348E3F1760D51300133029 /* makefile */,
     700                                78348E401760D51300133029 /* QuickStartGuide.pdf */,
     701                                78348E411760D51300133029 /* RuntimeError.h */,
     702                                78348E421760D51300133029 /* targetBitrates.sh */,
    703703                        );
    704704                        path = BitrateTargeting;
    705705                        sourceTree = "<group>";
    706706                };
    707                 78C59310158720BB004401C5 /* Lib */ = {
     707                78348E441760D51300133029 /* Lib */ = {
    708708                        isa = PBXGroup;
    709709                        children = (
    710                                 78C59311158720BB004401C5 /* libmd5 */,
    711                                 78C59315158720BB004401C5 /* TAppCommon */,
    712                                 78C5931A158720BB004401C5 /* TLibCommon */,
    713                                 78C59357158720BB004401C5 /* TLibDecoder */,
    714                                 78C5936F158720BB004401C5 /* TLibEncoder */,
    715                                 78C59396158720BB004401C5 /* TLibExtractor */,
    716                                 78C59399158720BB004401C5 /* TLibRenderer */,
    717                                 78C593AA158720BB004401C5 /* TLibVideoIO */,
     710                                78348E451760D51300133029 /* libmd5 */,
     711                                78348E491760D51300133029 /* TAppCommon */,
     712                                78348E4E1760D51300133029 /* TLibCommon */,
     713                                78348E861760D51300133029 /* TLibDecoder */,
     714                                78348EA01760D51300133029 /* TLibEncoder */,
     715                                78348ECA1760D51300133029 /* TLibExtractor */,
     716                                78348ECD1760D51300133029 /* TLibRenderer */,
     717                                78348EDE1760D51300133029 /* TLibVideoIO */,
    718718                        );
    719719                        name = Lib;
     
    721721                        sourceTree = "<group>";
    722722                };
    723                 78C59311158720BB004401C5 /* libmd5 */ = {
     723                78348E451760D51300133029 /* libmd5 */ = {
    724724                        isa = PBXGroup;
    725725                        children = (
    726                                 78C59312158720BB004401C5 /* libmd5.c */,
    727                                 78C59313158720BB004401C5 /* libmd5.h */,
    728                                 78C59314158720BB004401C5 /* MD5.h */,
     726                                78348E461760D51300133029 /* libmd5.c */,
     727                                78348E471760D51300133029 /* libmd5.h */,
     728                                78348E481760D51300133029 /* MD5.h */,
    729729                        );
    730730                        path = libmd5;
    731731                        sourceTree = "<group>";
    732732                };
    733                 78C59315158720BB004401C5 /* TAppCommon */ = {
     733                78348E491760D51300133029 /* TAppCommon */ = {
    734734                        isa = PBXGroup;
    735735                        children = (
    736                                 78C59316158720BB004401C5 /* program_options_lite.cpp */,
    737                                 78C59317158720BB004401C5 /* program_options_lite.h */,
    738                                 78C59318158720BB004401C5 /* TAppComCamPara.cpp */,
    739                                 78C59319158720BB004401C5 /* TAppComCamPara.h */,
     736                                78348E4A1760D51300133029 /* program_options_lite.cpp */,
     737                                78348E4B1760D51300133029 /* program_options_lite.h */,
     738                                78348E4C1760D51300133029 /* TAppComCamPara.cpp */,
     739                                78348E4D1760D51300133029 /* TAppComCamPara.h */,
    740740                        );
    741741                        path = TAppCommon;
    742742                        sourceTree = "<group>";
    743743                };
    744                 78C5931A158720BB004401C5 /* TLibCommon */ = {
     744                78348E4E1760D51300133029 /* TLibCommon */ = {
    745745                        isa = PBXGroup;
    746746                        children = (
    747                                 78C5931B158720BB004401C5 /* AccessUnit.h */,
    748                                 78C5931C158720BB004401C5 /* CommonDef.h */,
    749                                 78C5931D158720BB004401C5 /* ContextModel.cpp */,
    750                                 78C5931E158720BB004401C5 /* ContextModel.h */,
    751                                 78C5931F158720BB004401C5 /* ContextModel3DBuffer.cpp */,
    752                                 78C59320158720BB004401C5 /* ContextModel3DBuffer.h */,
    753                                 78C59321158720BB004401C5 /* ContextTables.h */,
    754                                 78C59322158720BB004401C5 /* NAL.h */,
    755                                 78C59323158720BB004401C5 /* SEI.h */,
    756                                 78C59324158720BB004401C5 /* TComAdaptiveLoopFilter.cpp */,
    757                                 78C59325158720BB004401C5 /* TComAdaptiveLoopFilter.h */,
    758                                 78C59326158720BB004401C5 /* TComBitCounter.h */,
    759                                 78C59327158720BB004401C5 /* TComBitStream.cpp */,
    760                                 78C59328158720BB004401C5 /* TComBitStream.h */,
    761                                 78C59329158720BB004401C5 /* TComCABACTables.cpp */,
    762                                 78C5932A158720BB004401C5 /* TComCABACTables.h */,
    763                                 78C5932B158720BB004401C5 /* TComDataCU.cpp */,
    764                                 78C5932C158720BB004401C5 /* TComDataCU.h */,
    765                                 78C5932D158720BB004401C5 /* TComDepthMapGenerator.cpp */,
    766                                 78C5932E158720BB004401C5 /* TComDepthMapGenerator.h */,
    767                                 78C5932F158720BB004401C5 /* TComInterpolationFilter.cpp */,
    768                                 78C59330158720BB004401C5 /* TComInterpolationFilter.h */,
    769                                 78C59331158720BB004401C5 /* TComList.h */,
    770                                 78C59332158720BB004401C5 /* TComLoopFilter.cpp */,
    771                                 78C59333158720BB004401C5 /* TComLoopFilter.h */,
    772                                 78C59334158720BB004401C5 /* TComMotionInfo.cpp */,
    773                                 78C59335158720BB004401C5 /* TComMotionInfo.h */,
    774                                 78C59336158720BB004401C5 /* TComMv.h */,
    775                                 78C59337158720BB004401C5 /* TComPattern.cpp */,
    776                                 78C59338158720BB004401C5 /* TComPattern.h */,
    777                                 78C59339158720BB004401C5 /* TComPic.cpp */,
    778                                 78C5933A158720BB004401C5 /* TComPic.h */,
    779                                 78C5933B158720BB004401C5 /* TComPicSym.cpp */,
    780                                 78C5933C158720BB004401C5 /* TComPicSym.h */,
    781                                 78C5933D158720BB004401C5 /* TComPicYuv.cpp */,
    782                                 78C5933E158720BB004401C5 /* TComPicYuv.h */,
    783                                 78C5933F158720BB004401C5 /* TComPicYuvMD5.cpp */,
    784                                 78C59340158720BB004401C5 /* TComPrediction.cpp */,
    785                                 78C59341158720BB004401C5 /* TComPrediction.h */,
    786                                 78C59342158720BB004401C5 /* TComRdCost.cpp */,
    787                                 78C59343158720BB004401C5 /* TComRdCost.h */,
    788                                 78C59344158720BB004401C5 /* TComRdCostWeightPrediction.cpp */,
    789                                 78C59345158720BB004401C5 /* TComRdCostWeightPrediction.h */,
    790                                 78C59346158720BB004401C5 /* TComResidualGenerator.cpp */,
    791                                 78C59347158720BB004401C5 /* TComResidualGenerator.h */,
    792                                 78C59348158720BB004401C5 /* TComRom.cpp */,
    793                                 78C59349158720BB004401C5 /* TComRom.h */,
    794                                 78C5934A158720BB004401C5 /* TComSampleAdaptiveOffset.cpp */,
    795                                 78C5934B158720BB004401C5 /* TComSampleAdaptiveOffset.h */,
    796                                 78C5934C158720BB004401C5 /* TComSlice.cpp */,
    797                                 78C5934D158720BB004401C5 /* TComSlice.h */,
    798                                 78C5934E158720BB004401C5 /* TComTrQuant.cpp */,
    799                                 78C5934F158720BB004401C5 /* TComTrQuant.h */,
    800                                 78C59350158720BB004401C5 /* TComWedgelet.cpp */,
    801                                 78C59351158720BB004401C5 /* TComWedgelet.h */,
    802                                 78C59352158720BB004401C5 /* TComWeightPrediction.cpp */,
    803                                 78C59353158720BB004401C5 /* TComWeightPrediction.h */,
    804                                 78C59354158720BB004401C5 /* TComYuv.cpp */,
    805                                 78C59355158720BB004401C5 /* TComYuv.h */,
    806                                 78C59356158720BB004401C5 /* TypeDef.h */,
     747                                78348E4F1760D51300133029 /* AccessUnit.h */,
     748                                78348E501760D51300133029 /* CommonDef.h */,
     749                                78348E511760D51300133029 /* ContextModel.cpp */,
     750                                78348E521760D51300133029 /* ContextModel.h */,
     751                                78348E531760D51300133029 /* ContextModel3DBuffer.cpp */,
     752                                78348E541760D51300133029 /* ContextModel3DBuffer.h */,
     753                                78348E551760D51300133029 /* ContextTables.h */,
     754                                78348E561760D51300133029 /* NAL.h */,
     755                                78348E571760D51300133029 /* SEI.cpp */,
     756                                78348E581760D51300133029 /* SEI.h */,
     757                                78348E591760D51300133029 /* TComBitCounter.h */,
     758                                78348E5A1760D51300133029 /* TComBitStream.cpp */,
     759                                78348E5B1760D51300133029 /* TComBitStream.h */,
     760                                78348E5C1760D51300133029 /* TComCABACTables.cpp */,
     761                                78348E5D1760D51300133029 /* TComCABACTables.h */,
     762                                78348E5E1760D51300133029 /* TComDataCU.cpp */,
     763                                78348E5F1760D51300133029 /* TComDataCU.h */,
     764                                78348E601760D51300133029 /* TComInterpolationFilter.cpp */,
     765                                78348E611760D51300133029 /* TComInterpolationFilter.h */,
     766                                78348E621760D51300133029 /* TComList.h */,
     767                                78348E631760D51300133029 /* TComLoopFilter.cpp */,
     768                                78348E641760D51300133029 /* TComLoopFilter.h */,
     769                                78348E651760D51300133029 /* TComMotionInfo.cpp */,
     770                                78348E661760D51300133029 /* TComMotionInfo.h */,
     771                                78348E671760D51300133029 /* TComMv.h */,
     772                                78348E681760D51300133029 /* TComPattern.cpp */,
     773                                78348E691760D51300133029 /* TComPattern.h */,
     774                                78348E6A1760D51300133029 /* TComPic.cpp */,
     775                                78348E6B1760D51300133029 /* TComPic.h */,
     776                                78348E6C1760D51300133029 /* TComPicSym.cpp */,
     777                                78348E6D1760D51300133029 /* TComPicSym.h */,
     778                                78348E6E1760D51300133029 /* TComPicYuv.cpp */,
     779                                78348E6F1760D51300133029 /* TComPicYuv.h */,
     780                                78348E701760D51300133029 /* TComPicYuvMD5.cpp */,
     781                                78348E711760D51300133029 /* TComPrediction.cpp */,
     782                                78348E721760D51300133029 /* TComPrediction.h */,
     783                                78348E731760D51300133029 /* TComRdCost.cpp */,
     784                                78348E741760D51300133029 /* TComRdCost.h */,
     785                                78348E751760D51300133029 /* TComRdCostWeightPrediction.cpp */,
     786                                78348E761760D51300133029 /* TComRdCostWeightPrediction.h */,
     787                                78348E771760D51300133029 /* TComRom.cpp */,
     788                                78348E781760D51300133029 /* TComRom.h */,
     789                                78348E791760D51300133029 /* TComSampleAdaptiveOffset.cpp */,
     790                                78348E7A1760D51300133029 /* TComSampleAdaptiveOffset.h */,
     791                                78348E7B1760D51300133029 /* TComSlice.cpp */,
     792                                78348E7C1760D51300133029 /* TComSlice.h */,
     793                                78348E7D1760D51300133029 /* TComTrQuant.cpp */,
     794                                78348E7E1760D51300133029 /* TComTrQuant.h */,
     795                                78348E7F1760D51300133029 /* TComWedgelet.cpp */,
     796                                78348E801760D51300133029 /* TComWedgelet.h */,
     797                                78348E811760D51300133029 /* TComWeightPrediction.cpp */,
     798                                78348E821760D51300133029 /* TComWeightPrediction.h */,
     799                                78348E831760D51300133029 /* TComYuv.cpp */,
     800                                78348E841760D51300133029 /* TComYuv.h */,
     801                                78348E851760D51300133029 /* TypeDef.h */,
    807802                        );
    808803                        path = TLibCommon;
    809804                        sourceTree = "<group>";
    810805                };
    811                 78C59357158720BB004401C5 /* TLibDecoder */ = {
     806                78348E861760D51300133029 /* TLibDecoder */ = {
    812807                        isa = PBXGroup;
    813808                        children = (
    814                                 78C59358158720BB004401C5 /* AnnexBread.cpp */,
    815                                 78C59359158720BB004401C5 /* AnnexBread.h */,
    816                                 78C5935A158720BB004401C5 /* NALread.cpp */,
    817                                 78C5935B158720BB004401C5 /* NALread.h */,
    818                                 78C5935C158720BB004401C5 /* SEIread.cpp */,
    819                                 78C5935D158720BB004401C5 /* SEIread.h */,
    820                                 78C5935E158720BB004401C5 /* TDecBinCoder.h */,
    821                                 78C5935F158720BB004401C5 /* TDecBinCoderCABAC.cpp */,
    822                                 78C59360158720BB004401C5 /* TDecBinCoderCABAC.h */,
    823                                 78C59361158720BB004401C5 /* TDecCAVLC.cpp */,
    824                                 78C59362158720BB004401C5 /* TDecCAVLC.h */,
    825                                 78C59363158720BB004401C5 /* TDecCu.cpp */,
    826                                 78C59364158720BB004401C5 /* TDecCu.h */,
    827                                 78C59365158720BB004401C5 /* TDecEntropy.cpp */,
    828                                 78C59366158720BB004401C5 /* TDecEntropy.h */,
    829                                 78C59367158720BB004401C5 /* TDecGop.cpp */,
    830                                 78C59368158720BB004401C5 /* TDecGop.h */,
    831                                 78C59369158720BB004401C5 /* TDecSbac.cpp */,
    832                                 78C5936A158720BB004401C5 /* TDecSbac.h */,
    833                                 78C5936B158720BB004401C5 /* TDecSlice.cpp */,
    834                                 78C5936C158720BB004401C5 /* TDecSlice.h */,
    835                                 78C5936D158720BB004401C5 /* TDecTop.cpp */,
    836                                 78C5936E158720BB004401C5 /* TDecTop.h */,
     809                                78348E871760D51300133029 /* AnnexBread.cpp */,
     810                                78348E881760D51300133029 /* AnnexBread.h */,
     811                                78348E891760D51300133029 /* NALread.cpp */,
     812                                78348E8A1760D51300133029 /* NALread.h */,
     813                                78348E8B1760D51300133029 /* SEIread.cpp */,
     814                                78348E8C1760D51300133029 /* SEIread.h */,
     815                                78348E8D1760D51300133029 /* SyntaxElementParser.cpp */,
     816                                78348E8E1760D51300133029 /* SyntaxElementParser.h */,
     817                                78348E8F1760D51300133029 /* TDecBinCoder.h */,
     818                                78348E901760D51300133029 /* TDecBinCoderCABAC.cpp */,
     819                                78348E911760D51300133029 /* TDecBinCoderCABAC.h */,
     820                                78348E921760D51300133029 /* TDecCAVLC.cpp */,
     821                                78348E931760D51300133029 /* TDecCAVLC.h */,
     822                                78348E941760D51300133029 /* TDecCu.cpp */,
     823                                78348E951760D51300133029 /* TDecCu.h */,
     824                                78348E961760D51300133029 /* TDecEntropy.cpp */,
     825                                78348E971760D51300133029 /* TDecEntropy.h */,
     826                                78348E981760D51300133029 /* TDecGop.cpp */,
     827                                78348E991760D51300133029 /* TDecGop.h */,
     828                                78348E9A1760D51300133029 /* TDecSbac.cpp */,
     829                                78348E9B1760D51300133029 /* TDecSbac.h */,
     830                                78348E9C1760D51300133029 /* TDecSlice.cpp */,
     831                                78348E9D1760D51300133029 /* TDecSlice.h */,
     832                                78348E9E1760D51300133029 /* TDecTop.cpp */,
     833                                78348E9F1760D51300133029 /* TDecTop.h */,
    837834                        );
    838835                        path = TLibDecoder;
    839836                        sourceTree = "<group>";
    840837                };
    841                 78C5936F158720BB004401C5 /* TLibEncoder */ = {
     838                78348EA01760D51300133029 /* TLibEncoder */ = {
    842839                        isa = PBXGroup;
    843840                        children = (
    844                                 78C59370158720BB004401C5 /* AnnexBwrite.h */,
    845                                 78C59371158720BB004401C5 /* NALwrite.cpp */,
    846                                 78C59372158720BB004401C5 /* NALwrite.h */,
    847                                 78C59373158720BB004401C5 /* SEIwrite.cpp */,
    848                                 78C59374158720BB004401C5 /* SEIwrite.h */,
    849                                 78C59375158720BB004401C5 /* TEncAdaptiveLoopFilter.cpp */,
    850                                 78C59376158720BB004401C5 /* TEncAdaptiveLoopFilter.h */,
    851                                 78C59377158720BB004401C5 /* TEncAnalyze.h */,
    852                                 78C59378158720BB004401C5 /* TEncBinCoder.h */,
    853                                 78C59379158720BB004401C5 /* TEncBinCoderCABAC.cpp */,
    854                                 78C5937A158720BB004401C5 /* TEncBinCoderCABAC.h */,
    855                                 78C5937B158720BB004401C5 /* TEncBinCoderCABACCounter.cpp */,
    856                                 78C5937C158720BB004401C5 /* TEncBinCoderCABACCounter.h */,
    857                                 78C5937D158720BB004401C5 /* TEncCavlc.cpp */,
    858                                 78C5937E158720BB004401C5 /* TEncCavlc.h */,
    859                                 78C5937F158720BB004401C5 /* TEncCfg.h */,
    860                                 78C59380158720BB004401C5 /* TEncCu.cpp */,
    861                                 78C59381158720BB004401C5 /* TEncCu.h */,
    862                                 78C59382158720BB004401C5 /* TEncEntropy.cpp */,
    863                                 78C59383158720BB004401C5 /* TEncEntropy.h */,
    864                                 78C59384158720BB004401C5 /* TEncGOP.cpp */,
    865                                 78C59385158720BB004401C5 /* TEncGOP.h */,
    866                                 78C59386158720BB004401C5 /* TEncPic.cpp */,
    867                                 78C59387158720BB004401C5 /* TEncPic.h */,
    868                                 78C59388158720BB004401C5 /* TEncPreanalyzer.cpp */,
    869                                 78C59389158720BB004401C5 /* TEncPreanalyzer.h */,
    870                                 78C5938A158720BB004401C5 /* TEncSampleAdaptiveOffset.cpp */,
    871                                 78C5938B158720BB004401C5 /* TEncSampleAdaptiveOffset.h */,
    872                                 78C5938C158720BB004401C5 /* TEncSbac.cpp */,
    873                                 78C5938D158720BB004401C5 /* TEncSbac.h */,
    874                                 78C5938E158720BB004401C5 /* TEncSearch.cpp */,
    875                                 78C5938F158720BB004401C5 /* TEncSearch.h */,
    876                                 78C59390158720BB004401C5 /* TEncSlice.cpp */,
    877                                 78C59391158720BB004401C5 /* TEncSlice.h */,
    878                                 78C59392158720BB004401C5 /* TEncTop.cpp */,
    879                                 78C59393158720BB004401C5 /* TEncTop.h */,
    880                                 78C59394158720BB004401C5 /* WeightPredAnalysis.cpp */,
    881                                 78C59395158720BB004401C5 /* WeightPredAnalysis.h */,
     841                                78348EA11760D51300133029 /* AnnexBwrite.h */,
     842                                78348EA21760D51300133029 /* NALwrite.cpp */,
     843                                78348EA31760D51300133029 /* NALwrite.h */,
     844                                78348EA41760D51300133029 /* SEIwrite.cpp */,
     845                                78348EA51760D51300133029 /* SEIwrite.h */,
     846                                78348EA61760D51300133029 /* SyntaxElementWriter.cpp */,
     847                                78348EA71760D51300133029 /* SyntaxElementWriter.h */,
     848                                78348EA81760D51300133029 /* TEncAnalyze.cpp */,
     849                                78348EA91760D51300133029 /* TEncAnalyze.h */,
     850                                78348EAA1760D51300133029 /* TEncBinCoder.h */,
     851                                78348EAB1760D51300133029 /* TEncBinCoderCABAC.cpp */,
     852                                78348EAC1760D51300133029 /* TEncBinCoderCABAC.h */,
     853                                78348EAD1760D51300133029 /* TEncBinCoderCABACCounter.cpp */,
     854                                78348EAE1760D51300133029 /* TEncBinCoderCABACCounter.h */,
     855                                78348EAF1760D51300133029 /* TEncCavlc.cpp */,
     856                                78348EB01760D51300133029 /* TEncCavlc.h */,
     857                                78348EB11760D51300133029 /* TEncCfg.h */,
     858                                78348EB21760D51300133029 /* TEncCu.cpp */,
     859                                78348EB31760D51300133029 /* TEncCu.h */,
     860                                78348EB41760D51300133029 /* TEncEntropy.cpp */,
     861                                78348EB51760D51300133029 /* TEncEntropy.h */,
     862                                78348EB61760D51300133029 /* TEncGOP.cpp */,
     863                                78348EB71760D51300133029 /* TEncGOP.h */,
     864                                78348EB81760D51300133029 /* TEncPic.cpp */,
     865                                78348EB91760D51300133029 /* TEncPic.h */,
     866                                78348EBA1760D51300133029 /* TEncPreanalyzer.cpp */,
     867                                78348EBB1760D51300133029 /* TEncPreanalyzer.h */,
     868                                78348EBC1760D51300133029 /* TEncRateCtrl.cpp */,
     869                                78348EBD1760D51300133029 /* TEncRateCtrl.h */,
     870                                78348EBE1760D51300133029 /* TEncSampleAdaptiveOffset.cpp */,
     871                                78348EBF1760D51300133029 /* TEncSampleAdaptiveOffset.h */,
     872                                78348EC01760D51300133029 /* TEncSbac.cpp */,
     873                                78348EC11760D51300133029 /* TEncSbac.h */,
     874                                78348EC21760D51300133029 /* TEncSearch.cpp */,
     875                                78348EC31760D51300133029 /* TEncSearch.h */,
     876                                78348EC41760D51300133029 /* TEncSlice.cpp */,
     877                                78348EC51760D51300133029 /* TEncSlice.h */,
     878                                78348EC61760D51300133029 /* TEncTop.cpp */,
     879                                78348EC71760D51300133029 /* TEncTop.h */,
     880                                78348EC81760D51300133029 /* WeightPredAnalysis.cpp */,
     881                                78348EC91760D51300133029 /* WeightPredAnalysis.h */,
    882882                        );
    883883                        path = TLibEncoder;
    884884                        sourceTree = "<group>";
    885885                };
    886                 78C59396158720BB004401C5 /* TLibExtractor */ = {
     886                78348ECA1760D51300133029 /* TLibExtractor */ = {
    887887                        isa = PBXGroup;
    888888                        children = (
    889                                 78C59397158720BB004401C5 /* TExtrTop.cpp */,
    890                                 78C59398158720BB004401C5 /* TExtrTop.h */,
     889                                78348ECB1760D51300133029 /* TExtrTop.cpp */,
     890                                78348ECC1760D51300133029 /* TExtrTop.h */,
    891891                        );
    892892                        path = TLibExtractor;
    893893                        sourceTree = "<group>";
    894894                };
    895                 78C59399158720BB004401C5 /* TLibRenderer */ = {
     895                78348ECD1760D51300133029 /* TLibRenderer */ = {
    896896                        isa = PBXGroup;
    897897                        children = (
    898                                 78C5939A158720BB004401C5 /* TRenFilter.cpp */,
    899                                 78C5939B158720BB004401C5 /* TRenFilter.h */,
    900                                 78C5939C158720BB004401C5 /* TRenImage.cpp */,
    901                                 78C5939D158720BB004401C5 /* TRenImage.h */,
    902                                 78C5939E158720BB004401C5 /* TRenImagePlane.cpp */,
    903                                 78C5939F158720BB004401C5 /* TRenImagePlane.h */,
    904                                 78C593A0158720BB004401C5 /* TRenInterpFilter.cpp */,
    905                                 78C593A1158720BB004401C5 /* TRenInterpFilter.h */,
    906                                 78C593A2158720BB004401C5 /* TRenModel.cpp */,
    907                                 78C593A3158720BB004401C5 /* TRenModel.h */,
    908                                 78C593A4158720BB004401C5 /* TRenModSetupStrParser.cpp */,
    909                                 78C593A5158720BB004401C5 /* TRenModSetupStrParser.h */,
    910                                 78C593A6158720BB004401C5 /* TRenSingleModel.cpp */,
    911                                 78C593A7158720BB004401C5 /* TRenSingleModel.h */,
    912                                 78C593A8158720BB004401C5 /* TRenTop.cpp */,
    913                                 78C593A9158720BB004401C5 /* TRenTop.h */,
     898                                78348ECE1760D51300133029 /* TRenFilter.cpp */,
     899                                78348ECF1760D51300133029 /* TRenFilter.h */,
     900                                78348ED01760D51300133029 /* TRenImage.cpp */,
     901                                78348ED11760D51300133029 /* TRenImage.h */,
     902                                78348ED21760D51300133029 /* TRenImagePlane.cpp */,
     903                                78348ED31760D51300133029 /* TRenImagePlane.h */,
     904                                78348ED41760D51300133029 /* TRenInterpFilter.cpp */,
     905                                78348ED51760D51300133029 /* TRenInterpFilter.h */,
     906                                78348ED61760D51300133029 /* TRenModel.cpp */,
     907                                78348ED71760D51300133029 /* TRenModel.h */,
     908                                78348ED81760D51300133029 /* TRenModSetupStrParser.cpp */,
     909                                78348ED91760D51300133029 /* TRenModSetupStrParser.h */,
     910                                78348EDA1760D51300133029 /* TRenSingleModel.cpp */,
     911                                78348EDB1760D51300133029 /* TRenSingleModel.h */,
     912                                78348EDC1760D51300133029 /* TRenTop.cpp */,
     913                                78348EDD1760D51300133029 /* TRenTop.h */,
    914914                        );
    915915                        path = TLibRenderer;
    916916                        sourceTree = "<group>";
    917917                };
    918                 78C593AA158720BB004401C5 /* TLibVideoIO */ = {
     918                78348EDE1760D51300133029 /* TLibVideoIO */ = {
    919919                        isa = PBXGroup;
    920920                        children = (
    921                                 78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */,
    922                                 78C593AC158720BB004401C5 /* TVideoIOYuv.h */,
     921                                78348EDF1760D51300133029 /* TVideoIOYuv.cpp */,
     922                                78348EE01760D51300133029 /* TVideoIOYuv.h */,
    923923                        );
    924924                        path = TLibVideoIO;
     
    11881188                        attributes = {
    11891189                                BuildIndependentTargetsInParallel = YES;
    1190                                 LastUpgradeCheck = 0430;
     1190                                LastUpgradeCheck = 0460;
    11911191                        };
    11921192                        buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "HTM" */;
     
    12251225                        buildActionMask = 2147483647;
    12261226                        files = (
    1227                                 78C593B5158721A1004401C5 /* ContextModel.cpp in Sources */,
    1228                                 78C593B6158721A1004401C5 /* ContextModel3DBuffer.cpp in Sources */,
    1229                                 78C593B7158721A1004401C5 /* TComAdaptiveLoopFilter.cpp in Sources */,
    1230                                 78C593B8158721A1004401C5 /* TComBitStream.cpp in Sources */,
    1231                                 78C593B9158721A1004401C5 /* TComCABACTables.cpp in Sources */,
    1232                                 78C593BA158721A1004401C5 /* TComDataCU.cpp in Sources */,
    1233                                 78C593BB158721A1004401C5 /* TComDepthMapGenerator.cpp in Sources */,
    1234                                 78C593BC158721A1004401C5 /* TComInterpolationFilter.cpp in Sources */,
    1235                                 78C593BD158721A1004401C5 /* TComLoopFilter.cpp in Sources */,
    1236                                 78C593BE158721A1004401C5 /* TComMotionInfo.cpp in Sources */,
    1237                                 78C593BF158721A1004401C5 /* TComPattern.cpp in Sources */,
    1238                                 78C593C0158721A1004401C5 /* TComPic.cpp in Sources */,
    1239                                 78C593C1158721A1004401C5 /* TComPicSym.cpp in Sources */,
    1240                                 78C593C2158721A1004401C5 /* TComPicYuv.cpp in Sources */,
    1241                                 78C593C3158721A1004401C5 /* TComPicYuvMD5.cpp in Sources */,
    1242                                 78C593C4158721A1004401C5 /* TComPrediction.cpp in Sources */,
    1243                                 78C593C5158721A1004401C5 /* TComRdCost.cpp in Sources */,
    1244                                 78C593C6158721A1004401C5 /* TComRdCostWeightPrediction.cpp in Sources */,
    1245                                 78C593C7158721A1004401C5 /* TComResidualGenerator.cpp in Sources */,
    1246                                 78C593C8158721A1004401C5 /* TComRom.cpp in Sources */,
    1247                                 78C593C9158721A1004401C5 /* TComSampleAdaptiveOffset.cpp in Sources */,
    1248                                 78C593CA158721A1004401C5 /* TComSlice.cpp in Sources */,
    1249                                 78C593CB158721A1004401C5 /* TComTrQuant.cpp in Sources */,
    1250                                 78C593CC158721A1004401C5 /* TComWedgelet.cpp in Sources */,
    1251                                 78C593CD158721A1004401C5 /* TComWeightPrediction.cpp in Sources */,
    1252                                 78C593CE158721A1004401C5 /* TComYuv.cpp in Sources */,
     1227                                78348EE31760D55800133029 /* ContextModel.cpp in Sources */,
     1228                                78348EE51760D55800133029 /* ContextModel3DBuffer.cpp in Sources */,
     1229                                78348EE91760D55800133029 /* SEI.cpp in Sources */,
     1230                                78348EEC1760D55800133029 /* TComBitStream.cpp in Sources */,
     1231                                78348EEE1760D55800133029 /* TComCABACTables.cpp in Sources */,
     1232                                78348EF01760D55800133029 /* TComDataCU.cpp in Sources */,
     1233                                78348EF21760D55800133029 /* TComInterpolationFilter.cpp in Sources */,
     1234                                78348EF51760D55800133029 /* TComLoopFilter.cpp in Sources */,
     1235                                78348EF71760D55800133029 /* TComMotionInfo.cpp in Sources */,
     1236                                78348EFA1760D55800133029 /* TComPattern.cpp in Sources */,
     1237                                78348EFC1760D55800133029 /* TComPic.cpp in Sources */,
     1238                                78348EFE1760D55800133029 /* TComPicSym.cpp in Sources */,
     1239                                78348F001760D55800133029 /* TComPicYuv.cpp in Sources */,
     1240                                78348F021760D55800133029 /* TComPicYuvMD5.cpp in Sources */,
     1241                                78348F031760D55800133029 /* TComPrediction.cpp in Sources */,
     1242                                78348F051760D55800133029 /* TComRdCost.cpp in Sources */,
     1243                                78348F071760D55800133029 /* TComRdCostWeightPrediction.cpp in Sources */,
     1244                                78348F091760D55800133029 /* TComRom.cpp in Sources */,
     1245                                78348F0B1760D55800133029 /* TComSampleAdaptiveOffset.cpp in Sources */,
     1246                                78348F0D1760D55800133029 /* TComSlice.cpp in Sources */,
     1247                                78348F0F1760D55800133029 /* TComTrQuant.cpp in Sources */,
     1248                                78348F111760D55800133029 /* TComWedgelet.cpp in Sources */,
     1249                                78348F131760D55800133029 /* TComWeightPrediction.cpp in Sources */,
     1250                                78348F151760D55800133029 /* TComYuv.cpp in Sources */,
     1251                                78348F7E1760D62800133029 /* libmd5.c in Sources */,
    12531252                        );
    12541253                        runOnlyForDeploymentPostprocessing = 0;
     
    12581257                        buildActionMask = 2147483647;
    12591258                        files = (
    1260                                 78C593D1158721BB004401C5 /* AnnexBread.cpp in Sources */,
    1261                                 78C593D2158721BB004401C5 /* NALread.cpp in Sources */,
    1262                                 78C593D3158721BB004401C5 /* SEIread.cpp in Sources */,
    1263                                 78C593D4158721BB004401C5 /* TDecBinCoderCABAC.cpp in Sources */,
    1264                                 78C593D5158721BB004401C5 /* TDecCAVLC.cpp in Sources */,
    1265                                 78C593D6158721BB004401C5 /* TDecCu.cpp in Sources */,
    1266                                 78C593D7158721BB004401C5 /* TDecEntropy.cpp in Sources */,
    1267                                 78C593D8158721BB004401C5 /* TDecGop.cpp in Sources */,
    1268                                 78C593D9158721BB004401C5 /* TDecSbac.cpp in Sources */,
    1269                                 78C593DA158721BB004401C5 /* TDecSlice.cpp in Sources */,
    1270                                 78C593DB158721BB004401C5 /* TDecTop.cpp in Sources */,
     1259                                78348F1C1760D58100133029 /* AnnexBread.cpp in Sources */,
     1260                                78348F1E1760D58100133029 /* NALread.cpp in Sources */,
     1261                                78348F201760D58100133029 /* SEIread.cpp in Sources */,
     1262                                78348F221760D58100133029 /* SyntaxElementParser.cpp in Sources */,
     1263                                78348F251760D58100133029 /* TDecBinCoderCABAC.cpp in Sources */,
     1264                                78348F271760D58100133029 /* TDecCAVLC.cpp in Sources */,
     1265                                78348F291760D58100133029 /* TDecCu.cpp in Sources */,
     1266                                78348F2B1760D58100133029 /* TDecEntropy.cpp in Sources */,
     1267                                78348F2D1760D58100133029 /* TDecGop.cpp in Sources */,
     1268                                78348F2F1760D58100133029 /* TDecSbac.cpp in Sources */,
     1269                                78348F311760D58100133029 /* TDecSlice.cpp in Sources */,
     1270                                78348F331760D58100133029 /* TDecTop.cpp in Sources */,
    12711271                        );
    12721272                        runOnlyForDeploymentPostprocessing = 0;
     
    12761276                        buildActionMask = 2147483647;
    12771277                        files = (
    1278                                 78C593DC158721CE004401C5 /* NALwrite.cpp in Sources */,
    1279                                 78C593DD158721CE004401C5 /* SEIwrite.cpp in Sources */,
    1280                                 78C593DE158721CE004401C5 /* TEncAdaptiveLoopFilter.cpp in Sources */,
    1281                                 78C593DF158721CE004401C5 /* TEncBinCoderCABAC.cpp in Sources */,
    1282                                 78C593E0158721CE004401C5 /* TEncBinCoderCABACCounter.cpp in Sources */,
    1283                                 78C593E1158721CE004401C5 /* TEncCavlc.cpp in Sources */,
    1284                                 78C593E2158721CE004401C5 /* TEncCu.cpp in Sources */,
    1285                                 78C593E3158721CE004401C5 /* TEncEntropy.cpp in Sources */,
    1286                                 78C593E4158721CE004401C5 /* TEncGOP.cpp in Sources */,
    1287                                 78C593E5158721CE004401C5 /* TEncPic.cpp in Sources */,
    1288                                 78C593E6158721CE004401C5 /* TEncPreanalyzer.cpp in Sources */,
    1289                                 78C593E7158721CE004401C5 /* TEncSampleAdaptiveOffset.cpp in Sources */,
    1290                                 78C593E8158721CE004401C5 /* TEncSbac.cpp in Sources */,
    1291                                 78C593E9158721CE004401C5 /* TEncSearch.cpp in Sources */,
    1292                                 78C593EA158721CE004401C5 /* TEncSlice.cpp in Sources */,
    1293                                 78C593EB158721CE004401C5 /* TEncTop.cpp in Sources */,
    1294                                 78C593EC158721CE004401C5 /* WeightPredAnalysis.cpp in Sources */,
     1278                                78348F361760D58A00133029 /* NALwrite.cpp in Sources */,
     1279                                78348F381760D58A00133029 /* SEIwrite.cpp in Sources */,
     1280                                78348F3A1760D58A00133029 /* SyntaxElementWriter.cpp in Sources */,
     1281                                78348F3C1760D58A00133029 /* TEncAnalyze.cpp in Sources */,
     1282                                78348F3F1760D58A00133029 /* TEncBinCoderCABAC.cpp in Sources */,
     1283                                78348F411760D58A00133029 /* TEncBinCoderCABACCounter.cpp in Sources */,
     1284                                78348F431760D58A00133029 /* TEncCavlc.cpp in Sources */,
     1285                                78348F461760D58A00133029 /* TEncCu.cpp in Sources */,
     1286                                78348F481760D58A00133029 /* TEncEntropy.cpp in Sources */,
     1287                                78348F4A1760D58A00133029 /* TEncGOP.cpp in Sources */,
     1288                                78348F4C1760D58A00133029 /* TEncPic.cpp in Sources */,
     1289                                78348F4E1760D58A00133029 /* TEncPreanalyzer.cpp in Sources */,
     1290                                78348F501760D58A00133029 /* TEncRateCtrl.cpp in Sources */,
     1291                                78348F521760D58A00133029 /* TEncSampleAdaptiveOffset.cpp in Sources */,
     1292                                78348F541760D58A00133029 /* TEncSbac.cpp in Sources */,
     1293                                78348F561760D58A00133029 /* TEncSearch.cpp in Sources */,
     1294                                78348F581760D58A00133029 /* TEncSlice.cpp in Sources */,
     1295                                78348F5A1760D58A00133029 /* TEncTop.cpp in Sources */,
     1296                                78348F5C1760D58A00133029 /* WeightPredAnalysis.cpp in Sources */,
    12951297                        );
    12961298                        runOnlyForDeploymentPostprocessing = 0;
     
    13001302                        buildActionMask = 2147483647;
    13011303                        files = (
    1302                                 78C593F6158721E9004401C5 /* TVideoIOYuv.cpp in Sources */,
     1304                                78348F701760D5A000133029 /* TVideoIOYuv.cpp in Sources */,
    13031305                        );
    13041306                        runOnlyForDeploymentPostprocessing = 0;
     
    13081310                        buildActionMask = 2147483647;
    13091311                        files = (
    1310                                 78C593F7158721F1004401C5 /* encmain.cpp in Sources */,
    1311                                 78C593F8158721F1004401C5 /* TAppEncCfg.cpp in Sources */,
    1312                                 78C593F9158721F1004401C5 /* TAppEncTop.cpp in Sources */,
    1313                                 78C594121587228A004401C5 /* libmd5.c in Sources */,
     1312                                78348F751760D5B600133029 /* encmain.cpp in Sources */,
     1313                                78348F761760D5B600133029 /* TAppEncCfg.cpp in Sources */,
     1314                                78348F771760D5B600133029 /* TAppEncTop.cpp in Sources */,
    13141315                        );
    13151316                        runOnlyForDeploymentPostprocessing = 0;
     
    13191320                        buildActionMask = 2147483647;
    13201321                        files = (
    1321                                 78C593FA158721F6004401C5 /* decmain.cpp in Sources */,
    1322                                 78C593FB158721F6004401C5 /* TAppDecCfg.cpp in Sources */,
    1323                                 78C593FC158721F6004401C5 /* TAppDecTop.cpp in Sources */,
    1324                                 78C5941F158722D4004401C5 /* libmd5.c in Sources */,
     1322                                78348F721760D5AE00133029 /* decmain.cpp in Sources */,
     1323                                78348F731760D5AE00133029 /* TAppDecCfg.cpp in Sources */,
     1324                                78348F741760D5AE00133029 /* TAppDecTop.cpp in Sources */,
    13251325                        );
    13261326                        runOnlyForDeploymentPostprocessing = 0;
     
    13301330                        buildActionMask = 2147483647;
    13311331                        files = (
    1332                                 78C593ED158721D7004401C5 /* TExtrTop.cpp in Sources */,
     1332                                78348F5E1760D59300133029 /* TExtrTop.cpp in Sources */,
    13331333                        );
    13341334                        runOnlyForDeploymentPostprocessing = 0;
     
    13381338                        buildActionMask = 2147483647;
    13391339                        files = (
    1340                                 78C593FD158721FC004401C5 /* extrmain.cpp in Sources */,
    1341                                 78C593FE158721FC004401C5 /* TAppExtrCfg.cpp in Sources */,
    1342                                 78C593FF158721FC004401C5 /* TAppExtrTop.cpp in Sources */,
     1340                                78348F781760D5BB00133029 /* extrmain.cpp in Sources */,
     1341                                78348F791760D5BB00133029 /* TAppExtrCfg.cpp in Sources */,
     1342                                78348F7A1760D5BB00133029 /* TAppExtrTop.cpp in Sources */,
    13431343                        );
    13441344                        runOnlyForDeploymentPostprocessing = 0;
     
    13481348                        buildActionMask = 2147483647;
    13491349                        files = (
    1350                                 78C593EE158721E2004401C5 /* TRenFilter.cpp in Sources */,
    1351                                 78C593EF158721E2004401C5 /* TRenImage.cpp in Sources */,
    1352                                 78C593F0158721E2004401C5 /* TRenImagePlane.cpp in Sources */,
    1353                                 78C593F1158721E2004401C5 /* TRenInterpFilter.cpp in Sources */,
    1354                                 78C593F2158721E2004401C5 /* TRenModel.cpp in Sources */,
    1355                                 78C593F3158721E2004401C5 /* TRenModSetupStrParser.cpp in Sources */,
    1356                                 78C593F4158721E2004401C5 /* TRenSingleModel.cpp in Sources */,
    1357                                 78C593F5158721E2004401C5 /* TRenTop.cpp in Sources */,
     1350                                78348F601760D59900133029 /* TRenFilter.cpp in Sources */,
     1351                                78348F621760D59900133029 /* TRenImage.cpp in Sources */,
     1352                                78348F641760D59900133029 /* TRenImagePlane.cpp in Sources */,
     1353                                78348F661760D59900133029 /* TRenInterpFilter.cpp in Sources */,
     1354                                78348F681760D59900133029 /* TRenModel.cpp in Sources */,
     1355                                78348F6A1760D59900133029 /* TRenModSetupStrParser.cpp in Sources */,
     1356                                78348F6C1760D59900133029 /* TRenSingleModel.cpp in Sources */,
     1357                                78348F6E1760D59900133029 /* TRenTop.cpp in Sources */,
    13581358                        );
    13591359                        runOnlyForDeploymentPostprocessing = 0;
     
    13631363                        buildActionMask = 2147483647;
    13641364                        files = (
    1365                                 78C5940015872201004401C5 /* RendererMain.cpp in Sources */,
    1366                                 78C5940115872201004401C5 /* TAppRendererCfg.cpp in Sources */,
    1367                                 78C5940215872201004401C5 /* TAppRendererTop.cpp in Sources */,
     1365                                78348F7B1760D5C100133029 /* RendererMain.cpp in Sources */,
     1366                                78348F7C1760D5C100133029 /* TAppRendererCfg.cpp in Sources */,
     1367                                78348F7D1760D5C100133029 /* TAppRendererTop.cpp in Sources */,
    13681368                        );
    13691369                        runOnlyForDeploymentPostprocessing = 0;
     
    13731373                        buildActionMask = 2147483647;
    13741374                        files = (
    1375                                 78C593CF158721AD004401C5 /* program_options_lite.cpp in Sources */,
    1376                                 78C593D0158721AD004401C5 /* TAppComCamPara.cpp in Sources */,
     1375                                78348F181760D57800133029 /* program_options_lite.cpp in Sources */,
     1376                                78348F1A1760D57800133029 /* TAppComCamPara.cpp in Sources */,
    13771377                        );
    13781378                        runOnlyForDeploymentPostprocessing = 0;
     
    15271527                        isa = XCBuildConfiguration;
    15281528                        buildSettings = {
     1529                                COMBINE_HIDPI_IMAGES = YES;
     1530                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15291531                                INSTALL_PATH = /usr/local/lib;
    15301532                                PRODUCT_NAME = TLibCommon;
     
    15351537                        isa = XCBuildConfiguration;
    15361538                        buildSettings = {
     1539                                COMBINE_HIDPI_IMAGES = YES;
     1540                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15371541                                INSTALL_PATH = /usr/local/lib;
    15381542                                PRODUCT_NAME = TLibCommon;
     
    15431547                        isa = XCBuildConfiguration;
    15441548                        buildSettings = {
     1549                                COMBINE_HIDPI_IMAGES = YES;
     1550                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15451551                                INSTALL_PATH = /usr/local/lib;
    15461552                                PRODUCT_NAME = TLibDecoder;
     
    15511557                        isa = XCBuildConfiguration;
    15521558                        buildSettings = {
     1559                                COMBINE_HIDPI_IMAGES = YES;
     1560                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15531561                                INSTALL_PATH = /usr/local/lib;
    15541562                                PRODUCT_NAME = TLibDecoder;
     
    15591567                        isa = XCBuildConfiguration;
    15601568                        buildSettings = {
     1569                                COMBINE_HIDPI_IMAGES = YES;
     1570                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15611571                                INSTALL_PATH = /usr/local/lib;
    15621572                                PRODUCT_NAME = TLibEncoder;
     
    15671577                        isa = XCBuildConfiguration;
    15681578                        buildSettings = {
     1579                                COMBINE_HIDPI_IMAGES = YES;
     1580                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15691581                                INSTALL_PATH = /usr/local/lib;
    15701582                                PRODUCT_NAME = TLibEncoder;
     
    15751587                        isa = XCBuildConfiguration;
    15761588                        buildSettings = {
     1589                                COMBINE_HIDPI_IMAGES = YES;
     1590                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15771591                                INSTALL_PATH = /usr/local/lib;
    15781592                                PRODUCT_NAME = TLibVideoIO;
     
    15831597                        isa = XCBuildConfiguration;
    15841598                        buildSettings = {
     1599                                COMBINE_HIDPI_IMAGES = YES;
     1600                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15851601                                INSTALL_PATH = /usr/local/lib;
    15861602                                PRODUCT_NAME = TLibVideoIO;
     
    15911607                        isa = XCBuildConfiguration;
    15921608                        buildSettings = {
     1609                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15931610                                INSTALL_PATH = /usr/local/bin;
    15941611                                PRODUCT_NAME = TAppEncoder;
     
    15991616                        isa = XCBuildConfiguration;
    16001617                        buildSettings = {
     1618                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16011619                                INSTALL_PATH = /usr/local/bin;
    16021620                                PRODUCT_NAME = TAppEncoder;
     
    16071625                        isa = XCBuildConfiguration;
    16081626                        buildSettings = {
     1627                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16091628                                INSTALL_PATH = /usr/local/bin;
    16101629                                PRODUCT_NAME = TAppDecoder;
     
    16151634                        isa = XCBuildConfiguration;
    16161635                        buildSettings = {
     1636                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16171637                                INSTALL_PATH = /usr/local/bin;
    16181638                                PRODUCT_NAME = TAppDecoder;
     
    16231643                        isa = XCBuildConfiguration;
    16241644                        buildSettings = {
     1645                                COMBINE_HIDPI_IMAGES = YES;
     1646                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16251647                                INSTALL_PATH = /usr/local/lib;
    16261648                                PRODUCT_NAME = TLibExtractor;
     
    16311653                        isa = XCBuildConfiguration;
    16321654                        buildSettings = {
     1655                                COMBINE_HIDPI_IMAGES = YES;
     1656                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16331657                                INSTALL_PATH = /usr/local/lib;
    16341658                                PRODUCT_NAME = TLibExtractor;
     
    16391663                        isa = XCBuildConfiguration;
    16401664                        buildSettings = {
     1665                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16411666                                INSTALL_PATH = /usr/local/bin;
    16421667                                PRODUCT_NAME = TAppExtractor;
     
    16471672                        isa = XCBuildConfiguration;
    16481673                        buildSettings = {
     1674                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16491675                                INSTALL_PATH = /usr/local/bin;
    16501676                                PRODUCT_NAME = TAppExtractor;
     
    16551681                        isa = XCBuildConfiguration;
    16561682                        buildSettings = {
     1683                                COMBINE_HIDPI_IMAGES = YES;
     1684                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16571685                                INSTALL_PATH = /usr/local/lib;
    16581686                                PRODUCT_NAME = TLibRenderer;
     
    16631691                        isa = XCBuildConfiguration;
    16641692                        buildSettings = {
     1693                                COMBINE_HIDPI_IMAGES = YES;
     1694                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16651695                                INSTALL_PATH = /usr/local/lib;
    16661696                                PRODUCT_NAME = TLibRenderer;
     
    16711701                        isa = XCBuildConfiguration;
    16721702                        buildSettings = {
     1703                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16731704                                INSTALL_PATH = /usr/local/bin;
    16741705                                PRODUCT_NAME = TAppRenderer;
     
    16791710                        isa = XCBuildConfiguration;
    16801711                        buildSettings = {
     1712                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16811713                                INSTALL_PATH = /usr/local/bin;
    16821714                                PRODUCT_NAME = TAppRenderer;
     
    16871719                        isa = XCBuildConfiguration;
    16881720                        buildSettings = {
     1721                                COMBINE_HIDPI_IMAGES = YES;
     1722                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16891723                                INSTALL_PATH = /usr/local/lib;
    16901724                                PRODUCT_NAME = TAppCommon;
     
    16951729                        isa = XCBuildConfiguration;
    16961730                        buildSettings = {
     1731                                COMBINE_HIDPI_IMAGES = YES;
     1732                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16971733                                INSTALL_PATH = /usr/local/lib;
    16981734                                PRODUCT_NAME = TAppCommon;
     
    17031739                        isa = XCBuildConfiguration;
    17041740                        buildSettings = {
     1741                                COMBINE_HIDPI_IMAGES = YES;
     1742                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    17051743                                PRODUCT_NAME = "$(TARGET_NAME)";
    17061744                        };
     
    17101748                        isa = XCBuildConfiguration;
    17111749                        buildSettings = {
     1750                                COMBINE_HIDPI_IMAGES = YES;
     1751                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    17121752                                PRODUCT_NAME = "$(TARGET_NAME)";
    17131753                        };
  • branches/HTM-DEV-0.3-dev1/HTM.xcodeproj/project.xcworkspace/xcuserdata

    • Property svn:ignore set to
      *.xcuserdatad
  • branches/HTM-DEV-0.3-dev1/HTM.xcodeproj/xcuserdata

    • Property svn:ignore set to
      *.xcuserdatad
  • branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.cpp

    r459 r467  
    123123  {
    124124    vps.setVpsDepthModesFlag( layer, ((vps.getDepthId( layer ) != 0) && (m_useDMM || m_useRBC || m_useSDC || m_useDLT)) ? true : false );
     125#if H_3D_DIM_DLT
     126    vps.setUseDLTFlag( layer , ((vps.getDepthId( layer ) != 0) && m_useDLT) ? true : false );
     127    if( vps.getUseDLTFlag( layer ) )
     128    {
     129      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod, 24), &vps);
     130    }
     131#endif
    125132  }
    126133
     
    986993}
    987994
     995#if H_3D_DIM_DLT
     996Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps)
     997{
     998  TComPicYuv*       pcDepthPicYuvOrg = new TComPicYuv;
     999  // allocate original YUV buffer
     1000  pcDepthPicYuvOrg->create( m_iSourceWidth, m_iSourceHeight, m_uiMaxCUWidth, m_uiMaxCUHeight, m_uiMaxCUDepth );
     1001 
     1002  TVideoIOYuv* depthVideoFile = new TVideoIOYuv;
     1003 
     1004  UInt uiMaxDepthValue = ((1 << g_bitDepthY)-1);
     1005 
     1006  Bool abValidDepths[256];
     1007 
     1008  depthVideoFile->open( m_pchInputFileList[layer], false, m_inputBitDepthY, m_inputBitDepthC, m_internalBitDepthY, m_internalBitDepthC );  // read  mode
     1009 
     1010  // initialize boolean array
     1011  for(Int p=0; p<=uiMaxDepthValue; p++)
     1012    abValidDepths[p] = false;
     1013 
     1014  Int iHeight   = pcDepthPicYuvOrg->getHeight();
     1015  Int iWidth    = pcDepthPicYuvOrg->getWidth();
     1016  Int iStride   = pcDepthPicYuvOrg->getStride();
     1017 
     1018  Pel* pInDM    = pcDepthPicYuvOrg->getLumaAddr();
     1019 
     1020  for(Int uiFrame=0; uiFrame < uiNumFrames; uiFrame++ )
     1021  {
     1022    depthVideoFile->read( pcDepthPicYuvOrg, m_aiPad );
     1023   
     1024    // check all pixel values
     1025    for (Int i=0; i<iHeight; i++)
     1026    {
     1027      Int rowOffset = i*iStride;
     1028     
     1029      for (Int j=0; j<iWidth; j++)
     1030      {
     1031        Pel depthValue = pInDM[rowOffset+j];
     1032        abValidDepths[depthValue] = true;
     1033      }
     1034    }
     1035  }
     1036 
     1037  depthVideoFile->close();
     1038 
     1039  pcDepthPicYuvOrg->destroy();
     1040  delete pcDepthPicYuvOrg;
     1041 
     1042  // convert boolean array to idx2Depth LUT
     1043  Int* aiIdx2DepthValue = (Int*) calloc(uiMaxDepthValue, sizeof(Int));
     1044  Int iNumDepthValues = 0;
     1045  for(Int p=0; p<=uiMaxDepthValue; p++)
     1046  {
     1047    if( abValidDepths[p] == true)
     1048    {
     1049      aiIdx2DepthValue[iNumDepthValues++] = p;
     1050    }
     1051  }
     1052 
     1053  if( uiNumFrames == 0 || (Int)ceil(Log2(iNumDepthValues)) == (Int)ceil(Log2(((1 << g_bitDepthY)-1))) )
     1054  {
     1055    // don't use DLT
     1056    vps->setUseDLTFlag(layer, false);
     1057  }
     1058 
     1059  // assign LUT
     1060  if( vps->getUseDLTFlag(layer) )
     1061    vps->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
     1062 
     1063  // free temporary memory
     1064  free(aiIdx2DepthValue);
     1065}
     1066#endif
     1067
    9881068#if H_MV
    9891069Void TAppEncTop::xSetDimensionIdAndLength( TComVPS& vps )
  • branches/HTM-DEV-0.3-dev1/source/App/TAppEncoder/TAppEncTop.h

    r446 r467  
    121121  Int  xGetMax( std::vector<Int>& vec);
    122122#endif
     123 
     124#if H_3D_DIM_DLT
     125  Void  xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps);
     126#endif
    123127public:
    124128  TAppEncTop();
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/ContextTables.h

    r459 r467  
    111111#endif
    112112
     113#if H_3D_DIM_SDC
     114#define SDC_NUM_RESIDUAL_FLAG_CTX        1
     115#define SDC_NUM_RESIDUAL_CTX             1
     116#endif
    113117// ====================================================================================================================
    114118// Tables
     
    403407};
    404408#endif
     409#if H_3D_DIM_SDC
     410static const UChar
     411INIT_SDC_RESIDUAL_FLAG[3][SDC_NUM_RESIDUAL_FLAG_CTX] =
     412{
     413  { CNU },
     414  { CNU },
     415  { CNU },
     416};
     417static const UChar
     418INIT_SDC_RESIDUAL[3][SDC_NUM_RESIDUAL_CTX] =
     419{
     420  { 155 },
     421  { 155 },
     422  { 155 },
     423};
     424#endif
    405425#endif
    406426//! \}
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.cpp

    r459 r467  
    130130  m_pbEdgePartition = NULL;
    131131#endif
     132#if H_3D_DIM_SDC
     133  m_pbSDCFlag             = NULL;
     134  m_apSegmentDCOffset[0]  = NULL;
     135  m_apSegmentDCOffset[1]  = NULL;
     136#endif
    132137#endif
    133138
     
    245250    m_pbEdgeLeftFirst = (Bool*)xMalloc(Bool, uiNumPartition);
    246251    m_pbEdgePartition = (Bool*)xMalloc(Bool, uiNumPartition * 16);
     252#endif
     253#if H_3D_DIM_SDC
     254    m_pbSDCFlag             = (Bool*)xMalloc(Bool, uiNumPartition);
     255    m_apSegmentDCOffset[0]  = (Pel*)xMalloc(Pel, uiNumPartition);
     256    m_apSegmentDCOffset[1]  = (Pel*)xMalloc(Pel, uiNumPartition);
    247257#endif
    248258#endif
     
    353363    if ( m_pucEdgeCode     ) { xFree( m_pucEdgeCode     ); m_pucEdgeCode     = NULL; }
    354364    if ( m_pbEdgePartition ) { xFree( m_pbEdgePartition ); m_pbEdgePartition = NULL; }
     365#endif
     366#if H_3D_DIM_SDC
     367    if ( m_pbSDCFlag            ) { xFree(m_pbSDCFlag);             m_pbSDCFlag             = NULL; }
     368    if ( m_apSegmentDCOffset[0] ) { xFree(m_apSegmentDCOffset[0]);  m_apSegmentDCOffset[0]  = NULL; }
     369    if ( m_apSegmentDCOffset[1] ) { xFree(m_apSegmentDCOffset[1]);  m_apSegmentDCOffset[1]  = NULL; }
    355370#endif
    356371#endif
     
    481496    m_puhCbf[2][ui]=pcFrom->m_puhCbf[2][ui];
    482497    m_pbIPCMFlag[ui] = pcFrom->m_pbIPCMFlag[ui];
     498#if H_3D_DIM_SDC
     499    m_pbSDCFlag[ui] = pcFrom->m_pbSDCFlag[ui];
     500#endif
    483501  }
    484502 
     
    535553    memset( m_pbEdgeLeftFirst   + firstElement, false,                    numElements * sizeof( *m_pbEdgeLeftFirst ) );
    536554    memset( m_pbEdgePartition   + firstElement, false,                    numElements * sizeof( *m_pbEdgePartition ) * 16 );
     555#endif
     556#if H_3D_DIM_SDC
     557    memset( m_pbSDCFlag             + firstElement,     0,                numElements * sizeof( *m_pbSDCFlag            ) );
     558    memset( m_apSegmentDCOffset[0]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[0] ) );
     559    memset( m_apSegmentDCOffset[1]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[1] ) );
    537560#endif
    538561#endif
     
    687710      m_dmm3IntraTabIdx [ui] = 0;
    688711#endif
     712#if H_3D_DIM_SDC
     713      m_pbSDCFlag           [ui] = false;
     714      m_apSegmentDCOffset[0][ui] = 0;
     715      m_apSegmentDCOffset[1][ui] = 0;
     716#endif
    689717#endif
    690718    }
     
    785813  memset( m_pbEdgeLeftFirst, 0, iSizeInBool );
    786814  memset( m_pbEdgePartition, 0, iSizeInBool * 16 );
     815#endif
     816#if H_3D_DIM_SDC
     817  memset( m_pbSDCFlag,            0, sizeof(Bool) * m_uiNumPartition  );
     818  memset( m_apSegmentDCOffset[0], 0, sizeof(Pel) * m_uiNumPartition   );
     819  memset( m_apSegmentDCOffset[1], 0, sizeof(Pel) * m_uiNumPartition   );
    787820#endif
    788821#endif
     
    840873      m_dmm3IntraTabIdx [ui] = pcCU->m_dmm3IntraTabIdx[uiPartOffset+ui];
    841874#endif
     875#if H_3D_DIM_SDC
     876      m_pbSDCFlag           [ui] = pcCU->m_pbSDCFlag            [ uiPartOffset + ui ];
     877      m_apSegmentDCOffset[0][ui] = pcCU->m_apSegmentDCOffset[0] [ uiPartOffset + ui ];
     878      m_apSegmentDCOffset[1][ui] = pcCU->m_apSegmentDCOffset[1] [ uiPartOffset + ui ];
     879#endif
    842880#endif
    843881    }
     
    9801018  m_pbEdgeLeftFirst = pcCU->getEdgeLeftFirst()   + uiPart;
    9811019  m_pbEdgePartition = pcCU->getEdgePartition( uiPart );
     1020#endif
     1021#if H_3D_DIM_SDC
     1022  m_pbSDCFlag               = pcCU->getSDCFlag()              + uiPart;
     1023  m_apSegmentDCOffset[0]    = pcCU->getSDCSegmentDCOffset(0)  + uiPart;
     1024  m_apSegmentDCOffset[1]    = pcCU->getSDCSegmentDCOffset(1)  + uiPart;
    9821025#endif
    9831026#endif
     
    11311174  memcpy( getEdgePartition( uiOffset ),  pcCU->getEdgePartition(0), iSizeInBool * 16 );
    11321175#endif
     1176#if H_3D_DIM_SDC
     1177  memcpy( m_pbSDCFlag             + uiOffset, pcCU->getSDCFlag(),             iSizeInBool  );
     1178  memcpy( m_apSegmentDCOffset[0]  + uiOffset, pcCU->getSDCSegmentDCOffset(0), sizeof( Pel ) * uiNumPartition);
     1179  memcpy( m_apSegmentDCOffset[1]  + uiOffset, pcCU->getSDCSegmentDCOffset(1), sizeof( Pel ) * uiNumPartition);
     1180#endif
    11331181#endif
    11341182
     
    12331281  memcpy( rpcCU->getEdgeLeftFirst()   + m_uiAbsIdxInLCU, m_pbEdgeLeftFirst, iSizeInBool );
    12341282  memcpy( rpcCU->getEdgePartition( m_uiAbsIdxInLCU ),    m_pbEdgePartition, iSizeInBool * 16 );
     1283#endif
     1284#if H_3D_DIM_SDC
     1285  memcpy( rpcCU->getSDCFlag()             + m_uiAbsIdxInLCU, m_pbSDCFlag,      iSizeInBool  );
     1286  memcpy( rpcCU->getSDCSegmentDCOffset(0) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[0], sizeof( Pel ) * m_uiNumPartition);
     1287  memcpy( rpcCU->getSDCSegmentDCOffset(1) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[1], sizeof( Pel ) * m_uiNumPartition);
    12351288#endif
    12361289#endif
     
    13281381  memcpy( rpcCU->getEdgePartition( uiPartOffset ),    m_pbEdgePartition, iSizeInBool * 16 );
    13291382#endif
     1383#if H_3D_DIM_SDC
     1384  memcpy( rpcCU->getSDCFlag()             + uiPartOffset, m_pbSDCFlag,      iSizeInBool  );
     1385  memcpy( rpcCU->getSDCSegmentDCOffset(0) + uiPartOffset, m_apSegmentDCOffset[0], sizeof( Pel ) * uiQNumPart);
     1386  memcpy( rpcCU->getSDCSegmentDCOffset(1) + uiPartOffset, m_apSegmentDCOffset[1], sizeof( Pel ) * uiQNumPart);
     1387#endif
    13301388#endif
    13311389
     
    22262284  }
    22272285}
     2286
     2287#if H_3D_DIM_SDC
     2288Void TComDataCU::setSDCFlagSubParts ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiDepth )
     2289{
     2290  assert( sizeof( *m_pbSDCFlag) == 1 );
     2291  memset( m_pbSDCFlag + uiAbsPartIdx, bSDCFlag, m_pcPic->getNumPartInCU() >> ( 2 * uiDepth ) );
     2292}
     2293
     2294Bool TComDataCU::getSDCAvailable( UInt uiAbsPartIdx )
     2295{
     2296  // check general CU information
     2297  if( !getSlice()->getIsDepth() || !isIntra(uiAbsPartIdx) || getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N )
     2298    return false;
     2299 
     2300  // check prediction mode
     2301  UInt uiLumaPredMode = getLumaIntraDir( uiAbsPartIdx ); 
     2302  if( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) )
     2303    return true;
     2304 
     2305  // else
     2306  return false;
     2307}
     2308#endif
    22282309
    22292310Void TComDataCU::setMergeFlagSubParts ( Bool bMergeFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.h

    r459 r467  
    202202  Bool*         m_pbEdgePartition;      ///< true if it belongs to region 1, otherwise, region 0
    203203#endif
     204#if H_3D_DIM_SDC
     205  Bool*         m_pbSDCFlag;
     206  Pel*          m_apSegmentDCOffset[2];
     207#endif
    204208#endif
    205209 
     
    461465
    462466  Void   reconPartition( UInt uiAbsPartIdx, UInt uiDepth, Bool bLeft, UChar ucStartPos, UChar ucNumEdge, UChar* pucEdgeCode, Bool* pbRegion );
     467#endif
     468#if H_3D_DIM_SDC
     469  Bool*         getSDCFlag          ()                        { return m_pbSDCFlag;               }
     470  Bool          getSDCFlag          ( UInt uiIdx )            { return m_pbSDCFlag[uiIdx];        }
     471  Void          setSDCFlagSubParts  ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiDepth );
     472 
     473  Bool          getSDCAvailable             ( UInt uiAbsPartIdx );
     474 
     475  Pel*          getSDCSegmentDCOffset( UInt uiSeg ) { return m_apSegmentDCOffset[uiSeg]; }
     476  Pel           getSDCSegmentDCOffset( UInt uiSeg, UInt uiPartIdx ) { return m_apSegmentDCOffset[uiSeg][uiPartIdx]; }
     477  Void          setSDCSegmentDCOffset( Pel pOffset, UInt uiSeg, UInt uiPartIdx) { m_apSegmentDCOffset[uiSeg][uiPartIdx] = pOffset; }
    463478#endif
    464479#endif
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.cpp

    r459 r467  
    476476    {
    477477#if H_3D_DIM_DLT
    478       segDC1 = GetIdx2DepthValue( GetDepthValue2Idx( predDC1 ) + deltaDC1 );
    479       segDC2 = GetIdx2DepthValue( GetDepthValue2Idx( predDC2 ) + deltaDC2 );
     478      segDC1 = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 ) + deltaDC1 );
     479      segDC2 = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 ) + deltaDC2 );
    480480#else
    481481      segDC1 = ClipY( predDC1 + deltaDC1 );
     
    14791479}
    14801480#endif
     1481#if H_3D_DIM_SDC
     1482Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride )
     1483{
     1484  Int iSumDepth[2];
     1485  memset(iSumDepth, 0, sizeof(Int)*2);
     1486  Int iSumPix[2];
     1487  memset(iSumPix, 0, sizeof(Int)*2);
     1488 
     1489  Int subSamplePix;
     1490  if ( uiSize == 64 || uiSize == 32 )
     1491  {
     1492    subSamplePix = 2;
     1493  }
     1494  else
     1495  {
     1496    subSamplePix = 1;
     1497  }
     1498  for (Int y=0; y<uiSize; y+=subSamplePix)
     1499  {
     1500    for (Int x=0; x<uiSize; x+=subSamplePix)
     1501    {
     1502      UChar ucSegment = pMask?(UChar)pMask[x]:0;
     1503      assert( ucSegment < uiNumSegments );
     1504     
     1505      iSumDepth[ucSegment] += pOrig[x];
     1506      iSumPix[ucSegment]   += 1;
     1507    }
     1508   
     1509    pOrig  += uiStride*subSamplePix;
     1510    pMask  += uiMaskStride*subSamplePix;
     1511  }
     1512 
     1513  // compute mean for each segment
     1514  for( UChar ucSeg = 0; ucSeg < uiNumSegments; ucSeg++ )
     1515  {
     1516    if( iSumPix[ucSeg] > 0 )
     1517      rpSegMeans[ucSeg] = iSumDepth[ucSeg] / iSumPix[ucSeg];
     1518    else
     1519      rpSegMeans[ucSeg] = 0;  // this happens for zero-segments
     1520  }
     1521}
     1522#endif // H_3D_DIM_SDC
    14811523#endif
    14821524//! \}
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComPrediction.h

    r459 r467  
    128128#if H_3D_DIM
    129129  // Depth intra
    130   Void predIntraLumaDepth         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiIntraMode, Pel* piPred, UInt uiStride, Int iWidth, Int iHeight, Bool bFastEnc = false );         
     130  Void predIntraLumaDepth         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiIntraMode, Pel* piPred, UInt uiStride, Int iWidth, Int iHeight, Bool bFastEnc = false );
     131#if H_3D_DIM_SDC
     132  Void analyzeSegmentsSDC         ( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride );
     133#endif
    131134#endif
    132135
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.cpp

    r459 r467  
    14801480    m_viewIndex         [i] = -1;
    14811481    m_vpsDepthModesFlag [i] = false;
     1482#if H_3D_DIM_DLT
     1483    m_bUseDLTFlag         [i] = false;
     1484   
     1485    // allocate some memory and initialize with default mapping
     1486    m_iNumDepthmapValues[i] = ((1 << g_bitDepthY)-1)+1;
     1487    m_iBitsPerDepthValue[i] = (Int)ceil(Log2(m_iNumDepthmapValues[i]));
     1488   
     1489    m_iDepthValue2Idx[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
     1490    m_iIdx2DepthValue[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
     1491   
     1492    //default mapping
     1493    for (Int d=0; d<m_iNumDepthmapValues[i]; d++)
     1494    {
     1495      m_iDepthValue2Idx[i][d] = d;
     1496      m_iIdx2DepthValue[i][d] = d;
     1497    }
     1498#endif
    14821499#endif
    14831500
     
    15021519  if( m_cprmsPresentFlag != NULL )     delete[] m_cprmsPresentFlag;
    15031520}
     1521 
     1522#if H_3D_DIM_DLT
     1523  Void TComVPS::setDepthLUTs(Int layerIdInVps, Int* idx2DepthValue, Int iNumDepthValues)
     1524  {
     1525    if( idx2DepthValue == NULL || iNumDepthValues == 0 ) // default mapping only
     1526      return;
     1527   
     1528    // copy idx2DepthValue to internal array
     1529    memcpy(m_iIdx2DepthValue[layerIdInVps], idx2DepthValue, iNumDepthValues*sizeof(UInt));
     1530   
     1531    UInt uiMaxDepthValue = ((1 << g_bitDepthY)-1);
     1532    for(Int p=0; p<=uiMaxDepthValue; p++)
     1533    {
     1534      Int iIdxDown    = 0;
     1535      Int iIdxUp      = iNumDepthValues-1;
     1536      Bool bFound     = false;
     1537     
     1538      // iterate over indices to find lower closest depth
     1539      Int i = 1;
     1540      while(!bFound && i<iNumDepthValues)
     1541      {
     1542        if( m_iIdx2DepthValue[layerIdInVps][i] > p )
     1543        {
     1544          iIdxDown  = i-1;
     1545          bFound    = true;
     1546        }
     1547       
     1548        i++;
     1549      }
     1550      // iterate over indices to find upper closest depth
     1551      i = iNumDepthValues-2;
     1552      bFound = false;
     1553      while(!bFound && i>=0)
     1554      {
     1555        if( m_iIdx2DepthValue[layerIdInVps][i] < p )
     1556        {
     1557          iIdxUp  = i+1;
     1558          bFound    = true;
     1559        }
     1560       
     1561        i--;
     1562      }
     1563     
     1564      // assert monotony
     1565      assert(iIdxDown<=iIdxUp);
     1566     
     1567      // assign closer depth value/idx
     1568      if( abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxDown]) < abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxUp]) )
     1569      {
     1570        m_iDepthValue2Idx[layerIdInVps][p] = iIdxDown;
     1571      }
     1572      else
     1573      {
     1574        m_iDepthValue2Idx[layerIdInVps][p] = iIdxUp;
     1575      }
     1576     
     1577    }
     1578   
     1579    // update DLT variables
     1580    m_iNumDepthmapValues[layerIdInVps] = iNumDepthValues;
     1581    m_iBitsPerDepthValue[layerIdInVps] = (Int)ceil(Log2(m_iNumDepthmapValues[layerIdInVps]));
     1582  }
     1583#endif
    15041584
    15051585#if H_MV
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComSlice.h

    r459 r467  
    525525  Int         m_viewIndex                [MAX_NUM_LAYERS   ];
    526526  Bool        m_vpsDepthModesFlag        [MAX_NUM_LAYERS   ];
     527#if H_3D_DIM_DLT
     528  Bool        m_bUseDLTFlag              [MAX_NUM_LAYERS   ];
     529 
     530  Int         m_iBitsPerDepthValue       [MAX_NUM_LAYERS   ];
     531  Int         m_iNumDepthmapValues       [MAX_NUM_LAYERS   ];
     532  Int*        m_iDepthValue2Idx          [MAX_NUM_LAYERS   ];
     533  Int*        m_iIdx2DepthValue          [MAX_NUM_LAYERS   ];
     534#endif
    527535#endif
    528536
     
    646654  Void    setVpsDepthModesFlag( Int layerIdInVps, Bool val )               { m_vpsDepthModesFlag[ layerIdInVps ] = val; }
    647655  Bool    getVpsDepthModesFlag( Int layerIdInVps )                         { return m_vpsDepthModesFlag[ layerIdInVps ]; }
     656#if H_3D_DIM_DLT
     657  Bool    getUseDLTFlag      ( Int layerIdInVps )                         { return m_bUseDLTFlag[ layerIdInVps ]; }
     658  Void    setUseDLTFlag      ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ]  = b;          }
     659 
     660  Int     getBitsPerDepthValue( Int layerIdInVps )        { return getUseDLTFlag(layerIdInVps)?m_iBitsPerDepthValue[layerIdInVps]:g_bitDepthY; }
     661  Int     getNumDepthValues( Int layerIdInVps )           { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }
     662  Int     depthValue2idx( Int layerIdInVps, Pel value )   { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }
     663  Pel     idx2DepthValue( Int layerIdInVps, UInt uiIdx )  { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][uiIdx]:uiIdx; }
     664  Void    setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );
     665#endif
    648666#endif
    649667
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TypeDef.h

    r460 r467  
    8787                                              // HHI_DELTADC_DLT_D0035
    8888                                              // PKU_QC_DEPTH_INTRA_UNI_D0195
    89                                               // ... [PM: add SDC and DLT related]
     89                                              // RWTH_SDC_DLT_B0036
    9090#endif
    9191
     
    107107#define H_3D_DIM_DMM                      1   // Depth Modeling Modes
    108108#define H_3D_DIM_RBC                      1   // Region Boundary Chain mode
    109 #define H_3D_DIM_SDC                      0   // Simplified Depth Coding method
    110 #define H_3D_DIM_DLT                      0   // Depth Lookup Table
     109#define H_3D_DIM_SDC                      1   // Simplified Depth Coding method
     110#define H_3D_DIM_DLT                      1   // Depth Lookup Table
    111111#define H_3D_DIM_ENC                      1   // Depth Intra encoder optimizations, includes:
    112112                                              // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
    113113                                              // LG_ZEROINTRADEPTHRESI_A0087
     114#if H_3D_DIM_DLT || H_3D_DIM_SDC
     115#define Log2( n ) ( log((double)n) / log(2.0) )
     116#endif
    114117#endif
    115118
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r459 r467  
    961961        {
    962962          READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
     963         
     964#if H_3D_DIM_DLT
     965          if( pcVPS->getVpsDepthModesFlag( i ) )
     966          {
     967            READ_FLAG( uiCode, "use_dlt_flag[i]" );
     968            pcVPS->setUseDLTFlag( i, uiCode == 1 ? true : false );
     969            if( pcVPS->getUseDLTFlag( i ) )
     970            {
     971              // decode mapping
     972              UInt uiNumDepthValues;
     973              // parse number of values in DLT
     974              READ_UVLC(uiNumDepthValues, "num_dlt_depth_values[i]");
     975             
     976              // parse actual DLT values
     977              Int* aiIdx2DepthValue = (Int*) calloc(uiNumDepthValues, sizeof(Int));
     978              for(Int d=0; d<uiNumDepthValues; d++)
     979              {
     980                READ_UVLC(uiCode, "dlt_depth_value[i][d]");
     981                aiIdx2DepthValue[d] = (Int)uiCode;
     982              }
     983             
     984              pcVPS->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
     985             
     986              // clean memory
     987              free(aiIdx2DepthValue);
     988            }
     989            else
     990              pcVPS->setDepthLUTs(i);
     991          }
     992          else
     993            pcVPS->setDepthLUTs(i);
     994#endif
    963995        }
    964996      }
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.cpp

    r459 r467  
    399399      break;
    400400    case MODE_INTRA:
     401#if H_3D_DIM_SDC
     402      if( m_ppcCU[uiDepth]->getSDCFlag(0) )
     403        xReconIntraSDC( m_ppcCU[uiDepth], 0, uiDepth );
     404      else
     405#endif
    401406      xReconIntraQT( m_ppcCU[uiDepth], uiDepth );
    402407      break;
     
    634639
    635640}
     641
     642#if H_3D_DIM_SDC
     643Void TDecCu::xReconIntraSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     644{
     645  UInt uiWidth        = pcCU->getWidth  ( 0 );
     646  UInt uiHeight       = pcCU->getHeight ( 0 );
     647 
     648  TComYuv* pcRecoYuv  = m_ppcYuvReco[uiDepth];
     649  TComYuv* pcPredYuv  = m_ppcYuvReco[uiDepth];
     650  TComYuv* pcResiYuv  = m_ppcYuvResi[uiDepth];
     651 
     652  UInt    uiStride    = pcRecoYuv->getStride  ();
     653  Pel*    piReco      = pcRecoYuv->getLumaAddr( uiAbsPartIdx );
     654  Pel*    piPred      = pcPredYuv->getLumaAddr( uiAbsPartIdx );
     655  Pel*    piResi      = pcResiYuv->getLumaAddr( uiAbsPartIdx );
     656 
     657  UInt    uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
     658  Pel*    piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
     659  UInt    uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
     660 
     661  UInt    uiLumaPredMode    = pcCU->getLumaIntraDir     ( uiAbsPartIdx );
     662 
     663  AOF( uiWidth == uiHeight );
     664  AOF( uiAbsPartIdx == 0 );
     665  AOF( pcCU->getSDCAvailable(uiAbsPartIdx) );
     666  AOF( pcCU->getSDCFlag(uiAbsPartIdx) );
     667 
     668  //===== init availability pattern =====
     669  Bool  bAboveAvail = false;
     670  Bool  bLeftAvail  = false;
     671  pcCU->getPattern()->initPattern   ( pcCU, 0, uiAbsPartIdx );
     672  pcCU->getPattern()->initAdiPattern( pcCU, uiAbsPartIdx, 0, m_pcPrediction->getPredicBuf(), m_pcPrediction->getPredicBufWidth(), m_pcPrediction->getPredicBufHeight(), bAboveAvail, bLeftAvail );
     673 
     674  //===== get prediction signal =====
     675#if H_3D_DIM
     676  if( isDimMode( uiLumaPredMode ) )
     677  {
     678    m_pcPrediction->predIntraLumaDepth( pcCU, uiAbsPartIdx, uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight );
     679  }
     680  else
     681  {
     682#endif
     683    m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
     684#if H_3D_DIM
     685  }
     686#endif
     687 
     688  // number of segments depends on prediction mode
     689  UInt uiNumSegments = 1;
     690  Bool* pbMask = NULL;
     691  UInt uiMaskStride = 0;
     692 
     693  if( getDimType( uiLumaPredMode ) == DMM1_IDX )
     694  {
     695    Int uiTabIdx = pcCU->getDmmWedgeTabIdx(DMM1_IDX, uiAbsPartIdx);
     696   
     697    WedgeList* pacWedgeList = &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
     698    TComWedgelet* pcWedgelet = &(pacWedgeList->at( uiTabIdx ));
     699   
     700    uiNumSegments = 2;
     701    pbMask = pcWedgelet->getPattern();
     702    uiMaskStride = pcWedgelet->getStride();
     703  }
     704 
     705  // get DC prediction for each segment
     706  Pel apDCPredValues[2];
     707  m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride);
     708 
     709  // reconstruct residual based on mask + DC residuals
     710  Pel apDCResiValues[2];
     711  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
     712  {
     713#if H_3D_DIM_DLT
     714    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     715    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     716    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
     717   
     718    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
     719#else
     720    apDCResiValues[uiSegment]  = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     721#endif
     722  }
     723 
     724  //===== reconstruction =====
     725  Bool*pMask      = pbMask;
     726  Pel* pPred      = piPred;
     727  Pel* pResi      = piResi;
     728  Pel* pReco      = piReco;
     729  Pel* pRecIPred  = piRecIPred;
     730 
     731  for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     732  {
     733    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     734    {
     735      UChar ucSegment = pMask?(UChar)pMask[uiX]:0;
     736      assert( ucSegment < uiNumSegments );
     737     
     738      Pel pResiDC = apDCResiValues[ucSegment];
     739     
     740      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResiDC );
     741      pRecIPred[ uiX ] = pReco[ uiX ];
     742    }
     743    pPred     += uiStride;
     744    pResi     += uiStride;
     745    pReco     += uiStride;
     746    pRecIPred += uiRecIPredStride;
     747    pMask     += uiMaskStride;
     748  }
     749 
     750  // clear UV
     751  UInt  uiStrideC     = pcPredYuv->getCStride();
     752  Pel   *pRecCb       = pcPredYuv->getCbAddr();
     753  Pel   *pRecCr       = pcPredYuv->getCrAddr();
     754 
     755  for (Int y=0; y<uiHeight/2; y++)
     756  {
     757    for (Int x=0; x<uiWidth/2; x++)
     758    {
     759      pRecCb[x] = 128;
     760      pRecCr[x] = 128;
     761    }
     762   
     763    pRecCb += uiStrideC;
     764    pRecCr += uiStrideC;
     765  }
     766}
     767#endif
    636768
    637769/** Function for deriving recontructed PU/CU Luma sample with QTree structure
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecCu.h

    r324 r467  
    115115  Void setdQPFlag               ( Bool b )                { m_bDecodeDQP = b;           }
    116116  Void xFillPCMBuffer           (TComDataCU* pCU, UInt depth);
     117#if H_3D_DIM_SDC
     118  Void xReconIntraSDC           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     119#endif
    117120};
    118121
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecEntropy.cpp

    r324 r467  
    107107  {
    108108    decodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx, uiDepth );
    109     decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth );
     109#if H_3D_DIM_SDC
     110    if(!pcCU->getSDCFlag(uiAbsPartIdx))
     111#endif
     112      decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth );
    110113  }
    111114  else                                                                // if it is Inter mode, encode motion vector and reference index
     
    129132    return;
    130133  }
     134#if H_3D_DIM_SDC
     135  if( pcCU->getSDCFlag(uiAbsPartIdx) )
     136  {
     137    return;
     138  }
     139#endif
    131140 
    132141  m_pcEntropyDecoderIf->parseIPCMInfo( pcCU, uiAbsPartIdx, uiDepth );
     
    535544  UInt uiChromaOffset = uiLumaOffset>>2;
    536545 
     546#if H_3D_DIM_SDC
     547  if( pcCU->getSDCFlag( uiAbsPartIdx ) )
     548  {
     549    assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
     550    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
     551    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
     552    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
     553    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     554    return;
     555  }
     556#endif
     557 
    537558  if( pcCU->isIntra(uiAbsPartIdx) )
    538559  {
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.cpp

    r459 r467  
    8989, m_cRbcDataSCModel           ( 1,             1,               NUM_RBC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    9090#endif
     91#if H_3D_DIM_SDC
     92, m_cSDCResidualFlagSCModel     ( 1,             1,             SDC_NUM_RESIDUAL_FLAG_CTX     , m_contextModels + m_numContextModels, m_numContextModels)
     93, m_cSDCResidualSCModel         ( 1,             1,             SDC_NUM_RESIDUAL_CTX          , m_contextModels + m_numContextModels, m_numContextModels)
     94#endif
    9195#endif
    9296{
     
    162166#if H_3D_DIM_RBC
    163167  m_cRbcDataSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_RBC_DATA );
     168#endif
     169#if H_3D_DIM_SDC
     170  m_cSDCResidualFlagSCModel.initBuffer    ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
     171  m_cSDCResidualSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL );
    164172#endif
    165173#endif
     
    222230  m_cRbcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_RBC_DATA );
    223231#endif
     232#if H_3D_DIM_SDC
     233  m_cSDCResidualFlagSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
     234  m_cSDCResidualSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
     235#endif
    224236#endif
    225237  m_pcTDecBinIf->start();
     
    505517}
    506518#endif
     519#if H_3D_DIM_SDC
     520Void TDecSbac::xParseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiSegment )
     521{
     522  assert( pcCU->getSlice()->getIsDepth() );
     523  assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
     524  assert( pcCU->getSDCFlag(uiAbsPartIdx) );
     525  assert( uiSegment < 2 );
     526 
     527  UInt uiResidual = 0;
     528  UInt uiBit      = 0;
     529  UInt uiAbsIdx   = 0;
     530  UInt uiSign     = 0;
     531  Int  iIdx       = 0;
     532 
     533#if H_3D_DIM_DLT
     534  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
     535#else
     536  UInt uiMaxResidualBits = g_bitDepthY;
     537#endif
     538  assert( uiMaxResidualBits <= g_bitDepthY );
     539 
     540  m_pcTDecBinIf->decodeBin(uiResidual, m_cSDCResidualFlagSCModel.get( 0, 0, 0 ) );
     541 
     542  if (uiResidual)
     543  {
     544    // decode residual sign bit
     545    m_pcTDecBinIf->decodeBinEP(uiSign);
     546   
     547    // decode residual magnitude
     548    // prefix part
     549    UInt uiCount = 0;
     550#if H_3D_DIM_DLT
     551    UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     552#else
     553    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
     554#endif
     555    UInt uiPrefixThreshold = ((uiNumDepthValues * 3) >> 2);
     556    for ( UInt ui = 0; ui < uiPrefixThreshold; ui++)
     557    {
     558      m_pcTDecBinIf->decodeBin( uiBit, m_cSDCResidualSCModel.get(0, 0, 0) );
     559      if ( uiBit == 0 )
     560        break;
     561      else
     562        uiCount++;
     563    }
     564    // suffix part
     565    if ( uiCount == uiPrefixThreshold )
     566    {
     567      for ( UInt ui = 0; ui < ( (UInt)ceil( Log2(uiNumDepthValues - uiPrefixThreshold) ) ); ui++ )
     568      {
     569        m_pcTDecBinIf->decodeBinEP( uiBit );
     570        uiAbsIdx |= uiBit << ui;
     571      }
     572      uiAbsIdx += uiCount;
     573    }
     574    else
     575      uiAbsIdx = uiCount;
     576   
     577    uiAbsIdx += 1;
     578    iIdx =(Int)(uiSign ? -1 : 1)*uiAbsIdx;
     579  }
     580 
     581  pcCU->setSDCSegmentDCOffset(iIdx, uiSegment, uiAbsPartIdx);
     582}
     583#endif
    507584#endif
    508585
     
    9621039
    9631040#if H_3D_DIM_SDC
    964   if( pcCU->getSDCAvailable(absPartIdx) && pcCU->getSDCFlag(absPartIdx) ) // sdcFlag
    965   {
    966     //assert(pcCU->getPartitionSize(uiAbsPartIdx)!=SIZE_NxN);
    967     //pcCU->setTrIdxSubParts(0, uiAbsPartIdx, uiDepth);
    968     //pcCU->setCbfSubParts(1, 1, 1, uiAbsPartIdx, uiDepth);
    969 
    970     //UInt uiNumSegments = ( uiDir == DC_IDX || uiDir == PLANAR_IDX )? 1 : 2;
    971     //for (int uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
    972     //{
    973     //  parseSDCResidualData(pcCU, uiAbsPartIdx, uiDepth, uiSeg);
    974     //}
     1041  if( pcCU->getSDCFlag(absPartIdx) )
     1042  {
     1043    assert(pcCU->getPartitionSize(absPartIdx)==SIZE_2Nx2N);
     1044    pcCU->setTrIdxSubParts(0, absPartIdx, depth);
     1045    pcCU->setCbfSubParts(1, 1, 1, absPartIdx, depth);
     1046
     1047    UInt uiNumSegments = ( dir == DC_IDX || dir == PLANAR_IDX )? 1 : 2;
     1048    for (UInt uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
     1049    {
     1050      xParseSDCResidualData(pcCU, absPartIdx, depth, uiSeg);
     1051    }
    9751052  }
    9761053  else
    9771054  {
    9781055#endif
    979   if( dimType < DIM_NUM_TYPE )
    980   {
    981     UInt symbol;
    982     m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get(0, 0, (RBC_IDX == dimType) ? 1 : 0) );
    983     if( symbol )
    984     {
    985       dir += symbol;
    986       for( UInt segment = 0; segment < 2; segment++ )
    987       {
    988         Pel valDeltaDC = 0;
    989         xParseDimDeltaDC( valDeltaDC, dimType );
    990         pcCU->setDimDeltaDC( dimType, segment, absPartIdx, valDeltaDC );
    991       }
    992     }
    993   }
     1056    if( dimType < DIM_NUM_TYPE )
     1057    {
     1058      UInt symbol;
     1059      m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get(0, 0, (RBC_IDX == dimType) ? 1 : 0) );
     1060      if( symbol )
     1061      {
     1062        dir += symbol;
     1063        for( UInt segment = 0; segment < 2; segment++ )
     1064        {
     1065          Pel valDeltaDC = 0;
     1066          xParseDimDeltaDC( valDeltaDC, dimType );
     1067          pcCU->setDimDeltaDC( dimType, segment, absPartIdx, valDeltaDC );
     1068        }
     1069      }
     1070    }
    9941071#if H_3D_DIM_SDC
    9951072  }
     
    10881165  pcCU->setLumaIntraDirSubParts( (UChar)dir, absPartIdx, depth );
    10891166#if H_3D_DIM_SDC
    1090   pcCU->setSDCFlagSubParts( sdcFlag, absPartIdx, 0, depth );
     1167  pcCU->setSDCFlagSubParts( sdcFlag, absPartIdx, depth );
    10911168#endif
    10921169}
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibDecoder/TDecSbac.h

    r459 r467  
    108108  Void  xParseRbcEdge        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    109109#endif
     110#if H_3D_DIM_SDC
     111  Void  xParseSDCResidualData     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart );
     112#endif
    110113#endif
    111114private:
     
    201204  ContextModel3DBuffer m_cRbcDataSCModel;
    202205#endif
     206#if H_3D_DIM_SDC 
     207  ContextModel3DBuffer m_cSDCResidualFlagSCModel;
     208  ContextModel3DBuffer m_cSDCResidualSCModel;
     209#endif
    203210#endif
    204211};
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCavlc.cpp

    r459 r467  
    752752    {
    753753      WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ),          "vps_depth_modes_flag[i]" );
     754     
     755#if H_3D_DIM_DLT
     756      if( pcVPS->getVpsDepthModesFlag( i ) )
     757      {
     758        WRITE_FLAG( pcVPS->getUseDLTFlag( i ) ? 1 : 0, "use_dlt_flag[i]" );
     759        if( pcVPS->getUseDLTFlag( i ) )
     760        {
     761          // code mapping
     762          WRITE_UVLC(pcVPS->getNumDepthValues(i), "num_dlt_depth_values[i]");
     763          for(Int d=0; d<pcVPS->getNumDepthValues(i); d++)
     764          {
     765            WRITE_UVLC( pcVPS->idx2DepthValue(i, d), "dlt_depth_value[i][d]" );
     766          }
     767        }
     768      }
     769#endif
    754770    }
    755771  }
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncCu.cpp

    r460 r467  
    14871487  m_ppcRecoYuvTemp[uiDepth]->copyToPicLuma(rpcTempCU->getPic()->getPicYuvRec(), rpcTempCU->getAddr(), rpcTempCU->getZorderIdxInCU() );
    14881488 
     1489#if H_3D_DIM_SDC
     1490  if( !rpcTempCU->getSDCFlag( 0 ) )
     1491#endif
    14891492  m_pcPredSearch  ->estIntraPredChromaQT( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC );
    14901493 
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncEntropy.cpp

    r446 r467  
    217217    return;
    218218  }
     219#if H_3D_DIM_SDC
     220  if( pcCU->getSDCFlag(uiAbsPartIdx) )
     221  {
     222    return;
     223  }
     224#endif
    219225 
    220226  if( bRD )
     
    427433  {
    428434    encodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx,true );
     435#if H_3D_DIM_SDC
     436    if(!pcCU->getSDCFlag(uiAbsPartIdx))
     437#endif
    429438    encodeIntraDirModeChroma( pcCU, uiAbsPartIdx, bRD );
    430439  }
     
    592601  UInt uiLumaOffset   = uiMinCoeffSize*uiAbsPartIdx;
    593602  UInt uiChromaOffset = uiLumaOffset>>2;
    594    
     603 
     604#if H_3D_DIM_SDC
     605  if( pcCU->getSDCFlag( uiAbsPartIdx ) )
     606  {
     607    assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
     608    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
     609    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
     610    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
     611    assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     612    return;
     613  }
     614#endif
     615
    595616  if( pcCU->isIntra(uiAbsPartIdx) )
    596617  {
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.cpp

    r459 r467  
    9595, m_cRbcDataSCModel           ( 1,             1,               NUM_RBC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    9696#endif
     97#if H_3D_DIM_SDC
     98, m_cSDCResidualFlagSCModel   ( 1,             1,               SDC_NUM_RESIDUAL_FLAG_CTX     , m_contextModels + m_numContextModels, m_numContextModels)
     99, m_cSDCResidualSCModel       ( 1,             1,               SDC_NUM_RESIDUAL_CTX          , m_contextModels + m_numContextModels, m_numContextModels)
     100#endif
    97101#endif
    98102{
     
    159163#if H_3D_DIM_RBC
    160164  m_cRbcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_RBC_DATA );
     165#endif
     166#if H_3D_DIM_SDC
     167  m_cSDCResidualFlagSCModel.initBuffer   ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
     168  m_cSDCResidualSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
    161169#endif
    162170#endif
     
    293301  m_cRbcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_RBC_DATA );
    294302#endif
     303#if H_3D_DIM_SDC
     304  m_cSDCResidualFlagSCModel.initBuffer   ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
     305  m_cSDCResidualSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
     306#endif
    295307#endif
    296308  m_pcBinIf->start();
     
    557569    if( uiReorderSymbol != 6 )
    558570      m_pcBinIf->encodeBin( 0, m_cRbcDataSCModel.get( 0, 0, 0 ) );
     571  }
     572}
     573#endif
     574#if H_3D_DIM_SDC
     575Void TEncSbac::xCodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiSegment )
     576{
     577  assert( pcCU->getSlice()->getIsDepth() );
     578  assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
     579  assert( pcCU->getSDCFlag(uiAbsPartIdx) );
     580  assert( uiSegment < 2 );
     581 
     582  Pel segmentDCOffset = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     583 
     584  UInt uiResidual = segmentDCOffset == 0 ? 0 : 1;
     585  UInt uiSign     = segmentDCOffset < 0 ? 1 : 0;
     586  UInt uiAbsIdx   = abs(segmentDCOffset);
     587
     588#if H_3D_DIM_DLT
     589  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
     590#else
     591  UInt uiMaxResidualBits = g_bitDepthY;
     592#endif
     593  assert( uiMaxResidualBits <= g_bitDepthY );
     594 
     595  // residual flag
     596  m_pcBinIf->encodeBin( uiResidual, m_cSDCResidualFlagSCModel.get( 0, 0, 0 ) );
     597 
     598  if (uiResidual)
     599  {
     600    // encode sign bit of residual
     601    m_pcBinIf->encodeBinEP( uiSign );
     602   
     603#if H_3D_DIM_DLT
     604    UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     605#else
     606    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
     607#endif
     608    assert(uiAbsIdx <= uiNumDepthValues);
     609   
     610    // encode residual magnitude
     611    uiAbsIdx -= 1;
     612    // prefix part
     613    if ( uiAbsIdx == 0 )
     614      m_pcBinIf->encodeBin( 0, m_cSDCResidualSCModel.get(0, 0, 0) );
     615    else
     616    {
     617      UInt l = uiAbsIdx;
     618      UInt k = 0;
     619      UInt uiPrefixThreshold = ((uiNumDepthValues * 3) >> 2);
     620      while ( l > 0 && k < uiPrefixThreshold )
     621      {
     622        m_pcBinIf->encodeBin( 1, m_cSDCResidualSCModel.get(0, 0, 0) );
     623        l--;
     624        k++;
     625      }
     626      if ( uiAbsIdx < uiPrefixThreshold )
     627        m_pcBinIf->encodeBin( 0, m_cSDCResidualSCModel.get(0, 0, 0) );
     628      // suffix part
     629      else
     630      {
     631        uiAbsIdx -= uiPrefixThreshold;
     632        UInt uiSuffixLength = ( (UInt)ceil( Log2(uiNumDepthValues - uiPrefixThreshold) ) );
     633        UInt uiBitInfo = 0;
     634        for ( Int i = 0; i < uiSuffixLength; i++)
     635        {
     636          uiBitInfo = ( uiAbsIdx & ( 1 << i ) ) >> i;
     637          m_pcBinIf->encodeBinEP( uiBitInfo);
     638        }
     639      }
     640    }
     641   
    559642  }
    560643}
     
    695778Void TEncSbac::codePredMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
    696779{
     780#if H_3D_DIM_SDC
     781  if ( pcCU->getSlice()->isIntra() )
     782  {
     783    assert( pcCU->isIntra(uiAbsPartIdx) );
     784    return;
     785  }
     786#endif
     787 
    697788  // get context function is here
    698789  Int iPredMode = pcCU->getPredictionMode( uiAbsPartIdx );
     
    9161007
    9171008#if H_3D_DIM
    918 Void TEncSbac::codeIntraDepth( TComDataCU* pcCU, UInt absPartIdx, Bool sdcRD )
     1009Void TEncSbac::codeIntraDepth( TComDataCU* pcCU, UInt absPartIdx )
    9191010{
    9201011  codeIntraDepthMode( pcCU, absPartIdx );
     
    9531044  if( pcCU->getSDCFlag( absPartIdx ) )
    9541045  {
    955   //  assert(pcCU->getPartitionSize(uiAbsPartIdx)==SIZE_2Nx2N);
    956   //  UInt uiNumSegments = ( uiDir == DC_IDX || uiDir == PLANAR_IDX )? 1 : 2;
    957   //  if(!bSdcRD)
    958   //  {
    959   //    for (int uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
    960   //    {
    961   //      codeSDCResidualData(pcCU, uiAbsPartIdx, uiSeg);
    962   //    }
    963   //  }
     1046    assert(pcCU->getPartitionSize(absPartIdx)==SIZE_2Nx2N);
     1047    UInt uiNumSegments = ( dir == DC_IDX || dir == PLANAR_IDX )? 1 : 2;
     1048    for(UInt uiSeg=0; uiSeg<uiNumSegments; uiSeg++)
     1049    {
     1050      xCodeSDCResidualData(pcCU, absPartIdx, uiSeg);
     1051    }
    9641052  }
    9651053  else
     
    10101098#if H_3D_DIM_SDC
    10111099  if( pcCU->getSDCFlag( absPartIdx ) )
    1012   {
    1013   //  switch( dir )
    1014   //  {
    1015   //  case PLANAR_IDX:              codeIdx = 0; break;
    1016   //  case DC_IDX:                  codeIdx = 6; break;
    1017   //  case (2*DMM1_IDX+DIM_OFFSET): codeIdx = 2; break;
    1018   //  default:                                   break;
    1019   //  }
     1100  {
     1101    switch( dir )
     1102    {
     1103      case PLANAR_IDX:  codeIdx = 0; break;
     1104      case DC_IDX:      codeIdx = 6; break;
     1105      default:          codeIdx = 2; break;
     1106    }
    10201107  }
    10211108#endif
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSbac.h

    r459 r467  
    127127  Void  xCodeRbcEdge         ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    128128#endif
     129#if H_3D_DIM_SDC
     130  Void  xCodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiSegment );
     131#endif
    129132#endif
    130133 
     
    165168
    166169#if H_3D_DIM
    167   Void codeIntraDepth          ( TComDataCU* pcCU, UInt absPartIdx, Bool sdcRD = false );
     170  Void codeIntraDepth          ( TComDataCU* pcCU, UInt absPartIdx );
    168171  Void codeIntraDepthMode      ( TComDataCU* pcCU, UInt absPartIdx );
    169172#endif
     
    241244  ContextModel3DBuffer m_cRbcDataSCModel;
    242245#endif
     246#if H_3D_DIM_SDC 
     247  ContextModel3DBuffer m_cSDCResidualFlagSCModel;
     248  ContextModel3DBuffer m_cSDCResidualSCModel;
     249#endif
    243250#endif
    244251};
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.cpp

    r466 r467  
    18381838}
    18391839
     1840#if H_3D_DIM_SDC
     1841Void TEncSearch::xIntraCodingSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bResidual )
     1842{
     1843  UInt    uiLumaPredMode    = pcCU     ->getLumaIntraDir( uiAbsPartIdx );
     1844  UInt    uiWidth           = pcCU     ->getWidth   ( 0 );
     1845  UInt    uiHeight          = pcCU     ->getHeight  ( 0 );
     1846  UInt    uiStride          = pcOrgYuv ->getStride  ();
     1847  Pel*    piOrg             = pcOrgYuv ->getLumaAddr( uiAbsPartIdx );
     1848  Pel*    piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
     1849  Pel*    piReco            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
     1850 
     1851  UInt    uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
     1852  Pel*    piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
     1853  UInt    uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
     1854 
     1855  AOF( uiWidth == uiHeight );
     1856  AOF( uiAbsPartIdx == 0 );
     1857  AOF( pcCU->getSDCAvailable(uiAbsPartIdx) );
     1858  AOF( pcCU->getSDCFlag(uiAbsPartIdx) );
     1859  AOF( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) );
     1860  AOF( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || uiWidth < 64  );
     1861 
     1862  //===== init availability pattern =====
     1863  Bool  bAboveAvail = false;
     1864  Bool  bLeftAvail  = false;
     1865  pcCU->getPattern()->initPattern   ( pcCU, 0, uiAbsPartIdx );
     1866  pcCU->getPattern()->initAdiPattern( pcCU, uiAbsPartIdx, 0, m_piYuvExt, m_iYuvExtStride, m_iYuvExtHeight, bAboveAvail, bLeftAvail );
     1867 
     1868  //===== get prediction signal =====
     1869#if H_3D_DIM
     1870  if( isDimMode( uiLumaPredMode ) )
     1871  {
     1872    predIntraLumaDepth( pcCU, uiAbsPartIdx, uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, true );
     1873  }
     1874  else
     1875  {
     1876#endif
     1877    predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
     1878#if H_3D_DIM
     1879  }
     1880#endif
     1881 
     1882  // number of segments depends on prediction mode
     1883  UInt uiNumSegments = 1;
     1884  Bool* pbMask = NULL;
     1885  UInt uiMaskStride = 0;
     1886   
     1887  if( getDimType( uiLumaPredMode ) == DMM1_IDX )
     1888  {
     1889    Int uiTabIdx = pcCU->getDmmWedgeTabIdx(DMM1_IDX, uiAbsPartIdx);
     1890   
     1891    WedgeList* pacWedgeList = &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
     1892    TComWedgelet* pcWedgelet = &(pacWedgeList->at( uiTabIdx ));
     1893   
     1894    uiNumSegments = 2;
     1895    pbMask = pcWedgelet->getPattern();
     1896    uiMaskStride = pcWedgelet->getStride();
     1897  }
     1898 
     1899  // get DC prediction for each segment
     1900  Pel apDCPredValues[2];
     1901  analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride );
     1902 
     1903  // get original DC for each segment
     1904  Pel apDCOrigValues[2];
     1905  analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride );
     1906 
     1907  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
     1908  {
     1909    // remap reconstructed value to valid depth values
     1910    Pel pDCRec = bResidual?apDCOrigValues[uiSegment]:apDCPredValues[uiSegment];
     1911   
     1912    // get residual (idx)
     1913#if H_3D_DIM_DLT
     1914    Pel pResidualIdx = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pDCRec ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     1915#else
     1916    Pel pResidualIdx = pDCRec - apDCPredValues[uiSegment];
     1917#endif
     1918   
     1919    // save SDC DC offset
     1920    pcCU->setSDCSegmentDCOffset(pResidualIdx, uiSegment, uiAbsPartIdx);
     1921  }
     1922 
     1923  // reconstruct residual based on mask + DC residuals
     1924  Pel apDCResiValues[2];
     1925  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
     1926  {
     1927#if H_3D_DIM_DLT
     1928    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     1929    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     1930    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
     1931   
     1932    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
     1933#else
     1934    apDCResiValues[uiSegment]  = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     1935#endif
     1936  }
     1937 
     1938  //===== reconstruction =====
     1939  Bool* pMask     = pbMask;
     1940  Pel* pPred      = piPred;
     1941  Pel* pReco      = piReco;
     1942  Pel* pRecIPred  = piRecIPred;
     1943 
     1944  for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     1945  {
     1946    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     1947    {
     1948      UChar ucSegment = pMask?(UChar)pMask[uiX]:0;
     1949      assert( ucSegment < uiNumSegments );
     1950
     1951      Pel pResiDC = apDCResiValues[ucSegment];
     1952     
     1953      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResiDC );
     1954      pRecIPred[ uiX ] = pReco[ uiX ];
     1955    }
     1956    pPred     += uiStride;
     1957    pReco     += uiStride;
     1958    pRecIPred += uiRecIPredStride;
     1959    pMask     += uiMaskStride;
     1960  }
     1961 
     1962  // clear UV
     1963  UInt  uiStrideC     = pcPredYuv->getCStride();
     1964  Pel   *pRecCb       = pcPredYuv->getCbAddr();
     1965  Pel   *pRecCr       = pcPredYuv->getCrAddr();
     1966 
     1967  for (Int y=0; y<uiHeight/2; y++)
     1968  {
     1969    for (Int x=0; x<uiWidth/2; x++)
     1970    {
     1971      pRecCb[x] = 128;
     1972      pRecCr[x] = 128;
     1973    }
     1974   
     1975    pRecCb += uiStrideC;
     1976    pRecCr += uiStrideC;
     1977  }
     1978 
     1979  //===== determine distortion =====
     1980#if H_3D_VSO
     1981  if( m_pcRdCost->getUseVSO() )
     1982  {
     1983    if( m_pcRdCost->getUseEstimatedVSD() )
     1984    {
     1985      ruiDist = m_pcRdCost->getDistPartVSD( pcCU, uiAbsPartIdx, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
     1986    }
     1987    else
     1988    {
     1989      ruiDist = m_pcRdCost->getDistPartVSO( pcCU, uiAbsPartIdx, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
     1990    }
     1991  }
     1992  else
     1993#endif
     1994  {
     1995    ruiDist = m_pcRdCost->getDistPart( g_bitDepthY, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight );
     1996  }
     1997 
     1998  //----- determine rate and r-d cost -----
     1999  m_pcEntropyCoder->resetBits();
     2000 
     2001  // encode reduced intra header
     2002  m_pcEntropyCoder->encodeSkipFlag( pcCU, 0, true );
     2003  m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
     2004 
     2005  // encode pred direction + residual data
     2006  m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
     2007  UInt   uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
     2008 
     2009#if HHI_VSO
     2010  if ( m_pcRdCost->getUseLambdaScaleVSO())
     2011  {
     2012    dRDCost = m_pcRdCost->calcRdCostVSO( uiBits, ruiDist );
     2013  }
     2014  else
     2015#endif
     2016  {
     2017    dRDCost = m_pcRdCost->calcRdCost( uiBits, ruiDist );
     2018  }
     2019}
     2020#endif
    18402021
    18412022Void
     
    27662947    UInt    uiBestPUDistC = 0;
    27672948    Double  dBestPUCost   = MAX_DOUBLE;
     2949#if H_3D_DIM_SDC
     2950    Bool    bBestUseSDC   = false;
     2951    Pel     apBestDCOffsets[2] = {0,0};
     2952#endif
    27682953    for( UInt uiMode = 0; uiMode < numModesForFullRD; uiMode++ )
    27692954    {
    2770 #if H_3D_DIM_ENC
    2771       for( UInt testZeroResi = 0; testZeroResi <= ((pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->isIRAP()) ? 1 : 0 ); testZeroResi++ )
    2772       {
    2773 #endif
    27742955      // set luma prediction mode
    27752956      UInt uiOrgMode = uiRdModeList[uiMode];
     
    27772958      pcCU->setLumaIntraDirSubParts ( uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
    27782959     
     2960#if H_3D_DIM_SDC
     2961      Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) );
     2962     
     2963      for( UInt uiSDC=0; uiSDC<=(bTestSDC?1:0); uiSDC++ )
     2964      {
     2965        pcCU->setSDCFlagSubParts( (uiSDC != 0), uiPartOffset, uiDepth + uiInitTrDepth );
     2966#endif
     2967     
     2968#if H_3D_DIM_ENC || H_3D_DIM_SDC
     2969      Bool bTestZeroResi = false;
     2970#if H_3D_DIM_ENC
     2971      bTestZeroResi |= pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->isIRAP();
     2972#endif
     2973#if H_3D_DIM_SDC
     2974      bTestZeroResi |= pcCU->getSDCFlag(uiPartOffset);
     2975#endif
     2976#endif
     2977     
     2978#if H_3D_DIM_ENC || H_3D_DIM_SDC     
     2979      for( UInt testZeroResi = 0; testZeroResi <= (bTestZeroResi ? 1 : 0) ; testZeroResi++ )
     2980      {
     2981#endif
    27792982      // set context models
    27802983      if( m_bUseSBACRD )
     
    27973000      }
    27983001#endif
     3002#if H_3D_DIM_SDC
     3003            if( pcCU->getSDCFlag(uiPartOffset) )
     3004            {
     3005              pcCU->setTrIdxSubParts(0, uiPartOffset, uiDepth + uiInitTrDepth);
     3006              pcCU->setCbfSubParts(1, 1, 1, uiPartOffset, uiDepth + uiInitTrDepth);
     3007             
     3008              // start encoding with SDC
     3009              xIntraCodingSDC(pcCU, uiPartOffset, pcOrgYuv, pcPredYuv, uiPUDistY, dPUCost, (testZeroResi!=0));
     3010            }
     3011            else
     3012            {
     3013#endif
    27993014#if HHI_RQT_INTRA_SPEEDUP
    28003015#if H_3D_DIM_ENC
     
    28103025#endif
    28113026#endif
     3027#if H_3D_DIM_SDC
     3028            }
     3029#endif
    28123030     
    28133031      // check r-d cost
     
    28223040        uiBestPUDistC = uiPUDistC;
    28233041        dBestPUCost   = dPUCost;
     3042       
     3043#if H_3D_DIM_SDC
     3044        if( pcCU->getSDCFlag(uiPartOffset) )
     3045        {
     3046          bBestUseSDC = true;
     3047         
     3048          // copy reconstruction
     3049          pcPredYuv->copyPartToPartYuv(pcRecoYuv, uiPartOffset, uiWidth, uiHeight);
     3050         
     3051          // copy DC values
     3052          apBestDCOffsets[0] = pcCU->getSDCSegmentDCOffset(0, uiPartOffset);
     3053          apBestDCOffsets[1] = pcCU->getSDCSegmentDCOffset(1, uiPartOffset);
     3054        }
     3055        else
     3056        {
     3057          bBestUseSDC = false;
     3058#endif
     3059        xSetIntraResultQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcRecoYuv );
     3060       
     3061        UInt uiQPartNum = pcCU->getPic()->getNumPartInCU() >> ( ( pcCU->getDepth(0) + uiInitTrDepth ) << 1 );
     3062        ::memcpy( m_puhQTTempTrIdx,  pcCU->getTransformIdx()       + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3063        ::memcpy( m_puhQTTempCbf[0], pcCU->getCbf( TEXT_LUMA     ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3064        ::memcpy( m_puhQTTempCbf[1], pcCU->getCbf( TEXT_CHROMA_U ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3065        ::memcpy( m_puhQTTempCbf[2], pcCU->getCbf( TEXT_CHROMA_V ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3066        ::memcpy( m_puhQTTempTransformSkipFlag[0], pcCU->getTransformSkip(TEXT_LUMA)     + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3067        ::memcpy( m_puhQTTempTransformSkipFlag[1], pcCU->getTransformSkip(TEXT_CHROMA_U) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3068        ::memcpy( m_puhQTTempTransformSkipFlag[2], pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
     3069#if H_3D_DIM_SDC
     3070        }
     3071#endif
     3072      }
     3073#if HHI_RQT_INTRA_SPEEDUP_MOD
     3074      else if( dPUCost < dSecondBestPUCost )
     3075      {
     3076        uiSecondBestMode  = uiOrgMode;
     3077        dSecondBestPUCost = dPUCost;
     3078      }
     3079#endif
     3080#if H_3D_DIM_ENC || H_3D_DIM_SDC
     3081      }
     3082#endif
     3083#if H_3D_DIM_SDC
     3084      } // SDC loop
     3085#endif
     3086    } // Mode loop
     3087   
     3088#if HHI_RQT_INTRA_SPEEDUP
     3089#if HHI_RQT_INTRA_SPEEDUP_MOD
     3090    for( UInt ui =0; ui < 2; ++ui )
     3091#endif
     3092    {
     3093#if HHI_RQT_INTRA_SPEEDUP_MOD
     3094      UInt uiOrgMode   = ui ? uiSecondBestMode  : uiBestPUMode;
     3095      if( uiOrgMode == MAX_UINT )
     3096      {
     3097        break;
     3098      }
     3099#else
     3100      UInt uiOrgMode = uiBestPUMode;
     3101#endif
     3102     
     3103      pcCU->setLumaIntraDirSubParts ( uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
     3104#if H_3D_DIM_SDC
     3105      pcCU->setSDCFlagSubParts(false, uiPartOffset, uiDepth + uiInitTrDepth);
     3106#endif
     3107     
     3108      // set context models
     3109      if( m_bUseSBACRD )
     3110      {
     3111        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST] );
     3112      }
     3113     
     3114      // determine residual for partition
     3115#if H_3D_VSO
     3116      Dist   uiPUDistY = 0;
     3117#else
     3118      UInt   uiPUDistY = 0;
     3119#endif
     3120      UInt   uiPUDistC = 0;
     3121      Double dPUCost   = 0.0;
     3122
     3123#if H_3D_VSO // M37
     3124      // reset Model
     3125      if( m_pcRdCost->getUseRenModel() )
     3126      {
     3127        m_pcRdCost->setRenModelData( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight );
     3128      }
     3129#endif
     3130      xRecurIntraCodingQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcOrgYuv, pcPredYuv, pcResiYuv, uiPUDistY, uiPUDistC, false, dPUCost );
     3131     
     3132      // check r-d cost
     3133      if( dPUCost < dBestPUCost )
     3134      {
     3135        uiBestPUMode  = uiOrgMode;
     3136        uiBestPUDistY = uiPUDistY;
     3137        uiBestPUDistC = uiPUDistC;
     3138        dBestPUCost   = dPUCost;
     3139#if H_3D_DIM_SDC
     3140        bBestUseSDC   = false;
     3141#endif
    28243142       
    28253143        xSetIntraResultQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcRecoYuv );
     
    28343152        ::memcpy( m_puhQTTempTransformSkipFlag[2], pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    28353153      }
    2836 #if HHI_RQT_INTRA_SPEEDUP_MOD
    2837       else if( dPUCost < dSecondBestPUCost )
    2838       {
    2839         uiSecondBestMode  = uiOrgMode;
    2840         dSecondBestPUCost = dPUCost;
    2841       }
    2842 #endif
    2843 #if H_3D_DIM_ENC
    2844       }
    2845 #endif
    2846     } // Mode loop
    2847    
    2848 #if HHI_RQT_INTRA_SPEEDUP
    2849 #if HHI_RQT_INTRA_SPEEDUP_MOD
    2850     for( UInt ui =0; ui < 2; ++ui )
    2851 #endif
    2852     {
    2853 #if HHI_RQT_INTRA_SPEEDUP_MOD
    2854       UInt uiOrgMode   = ui ? uiSecondBestMode  : uiBestPUMode;
    2855       if( uiOrgMode == MAX_UINT )
    2856       {
    2857         break;
    2858       }
    2859 #else
    2860       UInt uiOrgMode = uiBestPUMode;
    2861 #endif
    2862      
    2863       pcCU->setLumaIntraDirSubParts ( uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
    2864      
    2865       // set context models
    2866       if( m_bUseSBACRD )
    2867       {
    2868         m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[uiDepth][CI_CURR_BEST] );
    2869       }
    2870      
    2871       // determine residual for partition
    2872 #if H_3D_VSO
    2873       Dist   uiPUDistY = 0;
    2874 #else
    2875       UInt   uiPUDistY = 0;
    2876 #endif
    2877       UInt   uiPUDistC = 0;
    2878       Double dPUCost   = 0.0;
    2879 
    2880 #if H_3D_VSO // M37
    2881       // reset Model
    2882       if( m_pcRdCost->getUseRenModel() )
    2883       {
    2884         m_pcRdCost->setRenModelData( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight );
    2885       }
    2886 #endif
    2887       xRecurIntraCodingQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcOrgYuv, pcPredYuv, pcResiYuv, uiPUDistY, uiPUDistC, false, dPUCost );
    2888      
    2889       // check r-d cost
    2890       if( dPUCost < dBestPUCost )
    2891       {
    2892         uiBestPUMode  = uiOrgMode;
    2893         uiBestPUDistY = uiPUDistY;
    2894         uiBestPUDistC = uiPUDistC;
    2895         dBestPUCost   = dPUCost;
    2896        
    2897         xSetIntraResultQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcRecoYuv );
    2898        
    2899         UInt uiQPartNum = pcCU->getPic()->getNumPartInCU() >> ( ( pcCU->getDepth(0) + uiInitTrDepth ) << 1 );
    2900         ::memcpy( m_puhQTTempTrIdx,  pcCU->getTransformIdx()       + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2901         ::memcpy( m_puhQTTempCbf[0], pcCU->getCbf( TEXT_LUMA     ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2902         ::memcpy( m_puhQTTempCbf[1], pcCU->getCbf( TEXT_CHROMA_U ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2903         ::memcpy( m_puhQTTempCbf[2], pcCU->getCbf( TEXT_CHROMA_V ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2904         ::memcpy( m_puhQTTempTransformSkipFlag[0], pcCU->getTransformSkip(TEXT_LUMA)     + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2905         ::memcpy( m_puhQTTempTransformSkipFlag[1], pcCU->getTransformSkip(TEXT_CHROMA_U) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2906         ::memcpy( m_puhQTTempTransformSkipFlag[2], pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    2907       }
    29083154    } // Mode loop
    29093155#endif
     
    29123158    uiOverallDistY += uiBestPUDistY;
    29133159    uiOverallDistC += uiBestPUDistC;
     3160   
     3161#if H_3D_DIM_SDC
     3162    if( bBestUseSDC )
     3163    {
     3164      pcCU->setTrIdxSubParts(0, uiPartOffset, uiDepth + uiInitTrDepth);
     3165      pcCU->setCbfSubParts(1, 1, 1, uiPartOffset, uiDepth + uiInitTrDepth);
     3166     
     3167      //=== copy best DC segment values back to CU ====
     3168      pcCU->setSDCSegmentDCOffset(apBestDCOffsets[0], 0, uiPartOffset);
     3169      pcCU->setSDCSegmentDCOffset(apBestDCOffsets[1], 1, uiPartOffset);
     3170    }
     3171    else
     3172    {
     3173#endif
    29143174   
    29153175    //--- update transform index and cbf ---
     
    29223182    ::memcpy( pcCU->getTransformSkip(TEXT_CHROMA_U) + uiPartOffset, m_puhQTTempTransformSkipFlag[1], uiQPartNum * sizeof( UChar ) );
    29233183    ::memcpy( pcCU->getTransformSkip(TEXT_CHROMA_V) + uiPartOffset, m_puhQTTempTransformSkipFlag[2], uiQPartNum * sizeof( UChar ) );
     3184#if H_3D_DIM_SDC
     3185    }
     3186#endif
    29243187    //--- set reconstruction for next intra prediction blocks ---
    29253188    if( uiPU != uiNumPU - 1 )
     
    29893252    //=== update PU data ====
    29903253    pcCU->setLumaIntraDirSubParts     ( uiBestPUMode, uiPartOffset, uiDepth + uiInitTrDepth );
     3254#if H_3D_DIM_SDC
     3255    pcCU->setSDCFlagSubParts          ( bBestUseSDC, uiPartOffset, uiDepth + uiInitTrDepth );
     3256#endif
    29913257    pcCU->copyToPic                   ( uiDepth, uiPU, uiInitTrDepth );
    29923258  } // PU loop
     
    67296995
    67306996#if H_3D_DIM_DLT
    6731   rDeltaDC1 = (Int)GetDepthValue2Idx( ClipY(predDC1 + rDeltaDC1) ) - (Int)GetDepthValue2Idx( predDC1 );
    6732   rDeltaDC2 = (Int)GetDepthValue2Idx( ClipY(predDC2 + rDeltaDC2) ) - (Int)GetDepthValue2Idx( predDC2 );
     6997  rDeltaDC1 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC1 + rDeltaDC1) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 );
     6998  rDeltaDC2 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC2 + rDeltaDC2) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 );
    67336999#endif
    67347000}
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibEncoder/TEncSearch.h

    r460 r467  
    352352  Bool xConstructChainCode        ( TComDataCU* pcCU, UInt uiAbsPtIdx, UInt uiWidth, UInt uiHeight );
    353353#endif
     354#if H_3D_DIM_SDC
     355  Void xIntraCodingSDC            ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bResidual );
     356#endif
    354357#endif
    355358
Note: See TracChangeset for help on using the changeset viewer.