Changeset 758 in 3DVCSoftware


Ignore:
Timestamp:
3 Jan 2014, 17:43:40 (10 years ago)
Author:
tech
Message:

Merged HTM-9.1-dev0-MediaTek@757. (3D-HEVC HLS)

Location:
trunk
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/HTM.xcodeproj/project.pbxproj

    r105 r758  
    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                7874637E17D5DD900040CFC7 /* encmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462C117D5DD7B0040CFC7 /* encmain.cpp */; };
     28                7874637F17D5DD900040CFC7 /* TAppEncCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462C217D5DD7B0040CFC7 /* TAppEncCfg.cpp */; };
     29                7874638017D5DD900040CFC7 /* TAppEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462C417D5DD7B0040CFC7 /* TAppEncTop.cpp */; };
     30                7874638117D5DDA60040CFC7 /* NALwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633F17D5DD840040CFC7 /* NALwrite.cpp */; };
     31                7874638217D5DDA60040CFC7 /* SEIwrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634117D5DD840040CFC7 /* SEIwrite.cpp */; };
     32                7874638317D5DDA60040CFC7 /* SyntaxElementWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634317D5DD840040CFC7 /* SyntaxElementWriter.cpp */; };
     33                7874638417D5DDA60040CFC7 /* TEncAnalyze.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634517D5DD840040CFC7 /* TEncAnalyze.cpp */; };
     34                7874638517D5DDA60040CFC7 /* TEncBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634817D5DD840040CFC7 /* TEncBinCoderCABAC.cpp */; };
     35                7874638617D5DDA60040CFC7 /* TEncBinCoderCABACCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634A17D5DD840040CFC7 /* TEncBinCoderCABACCounter.cpp */; };
     36                7874638717D5DDA60040CFC7 /* TEncCavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634C17D5DD840040CFC7 /* TEncCavlc.cpp */; };
     37                7874638817D5DDA60040CFC7 /* TEncCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874634F17D5DD840040CFC7 /* TEncCu.cpp */; };
     38                7874638917D5DDA60040CFC7 /* TEncEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635117D5DD840040CFC7 /* TEncEntropy.cpp */; };
     39                7874638A17D5DDA60040CFC7 /* TEncGOP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635317D5DD840040CFC7 /* TEncGOP.cpp */; };
     40                7874638B17D5DDA60040CFC7 /* TEncPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635517D5DD840040CFC7 /* TEncPic.cpp */; };
     41                7874638C17D5DDA60040CFC7 /* TEncPreanalyzer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635717D5DD840040CFC7 /* TEncPreanalyzer.cpp */; };
     42                7874638D17D5DDA60040CFC7 /* TEncRateCtrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635917D5DD840040CFC7 /* TEncRateCtrl.cpp */; };
     43                7874638E17D5DDA60040CFC7 /* TEncSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635B17D5DD840040CFC7 /* TEncSampleAdaptiveOffset.cpp */; };
     44                7874638F17D5DDA60040CFC7 /* TEncSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635D17D5DD840040CFC7 /* TEncSbac.cpp */; };
     45                7874639017D5DDA60040CFC7 /* TEncSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874635F17D5DD840040CFC7 /* TEncSearch.cpp */; };
     46                7874639117D5DDA60040CFC7 /* TEncSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636117D5DD840040CFC7 /* TEncSlice.cpp */; };
     47                7874639217D5DDA60040CFC7 /* TEncTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636317D5DD840040CFC7 /* TEncTop.cpp */; };
     48                7874639317D5DDA60040CFC7 /* WeightPredAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636517D5DD840040CFC7 /* WeightPredAnalysis.cpp */; };
     49                7874639417D5DE070040CFC7 /* TComPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630E17D5DD840040CFC7 /* TComPrediction.cpp */; };
     50                7874639517D5DE070040CFC7 /* TComRdCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631017D5DD840040CFC7 /* TComRdCost.cpp */; };
     51                7874639617D5DE070040CFC7 /* TComRdCostWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631217D5DD840040CFC7 /* TComRdCostWeightPrediction.cpp */; };
     52                7874639717D5DE070040CFC7 /* TComRom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631417D5DD840040CFC7 /* TComRom.cpp */; };
     53                7874639817D5DE070040CFC7 /* TComSampleAdaptiveOffset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631617D5DD840040CFC7 /* TComSampleAdaptiveOffset.cpp */; };
     54                7874639917D5DE070040CFC7 /* TComSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631817D5DD840040CFC7 /* TComSlice.cpp */; };
     55                7874639A17D5DE070040CFC7 /* TComTrQuant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631A17D5DD840040CFC7 /* TComTrQuant.cpp */; };
     56                7874639B17D5DE070040CFC7 /* TComWedgelet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631C17D5DD840040CFC7 /* TComWedgelet.cpp */; };
     57                7874639C17D5DE070040CFC7 /* TComWeightPrediction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874631E17D5DD840040CFC7 /* TComWeightPrediction.cpp */; };
     58                7874639D17D5DE070040CFC7 /* TComYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632017D5DD840040CFC7 /* TComYuv.cpp */; };
     59                7874639E17D5DE230040CFC7 /* TComMotionInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630217D5DD840040CFC7 /* TComMotionInfo.cpp */; };
     60                7874639F17D5DE230040CFC7 /* TComPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630517D5DD840040CFC7 /* TComPattern.cpp */; };
     61                787463A017D5DE230040CFC7 /* TComPic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630717D5DD840040CFC7 /* TComPic.cpp */; };
     62                787463A117D5DE230040CFC7 /* TComPicSym.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630917D5DD840040CFC7 /* TComPicSym.cpp */; };
     63                787463A217D5DE230040CFC7 /* TComPicYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630B17D5DD840040CFC7 /* TComPicYuv.cpp */; };
     64                787463A317D5DE230040CFC7 /* TComPicYuvMD5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630D17D5DD840040CFC7 /* TComPicYuvMD5.cpp */; };
     65                787463A417D5DE400040CFC7 /* TComCABACTables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462F917D5DD840040CFC7 /* TComCABACTables.cpp */; };
     66                787463A517D5DE400040CFC7 /* TComDataCU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462FB17D5DD840040CFC7 /* TComDataCU.cpp */; };
     67                787463A617D5DE400040CFC7 /* TComInterpolationFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462FD17D5DD840040CFC7 /* TComInterpolationFilter.cpp */; };
     68                787463A717D5DE400040CFC7 /* TComLoopFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874630017D5DD840040CFC7 /* TComLoopFilter.cpp */; };
     69                787463A817D5DE4B0040CFC7 /* TComBitStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462F717D5DD840040CFC7 /* TComBitStream.cpp */; };
     70                787463A917D5DE640040CFC7 /* ContextModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462EE17D5DD840040CFC7 /* ContextModel.cpp */; };
     71                787463AA17D5DE640040CFC7 /* ContextModel3DBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462F017D5DD840040CFC7 /* ContextModel3DBuffer.cpp */; };
     72                787463AB17D5DE640040CFC7 /* SEI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462F417D5DD840040CFC7 /* SEI.cpp */; };
     73                787463AC17D5DE8A0040CFC7 /* TVideoIOYuv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874637C17D5DD840040CFC7 /* TVideoIOYuv.cpp */; };
     74                787463AD17D5DE980040CFC7 /* TRenFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636B17D5DD840040CFC7 /* TRenFilter.cpp */; };
     75                787463AE17D5DE980040CFC7 /* TRenImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636D17D5DD840040CFC7 /* TRenImage.cpp */; };
     76                787463AF17D5DE980040CFC7 /* TRenImagePlane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636F17D5DD840040CFC7 /* TRenImagePlane.cpp */; };
     77                787463B017D5DE980040CFC7 /* TRenInterpFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874637117D5DD840040CFC7 /* TRenInterpFilter.cpp */; };
     78                787463B117D5DE9D0040CFC7 /* TRenModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874637317D5DD840040CFC7 /* TRenModel.cpp */; };
     79                787463B217D5DE9D0040CFC7 /* TRenModSetupStrParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874637517D5DD840040CFC7 /* TRenModSetupStrParser.cpp */; };
     80                787463B317D5DE9D0040CFC7 /* TRenSingleModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874637717D5DD840040CFC7 /* TRenSingleModel.cpp */; };
     81                787463B417D5DE9D0040CFC7 /* TRenTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874637917D5DD840040CFC7 /* TRenTop.cpp */; };
     82                787463B517D5DEAF0040CFC7 /* program_options_lite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462E717D5DD840040CFC7 /* program_options_lite.cpp */; };
     83                787463B617D5DEAF0040CFC7 /* TAppComCamPara.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462E917D5DD840040CFC7 /* TAppComCamPara.cpp */; };
     84                787463B717D5DED40040CFC7 /* libmd5.c in Sources */ = {isa = PBXBuildFile; fileRef = 787462E317D5DD840040CFC7 /* libmd5.c */; };
     85                787463B817D5DEE80040CFC7 /* AnnexBread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632417D5DD840040CFC7 /* AnnexBread.cpp */; };
     86                787463B917D5DEE80040CFC7 /* NALread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632617D5DD840040CFC7 /* NALread.cpp */; };
     87                787463BA17D5DEE80040CFC7 /* SEIread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632817D5DD840040CFC7 /* SEIread.cpp */; };
     88                787463BB17D5DEE80040CFC7 /* SyntaxElementParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632A17D5DD840040CFC7 /* SyntaxElementParser.cpp */; };
     89                787463BC17D5DEE80040CFC7 /* TDecBinCoderCABAC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632D17D5DD840040CFC7 /* TDecBinCoderCABAC.cpp */; };
     90                787463BD17D5DEE80040CFC7 /* TDecCAVLC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874632F17D5DD840040CFC7 /* TDecCAVLC.cpp */; };
     91                787463BE17D5DEE80040CFC7 /* TDecCu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633117D5DD840040CFC7 /* TDecCu.cpp */; };
     92                787463BF17D5DEE80040CFC7 /* TDecEntropy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633317D5DD840040CFC7 /* TDecEntropy.cpp */; };
     93                787463C017D5DEE80040CFC7 /* TDecGop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633517D5DD840040CFC7 /* TDecGop.cpp */; };
     94                787463C117D5DEE80040CFC7 /* TDecSbac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633717D5DD840040CFC7 /* TDecSbac.cpp */; };
     95                787463C217D5DEE80040CFC7 /* TDecSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633917D5DD840040CFC7 /* TDecSlice.cpp */; };
     96                787463C317D5DEE80040CFC7 /* TDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874633B17D5DD840040CFC7 /* TDecTop.cpp */; };
     97                787463C417D5DEFB0040CFC7 /* decmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462BB17D5DD7B0040CFC7 /* decmain.cpp */; };
     98                787463C517D5DEFB0040CFC7 /* TAppDecCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462BC17D5DD7B0040CFC7 /* TAppDecCfg.cpp */; };
     99                787463C617D5DEFB0040CFC7 /* TAppDecTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462BE17D5DD7B0040CFC7 /* TAppDecTop.cpp */; };
     100                787463C717D5DF080040CFC7 /* extrmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462C717D5DD7B0040CFC7 /* extrmain.cpp */; };
     101                787463C817D5DF080040CFC7 /* TAppExtrCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462C817D5DD7B0040CFC7 /* TAppExtrCfg.cpp */; };
     102                787463C917D5DF080040CFC7 /* TAppExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462CA17D5DD7B0040CFC7 /* TAppExtrTop.cpp */; };
     103                787463CA17D5DF0E0040CFC7 /* RendererMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462CD17D5DD7B0040CFC7 /* RendererMain.cpp */; };
     104                787463CB17D5DF0E0040CFC7 /* TAppRendererCfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462CE17D5DD7B0040CFC7 /* TAppRendererCfg.cpp */; };
     105                787463CC17D5DF0E0040CFC7 /* TAppRendererTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 787462D017D5DD7B0040CFC7 /* TAppRendererTop.cpp */; };
     106                787463CD17D5DF220040CFC7 /* TExtrTop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7874636817D5DD840040CFC7 /* TExtrTop.cpp */; };
    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                785E596C17D9AFA8001F6DD1 /* TStatHeader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TStatHeader.cpp; sourceTree = "<group>"; };
     292                785E596D17D9AFA8001F6DD1 /* TStatHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TStatHeader.h; sourceTree = "<group>"; };
     293                785E596E17D9AFA8001F6DD1 /* TStatLayer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TStatLayer.cpp; sourceTree = "<group>"; };
     294                785E596F17D9AFA8001F6DD1 /* TStatLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TStatLayer.h; sourceTree = "<group>"; };
     295                785E597017D9AFA8001F6DD1 /* TStatTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TStatTop.cpp; sourceTree = "<group>"; };
     296                785E597117D9AFA8001F6DD1 /* TStatTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TStatTop.h; sourceTree = "<group>"; };
     297                787462BB17D5DD7B0040CFC7 /* decmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = decmain.cpp; sourceTree = "<group>"; };
     298                787462BC17D5DD7B0040CFC7 /* TAppDecCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecCfg.cpp; sourceTree = "<group>"; };
     299                787462BD17D5DD7B0040CFC7 /* TAppDecCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecCfg.h; sourceTree = "<group>"; };
     300                787462BE17D5DD7B0040CFC7 /* TAppDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppDecTop.cpp; sourceTree = "<group>"; };
     301                787462BF17D5DD7B0040CFC7 /* TAppDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppDecTop.h; sourceTree = "<group>"; };
     302                787462C117D5DD7B0040CFC7 /* encmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = encmain.cpp; sourceTree = "<group>"; };
     303                787462C217D5DD7B0040CFC7 /* TAppEncCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncCfg.cpp; sourceTree = "<group>"; };
     304                787462C317D5DD7B0040CFC7 /* TAppEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncCfg.h; sourceTree = "<group>"; };
     305                787462C417D5DD7B0040CFC7 /* TAppEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppEncTop.cpp; sourceTree = "<group>"; };
     306                787462C517D5DD7B0040CFC7 /* TAppEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppEncTop.h; sourceTree = "<group>"; };
     307                787462C717D5DD7B0040CFC7 /* extrmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = extrmain.cpp; sourceTree = "<group>"; };
     308                787462C817D5DD7B0040CFC7 /* TAppExtrCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrCfg.cpp; sourceTree = "<group>"; };
     309                787462C917D5DD7B0040CFC7 /* TAppExtrCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrCfg.h; sourceTree = "<group>"; };
     310                787462CA17D5DD7B0040CFC7 /* TAppExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppExtrTop.cpp; sourceTree = "<group>"; };
     311                787462CB17D5DD7B0040CFC7 /* TAppExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppExtrTop.h; sourceTree = "<group>"; };
     312                787462CD17D5DD7B0040CFC7 /* RendererMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RendererMain.cpp; sourceTree = "<group>"; };
     313                787462CE17D5DD7B0040CFC7 /* TAppRendererCfg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererCfg.cpp; sourceTree = "<group>"; };
     314                787462CF17D5DD7B0040CFC7 /* TAppRendererCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererCfg.h; sourceTree = "<group>"; };
     315                787462D017D5DD7B0040CFC7 /* TAppRendererTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppRendererTop.cpp; sourceTree = "<group>"; };
     316                787462D117D5DD7B0040CFC7 /* TAppRendererTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppRendererTop.h; sourceTree = "<group>"; };
     317                787462D317D5DD7B0040CFC7 /* annexBbytecount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = annexBbytecount.cpp; sourceTree = "<group>"; };
     318                787462D517D5DD7B0040CFC7 /* encode.shl */ = {isa = PBXFileReference; lastKnownFileType = text; path = encode.shl; sourceTree = "<group>"; };
     319                787462D617D5DD7B0040CFC7 /* encodeCommand.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = encodeCommand.sh; sourceTree = "<group>"; };
     320                787462D717D5DD7B0040CFC7 /* ExtractBitrates.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitrates.cpp; sourceTree = "<group>"; };
     321                787462D817D5DD7B0040CFC7 /* ExtractBitrates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtractBitrates.h; sourceTree = "<group>"; };
     322                787462D917D5DD7B0040CFC7 /* ExtractBitratesMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExtractBitratesMain.cpp; sourceTree = "<group>"; };
     323                787462DA17D5DD7B0040CFC7 /* GuessLambdaModifiers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiers.cpp; sourceTree = "<group>"; };
     324                787462DB17D5DD7B0040CFC7 /* GuessLambdaModifiers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuessLambdaModifiers.h; sourceTree = "<group>"; };
     325                787462DC17D5DD7B0040CFC7 /* GuessLambdaModifiersMain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GuessLambdaModifiersMain.cpp; sourceTree = "<group>"; };
     326                787462DD17D5DD7B0040CFC7 /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = "<group>"; };
     327                787462DE17D5DD7B0040CFC7 /* QuickStartGuide.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = QuickStartGuide.pdf; sourceTree = "<group>"; };
     328                787462DF17D5DD7B0040CFC7 /* RuntimeError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RuntimeError.h; sourceTree = "<group>"; };
     329                787462E017D5DD7B0040CFC7 /* targetBitrates.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = targetBitrates.sh; sourceTree = "<group>"; };
     330                787462E117D5DD7B0040CFC7 /* convert_NtoMbit_YCbCr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = convert_NtoMbit_YCbCr.cpp; sourceTree = "<group>"; };
     331                787462E317D5DD840040CFC7 /* libmd5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = libmd5.c; sourceTree = "<group>"; };
     332                787462E417D5DD840040CFC7 /* libmd5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libmd5.h; sourceTree = "<group>"; };
     333                787462E517D5DD840040CFC7 /* MD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MD5.h; sourceTree = "<group>"; };
     334                787462E717D5DD840040CFC7 /* program_options_lite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = program_options_lite.cpp; sourceTree = "<group>"; };
     335                787462E817D5DD840040CFC7 /* program_options_lite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = program_options_lite.h; sourceTree = "<group>"; };
     336                787462E917D5DD840040CFC7 /* TAppComCamPara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TAppComCamPara.cpp; sourceTree = "<group>"; };
     337                787462EA17D5DD840040CFC7 /* TAppComCamPara.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TAppComCamPara.h; sourceTree = "<group>"; };
     338                787462EC17D5DD840040CFC7 /* AccessUnit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessUnit.h; sourceTree = "<group>"; };
     339                787462ED17D5DD840040CFC7 /* CommonDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommonDef.h; sourceTree = "<group>"; };
     340                787462EE17D5DD840040CFC7 /* ContextModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel.cpp; sourceTree = "<group>"; };
     341                787462EF17D5DD840040CFC7 /* ContextModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel.h; sourceTree = "<group>"; };
     342                787462F017D5DD840040CFC7 /* ContextModel3DBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel3DBuffer.cpp; sourceTree = "<group>"; };
     343                787462F117D5DD840040CFC7 /* ContextModel3DBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel3DBuffer.h; sourceTree = "<group>"; };
     344                787462F217D5DD840040CFC7 /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextTables.h; sourceTree = "<group>"; };
     345                787462F317D5DD840040CFC7 /* NAL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NAL.h; sourceTree = "<group>"; };
     346                787462F417D5DD840040CFC7 /* SEI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEI.cpp; sourceTree = "<group>"; };
     347                787462F517D5DD840040CFC7 /* SEI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEI.h; sourceTree = "<group>"; };
     348                787462F617D5DD840040CFC7 /* TComBitCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitCounter.h; sourceTree = "<group>"; };
     349                787462F717D5DD840040CFC7 /* TComBitStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComBitStream.cpp; sourceTree = "<group>"; };
     350                787462F817D5DD840040CFC7 /* TComBitStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComBitStream.h; sourceTree = "<group>"; };
     351                787462F917D5DD840040CFC7 /* TComCABACTables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComCABACTables.cpp; sourceTree = "<group>"; };
     352                787462FA17D5DD840040CFC7 /* TComCABACTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComCABACTables.h; sourceTree = "<group>"; };
     353                787462FB17D5DD840040CFC7 /* TComDataCU.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComDataCU.cpp; sourceTree = "<group>"; };
     354                787462FC17D5DD840040CFC7 /* TComDataCU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComDataCU.h; sourceTree = "<group>"; };
     355                787462FD17D5DD840040CFC7 /* TComInterpolationFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComInterpolationFilter.cpp; sourceTree = "<group>"; };
     356                787462FE17D5DD840040CFC7 /* TComInterpolationFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComInterpolationFilter.h; sourceTree = "<group>"; };
     357                787462FF17D5DD840040CFC7 /* TComList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComList.h; sourceTree = "<group>"; };
     358                7874630017D5DD840040CFC7 /* TComLoopFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComLoopFilter.cpp; sourceTree = "<group>"; };
     359                7874630117D5DD840040CFC7 /* TComLoopFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComLoopFilter.h; sourceTree = "<group>"; };
     360                7874630217D5DD840040CFC7 /* TComMotionInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComMotionInfo.cpp; sourceTree = "<group>"; };
     361                7874630317D5DD840040CFC7 /* TComMotionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMotionInfo.h; sourceTree = "<group>"; };
     362                7874630417D5DD840040CFC7 /* TComMv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComMv.h; sourceTree = "<group>"; };
     363                7874630517D5DD840040CFC7 /* TComPattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPattern.cpp; sourceTree = "<group>"; };
     364                7874630617D5DD840040CFC7 /* TComPattern.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPattern.h; sourceTree = "<group>"; };
     365                7874630717D5DD840040CFC7 /* TComPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPic.cpp; sourceTree = "<group>"; };
     366                7874630817D5DD840040CFC7 /* TComPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPic.h; sourceTree = "<group>"; };
     367                7874630917D5DD840040CFC7 /* TComPicSym.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicSym.cpp; sourceTree = "<group>"; };
     368                7874630A17D5DD840040CFC7 /* TComPicSym.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicSym.h; sourceTree = "<group>"; };
     369                7874630B17D5DD840040CFC7 /* TComPicYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuv.cpp; sourceTree = "<group>"; };
     370                7874630C17D5DD840040CFC7 /* TComPicYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicYuv.h; sourceTree = "<group>"; };
     371                7874630D17D5DD840040CFC7 /* TComPicYuvMD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuvMD5.cpp; sourceTree = "<group>"; };
     372                7874630E17D5DD840040CFC7 /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPrediction.cpp; sourceTree = "<group>"; };
     373                7874630F17D5DD840040CFC7 /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPrediction.h; sourceTree = "<group>"; };
     374                7874631017D5DD840040CFC7 /* TComRdCost.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCost.cpp; sourceTree = "<group>"; };
     375                7874631117D5DD840040CFC7 /* TComRdCost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCost.h; sourceTree = "<group>"; };
     376                7874631217D5DD840040CFC7 /* TComRdCostWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCostWeightPrediction.cpp; sourceTree = "<group>"; };
     377                7874631317D5DD840040CFC7 /* TComRdCostWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCostWeightPrediction.h; sourceTree = "<group>"; };
     378                7874631417D5DD840040CFC7 /* TComRom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRom.cpp; sourceTree = "<group>"; };
     379                7874631517D5DD840040CFC7 /* TComRom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRom.h; sourceTree = "<group>"; };
     380                7874631617D5DD840040CFC7 /* TComSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
     381                7874631717D5DD840040CFC7 /* TComSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSampleAdaptiveOffset.h; sourceTree = "<group>"; };
     382                7874631817D5DD840040CFC7 /* TComSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComSlice.cpp; sourceTree = "<group>"; };
     383                7874631917D5DD840040CFC7 /* TComSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComSlice.h; sourceTree = "<group>"; };
     384                7874631A17D5DD840040CFC7 /* TComTrQuant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComTrQuant.cpp; sourceTree = "<group>"; };
     385                7874631B17D5DD840040CFC7 /* TComTrQuant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComTrQuant.h; sourceTree = "<group>"; };
     386                7874631C17D5DD840040CFC7 /* TComWedgelet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWedgelet.cpp; sourceTree = "<group>"; };
     387                7874631D17D5DD840040CFC7 /* TComWedgelet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWedgelet.h; sourceTree = "<group>"; };
     388                7874631E17D5DD840040CFC7 /* TComWeightPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComWeightPrediction.cpp; sourceTree = "<group>"; };
     389                7874631F17D5DD840040CFC7 /* TComWeightPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComWeightPrediction.h; sourceTree = "<group>"; };
     390                7874632017D5DD840040CFC7 /* TComYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComYuv.cpp; sourceTree = "<group>"; };
     391                7874632117D5DD840040CFC7 /* TComYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComYuv.h; sourceTree = "<group>"; };
     392                7874632217D5DD840040CFC7 /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeDef.h; sourceTree = "<group>"; };
     393                7874632417D5DD840040CFC7 /* AnnexBread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AnnexBread.cpp; sourceTree = "<group>"; };
     394                7874632517D5DD840040CFC7 /* AnnexBread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBread.h; sourceTree = "<group>"; };
     395                7874632617D5DD840040CFC7 /* NALread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALread.cpp; sourceTree = "<group>"; };
     396                7874632717D5DD840040CFC7 /* NALread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALread.h; sourceTree = "<group>"; };
     397                7874632817D5DD840040CFC7 /* SEIread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIread.cpp; sourceTree = "<group>"; };
     398                7874632917D5DD840040CFC7 /* SEIread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIread.h; sourceTree = "<group>"; };
     399                7874632A17D5DD840040CFC7 /* SyntaxElementParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SyntaxElementParser.cpp; sourceTree = "<group>"; };
     400                7874632B17D5DD840040CFC7 /* SyntaxElementParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntaxElementParser.h; sourceTree = "<group>"; };
     401                7874632C17D5DD840040CFC7 /* TDecBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoder.h; sourceTree = "<group>"; };
     402                7874632D17D5DD840040CFC7 /* TDecBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecBinCoderCABAC.cpp; sourceTree = "<group>"; };
     403                7874632E17D5DD840040CFC7 /* TDecBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecBinCoderCABAC.h; sourceTree = "<group>"; };
     404                7874632F17D5DD840040CFC7 /* TDecCAVLC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCAVLC.cpp; sourceTree = "<group>"; };
     405                7874633017D5DD840040CFC7 /* TDecCAVLC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCAVLC.h; sourceTree = "<group>"; };
     406                7874633117D5DD840040CFC7 /* TDecCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecCu.cpp; sourceTree = "<group>"; };
     407                7874633217D5DD840040CFC7 /* TDecCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecCu.h; sourceTree = "<group>"; };
     408                7874633317D5DD840040CFC7 /* TDecEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecEntropy.cpp; sourceTree = "<group>"; };
     409                7874633417D5DD840040CFC7 /* TDecEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecEntropy.h; sourceTree = "<group>"; };
     410                7874633517D5DD840040CFC7 /* TDecGop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecGop.cpp; sourceTree = "<group>"; };
     411                7874633617D5DD840040CFC7 /* TDecGop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecGop.h; sourceTree = "<group>"; };
     412                7874633717D5DD840040CFC7 /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSbac.cpp; sourceTree = "<group>"; };
     413                7874633817D5DD840040CFC7 /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSbac.h; sourceTree = "<group>"; };
     414                7874633917D5DD840040CFC7 /* TDecSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSlice.cpp; sourceTree = "<group>"; };
     415                7874633A17D5DD840040CFC7 /* TDecSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSlice.h; sourceTree = "<group>"; };
     416                7874633B17D5DD840040CFC7 /* TDecTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecTop.cpp; sourceTree = "<group>"; };
     417                7874633C17D5DD840040CFC7 /* TDecTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecTop.h; sourceTree = "<group>"; };
     418                7874633E17D5DD840040CFC7 /* AnnexBwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBwrite.h; sourceTree = "<group>"; };
     419                7874633F17D5DD840040CFC7 /* NALwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NALwrite.cpp; sourceTree = "<group>"; };
     420                7874634017D5DD840040CFC7 /* NALwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NALwrite.h; sourceTree = "<group>"; };
     421                7874634117D5DD840040CFC7 /* SEIwrite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SEIwrite.cpp; sourceTree = "<group>"; };
     422                7874634217D5DD840040CFC7 /* SEIwrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEIwrite.h; sourceTree = "<group>"; };
     423                7874634317D5DD840040CFC7 /* SyntaxElementWriter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SyntaxElementWriter.cpp; sourceTree = "<group>"; };
     424                7874634417D5DD840040CFC7 /* SyntaxElementWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntaxElementWriter.h; sourceTree = "<group>"; };
     425                7874634517D5DD840040CFC7 /* TEncAnalyze.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncAnalyze.cpp; sourceTree = "<group>"; };
     426                7874634617D5DD840040CFC7 /* TEncAnalyze.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncAnalyze.h; sourceTree = "<group>"; };
     427                7874634717D5DD840040CFC7 /* TEncBinCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoder.h; sourceTree = "<group>"; };
     428                7874634817D5DD840040CFC7 /* TEncBinCoderCABAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABAC.cpp; sourceTree = "<group>"; };
     429                7874634917D5DD840040CFC7 /* TEncBinCoderCABAC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABAC.h; sourceTree = "<group>"; };
     430                7874634A17D5DD840040CFC7 /* TEncBinCoderCABACCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncBinCoderCABACCounter.cpp; sourceTree = "<group>"; };
     431                7874634B17D5DD840040CFC7 /* TEncBinCoderCABACCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncBinCoderCABACCounter.h; sourceTree = "<group>"; };
     432                7874634C17D5DD840040CFC7 /* TEncCavlc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCavlc.cpp; sourceTree = "<group>"; };
     433                7874634D17D5DD840040CFC7 /* TEncCavlc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCavlc.h; sourceTree = "<group>"; };
     434                7874634E17D5DD840040CFC7 /* TEncCfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCfg.h; sourceTree = "<group>"; };
     435                7874634F17D5DD840040CFC7 /* TEncCu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncCu.cpp; sourceTree = "<group>"; };
     436                7874635017D5DD840040CFC7 /* TEncCu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncCu.h; sourceTree = "<group>"; };
     437                7874635117D5DD840040CFC7 /* TEncEntropy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncEntropy.cpp; sourceTree = "<group>"; };
     438                7874635217D5DD840040CFC7 /* TEncEntropy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncEntropy.h; sourceTree = "<group>"; };
     439                7874635317D5DD840040CFC7 /* TEncGOP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncGOP.cpp; sourceTree = "<group>"; };
     440                7874635417D5DD840040CFC7 /* TEncGOP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncGOP.h; sourceTree = "<group>"; };
     441                7874635517D5DD840040CFC7 /* TEncPic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPic.cpp; sourceTree = "<group>"; };
     442                7874635617D5DD840040CFC7 /* TEncPic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPic.h; sourceTree = "<group>"; };
     443                7874635717D5DD840040CFC7 /* TEncPreanalyzer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncPreanalyzer.cpp; sourceTree = "<group>"; };
     444                7874635817D5DD840040CFC7 /* TEncPreanalyzer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncPreanalyzer.h; sourceTree = "<group>"; };
     445                7874635917D5DD840040CFC7 /* TEncRateCtrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncRateCtrl.cpp; sourceTree = "<group>"; };
     446                7874635A17D5DD840040CFC7 /* TEncRateCtrl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncRateCtrl.h; sourceTree = "<group>"; };
     447                7874635B17D5DD840040CFC7 /* TEncSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
     448                7874635C17D5DD840040CFC7 /* TEncSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSampleAdaptiveOffset.h; sourceTree = "<group>"; };
     449                7874635D17D5DD840040CFC7 /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSbac.cpp; sourceTree = "<group>"; };
     450                7874635E17D5DD840040CFC7 /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSbac.h; sourceTree = "<group>"; };
     451                7874635F17D5DD840040CFC7 /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSearch.cpp; sourceTree = "<group>"; };
     452                7874636017D5DD840040CFC7 /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSearch.h; sourceTree = "<group>"; };
     453                7874636117D5DD840040CFC7 /* TEncSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSlice.cpp; sourceTree = "<group>"; };
     454                7874636217D5DD840040CFC7 /* TEncSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSlice.h; sourceTree = "<group>"; };
     455                7874636317D5DD840040CFC7 /* TEncTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncTop.cpp; sourceTree = "<group>"; };
     456                7874636417D5DD840040CFC7 /* TEncTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncTop.h; sourceTree = "<group>"; };
     457                7874636517D5DD840040CFC7 /* WeightPredAnalysis.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WeightPredAnalysis.cpp; sourceTree = "<group>"; };
     458                7874636617D5DD840040CFC7 /* WeightPredAnalysis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeightPredAnalysis.h; sourceTree = "<group>"; };
     459                7874636817D5DD840040CFC7 /* TExtrTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TExtrTop.cpp; sourceTree = "<group>"; };
     460                7874636917D5DD840040CFC7 /* TExtrTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TExtrTop.h; sourceTree = "<group>"; };
     461                7874636B17D5DD840040CFC7 /* TRenFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenFilter.cpp; sourceTree = "<group>"; };
     462                7874636C17D5DD840040CFC7 /* TRenFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenFilter.h; sourceTree = "<group>"; };
     463                7874636D17D5DD840040CFC7 /* TRenImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImage.cpp; sourceTree = "<group>"; };
     464                7874636E17D5DD840040CFC7 /* TRenImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImage.h; sourceTree = "<group>"; };
     465                7874636F17D5DD840040CFC7 /* TRenImagePlane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenImagePlane.cpp; sourceTree = "<group>"; };
     466                7874637017D5DD840040CFC7 /* TRenImagePlane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenImagePlane.h; sourceTree = "<group>"; };
     467                7874637117D5DD840040CFC7 /* TRenInterpFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenInterpFilter.cpp; sourceTree = "<group>"; };
     468                7874637217D5DD840040CFC7 /* TRenInterpFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenInterpFilter.h; sourceTree = "<group>"; };
     469                7874637317D5DD840040CFC7 /* TRenModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModel.cpp; sourceTree = "<group>"; };
     470                7874637417D5DD840040CFC7 /* TRenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModel.h; sourceTree = "<group>"; };
     471                7874637517D5DD840040CFC7 /* TRenModSetupStrParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenModSetupStrParser.cpp; sourceTree = "<group>"; };
     472                7874637617D5DD840040CFC7 /* TRenModSetupStrParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenModSetupStrParser.h; sourceTree = "<group>"; };
     473                7874637717D5DD840040CFC7 /* TRenSingleModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenSingleModel.cpp; sourceTree = "<group>"; };
     474                7874637817D5DD840040CFC7 /* TRenSingleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenSingleModel.h; sourceTree = "<group>"; };
     475                7874637917D5DD840040CFC7 /* TRenTop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TRenTop.cpp; sourceTree = "<group>"; };
     476                7874637A17D5DD840040CFC7 /* TRenTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TRenTop.h; sourceTree = "<group>"; };
     477                7874637C17D5DD840040CFC7 /* TVideoIOYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TVideoIOYuv.cpp; sourceTree = "<group>"; };
     478                7874637D17D5DD840040CFC7 /* TVideoIOYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TVideoIOYuv.h; sourceTree = "<group>"; };
    291479                7885897D15664E3D00982C12 /* libTLibExtractor.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTLibExtractor.a; sourceTree = BUILT_PRODUCTS_DIR; };
    292480                7885899415664E6A00982C12 /* TAppExtractor */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TAppExtractor; sourceTree = BUILT_PRODUCTS_DIR; };
    293481                7894E36714890D9A009259F4 /* libTLibRenderer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTLibRenderer.a; sourceTree = BUILT_PRODUCTS_DIR; };
    294482                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>"; };
    477483                78C593B415872152004401C5 /* libTAppCommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTAppCommon.a; sourceTree = BUILT_PRODUCTS_DIR; };
    478484/* End PBXFileReference section */
     
    615621                        sourceTree = "<group>";
    616622                };
     623                785E596B17D9AFA8001F6DD1 /* TLibStatistics */ = {
     624                        isa = PBXGroup;
     625                        children = (
     626                                785E596C17D9AFA8001F6DD1 /* TStatHeader.cpp */,
     627                                785E596D17D9AFA8001F6DD1 /* TStatHeader.h */,
     628                                785E596E17D9AFA8001F6DD1 /* TStatLayer.cpp */,
     629                                785E596F17D9AFA8001F6DD1 /* TStatLayer.h */,
     630                                785E597017D9AFA8001F6DD1 /* TStatTop.cpp */,
     631                                785E597117D9AFA8001F6DD1 /* TStatTop.h */,
     632                        );
     633                        path = TLibStatistics;
     634                        sourceTree = "<group>";
     635                };
     636                787462BA17D5DD7B0040CFC7 /* TAppDecoder */ = {
     637                        isa = PBXGroup;
     638                        children = (
     639                                787462BB17D5DD7B0040CFC7 /* decmain.cpp */,
     640                                787462BC17D5DD7B0040CFC7 /* TAppDecCfg.cpp */,
     641                                787462BD17D5DD7B0040CFC7 /* TAppDecCfg.h */,
     642                                787462BE17D5DD7B0040CFC7 /* TAppDecTop.cpp */,
     643                                787462BF17D5DD7B0040CFC7 /* TAppDecTop.h */,
     644                        );
     645                        path = TAppDecoder;
     646                        sourceTree = "<group>";
     647                };
     648                787462C017D5DD7B0040CFC7 /* TAppEncoder */ = {
     649                        isa = PBXGroup;
     650                        children = (
     651                                787462C117D5DD7B0040CFC7 /* encmain.cpp */,
     652                                787462C217D5DD7B0040CFC7 /* TAppEncCfg.cpp */,
     653                                787462C317D5DD7B0040CFC7 /* TAppEncCfg.h */,
     654                                787462C417D5DD7B0040CFC7 /* TAppEncTop.cpp */,
     655                                787462C517D5DD7B0040CFC7 /* TAppEncTop.h */,
     656                        );
     657                        path = TAppEncoder;
     658                        sourceTree = "<group>";
     659                };
     660                787462C617D5DD7B0040CFC7 /* TAppExtractor */ = {
     661                        isa = PBXGroup;
     662                        children = (
     663                                787462C717D5DD7B0040CFC7 /* extrmain.cpp */,
     664                                787462C817D5DD7B0040CFC7 /* TAppExtrCfg.cpp */,
     665                                787462C917D5DD7B0040CFC7 /* TAppExtrCfg.h */,
     666                                787462CA17D5DD7B0040CFC7 /* TAppExtrTop.cpp */,
     667                                787462CB17D5DD7B0040CFC7 /* TAppExtrTop.h */,
     668                        );
     669                        path = TAppExtractor;
     670                        sourceTree = "<group>";
     671                };
     672                787462CC17D5DD7B0040CFC7 /* TAppRenderer */ = {
     673                        isa = PBXGroup;
     674                        children = (
     675                                787462CD17D5DD7B0040CFC7 /* RendererMain.cpp */,
     676                                787462CE17D5DD7B0040CFC7 /* TAppRendererCfg.cpp */,
     677                                787462CF17D5DD7B0040CFC7 /* TAppRendererCfg.h */,
     678                                787462D017D5DD7B0040CFC7 /* TAppRendererTop.cpp */,
     679                                787462D117D5DD7B0040CFC7 /* TAppRendererTop.h */,
     680                        );
     681                        path = TAppRenderer;
     682                        sourceTree = "<group>";
     683                };
     684                787462D217D5DD7B0040CFC7 /* utils */ = {
     685                        isa = PBXGroup;
     686                        children = (
     687                                787462D317D5DD7B0040CFC7 /* annexBbytecount.cpp */,
     688                                787462D417D5DD7B0040CFC7 /* BitrateTargeting */,
     689                                787462E117D5DD7B0040CFC7 /* convert_NtoMbit_YCbCr.cpp */,
     690                        );
     691                        path = utils;
     692                        sourceTree = "<group>";
     693                };
     694                787462D417D5DD7B0040CFC7 /* BitrateTargeting */ = {
     695                        isa = PBXGroup;
     696                        children = (
     697                                787462D517D5DD7B0040CFC7 /* encode.shl */,
     698                                787462D617D5DD7B0040CFC7 /* encodeCommand.sh */,
     699                                787462D717D5DD7B0040CFC7 /* ExtractBitrates.cpp */,
     700                                787462D817D5DD7B0040CFC7 /* ExtractBitrates.h */,
     701                                787462D917D5DD7B0040CFC7 /* ExtractBitratesMain.cpp */,
     702                                787462DA17D5DD7B0040CFC7 /* GuessLambdaModifiers.cpp */,
     703                                787462DB17D5DD7B0040CFC7 /* GuessLambdaModifiers.h */,
     704                                787462DC17D5DD7B0040CFC7 /* GuessLambdaModifiersMain.cpp */,
     705                                787462DD17D5DD7B0040CFC7 /* makefile */,
     706                                787462DE17D5DD7B0040CFC7 /* QuickStartGuide.pdf */,
     707                                787462DF17D5DD7B0040CFC7 /* RuntimeError.h */,
     708                                787462E017D5DD7B0040CFC7 /* targetBitrates.sh */,
     709                        );
     710                        path = BitrateTargeting;
     711                        sourceTree = "<group>";
     712                };
     713                787462E217D5DD840040CFC7 /* libmd5 */ = {
     714                        isa = PBXGroup;
     715                        children = (
     716                                787462E317D5DD840040CFC7 /* libmd5.c */,
     717                                787462E417D5DD840040CFC7 /* libmd5.h */,
     718                                787462E517D5DD840040CFC7 /* MD5.h */,
     719                        );
     720                        path = libmd5;
     721                        sourceTree = "<group>";
     722                };
     723                787462E617D5DD840040CFC7 /* TAppCommon */ = {
     724                        isa = PBXGroup;
     725                        children = (
     726                                787462E717D5DD840040CFC7 /* program_options_lite.cpp */,
     727                                787462E817D5DD840040CFC7 /* program_options_lite.h */,
     728                                787462E917D5DD840040CFC7 /* TAppComCamPara.cpp */,
     729                                787462EA17D5DD840040CFC7 /* TAppComCamPara.h */,
     730                        );
     731                        path = TAppCommon;
     732                        sourceTree = "<group>";
     733                };
     734                787462EB17D5DD840040CFC7 /* TLibCommon */ = {
     735                        isa = PBXGroup;
     736                        children = (
     737                                787462EC17D5DD840040CFC7 /* AccessUnit.h */,
     738                                787462ED17D5DD840040CFC7 /* CommonDef.h */,
     739                                787462EE17D5DD840040CFC7 /* ContextModel.cpp */,
     740                                787462EF17D5DD840040CFC7 /* ContextModel.h */,
     741                                787462F017D5DD840040CFC7 /* ContextModel3DBuffer.cpp */,
     742                                787462F117D5DD840040CFC7 /* ContextModel3DBuffer.h */,
     743                                787462F217D5DD840040CFC7 /* ContextTables.h */,
     744                                787462F317D5DD840040CFC7 /* NAL.h */,
     745                                787462F417D5DD840040CFC7 /* SEI.cpp */,
     746                                787462F517D5DD840040CFC7 /* SEI.h */,
     747                                787462F617D5DD840040CFC7 /* TComBitCounter.h */,
     748                                787462F717D5DD840040CFC7 /* TComBitStream.cpp */,
     749                                787462F817D5DD840040CFC7 /* TComBitStream.h */,
     750                                787462F917D5DD840040CFC7 /* TComCABACTables.cpp */,
     751                                787462FA17D5DD840040CFC7 /* TComCABACTables.h */,
     752                                787462FB17D5DD840040CFC7 /* TComDataCU.cpp */,
     753                                787462FC17D5DD840040CFC7 /* TComDataCU.h */,
     754                                787462FD17D5DD840040CFC7 /* TComInterpolationFilter.cpp */,
     755                                787462FE17D5DD840040CFC7 /* TComInterpolationFilter.h */,
     756                                787462FF17D5DD840040CFC7 /* TComList.h */,
     757                                7874630017D5DD840040CFC7 /* TComLoopFilter.cpp */,
     758                                7874630117D5DD840040CFC7 /* TComLoopFilter.h */,
     759                                7874630217D5DD840040CFC7 /* TComMotionInfo.cpp */,
     760                                7874630317D5DD840040CFC7 /* TComMotionInfo.h */,
     761                                7874630417D5DD840040CFC7 /* TComMv.h */,
     762                                7874630517D5DD840040CFC7 /* TComPattern.cpp */,
     763                                7874630617D5DD840040CFC7 /* TComPattern.h */,
     764                                7874630717D5DD840040CFC7 /* TComPic.cpp */,
     765                                7874630817D5DD840040CFC7 /* TComPic.h */,
     766                                7874630917D5DD840040CFC7 /* TComPicSym.cpp */,
     767                                7874630A17D5DD840040CFC7 /* TComPicSym.h */,
     768                                7874630B17D5DD840040CFC7 /* TComPicYuv.cpp */,
     769                                7874630C17D5DD840040CFC7 /* TComPicYuv.h */,
     770                                7874630D17D5DD840040CFC7 /* TComPicYuvMD5.cpp */,
     771                                7874630E17D5DD840040CFC7 /* TComPrediction.cpp */,
     772                                7874630F17D5DD840040CFC7 /* TComPrediction.h */,
     773                                7874631017D5DD840040CFC7 /* TComRdCost.cpp */,
     774                                7874631117D5DD840040CFC7 /* TComRdCost.h */,
     775                                7874631217D5DD840040CFC7 /* TComRdCostWeightPrediction.cpp */,
     776                                7874631317D5DD840040CFC7 /* TComRdCostWeightPrediction.h */,
     777                                7874631417D5DD840040CFC7 /* TComRom.cpp */,
     778                                7874631517D5DD840040CFC7 /* TComRom.h */,
     779                                7874631617D5DD840040CFC7 /* TComSampleAdaptiveOffset.cpp */,
     780                                7874631717D5DD840040CFC7 /* TComSampleAdaptiveOffset.h */,
     781                                7874631817D5DD840040CFC7 /* TComSlice.cpp */,
     782                                7874631917D5DD840040CFC7 /* TComSlice.h */,
     783                                7874631A17D5DD840040CFC7 /* TComTrQuant.cpp */,
     784                                7874631B17D5DD840040CFC7 /* TComTrQuant.h */,
     785                                7874631C17D5DD840040CFC7 /* TComWedgelet.cpp */,
     786                                7874631D17D5DD840040CFC7 /* TComWedgelet.h */,
     787                                7874631E17D5DD840040CFC7 /* TComWeightPrediction.cpp */,
     788                                7874631F17D5DD840040CFC7 /* TComWeightPrediction.h */,
     789                                7874632017D5DD840040CFC7 /* TComYuv.cpp */,
     790                                7874632117D5DD840040CFC7 /* TComYuv.h */,
     791                                7874632217D5DD840040CFC7 /* TypeDef.h */,
     792                        );
     793                        path = TLibCommon;
     794                        sourceTree = "<group>";
     795                };
     796                7874632317D5DD840040CFC7 /* TLibDecoder */ = {
     797                        isa = PBXGroup;
     798                        children = (
     799                                7874632417D5DD840040CFC7 /* AnnexBread.cpp */,
     800                                7874632517D5DD840040CFC7 /* AnnexBread.h */,
     801                                7874632617D5DD840040CFC7 /* NALread.cpp */,
     802                                7874632717D5DD840040CFC7 /* NALread.h */,
     803                                7874632817D5DD840040CFC7 /* SEIread.cpp */,
     804                                7874632917D5DD840040CFC7 /* SEIread.h */,
     805                                7874632A17D5DD840040CFC7 /* SyntaxElementParser.cpp */,
     806                                7874632B17D5DD840040CFC7 /* SyntaxElementParser.h */,
     807                                7874632C17D5DD840040CFC7 /* TDecBinCoder.h */,
     808                                7874632D17D5DD840040CFC7 /* TDecBinCoderCABAC.cpp */,
     809                                7874632E17D5DD840040CFC7 /* TDecBinCoderCABAC.h */,
     810                                7874632F17D5DD840040CFC7 /* TDecCAVLC.cpp */,
     811                                7874633017D5DD840040CFC7 /* TDecCAVLC.h */,
     812                                7874633117D5DD840040CFC7 /* TDecCu.cpp */,
     813                                7874633217D5DD840040CFC7 /* TDecCu.h */,
     814                                7874633317D5DD840040CFC7 /* TDecEntropy.cpp */,
     815                                7874633417D5DD840040CFC7 /* TDecEntropy.h */,
     816                                7874633517D5DD840040CFC7 /* TDecGop.cpp */,
     817                                7874633617D5DD840040CFC7 /* TDecGop.h */,
     818                                7874633717D5DD840040CFC7 /* TDecSbac.cpp */,
     819                                7874633817D5DD840040CFC7 /* TDecSbac.h */,
     820                                7874633917D5DD840040CFC7 /* TDecSlice.cpp */,
     821                                7874633A17D5DD840040CFC7 /* TDecSlice.h */,
     822                                7874633B17D5DD840040CFC7 /* TDecTop.cpp */,
     823                                7874633C17D5DD840040CFC7 /* TDecTop.h */,
     824                        );
     825                        path = TLibDecoder;
     826                        sourceTree = "<group>";
     827                };
     828                7874633D17D5DD840040CFC7 /* TLibEncoder */ = {
     829                        isa = PBXGroup;
     830                        children = (
     831                                7874633E17D5DD840040CFC7 /* AnnexBwrite.h */,
     832                                7874633F17D5DD840040CFC7 /* NALwrite.cpp */,
     833                                7874634017D5DD840040CFC7 /* NALwrite.h */,
     834                                7874634117D5DD840040CFC7 /* SEIwrite.cpp */,
     835                                7874634217D5DD840040CFC7 /* SEIwrite.h */,
     836                                7874634317D5DD840040CFC7 /* SyntaxElementWriter.cpp */,
     837                                7874634417D5DD840040CFC7 /* SyntaxElementWriter.h */,
     838                                7874634517D5DD840040CFC7 /* TEncAnalyze.cpp */,
     839                                7874634617D5DD840040CFC7 /* TEncAnalyze.h */,
     840                                7874634717D5DD840040CFC7 /* TEncBinCoder.h */,
     841                                7874634817D5DD840040CFC7 /* TEncBinCoderCABAC.cpp */,
     842                                7874634917D5DD840040CFC7 /* TEncBinCoderCABAC.h */,
     843                                7874634A17D5DD840040CFC7 /* TEncBinCoderCABACCounter.cpp */,
     844                                7874634B17D5DD840040CFC7 /* TEncBinCoderCABACCounter.h */,
     845                                7874634C17D5DD840040CFC7 /* TEncCavlc.cpp */,
     846                                7874634D17D5DD840040CFC7 /* TEncCavlc.h */,
     847                                7874634E17D5DD840040CFC7 /* TEncCfg.h */,
     848                                7874634F17D5DD840040CFC7 /* TEncCu.cpp */,
     849                                7874635017D5DD840040CFC7 /* TEncCu.h */,
     850                                7874635117D5DD840040CFC7 /* TEncEntropy.cpp */,
     851                                7874635217D5DD840040CFC7 /* TEncEntropy.h */,
     852                                7874635317D5DD840040CFC7 /* TEncGOP.cpp */,
     853                                7874635417D5DD840040CFC7 /* TEncGOP.h */,
     854                                7874635517D5DD840040CFC7 /* TEncPic.cpp */,
     855                                7874635617D5DD840040CFC7 /* TEncPic.h */,
     856                                7874635717D5DD840040CFC7 /* TEncPreanalyzer.cpp */,
     857                                7874635817D5DD840040CFC7 /* TEncPreanalyzer.h */,
     858                                7874635917D5DD840040CFC7 /* TEncRateCtrl.cpp */,
     859                                7874635A17D5DD840040CFC7 /* TEncRateCtrl.h */,
     860                                7874635B17D5DD840040CFC7 /* TEncSampleAdaptiveOffset.cpp */,
     861                                7874635C17D5DD840040CFC7 /* TEncSampleAdaptiveOffset.h */,
     862                                7874635D17D5DD840040CFC7 /* TEncSbac.cpp */,
     863                                7874635E17D5DD840040CFC7 /* TEncSbac.h */,
     864                                7874635F17D5DD840040CFC7 /* TEncSearch.cpp */,
     865                                7874636017D5DD840040CFC7 /* TEncSearch.h */,
     866                                7874636117D5DD840040CFC7 /* TEncSlice.cpp */,
     867                                7874636217D5DD840040CFC7 /* TEncSlice.h */,
     868                                7874636317D5DD840040CFC7 /* TEncTop.cpp */,
     869                                7874636417D5DD840040CFC7 /* TEncTop.h */,
     870                                7874636517D5DD840040CFC7 /* WeightPredAnalysis.cpp */,
     871                                7874636617D5DD840040CFC7 /* WeightPredAnalysis.h */,
     872                        );
     873                        path = TLibEncoder;
     874                        sourceTree = "<group>";
     875                };
     876                7874636717D5DD840040CFC7 /* TLibExtractor */ = {
     877                        isa = PBXGroup;
     878                        children = (
     879                                7874636817D5DD840040CFC7 /* TExtrTop.cpp */,
     880                                7874636917D5DD840040CFC7 /* TExtrTop.h */,
     881                        );
     882                        path = TLibExtractor;
     883                        sourceTree = "<group>";
     884                };
     885                7874636A17D5DD840040CFC7 /* TLibRenderer */ = {
     886                        isa = PBXGroup;
     887                        children = (
     888                                7874636B17D5DD840040CFC7 /* TRenFilter.cpp */,
     889                                7874636C17D5DD840040CFC7 /* TRenFilter.h */,
     890                                7874636D17D5DD840040CFC7 /* TRenImage.cpp */,
     891                                7874636E17D5DD840040CFC7 /* TRenImage.h */,
     892                                7874636F17D5DD840040CFC7 /* TRenImagePlane.cpp */,
     893                                7874637017D5DD840040CFC7 /* TRenImagePlane.h */,
     894                                7874637117D5DD840040CFC7 /* TRenInterpFilter.cpp */,
     895                                7874637217D5DD840040CFC7 /* TRenInterpFilter.h */,
     896                                7874637317D5DD840040CFC7 /* TRenModel.cpp */,
     897                                7874637417D5DD840040CFC7 /* TRenModel.h */,
     898                                7874637517D5DD840040CFC7 /* TRenModSetupStrParser.cpp */,
     899                                7874637617D5DD840040CFC7 /* TRenModSetupStrParser.h */,
     900                                7874637717D5DD840040CFC7 /* TRenSingleModel.cpp */,
     901                                7874637817D5DD840040CFC7 /* TRenSingleModel.h */,
     902                                7874637917D5DD840040CFC7 /* TRenTop.cpp */,
     903                                7874637A17D5DD840040CFC7 /* TRenTop.h */,
     904                        );
     905                        path = TLibRenderer;
     906                        sourceTree = "<group>";
     907                };
     908                7874637B17D5DD840040CFC7 /* TLibVideoIO */ = {
     909                        isa = PBXGroup;
     910                        children = (
     911                                7874637C17D5DD840040CFC7 /* TVideoIOYuv.cpp */,
     912                                7874637D17D5DD840040CFC7 /* TVideoIOYuv.h */,
     913                        );
     914                        path = TLibVideoIO;
     915                        sourceTree = "<group>";
     916                };
    617917                78C592E7158720BB004401C5 /* App */ = {
    618918                        isa = PBXGroup;
    619919                        children = (
    620                                 78C592E8158720BB004401C5 /* TAppDecoder */,
    621                                 78C592EE158720BB004401C5 /* TAppEncoder */,
    622                                 78C592F4158720BB004401C5 /* TAppExtractor */,
    623                                 78C592FA158720BB004401C5 /* TAppRenderer */,
    624                                 78C59300158720BB004401C5 /* utils */,
     920                                787462BA17D5DD7B0040CFC7 /* TAppDecoder */,
     921                                787462C017D5DD7B0040CFC7 /* TAppEncoder */,
     922                                787462C617D5DD7B0040CFC7 /* TAppExtractor */,
     923                                787462CC17D5DD7B0040CFC7 /* TAppRenderer */,
     924                                787462D217D5DD7B0040CFC7 /* utils */,
    625925                        );
    626926                        name = App;
     
    628928                        sourceTree = "<group>";
    629929                };
    630                 78C592E8158720BB004401C5 /* TAppDecoder */ = {
    631                         isa = PBXGroup;
    632                         children = (
    633                                 78C592E9158720BB004401C5 /* decmain.cpp */,
    634                                 78C592EA158720BB004401C5 /* TAppDecCfg.cpp */,
    635                                 78C592EB158720BB004401C5 /* TAppDecCfg.h */,
    636                                 78C592EC158720BB004401C5 /* TAppDecTop.cpp */,
    637                                 78C592ED158720BB004401C5 /* TAppDecTop.h */,
    638                         );
    639                         path = TAppDecoder;
    640                         sourceTree = "<group>";
    641                 };
    642                 78C592EE158720BB004401C5 /* TAppEncoder */ = {
    643                         isa = PBXGroup;
    644                         children = (
    645                                 78C592EF158720BB004401C5 /* encmain.cpp */,
    646                                 78C592F0158720BB004401C5 /* TAppEncCfg.cpp */,
    647                                 78C592F1158720BB004401C5 /* TAppEncCfg.h */,
    648                                 78C592F2158720BB004401C5 /* TAppEncTop.cpp */,
    649                                 78C592F3158720BB004401C5 /* TAppEncTop.h */,
    650                         );
    651                         path = TAppEncoder;
    652                         sourceTree = "<group>";
    653                 };
    654                 78C592F4158720BB004401C5 /* TAppExtractor */ = {
    655                         isa = PBXGroup;
    656                         children = (
    657                                 78C592F5158720BB004401C5 /* extrmain.cpp */,
    658                                 78C592F6158720BB004401C5 /* TAppExtrCfg.cpp */,
    659                                 78C592F7158720BB004401C5 /* TAppExtrCfg.h */,
    660                                 78C592F8158720BB004401C5 /* TAppExtrTop.cpp */,
    661                                 78C592F9158720BB004401C5 /* TAppExtrTop.h */,
    662                         );
    663                         path = TAppExtractor;
    664                         sourceTree = "<group>";
    665                 };
    666                 78C592FA158720BB004401C5 /* TAppRenderer */ = {
    667                         isa = PBXGroup;
    668                         children = (
    669                                 78C592FB158720BB004401C5 /* RendererMain.cpp */,
    670                                 78C592FC158720BB004401C5 /* TAppRendererCfg.cpp */,
    671                                 78C592FD158720BB004401C5 /* TAppRendererCfg.h */,
    672                                 78C592FE158720BB004401C5 /* TAppRendererTop.cpp */,
    673                                 78C592FF158720BB004401C5 /* TAppRendererTop.h */,
    674                         );
    675                         path = TAppRenderer;
    676                         sourceTree = "<group>";
    677                 };
    678                 78C59300158720BB004401C5 /* utils */ = {
    679                         isa = PBXGroup;
    680                         children = (
    681                                 78C59301158720BB004401C5 /* annexBbytecount.cpp */,
    682                                 78C59302158720BB004401C5 /* BitrateTargeting */,
    683                                 78C5930F158720BB004401C5 /* convert_NtoMbit_YCbCr.cpp */,
    684                         );
    685                         path = utils;
    686                         sourceTree = "<group>";
    687                 };
    688                 78C59302158720BB004401C5 /* BitrateTargeting */ = {
    689                         isa = PBXGroup;
    690                         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 */,
    703                         );
    704                         path = BitrateTargeting;
    705                         sourceTree = "<group>";
    706                 };
    707930                78C59310158720BB004401C5 /* Lib */ = {
    708931                        isa = PBXGroup;
    709932                        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 */,
     933                                787462E217D5DD840040CFC7 /* libmd5 */,
     934                                787462E617D5DD840040CFC7 /* TAppCommon */,
     935                                787462EB17D5DD840040CFC7 /* TLibCommon */,
     936                                7874632317D5DD840040CFC7 /* TLibDecoder */,
     937                                7874633D17D5DD840040CFC7 /* TLibEncoder */,
     938                                7874636717D5DD840040CFC7 /* TLibExtractor */,
     939                                7874636A17D5DD840040CFC7 /* TLibRenderer */,
     940                                7874637B17D5DD840040CFC7 /* TLibVideoIO */,
     941                                785E596B17D9AFA8001F6DD1 /* TLibStatistics */,
    718942                        );
    719943                        name = Lib;
    720944                        path = source/Lib;
    721                         sourceTree = "<group>";
    722                 };
    723                 78C59311158720BB004401C5 /* libmd5 */ = {
    724                         isa = PBXGroup;
    725                         children = (
    726                                 78C59312158720BB004401C5 /* libmd5.c */,
    727                                 78C59313158720BB004401C5 /* libmd5.h */,
    728                                 78C59314158720BB004401C5 /* MD5.h */,
    729                         );
    730                         path = libmd5;
    731                         sourceTree = "<group>";
    732                 };
    733                 78C59315158720BB004401C5 /* TAppCommon */ = {
    734                         isa = PBXGroup;
    735                         children = (
    736                                 78C59316158720BB004401C5 /* program_options_lite.cpp */,
    737                                 78C59317158720BB004401C5 /* program_options_lite.h */,
    738                                 78C59318158720BB004401C5 /* TAppComCamPara.cpp */,
    739                                 78C59319158720BB004401C5 /* TAppComCamPara.h */,
    740                         );
    741                         path = TAppCommon;
    742                         sourceTree = "<group>";
    743                 };
    744                 78C5931A158720BB004401C5 /* TLibCommon */ = {
    745                         isa = PBXGroup;
    746                         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 */,
    807                         );
    808                         path = TLibCommon;
    809                         sourceTree = "<group>";
    810                 };
    811                 78C59357158720BB004401C5 /* TLibDecoder */ = {
    812                         isa = PBXGroup;
    813                         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 */,
    837                         );
    838                         path = TLibDecoder;
    839                         sourceTree = "<group>";
    840                 };
    841                 78C5936F158720BB004401C5 /* TLibEncoder */ = {
    842                         isa = PBXGroup;
    843                         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 */,
    882                         );
    883                         path = TLibEncoder;
    884                         sourceTree = "<group>";
    885                 };
    886                 78C59396158720BB004401C5 /* TLibExtractor */ = {
    887                         isa = PBXGroup;
    888                         children = (
    889                                 78C59397158720BB004401C5 /* TExtrTop.cpp */,
    890                                 78C59398158720BB004401C5 /* TExtrTop.h */,
    891                         );
    892                         path = TLibExtractor;
    893                         sourceTree = "<group>";
    894                 };
    895                 78C59399158720BB004401C5 /* TLibRenderer */ = {
    896                         isa = PBXGroup;
    897                         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 */,
    914                         );
    915                         path = TLibRenderer;
    916                         sourceTree = "<group>";
    917                 };
    918                 78C593AA158720BB004401C5 /* TLibVideoIO */ = {
    919                         isa = PBXGroup;
    920                         children = (
    921                                 78C593AB158720BB004401C5 /* TVideoIOYuv.cpp */,
    922                                 78C593AC158720BB004401C5 /* TVideoIOYuv.h */,
    923                         );
    924                         path = TLibVideoIO;
    925945                        sourceTree = "<group>";
    926946                };
     
    11881208                        attributes = {
    11891209                                BuildIndependentTargetsInParallel = YES;
    1190                                 LastUpgradeCheck = 0430;
     1210                                LastUpgradeCheck = 0500;
    11911211                        };
    11921212                        buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "HTM" */;
     
    12251245                        buildActionMask = 2147483647;
    12261246                        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 */,
     1247                                7874639417D5DE070040CFC7 /* TComPrediction.cpp in Sources */,
     1248                                7874639517D5DE070040CFC7 /* TComRdCost.cpp in Sources */,
     1249                                7874639617D5DE070040CFC7 /* TComRdCostWeightPrediction.cpp in Sources */,
     1250                                7874639717D5DE070040CFC7 /* TComRom.cpp in Sources */,
     1251                                7874639817D5DE070040CFC7 /* TComSampleAdaptiveOffset.cpp in Sources */,
     1252                                7874639917D5DE070040CFC7 /* TComSlice.cpp in Sources */,
     1253                                7874639A17D5DE070040CFC7 /* TComTrQuant.cpp in Sources */,
     1254                                7874639B17D5DE070040CFC7 /* TComWedgelet.cpp in Sources */,
     1255                                7874639C17D5DE070040CFC7 /* TComWeightPrediction.cpp in Sources */,
     1256                                7874639D17D5DE070040CFC7 /* TComYuv.cpp in Sources */,
     1257                                7874639E17D5DE230040CFC7 /* TComMotionInfo.cpp in Sources */,
     1258                                7874639F17D5DE230040CFC7 /* TComPattern.cpp in Sources */,
     1259                                787463A017D5DE230040CFC7 /* TComPic.cpp in Sources */,
     1260                                787463A117D5DE230040CFC7 /* TComPicSym.cpp in Sources */,
     1261                                787463A217D5DE230040CFC7 /* TComPicYuv.cpp in Sources */,
     1262                                787463A317D5DE230040CFC7 /* TComPicYuvMD5.cpp in Sources */,
     1263                                787463A417D5DE400040CFC7 /* TComCABACTables.cpp in Sources */,
     1264                                787463A517D5DE400040CFC7 /* TComDataCU.cpp in Sources */,
     1265                                787463A617D5DE400040CFC7 /* TComInterpolationFilter.cpp in Sources */,
     1266                                787463A717D5DE400040CFC7 /* TComLoopFilter.cpp in Sources */,
     1267                                787463A817D5DE4B0040CFC7 /* TComBitStream.cpp in Sources */,
     1268                                787463A917D5DE640040CFC7 /* ContextModel.cpp in Sources */,
     1269                                787463AA17D5DE640040CFC7 /* ContextModel3DBuffer.cpp in Sources */,
     1270                                787463AB17D5DE640040CFC7 /* SEI.cpp in Sources */,
     1271                                787463B717D5DED40040CFC7 /* libmd5.c in Sources */,
    12531272                        );
    12541273                        runOnlyForDeploymentPostprocessing = 0;
     
    12581277                        buildActionMask = 2147483647;
    12591278                        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 */,
     1279                                787463B817D5DEE80040CFC7 /* AnnexBread.cpp in Sources */,
     1280                                787463B917D5DEE80040CFC7 /* NALread.cpp in Sources */,
     1281                                787463BA17D5DEE80040CFC7 /* SEIread.cpp in Sources */,
     1282                                787463BB17D5DEE80040CFC7 /* SyntaxElementParser.cpp in Sources */,
     1283                                787463BC17D5DEE80040CFC7 /* TDecBinCoderCABAC.cpp in Sources */,
     1284                                787463BD17D5DEE80040CFC7 /* TDecCAVLC.cpp in Sources */,
     1285                                787463BE17D5DEE80040CFC7 /* TDecCu.cpp in Sources */,
     1286                                787463BF17D5DEE80040CFC7 /* TDecEntropy.cpp in Sources */,
     1287                                787463C017D5DEE80040CFC7 /* TDecGop.cpp in Sources */,
     1288                                787463C117D5DEE80040CFC7 /* TDecSbac.cpp in Sources */,
     1289                                787463C217D5DEE80040CFC7 /* TDecSlice.cpp in Sources */,
     1290                                787463C317D5DEE80040CFC7 /* TDecTop.cpp in Sources */,
    12711291                        );
    12721292                        runOnlyForDeploymentPostprocessing = 0;
     
    12761296                        buildActionMask = 2147483647;
    12771297                        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 */,
     1298                                7874638117D5DDA60040CFC7 /* NALwrite.cpp in Sources */,
     1299                                7874638217D5DDA60040CFC7 /* SEIwrite.cpp in Sources */,
     1300                                7874638317D5DDA60040CFC7 /* SyntaxElementWriter.cpp in Sources */,
     1301                                7874638417D5DDA60040CFC7 /* TEncAnalyze.cpp in Sources */,
     1302                                7874638517D5DDA60040CFC7 /* TEncBinCoderCABAC.cpp in Sources */,
     1303                                7874638617D5DDA60040CFC7 /* TEncBinCoderCABACCounter.cpp in Sources */,
     1304                                7874638717D5DDA60040CFC7 /* TEncCavlc.cpp in Sources */,
     1305                                7874638817D5DDA60040CFC7 /* TEncCu.cpp in Sources */,
     1306                                7874638917D5DDA60040CFC7 /* TEncEntropy.cpp in Sources */,
     1307                                7874638A17D5DDA60040CFC7 /* TEncGOP.cpp in Sources */,
     1308                                7874638B17D5DDA60040CFC7 /* TEncPic.cpp in Sources */,
     1309                                7874638C17D5DDA60040CFC7 /* TEncPreanalyzer.cpp in Sources */,
     1310                                7874638D17D5DDA60040CFC7 /* TEncRateCtrl.cpp in Sources */,
     1311                                7874638E17D5DDA60040CFC7 /* TEncSampleAdaptiveOffset.cpp in Sources */,
     1312                                7874638F17D5DDA60040CFC7 /* TEncSbac.cpp in Sources */,
     1313                                7874639017D5DDA60040CFC7 /* TEncSearch.cpp in Sources */,
     1314                                7874639117D5DDA60040CFC7 /* TEncSlice.cpp in Sources */,
     1315                                7874639217D5DDA60040CFC7 /* TEncTop.cpp in Sources */,
     1316                                7874639317D5DDA60040CFC7 /* WeightPredAnalysis.cpp in Sources */,
    12951317                        );
    12961318                        runOnlyForDeploymentPostprocessing = 0;
     
    13001322                        buildActionMask = 2147483647;
    13011323                        files = (
    1302                                 78C593F6158721E9004401C5 /* TVideoIOYuv.cpp in Sources */,
     1324                                787463AC17D5DE8A0040CFC7 /* TVideoIOYuv.cpp in Sources */,
    13031325                        );
    13041326                        runOnlyForDeploymentPostprocessing = 0;
     
    13081330                        buildActionMask = 2147483647;
    13091331                        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 */,
     1332                                7874637E17D5DD900040CFC7 /* encmain.cpp in Sources */,
     1333                                7874637F17D5DD900040CFC7 /* TAppEncCfg.cpp in Sources */,
     1334                                7874638017D5DD900040CFC7 /* TAppEncTop.cpp in Sources */,
    13141335                        );
    13151336                        runOnlyForDeploymentPostprocessing = 0;
     
    13191340                        buildActionMask = 2147483647;
    13201341                        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 */,
     1342                                787463C417D5DEFB0040CFC7 /* decmain.cpp in Sources */,
     1343                                787463C517D5DEFB0040CFC7 /* TAppDecCfg.cpp in Sources */,
     1344                                787463C617D5DEFB0040CFC7 /* TAppDecTop.cpp in Sources */,
    13251345                        );
    13261346                        runOnlyForDeploymentPostprocessing = 0;
     
    13301350                        buildActionMask = 2147483647;
    13311351                        files = (
    1332                                 78C593ED158721D7004401C5 /* TExtrTop.cpp in Sources */,
     1352                                787463CD17D5DF220040CFC7 /* TExtrTop.cpp in Sources */,
    13331353                        );
    13341354                        runOnlyForDeploymentPostprocessing = 0;
     
    13381358                        buildActionMask = 2147483647;
    13391359                        files = (
    1340                                 78C593FD158721FC004401C5 /* extrmain.cpp in Sources */,
    1341                                 78C593FE158721FC004401C5 /* TAppExtrCfg.cpp in Sources */,
    1342                                 78C593FF158721FC004401C5 /* TAppExtrTop.cpp in Sources */,
     1360                                787463C717D5DF080040CFC7 /* extrmain.cpp in Sources */,
     1361                                787463C817D5DF080040CFC7 /* TAppExtrCfg.cpp in Sources */,
     1362                                787463C917D5DF080040CFC7 /* TAppExtrTop.cpp in Sources */,
    13431363                        );
    13441364                        runOnlyForDeploymentPostprocessing = 0;
     
    13481368                        buildActionMask = 2147483647;
    13491369                        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 */,
     1370                                787463AD17D5DE980040CFC7 /* TRenFilter.cpp in Sources */,
     1371                                787463AE17D5DE980040CFC7 /* TRenImage.cpp in Sources */,
     1372                                787463AF17D5DE980040CFC7 /* TRenImagePlane.cpp in Sources */,
     1373                                787463B017D5DE980040CFC7 /* TRenInterpFilter.cpp in Sources */,
     1374                                787463B117D5DE9D0040CFC7 /* TRenModel.cpp in Sources */,
     1375                                787463B217D5DE9D0040CFC7 /* TRenModSetupStrParser.cpp in Sources */,
     1376                                787463B317D5DE9D0040CFC7 /* TRenSingleModel.cpp in Sources */,
     1377                                787463B417D5DE9D0040CFC7 /* TRenTop.cpp in Sources */,
    13581378                        );
    13591379                        runOnlyForDeploymentPostprocessing = 0;
     
    13631383                        buildActionMask = 2147483647;
    13641384                        files = (
    1365                                 78C5940015872201004401C5 /* RendererMain.cpp in Sources */,
    1366                                 78C5940115872201004401C5 /* TAppRendererCfg.cpp in Sources */,
    1367                                 78C5940215872201004401C5 /* TAppRendererTop.cpp in Sources */,
     1385                                787463CA17D5DF0E0040CFC7 /* RendererMain.cpp in Sources */,
     1386                                787463CB17D5DF0E0040CFC7 /* TAppRendererCfg.cpp in Sources */,
     1387                                787463CC17D5DF0E0040CFC7 /* TAppRendererTop.cpp in Sources */,
    13681388                        );
    13691389                        runOnlyForDeploymentPostprocessing = 0;
     
    13731393                        buildActionMask = 2147483647;
    13741394                        files = (
    1375                                 78C593CF158721AD004401C5 /* program_options_lite.cpp in Sources */,
    1376                                 78C593D0158721AD004401C5 /* TAppComCamPara.cpp in Sources */,
     1395                                787463B517D5DEAF0040CFC7 /* program_options_lite.cpp in Sources */,
     1396                                787463B617D5DEAF0040CFC7 /* TAppComCamPara.cpp in Sources */,
    13771397                        );
    13781398                        runOnlyForDeploymentPostprocessing = 0;
     
    14971517                        isa = XCBuildConfiguration;
    14981518                        buildSettings = {
    1499                                 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
    15001519                                GCC_OPTIMIZATION_LEVEL = 0;
    1501                                 GCC_VERSION = com.apple.compilers.llvmgcc42;
    15021520                                GCC_WARN_ABOUT_RETURN_TYPE = YES;
    15031521                                GCC_WARN_UNUSED_VARIABLE = YES;
     
    15121530                        isa = XCBuildConfiguration;
    15131531                        buildSettings = {
    1514                                 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
    15151532                                GCC_OPTIMIZATION_LEVEL = s;
    1516                                 GCC_VERSION = com.apple.compilers.llvmgcc42;
    15171533                                GCC_WARN_ABOUT_RETURN_TYPE = YES;
    15181534                                GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
     
    15271543                        isa = XCBuildConfiguration;
    15281544                        buildSettings = {
     1545                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15291546                                INSTALL_PATH = /usr/local/lib;
    15301547                                PRODUCT_NAME = TLibCommon;
     
    15351552                        isa = XCBuildConfiguration;
    15361553                        buildSettings = {
     1554                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15371555                                INSTALL_PATH = /usr/local/lib;
    15381556                                PRODUCT_NAME = TLibCommon;
     
    15431561                        isa = XCBuildConfiguration;
    15441562                        buildSettings = {
     1563                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15451564                                INSTALL_PATH = /usr/local/lib;
    15461565                                PRODUCT_NAME = TLibDecoder;
     
    15511570                        isa = XCBuildConfiguration;
    15521571                        buildSettings = {
     1572                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15531573                                INSTALL_PATH = /usr/local/lib;
    15541574                                PRODUCT_NAME = TLibDecoder;
     
    15591579                        isa = XCBuildConfiguration;
    15601580                        buildSettings = {
     1581                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15611582                                INSTALL_PATH = /usr/local/lib;
    15621583                                PRODUCT_NAME = TLibEncoder;
     
    15671588                        isa = XCBuildConfiguration;
    15681589                        buildSettings = {
     1590                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15691591                                INSTALL_PATH = /usr/local/lib;
    15701592                                PRODUCT_NAME = TLibEncoder;
     
    15751597                        isa = XCBuildConfiguration;
    15761598                        buildSettings = {
     1599                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15771600                                INSTALL_PATH = /usr/local/lib;
    15781601                                PRODUCT_NAME = TLibVideoIO;
     
    15831606                        isa = XCBuildConfiguration;
    15841607                        buildSettings = {
     1608                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15851609                                INSTALL_PATH = /usr/local/lib;
    15861610                                PRODUCT_NAME = TLibVideoIO;
     
    15911615                        isa = XCBuildConfiguration;
    15921616                        buildSettings = {
     1617                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    15931618                                INSTALL_PATH = /usr/local/bin;
    15941619                                PRODUCT_NAME = TAppEncoder;
     
    15991624                        isa = XCBuildConfiguration;
    16001625                        buildSettings = {
     1626                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16011627                                INSTALL_PATH = /usr/local/bin;
    16021628                                PRODUCT_NAME = TAppEncoder;
     
    16071633                        isa = XCBuildConfiguration;
    16081634                        buildSettings = {
     1635                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16091636                                INSTALL_PATH = /usr/local/bin;
    16101637                                PRODUCT_NAME = TAppDecoder;
     
    16151642                        isa = XCBuildConfiguration;
    16161643                        buildSettings = {
     1644                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16171645                                INSTALL_PATH = /usr/local/bin;
    16181646                                PRODUCT_NAME = TAppDecoder;
     
    16231651                        isa = XCBuildConfiguration;
    16241652                        buildSettings = {
     1653                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16251654                                INSTALL_PATH = /usr/local/lib;
    16261655                                PRODUCT_NAME = TLibExtractor;
     
    16311660                        isa = XCBuildConfiguration;
    16321661                        buildSettings = {
     1662                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16331663                                INSTALL_PATH = /usr/local/lib;
    16341664                                PRODUCT_NAME = TLibExtractor;
     
    16391669                        isa = XCBuildConfiguration;
    16401670                        buildSettings = {
     1671                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16411672                                INSTALL_PATH = /usr/local/bin;
    16421673                                PRODUCT_NAME = TAppExtractor;
     
    16471678                        isa = XCBuildConfiguration;
    16481679                        buildSettings = {
     1680                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16491681                                INSTALL_PATH = /usr/local/bin;
    16501682                                PRODUCT_NAME = TAppExtractor;
     
    16551687                        isa = XCBuildConfiguration;
    16561688                        buildSettings = {
     1689                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16571690                                INSTALL_PATH = /usr/local/lib;
    16581691                                PRODUCT_NAME = TLibRenderer;
     
    16631696                        isa = XCBuildConfiguration;
    16641697                        buildSettings = {
     1698                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16651699                                INSTALL_PATH = /usr/local/lib;
    16661700                                PRODUCT_NAME = TLibRenderer;
     
    16711705                        isa = XCBuildConfiguration;
    16721706                        buildSettings = {
     1707                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16731708                                INSTALL_PATH = /usr/local/bin;
    16741709                                PRODUCT_NAME = TAppRenderer;
     
    16791714                        isa = XCBuildConfiguration;
    16801715                        buildSettings = {
     1716                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16811717                                INSTALL_PATH = /usr/local/bin;
    16821718                                PRODUCT_NAME = TAppRenderer;
     
    16871723                        isa = XCBuildConfiguration;
    16881724                        buildSettings = {
     1725                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16891726                                INSTALL_PATH = /usr/local/lib;
    16901727                                PRODUCT_NAME = TAppCommon;
     
    16951732                        isa = XCBuildConfiguration;
    16961733                        buildSettings = {
     1734                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    16971735                                INSTALL_PATH = /usr/local/lib;
    16981736                                PRODUCT_NAME = TAppCommon;
     
    17031741                        isa = XCBuildConfiguration;
    17041742                        buildSettings = {
     1743                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    17051744                                PRODUCT_NAME = "$(TARGET_NAME)";
    17061745                        };
     
    17101749                        isa = XCBuildConfiguration;
    17111750                        buildSettings = {
     1751                                GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
    17121752                                PRODUCT_NAME = "$(TARGET_NAME)";
    17131753                        };
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r738 r758  
    7676#endif
    7777 
     78#if CAM_HLS_F0136_F0045_F0082
     79  vps.createCamPars(m_iNumberOfViews);
     80#endif
     81
     82#if DLT_DIFF_CODING_IN_PPS
     83  TComDLT& dlt = m_dlt;
     84#endif
     85
    7886#if H_MV
    7987  Int maxTempLayer = -1;
     
    125133#if H_3D
    126134  xSetVPSExtension2        ( vps );
    127   m_ivPicLists.setVPS      ( &vps );
     135  m_ivPicLists.setVPS      ( &vps );
     136#if DLT_DIFF_CODING_IN_PPS
     137  xDeriveDltArray          ( vps, dlt );
     138#endif
    128139#endif
    129140
     
    218229  // H_MV
    219230  m_cTEncTop.setVPS(&vps);
     231
     232#if DLT_DIFF_CODING_IN_PPS
     233  m_cTEncTop.setDLT(&dlt);
     234#endif
    220235
    221236  m_cTEncTop.setProfile(m_profile);
     
    781796Void TAppEncTop::xInitLib(Bool isFieldCoding)
    782797{
     798#if CAM_HLS_F0136_F0045_F0082
     799  for ( Int viewIndex = 0; viewIndex < m_vps.getNumViews(); viewIndex++ )
     800  {
     801    m_vps.initCamParaVPS( viewIndex, true, m_cCameraData.getCamParsCodedPrecision(),
     802      m_cCameraData.getVaryingCameraParameters(), m_cCameraData.getCodedScale(), m_cCameraData.getCodedOffset() );
     803  }
     804#endif
     805
    783806#if H_MV
    784807  for(Int layer=0; layer<m_numberOfLayers; layer++)
     
    12471270
    12481271#if H_3D_DIM_DLT
     1272#if DLT_DIFF_CODING_IN_PPS
     1273Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt)
     1274#else
    12491275Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps)
     1276#endif
    12501277{
    12511278  TComPicYuv*       pcDepthPicYuvOrg = new TComPicYuv;
     
    13071334  if( uiNumFrames == 0 || numBitsForValue(iNumDepthValues) == g_bitDepthY )
    13081335  {
     1336#if DLT_DIFF_CODING_IN_PPS
     1337    dlt->setUseDLTFlag(layer, false);
     1338#else
    13091339    // don't use DLT
    13101340    vps->setUseDLTFlag(layer, false);
     1341#endif
    13111342  }
    13121343 
    13131344  // assign LUT
     1345#if DLT_DIFF_CODING_IN_PPS
     1346  if( dlt->getUseDLTFlag(layer) )
     1347    dlt->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
     1348#else
    13141349  if( vps->getUseDLTFlag(layer) )
    13151350    vps->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
     1351#endif
    13161352 
    13171353  // free temporary memory
     
    19672003#endif
    19682004#if H_3D_DIM_DLT
     2005#if !DLT_DIFF_CODING_IN_PPS
    19692006    vps.setUseDLTFlag( layer , isDepth && m_useDLT );
    19702007    if( vps.getUseDLTFlag( layer ) )
     
    19762013#endif
    19772014    }
     2015#endif
    19782016#endif
    19792017#endif
     
    20112049}
    20122050#endif
     2051
     2052#if DLT_DIFF_CODING_IN_PPS
     2053Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt )
     2054{
     2055  Int  iNumDepthViews  = 0;
     2056  Bool bDltPresentFlag = false;
     2057
     2058  for ( Int layer = 0; layer <= vps.getMaxLayersMinus1(); layer++ )
     2059  {
     2060    Bool isDepth = ( vps.getDepthId( layer ) == 1 );
     2061
     2062    if ( isDepth )
     2063    {
     2064      iNumDepthViews++;
     2065    }
     2066
     2067    dlt.setUseDLTFlag( layer , isDepth && m_useDLT );
     2068    if( dlt.getUseDLTFlag( layer ) )
     2069    {
     2070      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, &dlt);
     2071      bDltPresentFlag = bDltPresentFlag || dlt.getUseDLTFlag(layer);
     2072#if H_3D_DELTA_DLT
     2073      dlt.setInterViewDltPredEnableFlag(layer, (dlt.getUseDLTFlag(layer) && (layer>1)));
     2074#endif
     2075    }
     2076  }
     2077
     2078  dlt.setDltPresentFlag( bDltPresentFlag );
     2079  dlt.setNumDepthViews ( iNumDepthViews  );
     2080}
     2081#endif
    20132082#endif
    20142083//! \}
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r738 r758  
    8686#endif
    8787
     88#if DLT_DIFF_CODING_IN_PPS
     89  TComDLT                    m_dlt;                         ///< dlt
     90#endif
     91
    8892  UInt m_essentialBytes;
    8993  UInt m_totalBytes;
     
    135139  Void xSetVPSExtension2( TComVPS& vps );
    136140#endif
     141#if DLT_DIFF_CODING_IN_PPS
     142  Void xDeriveDltArray( TComVPS& vps, TComDLT& dlt );
     143#endif
    137144#if H_3D_DIM_DLT
     145#if DLT_DIFF_CODING_IN_PPS
     146  Void  xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt);
     147#else
    138148  Void  xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps);
     149#endif
    139150#endif
    140151public:
  • trunk/source/Lib/TLibCommon/TComPrediction.cpp

    r724 r758  
    506506    {
    507507#if H_3D_DIM_DLT
     508#if DLT_DIFF_CODING_IN_PPS
     509      segDC1 = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 ) + deltaDC1 );
     510      segDC2 = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 ) + deltaDC2 );
     511#else
    508512      segDC1 = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 ) + deltaDC1 );
    509513      segDC2 = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 ) + deltaDC2 );
     514#endif
    510515#else
    511516      segDC1 = ClipY( predDC1 + deltaDC1 );
  • trunk/source/Lib/TLibCommon/TComSlice.cpp

    r738 r758  
    782782Void TComSlice::setCamparaSlice( Int** aaiScale, Int** aaiOffset )
    783783
     784#if CAM_HLS_F0136_F0045_F0082
     785  if( m_pcVPS->hasCamParInSliceHeader( m_viewIndex ) )
     786#else
    784787  if( m_pcSPS->hasCamParInSliceHeader() )
     788#endif
    785789  {   
    786790    for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < m_viewIndex; uiBaseViewIndex++ )
     
    18161820    m_vpsDepthModesFlag [i] = false;
    18171821#if H_3D_DIM_DLT
     1822#if !DLT_DIFF_CODING_IN_PPS
    18181823    m_bUseDLTFlag         [i] = false;
    18191824   
     
    18321837    }
    18331838#endif
     1839#endif
    18341840#if H_3D
    18351841    m_ivMvScalingFlag = true;
     
    19021908    if (m_repFormat[ i ] != NULL )      delete m_repFormat[ i ];   
    19031909#if H_3D_DIM_DLT
     1910#if !DLT_DIFF_CODING_IN_PPS
    19041911    if ( m_iDepthValue2Idx[i] != 0 )
    19051912    {
     
    19141921    }
    19151922#endif
    1916   }
     1923#endif
     1924  }
     1925#endif
     1926#if CAM_HLS_F0136_F0045_F0082
     1927  deleteCamPars();
    19171928#endif
    19181929}
    19191930
    19201931#if H_3D_DIM_DLT
     1932#if !DLT_DIFF_CODING_IN_PPS
    19211933  Void TComVPS::setDepthLUTs(Int layerIdInVps, Int* idxToDepthValueTable, Int iNumDepthValues)
    19221934  {
     
    19801992  }
    19811993#endif
     1994#endif
    19821995
    19831996#if H_MV
     
    20662079  return foundLayerIdinNuh;
    20672080}
     2081#if CAM_HLS_F0136_F0045_F0082
     2082Void TComVPS::createCamPars(Int iNumViews)
     2083{
     2084  Int i = 0, j = 0;
     2085
     2086  m_bCamParPresent = new Bool[ iNumViews ];
     2087  m_bCamParInSliceHeader = new Bool[ iNumViews ];
     2088
     2089  m_aaaiCodedScale = new Int**[ iNumViews ];
     2090  m_aaaiCodedOffset = new Int**[ iNumViews ];
     2091  for ( i = 0; i < iNumViews ; i++ )
     2092  {
     2093    m_aaaiCodedScale[i] = new Int*[ 2 ];
     2094    m_aaaiCodedOffset[i] = new Int*[ 2 ];
     2095    for ( j = 0; j < 2; j++ )
     2096    {
     2097      m_aaaiCodedScale[i][j] = new Int[ MAX_NUM_LAYERS ];
     2098      m_aaaiCodedOffset[i][j] = new Int[ MAX_NUM_LAYERS ];
     2099      for ( Int k = 0; k < MAX_NUM_LAYERS; k++ )
     2100      {
     2101        m_aaaiCodedScale[i][j][k] = 0;
     2102        m_aaaiCodedOffset[i][j][k] = 0;
     2103      }
     2104    }
     2105  }
     2106}
     2107
     2108Void TComVPS::deleteCamPars()
     2109{
     2110  Int iNumViews = getNumViews();
     2111  Int i = 0, j = 0;
     2112
     2113  if ( m_bCamParPresent != NULL )
     2114  {
     2115    delete [] m_bCamParPresent;
     2116  }
     2117  if ( m_bCamParInSliceHeader != NULL )
     2118  {
     2119    delete [] m_bCamParInSliceHeader;
     2120  }
     2121
     2122  if ( m_aaaiCodedScale != NULL )
     2123  {
     2124    for ( i = 0; i < iNumViews ; i++ )
     2125    {
     2126      for ( j = 0; j < 2; j++ )
     2127      {
     2128        delete [] m_aaaiCodedScale[i][j];
     2129      }
     2130      delete [] m_aaaiCodedScale[i];
     2131    }
     2132    delete [] m_aaaiCodedScale;
     2133  }
     2134
     2135  if ( m_aaaiCodedOffset != NULL )
     2136  {
     2137    for ( i = 0; i < iNumViews ; i++ )
     2138    {
     2139      for ( j = 0; j < 2; j++ )
     2140      {
     2141        delete [] m_aaaiCodedOffset[i][j];
     2142      }
     2143      delete [] m_aaaiCodedOffset[i];
     2144    }
     2145    delete [] m_aaaiCodedOffset;
     2146  }
     2147}
     2148
     2149
     2150Void
     2151  TComVPS::initCamParaVPS( UInt uiViewIndex, Bool bCamParPresent, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
     2152{
     2153  AOT( uiViewIndex != 0 && !bCamParSlice && ( aaiScale == 0 || aaiOffset == 0 ) ); 
     2154
     2155  m_uiCamParPrecision = ( ( uiViewIndex != 0 )? uiCamParPrecision : 0 );
     2156  m_bCamParPresent[ uiViewIndex ] = (( uiViewIndex != 0 )? bCamParPresent  : false );
     2157  m_bCamParInSliceHeader[ uiViewIndex ]  = ( (uiViewIndex != 0)? bCamParSlice  : false );
     2158
     2159  if( !m_bCamParInSliceHeader[ uiViewIndex ] )
     2160  {
     2161    for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < uiViewIndex; uiBaseViewIndex++ )
     2162    {
     2163      m_aaaiCodedScale [ uiViewIndex ][ 0 ][ uiBaseViewIndex ] = aaiScale [ uiBaseViewIndex ][     uiViewIndex ];
     2164      m_aaaiCodedScale [ uiViewIndex ][ 1 ][ uiBaseViewIndex ] = aaiScale [     uiViewIndex ][ uiBaseViewIndex ];
     2165      m_aaaiCodedOffset[ uiViewIndex ][ 0 ][ uiBaseViewIndex ] = aaiOffset[ uiBaseViewIndex ][     uiViewIndex ];
     2166      m_aaaiCodedOffset[ uiViewIndex ][ 1 ][ uiBaseViewIndex ] = aaiOffset[     uiViewIndex ][ uiBaseViewIndex ];
     2167    }
     2168  }
     2169}
     2170#endif // CAM_HLS_F0136_F0045_F0082
     2171
    20682172#endif // H_3D
    20692173
     
    24442548, m_ppsInferScalingListFlag(false)
    24452549, m_ppsScalingListRefLayerId(0)
     2550#if DLT_DIFF_CODING_IN_PPS
     2551, m_pcDLT(NULL)
     2552#endif
    24462553#endif
    24472554{
     
    24632570  delete m_scalingList;
    24642571}
     2572
     2573#if DLT_DIFF_CODING_IN_PPS
     2574TComDLT::TComDLT()
     2575: m_bDltPresentFlag(false)
     2576, m_iNumDepthViews(0)
     2577, m_uiDepthViewBitDepth(8)
     2578{
     2579  m_uiDepthViewBitDepth = g_bitDepthY;
     2580
     2581  for( Int i = 0; i < MAX_NUM_LAYERS; i++ )
     2582  {
     2583    m_bUseDLTFlag                 [i] = false;
     2584    m_bInterViewDltPredEnableFlag [i] = false;
     2585
     2586    // allocate some memory and initialize with default mapping
     2587    m_iNumDepthmapValues[i] = ((1 << m_uiDepthViewBitDepth)-1)+1;
     2588    m_iBitsPerDepthValue[i] = numBitsForValue(m_iNumDepthmapValues[i]);
     2589
     2590    m_iDepthValue2Idx[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
     2591    m_iIdx2DepthValue[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
     2592
     2593    //default mapping
     2594    for (Int d=0; d<m_iNumDepthmapValues[i]; d++)
     2595    {
     2596      m_iDepthValue2Idx[i][d] = d;
     2597      m_iIdx2DepthValue[i][d] = d;
     2598    }
     2599  }
     2600}
     2601
     2602TComDLT::~TComDLT()
     2603{
     2604  for( Int i = 0; i < MAX_NUM_LAYERS; i++ )
     2605  {
     2606    if ( m_iDepthValue2Idx[i] != NULL )
     2607    {
     2608      xFree( m_iDepthValue2Idx[i] );
     2609      m_iDepthValue2Idx[i] = NULL;
     2610    }
     2611
     2612    if ( m_iIdx2DepthValue[i] != NULL )
     2613    {
     2614      xFree( m_iIdx2DepthValue[i] );
     2615      m_iIdx2DepthValue[i] = NULL;
     2616    }
     2617  }
     2618}
     2619
     2620Void TComDLT::setDepthLUTs(Int layerIdInVps, Int* idxToDepthValueTable, Int iNumDepthValues)
     2621{
     2622  if( idxToDepthValueTable == NULL || iNumDepthValues == 0 ) // default mapping only
     2623    return;
     2624
     2625  // copy idx2DepthValue to internal array
     2626  memcpy(m_iIdx2DepthValue[layerIdInVps], idxToDepthValueTable, iNumDepthValues*sizeof(UInt));
     2627
     2628  UInt uiMaxDepthValue = ((1 << g_bitDepthY)-1);
     2629  for(Int p=0; p<=uiMaxDepthValue; p++)
     2630  {
     2631    Int iIdxDown    = 0;
     2632    Int iIdxUp      = iNumDepthValues-1;
     2633    Bool bFound     = false;
     2634
     2635    // iterate over indices to find lower closest depth
     2636    Int i = 1;
     2637    while(!bFound && i<iNumDepthValues)
     2638    {
     2639      if( m_iIdx2DepthValue[layerIdInVps][i] > p )
     2640      {
     2641        iIdxDown  = i-1;
     2642        bFound    = true;
     2643      }
     2644
     2645      i++;
     2646    }
     2647    // iterate over indices to find upper closest depth
     2648    i = iNumDepthValues-2;
     2649    bFound = false;
     2650    while(!bFound && i>=0)
     2651    {
     2652      if( m_iIdx2DepthValue[layerIdInVps][i] < p )
     2653      {
     2654        iIdxUp  = i+1;
     2655        bFound    = true;
     2656      }
     2657
     2658      i--;
     2659    }
     2660
     2661    // assert monotony
     2662    assert(iIdxDown<=iIdxUp);
     2663
     2664    // assign closer depth value/idx
     2665    if( abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxDown]) < abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxUp]) )
     2666    {
     2667      m_iDepthValue2Idx[layerIdInVps][p] = iIdxDown;
     2668    }
     2669    else
     2670    {
     2671      m_iDepthValue2Idx[layerIdInVps][p] = iIdxUp;
     2672    }
     2673
     2674  }
     2675
     2676  // update DLT variables
     2677  m_iNumDepthmapValues[layerIdInVps] = iNumDepthValues;
     2678  m_iBitsPerDepthValue[layerIdInVps] = numBitsForValue(m_iNumDepthmapValues[layerIdInVps]);
     2679}
     2680
     2681#if H_3D_DELTA_DLT
     2682Void TComDLT::getDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTOut, UInt *puiDeltaDLTOutNum )
     2683{
     2684  Bool abBM0[ 256 ];
     2685  Bool abBM1[ 256 ];
     2686 
     2687  memset( abBM0, 0, sizeof( abBM0 ));
     2688  memset( abBM1, 0, sizeof( abBM1 ));
     2689 
     2690  // convert reference DLT to bit string
     2691  for( Int i = 0; i < uiDLTInRefNum; i++ )
     2692  {
     2693    abBM0[ piDLTInRef[ i ] ] = true;
     2694  }
     2695  // convert internal DLT to bit string
     2696  for( Int i = 0; i < m_iNumDepthmapValues[ layerIdInVps ]; i++ )
     2697  {
     2698    abBM1[ m_iIdx2DepthValue[ layerIdInVps ][ i ] ] = true;
     2699  }
     2700 
     2701  *puiDeltaDLTOutNum = 0;
     2702  for( Int i = 0; i < 256; i++ )
     2703  {
     2704    if( abBM0[ i ] ^ abBM1[ i ] )
     2705    {
     2706      piDeltaDLTOut[ *puiDeltaDLTOutNum ] = i;
     2707      *puiDeltaDLTOutNum = *puiDeltaDLTOutNum + 1;
     2708    }
     2709  }
     2710}
     2711
     2712Void TComDLT::setDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTIn, UInt uiDeltaDLTInNum )
     2713{
     2714  Bool abBM0[ 256 ];
     2715  Bool abBM1[ 256 ];
     2716 
     2717  memset( abBM0, 0, sizeof( abBM0 ));
     2718  memset( abBM1, 0, sizeof( abBM1 ));
     2719 
     2720  // convert reference DLT to bit string
     2721  for( Int i = 0; i < uiDLTInRefNum; i++ )
     2722  {
     2723    abBM0[ piDLTInRef[ i ] ] = true;
     2724  }
     2725  // convert delta DLT to bit string
     2726  for( Int i = 0; i < uiDeltaDLTInNum; i++ )
     2727  {
     2728    abBM1[ piDeltaDLTIn[ i ] ] = true;
     2729  }
     2730 
     2731  Int aiIdx2DepthValue[256];
     2732  UInt uiNumDepthValues = 0;
     2733  memset( aiIdx2DepthValue, 0, sizeof( aiIdx2DepthValue ));
     2734 
     2735  for( Int i = 0; i < 256; i++ )
     2736  {
     2737    if( abBM0[ i ] ^ abBM1[ i ] )
     2738    {
     2739      aiIdx2DepthValue[ uiNumDepthValues++ ] = i;
     2740    }
     2741  }
     2742 
     2743  // update internal tables
     2744  setDepthLUTs(layerIdInVps, aiIdx2DepthValue, uiNumDepthValues);
     2745}
     2746#endif
     2747
     2748#endif
    24652749
    24662750#if H_MV
     
    25252809#endif
    25262810#if H_3D
     2811#if !CAM_HLS_F0136_F0045_F0082
    25272812Void
    25282813TComSPS::initCamParaSPS( UInt uiViewIndex, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
     
    25462831  }
    25472832}
     2833#endif
    25482834#endif
    25492835TComReferencePictureSet::TComReferencePictureSet()
     
    32573543  assert( m_depthToDisparityF != NULL );
    32583544
     3545#if CAM_HLS_F0136_F0045_F0082
     3546  TComVPS* vps = getVPS();
     3547#else
    32593548  TComSPS* sps = getSPS();
    3260 
     3549#endif
     3550
     3551#if CAM_HLS_F0136_F0045_F0082
     3552  Int log2Div = g_bitDepthY - 1 + vps->getCamParPrecision();
     3553  Int viewIndex = getViewIndex();
     3554
     3555  Bool camParaSH = vps->hasCamParInSliceHeader( viewIndex );
     3556
     3557  Int* codScale     = camParaSH ? m_aaiCodedScale [ 0 ] : vps->getCodedScale    ( viewIndex );
     3558  Int* codOffset    = camParaSH ? m_aaiCodedOffset[ 0 ] : vps->getCodedOffset   ( viewIndex );
     3559  Int* invCodScale  = camParaSH ? m_aaiCodedScale [ 1 ] : vps->getInvCodedScale ( viewIndex );
     3560  Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : vps->getInvCodedOffset( viewIndex );
     3561#else
    32613562  Int log2Div = g_bitDepthY - 1 + sps->getCamParPrecision();
    32623563
     
    32673568  Int* invCodScale  = camParaSH ? m_aaiCodedScale [ 1 ] : sps->getInvCodedScale ();
    32683569  Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : sps->getInvCodedOffset();
     3570#endif
    32693571
    32703572  for (Int i = 0; i <= ( getViewIndex() - 1); i++)
     
    37074009  // It is a requirement of bitstream conformance that bitstream partition with index j shall not include
    37084010  // direct or indirect reference layers of any layers in bitstream partition i for any values of i and j
    3709   // in the range of 0 to num_bitstream_partitions[ h ] – 1, inclusive, such that i is less than j.
     4011  // in the range of 0 to num_bitstream_partitions[ h ] ?1, inclusive, such that i is less than j.
    37104012
    37114013  for ( Int partJ = 0; partJ < getNumBitstreamPartitions( h ); partJ++ )
  • trunk/source/Lib/TLibCommon/TComSlice.h

    r738 r758  
    849849#endif
    850850  Bool        m_vpsDepthModesFlag        [MAX_NUM_LAYERS   ];
     851
    851852#if H_3D_DIM_DLT
     853#if !DLT_DIFF_CODING_IN_PPS
    852854  Bool        m_bUseDLTFlag              [MAX_NUM_LAYERS   ];
    853855 
     
    857859  Int*        m_iIdx2DepthValue          [MAX_NUM_LAYERS   ];
    858860#endif
     861#endif
     862
    859863#if H_3D
     864#if CAM_HLS_F0136_F0045_F0082
     865  UInt        m_uiCamParPrecision;
     866  Bool*       m_bCamParInSliceHeader;
     867  Bool*       m_bCamParPresent;
     868  Int         ***m_aaaiCodedScale ;
     869  Int         ***m_aaaiCodedOffset;
     870#endif
    860871  Bool        m_ivMvScalingFlag;
    861872#endif
     
    10351046#endif
    10361047
    1037   Void    setProfileLevelTierIdx( Int outLayerSetIdx, Int val )            { m_profileLevelTierIdx[ outLayerSetIdx  = val ]; } 
     1048  Void    setProfileLevelTierIdx( Int outLayerSetIdx, Int val )            { m_profileLevelTierIdx[ outLayerSetIdx  = val ]; }
    10381049  Int     getProfileLevelTierIdx( Int outLayerSetIdx )                     { return m_profileLevelTierIdx[ outLayerSetIdx ]; }
    10391050#if H_MV_6_GEN_0153_28
     
    11391150  Void    setARPStepNum( Int layerIdInVps, UInt val )                      { m_uiARPStepNum[layerIdInVps]    = val;     }
    11401151#endif
     1152#if CAM_HLS_F0136_F0045_F0082
     1153  Void createCamPars(Int iNumViews);
     1154  Void deleteCamPars();
     1155  Void initCamParaVPS      (  UInt uiViewIndex, Bool bCamParPresent = false, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
     1156  UInt getCamParPrecision    ()  { return m_uiCamParPrecision; }
     1157  Bool getCamParPresent      ( Int viewIndex )  { return m_bCamParPresent[viewIndex]; }
     1158  Bool hasCamParInSliceHeader( Int viewIndex )  { return m_bCamParInSliceHeader[viewIndex]; }
     1159  Void setHasCamParInSliceHeader( Int viewIndex, Bool b )  { m_bCamParInSliceHeader[viewIndex] = b; }
     1160  Int* getCodedScale         ( Int viewIndex )  { return m_aaaiCodedScale [viewIndex][0]; }
     1161  Int* getCodedOffset        ( Int viewIndex )  { return m_aaaiCodedOffset[viewIndex][0]; }
     1162  Int* getInvCodedScale      ( Int viewIndex )  { return m_aaaiCodedScale [viewIndex][1]; }
     1163  Int* getInvCodedOffset     ( Int viewIndex )  { return m_aaaiCodedOffset[viewIndex][1]; }
     1164#endif
     1165
    11411166#if H_3D_IV_MERGE
    11421167  Void    setIvMvPredFlag     ( Int layerIdInVps, Bool val )  { m_ivMvPredFlag[ layerIdInVps ] = val; }
     
    11571182  Void    setVpsDepthModesFlag( Int layerIdInVps, Bool val )               { m_vpsDepthModesFlag[ layerIdInVps ] = val; }
    11581183  Bool    getVpsDepthModesFlag( Int layerIdInVps )                         { return m_vpsDepthModesFlag[ layerIdInVps ]; }
     1184
    11591185#if H_3D_DIM_DLT
     1186#if !DLT_DIFF_CODING_IN_PPS
    11601187  Bool    getUseDLTFlag      ( Int layerIdInVps )                         { return m_bUseDLTFlag[ layerIdInVps ]; }
    11611188  Void    setUseDLTFlag      ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ]  = b;          }
     
    11671194  Void    setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );
    11681195#endif
     1196#endif
    11691197
    11701198  Bool    getIvMvScalingFlag   (  )                       { return m_ivMvScalingFlag; }
     
    11811209#endif
    11821210};
     1211
     1212#if DLT_DIFF_CODING_IN_PPS
     1213class TComDLT
     1214{
     1215private:
     1216  Bool        m_bDltPresentFlag;
     1217  Bool        m_bUseDLTFlag              [ MAX_NUM_LAYERS ];
     1218  Bool        m_bInterViewDltPredEnableFlag[ MAX_NUM_LAYERS ];
     1219
     1220  Int         m_iBitsPerDepthValue       [ MAX_NUM_LAYERS ];
     1221  Int         m_iNumDepthmapValues       [ MAX_NUM_LAYERS ];
     1222  Int*        m_iDepthValue2Idx          [ MAX_NUM_LAYERS ];
     1223  Int*        m_iIdx2DepthValue          [ MAX_NUM_LAYERS ];
     1224
     1225  Int         m_iNumDepthViews;
     1226  UInt        m_uiDepthViewBitDepth;
     1227
     1228public:
     1229  TComDLT();
     1230  ~TComDLT();
     1231
     1232  Bool    getDltPresentFlag  ()                           { return m_bDltPresentFlag; }
     1233  Void    setDltPresentFlag  ( Bool b )                   { m_bDltPresentFlag = b;    }
     1234
     1235  Bool    getUseDLTFlag      ( Int layerIdInVps )         { return m_bUseDLTFlag[ layerIdInVps ]; }
     1236  Void    setUseDLTFlag      ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ]  = b;   }
     1237 
     1238  Bool    getInterViewDltPredEnableFlag( Int layerIdInVps )         { return m_bInterViewDltPredEnableFlag[ layerIdInVps ]; }
     1239  Void    setInterViewDltPredEnableFlag( Int layerIdInVps, Bool b ) { m_bInterViewDltPredEnableFlag[ layerIdInVps ] = b;    }
     1240
     1241  Void    setNumDepthViews   ( Int n )                    { m_iNumDepthViews = n; }
     1242  Int     getNumDepthViews   ()                           { return m_iNumDepthViews; }
     1243
     1244  Void    setDepthViewBitDepth( UInt n )                  { m_uiDepthViewBitDepth = n; }
     1245  UInt    getDepthViewBitDepth()                          { return m_uiDepthViewBitDepth; }
     1246
     1247  Int     getBitsPerDepthValue( Int layerIdInVps )        { return getUseDLTFlag(layerIdInVps)?m_iBitsPerDepthValue[layerIdInVps]:g_bitDepthY; }
     1248  Int     getNumDepthValues( Int layerIdInVps )           { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }
     1249  Int     depthValue2idx( Int layerIdInVps, Pel value )   { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }
     1250  Pel     idx2DepthValue( Int layerIdInVps, UInt uiIdx )  { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][uiIdx]:uiIdx; }
     1251  Void    setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );
     1252#if H_3D_DELTA_DLT
     1253  Int*    idx2DepthValue( Int layerIdInVps )  { return m_iIdx2DepthValue[layerIdInVps]; }
     1254  Void    getDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTOut, UInt *puiDeltaDLTOutNum );
     1255  Void    setDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTIn, UInt uiDeltaDLTInNum );
     1256#endif
     1257};
     1258#endif
    11831259
    11841260class Window
     
    17251801#endif
    17261802#if H_3D
     1803#if !CAM_HLS_F0136_F0045_F0082
    17271804  Void initCamParaSPS      (  UInt uiViewIndex, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
    17281805  UInt getCamParPrecision    ()  { return m_uiCamParPrecision; }
     
    17351812  Int* getInvCodedScale      ()  { return m_aaiCodedScale [1]; }
    17361813  Int* getInvCodedOffset     ()  { return m_aaiCodedOffset[1]; }
     1814#endif
    17371815#endif
    17381816#if H_MV
     
    18401918  Int  m_ppsScalingListRefLayerId;
    18411919#endif
     1920
     1921#if DLT_DIFF_CODING_IN_PPS
     1922  TComDLT*  m_pcDLT;
     1923#endif
     1924
    18421925public:
    18431926  TComPPS();
     
    18641947  Void      setMinCuDQPSize     ( UInt u ) { m_uiMinCuDQPSize = u;    }
    18651948  UInt      getMinCuDQPSize     ()         { return m_uiMinCuDQPSize; }
     1949
     1950#if DLT_DIFF_CODING_IN_PPS
     1951  Void      setDLT              ( TComDLT* pcDLT ) { m_pcDLT = pcDLT; }
     1952  TComDLT*  getDLT              ()                 { return m_pcDLT; }
     1953#endif
    18661954
    18671955  Void      setChromaCbQpOffset( Int i ) { m_chromaCbQpOffset = i;    }
  • trunk/source/Lib/TLibCommon/TypeDef.h

    r738 r758  
    175175#endif
    176176
     177#define CAM_HLS_F0136_F0045_F0082         1   // JCT3V-F0136/F0045: view order index based camera parameter signaling
     178                                              // JCT3V-F0082: the cp_in_slice_segment_layer_flag to be view specific and used as a condition of the presence of slice header level camera parameters
     179#define CAM_HLS_F0044                     1   // JCT3V-F0044: move camera parameter from slice header extension to slice header
     180
     181
    177182// Rate Control
    178183#define KWU_FIX_URQ                       1
     
    215220#define H_3D_DIM_SDC                      1   // Simplified Depth Coding method
    216221#define H_3D_DIM_DLT                      1   // Depth Lookup Table
     222
     223#if H_3D_DIM_DLT
     224#define DLT_DIFF_CODING_IN_PPS            1   // moving DLT syntax elements from VPS to PPS and differential coding of DLT values
     225                                              // JCT3V-F0131, JCT3V-F0139
     226#if DLT_DIFF_CODING_IN_PPS
     227#define Log2( n ) ( log((double)n) / log(2.0) )
     228#endif
     229#define H_3D_DELTA_DLT                    1
     230#endif
     231
    217232#define H_3D_DIM_ENC                      1   // Depth Intra encoder optimizations, includes:
    218233                                              // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
     
    262277#define H_MV_FIX_SKIP_PICTURES                  1  // Fix related to skipping pictures.
    263278#define H_MV_6_HRD_O0164_15                     1  // (HRD/O0164/Multilayer HRD) #15 Decision: Adopt, modified as follows: It was suggested to constrain the stalling based on the relative cpb removal times, which must be in decoding order. The "du_based_bpb_sync_flag" is not needed, in view of this. SEI in the highest layer of the layer set or (inclusive "or") VPS VUI is used to carry the parameters (at encoder discretion). SEI in higher layer and SEI in VUI do not need to repeat information available in some lower layer. Shall be after APS SEI and buffering period SEI and before all other SEI of all layers except other HRD related SEI.
    264 #define H_MV_6_HRD_O0217_13                     1  // (HRD/O0217/Sub-DPB based DPB operations) #13 Decision: Adopt – Specify a separate DPB capacity for each layer – no sharing of capacity across layers – each layer has its own parameters (max pictures, max latency, max reordering). This proposal would specify distinct parameters for each "output layer set" and to change the definition of an operation point to be specific to an output layer set instead of a 'layer set". Decision: Adopted this aspect as well.
     279#define H_MV_6_HRD_O0217_13                     1  // (HRD/O0217/Sub-DPB based DPB operations) #13 Decision: Adopt ?Specify a separate DPB capacity for each layer ?no sharing of capacity across layers ?each layer has its own parameters (max pictures, max latency, max reordering). This proposal would specify distinct parameters for each "output layer set" and to change the definition of an operation point to be specific to an output layer set instead of a 'layer set". Decision: Adopted this aspect as well.
    265280#define H_MV_6_SHVC_O0098_36                    1  // (SHVC/O0098/Scaled ref layer offset) #36 Modify signalling of scaled reference layer offsets to allow signalling of any lower layer, rather than just a direct reference layer, in order to enable alignment of auxiliary pictures. In further JCT-VC and JCT-3V discussion, it was also agreed to use the same offset signalling for MV-HEVC as well as SHVC
    266281#define H_MV_6_GEN_0153_28                      1  //(Gen/O0153/output highest layer) #28 Add a flag in the VPS to indicate if startup process should output the highest available layer if the target output layer is not available.
     
    291306#define H_MV_6_PS_O0096_21                      1  // (PS/O0096/direct_dependency_type gating flag) #21 Add a gating flag in VPS extension to condition the presence of direct dependency type, with a default type signalled, from JCTVC-O0096
    292307#define H_MV_6_PS_O0109_22                      1  // (PS/O0109/view_id_len) #22 Modify the VPS extension syntax and semantics to replace view_id_len_minus1 with view_id_len, always signal that syntax element, add a constraint that (1<<view_id_len) >= NumViews, and modify view_id_val semantics to infer value of 0 when not present, from discussion of JCTVC-O0109
    293 #define H_MV_6_PS_O0109_23                      1  // (PS/O0109/profile_ref_minus1 constraint) #23 Modify the semantics of profile_ref_minus1[ i ] to replace “shall be less than i” with “shall be less than or equal to i”, from discussion of JCTVC-O0109
     308#define H_MV_6_PS_O0109_23                      1  // (PS/O0109/profile_ref_minus1 constraint) #23 Modify the semantics of profile_ref_minus1[ i ] to replace “shall be less than i?with “shall be less than or equal to i? from discussion of JCTVC-O0109
    294309#define H_MV_6_PS_O0109_24                      1  // (PS/O0109/vps_vui_present_flag move) #24 Move the vps_vui_present_flag to precede vps_vui_offset, and make vps_vui_offset conditional on that flag, from JCTVC-O0109
    295310/////////////////////////////////////////////////////////////////////////////////////////
  • trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r738 r758  
    215215}
    216216
     217#if DLT_DIFF_CODING_IN_PPS
     218Void TDecCavlc::parsePPS(TComPPS* pcPPS, TComVPS* pcVPS )
     219#else
    217220Void TDecCavlc::parsePPS(TComPPS* pcPPS)
     221#endif
    218222{
    219223#if ENC_DEC_TRACE 
     
    364368  if (uiCode)
    365369  {
    366     while ( xMoreRbspData() )
    367     {
    368       READ_FLAG( uiCode, "pps_extension_data_flag");
    369     }
    370   }
    371 }
     370#if DLT_DIFF_CODING_IN_PPS
     371    parsePPSExtension( pcPPS, pcVPS );
     372    READ_FLAG( uiCode, "pps_extension2_flag");
     373    if ( uiCode )
     374    {
     375#endif
     376      while ( xMoreRbspData() )
     377      {
     378        READ_FLAG( uiCode, "pps_extension_data_flag");
     379      }
     380#if DLT_DIFF_CODING_IN_PPS
     381    }
     382#endif
     383  }
     384}
     385
     386#if DLT_DIFF_CODING_IN_PPS
     387Void TDecCavlc::parsePPSExtension( TComPPS* pcPPS, TComVPS* pcVPS )
     388{
     389  UInt uiCode = 0;
     390  TComDLT* pcDLT = new TComDLT;
     391
     392  READ_FLAG(uiCode, "dlt_present_flag");
     393  pcDLT->setDltPresentFlag( (uiCode == 1) ? true : false );
     394
     395  if ( pcDLT->getDltPresentFlag() )
     396  {
     397    READ_CODE(6, uiCode, "pps_depth_layers_minus1");
     398    pcDLT->setNumDepthViews( uiCode );
     399
     400    READ_CODE(4, uiCode, "pps_bit_depth_for_depth_views_minus8");
     401    pcDLT->setDepthViewBitDepth( (uiCode+8) );
     402
     403    for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )
     404    {
     405      if ( i != 0 )
     406      {
     407        if( pcVPS->getDepthId( i ) == 1 )
     408        {
     409          READ_FLAG(uiCode, "dlt_flag[i]");
     410          pcDLT->setUseDLTFlag(i, (uiCode == 1) ? true : false);
     411
     412          if ( pcDLT->getUseDLTFlag( i ) )
     413          {
     414            Bool bDltBitMapRepFlag    = false;
     415            UInt uiMaxDiff            = 0xffffffff;
     416            UInt uiMinDiff            = 0;
     417            UInt uiCodeLength         = 0;
     418
     419            READ_FLAG(uiCode, "inter_view_dlt_pred_enable_flag[ i ]");
     420            pcDLT->setInterViewDltPredEnableFlag( i, (uiCode == 1) ? true : false );
     421
     422            if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )
     423            {
     424              READ_FLAG(uiCode, "dlt_bit_map_rep_flag[ layerId ]");
     425              bDltBitMapRepFlag = (uiCode == 1) ? true : false;
     426            }
     427            else
     428            {
     429              bDltBitMapRepFlag = false;
     430            }
     431           
     432            UInt uiNumDepthValues = 0;
     433            Int  aiIdx2DepthValue[256];
     434
     435            // Bit map
     436            if ( bDltBitMapRepFlag )
     437            {
     438              for (UInt d=0; d<256; d++)
     439              {
     440                READ_FLAG(uiCode, "dlt_bit_map_flag[ layerId ][ j ]");
     441                if (uiCode == 1)
     442                {
     443                  aiIdx2DepthValue[uiNumDepthValues] = d;
     444                  uiNumDepthValues++;
     445                }
     446              }
     447            }
     448            // Diff Coding
     449            else
     450            {
     451              READ_CODE(8, uiNumDepthValues, "num_depth_values_in_dlt[i]");   // num_entry
     452
     453#if !H_3D_DELTA_DLT
     454              if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )       // Single-view DLT Diff Coding
     455#endif
     456              {
     457                // The condition if( pcVPS->getNumDepthValues(i) > 0 ) is always true since for Single-view Diff Coding, there is at least one depth value in depth component.
     458
     459                if (uiNumDepthValues > 1)
     460                {
     461                  READ_CODE(8, uiCode, "max_diff[ layerId ]");
     462                  uiMaxDiff = uiCode;
     463                }
     464                else
     465                {
     466                  uiMaxDiff = 0;           // when there is only one value in DLT
     467                }
     468
     469                if (uiNumDepthValues > 2)
     470                {
     471                  uiCodeLength = (UInt) ceil(Log2(uiMaxDiff + 1));
     472                  READ_CODE(uiCodeLength, uiCode, "min_diff_minus1[ layerId ]");
     473                  uiMinDiff = uiCode + 1;
     474                }
     475                else
     476                {
     477                  uiMinDiff = uiMaxDiff;   // when there are only one or two values in DLT
     478                }
     479
     480                READ_CODE(8, uiCode, "dlt_depth_value0[layerId]");   // entry0
     481                aiIdx2DepthValue[0] = uiCode;
     482
     483                if (uiMaxDiff == uiMinDiff)
     484                {
     485                  for (UInt d=1; d<uiNumDepthValues; d++)
     486                  {
     487                    aiIdx2DepthValue[d] = aiIdx2DepthValue[d-1] + uiMinDiff + 0;
     488                  }
     489                }
     490                else
     491                {
     492                  uiCodeLength = (UInt) ceil(Log2(uiMaxDiff - uiMinDiff + 1));
     493                  for (UInt d=1; d<uiNumDepthValues; d++)
     494                  {
     495                    READ_CODE(uiCodeLength, uiCode, "dlt_depth_value_diff_minus_min[ layerId ][ j ]");
     496                    aiIdx2DepthValue[d] = aiIdx2DepthValue[d-1] + uiMinDiff + uiCode;
     497                  }
     498                }
     499
     500              }
     501            }
     502           
     503#if H_3D_DELTA_DLT
     504            if( pcDLT->getInterViewDltPredEnableFlag( i ) )
     505            {
     506              // interpret decoded values as delta DLT
     507              AOF( pcVPS->getDepthId( 1 ) == 1 );
     508              AOF( i > 1 );
     509              // assumes ref layer id to be 1
     510              Int* piRefDLT = pcDLT->idx2DepthValue( 1 );
     511              UInt uiRefNum = pcDLT->getNumDepthValues( 1 );
     512              pcDLT->setDeltaDLT(i, piRefDLT, uiRefNum, aiIdx2DepthValue, uiNumDepthValues);
     513            }
     514            else
     515            {
     516              // store final DLT
     517              pcDLT->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
     518            }
     519#else
     520            // store final DLT
     521            pcDLT->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
     522#endif
     523          }
     524        }
     525      }
     526    }
     527  }
     528
     529  pcPPS->setDLT( pcDLT );
     530}
     531#endif
    372532
    373533Void  TDecCavlc::parseVUI(TComVUI* pcVUI, TComSPS *pcSPS)
     
    8891049#endif
    8901050
     1051#if !CAM_HLS_F0136_F0045_F0082
    8911052  UInt uiCamParPrecision = 0;
    8921053  Bool bCamParSlice      = false;
     
    9081069  }
    9091070  pcSPS->initCamParaSPS( viewIndex, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset );
     1071#endif
    9101072}
    9111073#endif
     
    10191181#if H_3D
    10201182      m_pcBitstream->readOutTrailingBits();
     1183#if CAM_HLS_F0136_F0045_F0082
     1184      pcVPS->createCamPars(pcVPS->getNumViews());
     1185#endif
    10211186      parseVPSExtension2( pcVPS );   
    10221187      READ_FLAG( uiCode,  "vps_extension3_flag" );
     
    17381903        //          READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPreFlag     ( i, uiCode == 1 ? true : false );
    17391904#if H_3D_DIM_DLT
     1905#if !DLT_DIFF_CODING_IN_PPS
    17401906        if( pcVPS->getVpsDepthModesFlag( i ) )
    17411907        {
     
    17631929        }
    17641930#endif
     1931#endif
    17651932#if H_3D_INTER_SDC
    17661933            READ_FLAG( uiCode, "depth_inter_SDC_flag" );              pcVPS->setInterSDCFlag( i, uiCode ? true : false );
     
    17691936    }
    17701937  }
     1938#if CAM_HLS_F0136_F0045_F0082
     1939  UInt uiCamParPrecision = 0;
     1940  Bool bCamParSlice      = false;
     1941  Bool bCamParPresentFlag = false;
     1942
     1943  READ_UVLC( uiCamParPrecision, "cp_precision" );
     1944  for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
     1945  {
     1946    READ_FLAG( uiCode, "cp_present_flag[i]" );                  bCamParPresentFlag = ( uiCode == 1);
     1947    if ( bCamParPresentFlag )
     1948    {
     1949      READ_FLAG( uiCode, "cp_in_slice_segment_header_flag[i]" );          bCamParSlice = ( uiCode == 1);
     1950      if ( !bCamParSlice )
     1951      {
     1952        for( UInt uiBaseIndex = 0; uiBaseIndex < viewIndex; uiBaseIndex++ )
     1953        {
     1954          Int iCode;
     1955          READ_SVLC( iCode, "vps_cp_scale" );                m_aaiTempScale  [ uiBaseIndex ][ viewIndex ]   = iCode;
     1956          READ_SVLC( iCode, "vps_cp_off" );                  m_aaiTempOffset [ uiBaseIndex ][ viewIndex ]   = iCode;
     1957          READ_SVLC( iCode, "vps_cp_inv_scale_plus_scale" ); m_aaiTempScale  [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ viewIndex ];
     1958          READ_SVLC( iCode, "vps_cp_inv_off_plus_off" );     m_aaiTempOffset [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ viewIndex ];
     1959        }
     1960      }
     1961      pcVPS->initCamParaVPS( viewIndex, bCamParPresentFlag, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset );
     1962    }
     1963  }
     1964#endif
    17711965  READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false );
    17721966}
     
    24952689  }
    24962690
     2691#if CAM_HLS_F0044
     2692#if CAM_HLS_F0136_F0045_F0082
     2693  if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
     2694#else
     2695  if( rpcSlice->getSPS()->hasCamParInSliceHeader() )
     2696#endif
     2697  {
     2698    UInt uiViewIndex = rpcSlice->getViewIndex();
     2699    for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
     2700    {
     2701      READ_SVLC( iCode, "cp_scale" );                m_aaiTempScale [ uiBaseIndex ][ uiViewIndex ] = iCode;
     2702      READ_SVLC( iCode, "cp_off" );                  m_aaiTempOffset[ uiBaseIndex ][ uiViewIndex ] = iCode;
     2703      READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); m_aaiTempScale [ uiViewIndex ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ uiViewIndex ];
     2704      READ_SVLC( iCode, "cp_inv_off_plus_off" );     m_aaiTempOffset[ uiViewIndex ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ uiViewIndex ];
     2705    }
     2706    rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
     2707  }
     2708
     2709#endif
     2710
    24972711  if(pps->getSliceHeaderExtensionPresentFlag())
    24982712  {
    24992713    READ_UVLC(uiCode,"slice_header_extension_length");
    2500 #if H_3D
     2714#if H_3D && !CAM_HLS_F0044
     2715#if CAM_HLS_F0136_F0045_F0082
     2716    if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
     2717#else
    25012718    if( rpcSlice->getSPS()->hasCamParInSliceHeader() )
     2719#endif
    25022720    {
    25032721      UInt uiViewIndex = rpcSlice->getViewIndex();
  • trunk/source/Lib/TLibDecoder/TDecCAVLC.h

    r738 r758  
    105105  Void  parseSPS            ( TComSPS* pcSPS );
    106106#endif
     107
     108#if H_3D && DLT_DIFF_CODING_IN_PPS
     109  Void  parsePPS            ( TComPPS* pcPPS, TComVPS* pcVPS );
     110  Void  parsePPSExtension   ( TComPPS* pcPPS, TComVPS* pcVPS );
     111#else
    107112  Void  parsePPS            ( TComPPS* pcPPS);
     113#endif
     114
    108115  Void  parseVUI            ( TComVUI* pcVUI, TComSPS* pcSPS );
    109116  Void  parseSEI            ( SEIMessages& );
  • trunk/source/Lib/TLibDecoder/TDecCu.cpp

    r735 r758  
    781781    {
    782782#if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
    783         if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     783#if DLT_DIFF_CODING_IN_PPS
     784      if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     785#else
     786      if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     787#endif
    784788        {
    785             pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     789#if DLT_DIFF_CODING_IN_PPS
     790          pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     791#else
     792          pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     793#endif
    786794        }
    787795        else
     
    10001008  {
    10011009#if H_3D_DIM_DLT
     1010#if DLT_DIFF_CODING_IN_PPS
     1011    Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     1012    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     1013    Pel   pRecoValue  = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
     1014#else
    10021015    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    10031016    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    10041017    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    1005    
     1018#endif
     1019
    10061020    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
    10071021#else
  • trunk/source/Lib/TLibDecoder/TDecEntropy.h

    r655 r758  
    7171  virtual Void  parseSPS                  ( TComSPS* pcSPS )                                      = 0;
    7272#endif
     73#if DLT_DIFF_CODING_IN_PPS
     74  virtual Void  parsePPS                  ( TComPPS* pcPPS, TComVPS* pcVPS )                      = 0;
     75#else
    7376  virtual Void  parsePPS                  ( TComPPS* pcPPS )                                      = 0;
     77#endif
    7478
    7579  virtual Void parseSliceHeader          ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager)       = 0;
     
    148152  Void    decodeSPS                   ( TComSPS* pcSPS     )    { m_pcEntropyDecoderIf->parseSPS(pcSPS);                    }
    149153#endif
     154#if DLT_DIFF_CODING_IN_PPS
     155  Void    decodePPS                   ( TComPPS* pcPPS, TComVPS* pcVPS )    { m_pcEntropyDecoderIf->parsePPS(pcPPS, pcVPS);                    }
     156#else
    150157  Void    decodePPS                   ( TComPPS* pcPPS )    { m_pcEntropyDecoderIf->parsePPS(pcPPS);                    }
     158#endif
    151159  Void    decodeSliceHeader           ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager)  { m_pcEntropyDecoderIf->parseSliceHeader(rpcSlice, parameterSetManager);         }
    152160
  • trunk/source/Lib/TLibDecoder/TDecSbac.cpp

    r724 r758  
    568568 
    569569#if H_3D_DIM_DLT
     570#if DLT_DIFF_CODING_IN_PPS
     571  UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
     572#else
    570573  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
     574#endif
    571575#else
    572576  UInt uiMaxResidualBits = g_bitDepthY;
     
    592596    UInt uiCount = 0;
    593597#if H_3D_DIM_DLT
     598#if DLT_DIFF_CODING_IN_PPS
     599    UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     600#else
    594601    UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     602#endif
    595603#else
    596604    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
  • trunk/source/Lib/TLibDecoder/TDecSbac.h

    r724 r758  
    8181  Void  parseSPS                  ( TComSPS* /*pcSPS*/ ) {}
    8282#endif
     83#if DLT_DIFF_CODING_IN_PPS
     84  Void  parsePPS                  ( TComPPS* /*pcPPS*/, TComVPS* /*pcVPS*/ ) {}
     85#else
    8386  Void  parsePPS                  ( TComPPS* /*pcPPS*/ ) {}
     87#endif
    8488
    8589  Void  parseSliceHeader          ( TComSlice*& /*rpcSlice*/, ParameterSetManagerDecoder* /*parameterSetManager*/) {}
  • trunk/source/Lib/TLibDecoder/TDecTop.cpp

    r738 r758  
    228228    m_uiMaxViewIndex                     = std::max( m_uiMaxViewIndex, uiViewIndex );
    229229    m_aiViewId[ uiViewIndex ]            = pcSlice->getViewId();
     230#if CAM_HLS_F0136_F0045_F0082
     231    if( uiViewIndex == 1 )
     232    {
     233      m_uiCamParsCodedPrecision       = pcSlice->getVPS()->getCamParPrecision     ();
     234      m_bCamParsVaryOverTime          = pcSlice->getVPS()->hasCamParInSliceHeader ( uiViewIndex );
     235    }
     236    else if( uiViewIndex > 1 )
     237    {
     238      AOF( m_uiCamParsCodedPrecision == pcSlice->getVPS()->getCamParPrecision     () );
     239      AOF( m_bCamParsVaryOverTime    == pcSlice->getVPS()->hasCamParInSliceHeader ( uiViewIndex ) );
     240    }
     241#else
    230242    if( uiViewIndex == 1 )
    231243    {
     
    238250      AOF( m_bCamParsVaryOverTime    == pcSlice->getSPS()->hasCamParInSliceHeader () );
    239251    }
     252#endif
    240253    for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
    241254    {
     
    251264      else
    252265      {
     266#if CAM_HLS_F0136_F0045_F0082
     267        m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedScale    (uiViewIndex) [ uiBaseIndex ];
     268        m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedOffset   (uiViewIndex) [ uiBaseIndex ];
     269        m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedScale (uiViewIndex) [ uiBaseIndex ];
     270        m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedOffset(uiViewIndex) [ uiBaseIndex ];
     271#else
    253272        m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getSPS()->getCodedScale    () [ uiBaseIndex ];
    254273        m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getSPS()->getCodedOffset   () [ uiBaseIndex ];
    255274        m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getSPS()->getInvCodedScale () [ uiBaseIndex ];
    256275        m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getSPS()->getInvCodedOffset() [ uiBaseIndex ];
     276#endif
    257277        xInitLUTs( uiBaseIndex, uiViewIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
    258278        xInitLUTs( uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiViewIndex ][ uiBaseIndex ], m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
     
    286306CamParsCollector::copyCamParamForSlice( TComSlice* pcSlice )
    287307{
     308#if !CAM_HLS_F0136_F0045_F0082
    288309  UInt uiViewIndex = pcSlice->getViewIndex();
    289310
    290311  pcSlice->getSPS()->initCamParaSPS( uiViewIndex, m_uiCamParsCodedPrecision, m_bCamParsVaryOverTime, m_aaiCodedScale, m_aaiCodedOffset );
    291 
     312#endif
    292313  if( m_bCamParsVaryOverTime )
    293314  {
     
    11091130  if( pcSlice->getIsDepth() )
    11101131  {
     1132#if !CAM_HLS_F0136_F0045_F0082
    11111133    pcSlice->getSPS()->setHasCamParInSliceHeader( false );
     1134#endif
    11121135  }
    11131136#endif
     
    11511174  pps->setLayerId( getLayerId() );
    11521175#endif
     1176#if DLT_DIFF_CODING_IN_PPS
     1177  // Assuming that all PPS indirectly refer to the same VPS via different SPS
     1178  // There is no parsing dependency in decoding DLT in PPS.
     1179  // The VPS information passed to decodePPS() is used to arrange the decoded DLT tables to their corresponding layers.
     1180  // This is equivalent to the process of
     1181  //   Step 1) decoding DLT tables based on the number of depth layers, and
     1182  //   Step 2) mapping DLT tables to the depth layers
     1183  // as descripted in the 3D-HEVC WD.
     1184  TComVPS* vps = m_parameterSetManagerDecoder.getPrefetchedVPS( 0 );
     1185  m_cEntropyDecoder.decodePPS( pps, vps );
     1186#else
    11531187  m_cEntropyDecoder.decodePPS( pps );
     1188#endif
    11541189  m_parameterSetManagerDecoder.storePrefetchedPPS( pps );
    11551190}
  • trunk/source/Lib/TLibEncoder/TEncCavlc.cpp

    r738 r758  
    256256  WRITE_UVLC( pcPPS->getLog2ParallelMergeLevelMinus2(), "log2_parallel_merge_level_minus2");
    257257  WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag");
     258
     259#if !DLT_DIFF_CODING_IN_PPS
    258260  WRITE_FLAG( 0, "pps_extension_flag" );
    259 }
     261#else
     262  WRITE_FLAG( 1, "pps_extension_flag" );
     263  codePPSExtension( pcPPS );
     264  WRITE_FLAG( 0, "pps_extension2_flag" );
     265#endif
     266}
     267
     268#if DLT_DIFF_CODING_IN_PPS
     269Void  TEncCavlc::codePPSExtension        ( TComPPS* pcPPS )
     270{
     271  // Assuming that all PPS indirectly refer to the same VPS via different SPS
     272  // There is no parsing dependency in decoding DLT in PPS.
     273  // The VPS information passed to decodePPS() is used to arrange the decoded DLT tables to their corresponding layers.
     274  // This is equivalent to the process of
     275  //   Step 1) decoding DLT tables based on the number of depth layers, and
     276  //   Step 2) mapping DLT tables to the depth layers
     277  // as descripted in the 3D-HEVC WD.
     278  TComVPS* pcVPS = pcPPS->getSPS()->getVPS();
     279
     280  TComDLT* pcDLT = pcPPS->getDLT();
     281
     282  WRITE_FLAG( pcDLT->getDltPresentFlag() ? 1 : 0, "dlt_present_flag" );
     283
     284  if ( pcDLT->getDltPresentFlag() )
     285  {
     286    WRITE_CODE(pcDLT->getNumDepthViews(), 6, "pps_depth_layers_minus1");
     287    WRITE_CODE((pcDLT->getDepthViewBitDepth() - 8), 4, "pps_bit_depth_for_depth_views_minus8");
     288
     289    for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )
     290    {
     291      if ( i != 0 )
     292      {
     293        if ( pcVPS->getDepthId( i ) == 1 )
     294        {
     295          WRITE_FLAG( pcDLT->getUseDLTFlag( i ) ? 1 : 0, "dlt_flag[i]" );
     296
     297          if ( pcDLT->getUseDLTFlag( i ) )
     298          {
     299            WRITE_FLAG( pcDLT->getInterViewDltPredEnableFlag( i ) ? 1 : 0, "inter_view_dlt_pred_enable_flag[ i ]");
     300
     301            // ----------------------------- determine whether to use bit-map -----------------------------
     302            Bool bDltBitMapRepFlag       = false;
     303            UInt uiNumBitsNonBitMap      = 0;
     304            UInt uiNumBitsBitMap         = 0;
     305
     306            UInt uiMaxDiff               = 0;
     307            UInt uiMinDiff               = 0xffffffff;
     308            UInt uiLengthMinDiff         = 0;
     309            UInt uiLengthDltDiffMinusMin = 0;
     310
     311            UInt* puiDltDiffValues       = NULL;
     312           
     313            Int aiIdx2DepthValue_coded[256];
     314            UInt uiNumDepthValues_coded = 0;
     315           
     316            uiNumDepthValues_coded = pcDLT->getNumDepthValues(i);
     317            for( UInt ui = 0; ui<uiNumDepthValues_coded; ui++ )
     318            {
     319              aiIdx2DepthValue_coded[ui] = pcDLT->idx2DepthValue(i, ui);
     320            }
     321           
     322#if H_3D_DELTA_DLT
     323            if( pcDLT->getInterViewDltPredEnableFlag( i ) )
     324            {
     325              AOF( pcVPS->getDepthId( 1 ) == 1 );
     326              AOF( i > 1 );
     327              // assumes ref layer id to be 1
     328              Int* piRefDLT = pcDLT->idx2DepthValue( 1 );
     329              UInt uiRefNum = pcDLT->getNumDepthValues( 1 );
     330              pcDLT->getDeltaDLT(i, piRefDLT, uiRefNum, aiIdx2DepthValue_coded, &uiNumDepthValues_coded);
     331            }
     332#endif
     333
     334            if ( NULL == (puiDltDiffValues = (UInt *)calloc(uiNumDepthValues_coded, sizeof(UInt))) )
     335            {
     336              exit(-1);
     337            }
     338
     339            for (UInt d = 1; d < uiNumDepthValues_coded; d++)
     340            {
     341              puiDltDiffValues[d] = aiIdx2DepthValue_coded[d] - aiIdx2DepthValue_coded[d-1];
     342
     343              if ( uiMaxDiff < puiDltDiffValues[d] )
     344              {
     345                uiMaxDiff = puiDltDiffValues[d];
     346              }
     347
     348              if ( uiMinDiff > puiDltDiffValues[d] )
     349              {
     350                uiMinDiff = puiDltDiffValues[d];
     351              }
     352            }
     353
     354            // counting bits
     355            // diff coding branch
     356            uiNumBitsNonBitMap += 8;                          // u(v) bits for num_depth_values_in_dlt[layerId] (i.e. num_entry[ layerId ])
     357
     358            if ( uiNumDepthValues_coded > 1 )
     359            {
     360              uiNumBitsNonBitMap += 8;                        // u(v) bits for max_diff[ layerId ]
     361            }
     362
     363            if ( uiNumDepthValues_coded > 2 )
     364            {
     365              uiLengthMinDiff    = (UInt) ceil(Log2(uiMaxDiff + 1));
     366              uiNumBitsNonBitMap += uiLengthMinDiff;          // u(v)  bits for min_diff[ layerId ]
     367            }
     368
     369            uiNumBitsNonBitMap += 8;                          // u(v) bits for dlt_depth_value0[ layerId ]
     370
     371            if (uiMaxDiff > uiMinDiff)
     372            {
     373              uiLengthDltDiffMinusMin = (UInt) ceil(Log2(uiMaxDiff - uiMinDiff + 1));
     374              uiNumBitsNonBitMap += uiLengthDltDiffMinusMin * (uiNumDepthValues_coded - 1);  // u(v) bits for dlt_depth_value_diff_minus_min[ layerId ][ j ]
     375            }
     376
     377            // bit map branch
     378            uiNumBitsBitMap = 256;   // uiNumBitsBitMap = 1 << pcDLT->getDepthViewBitDepth();
     379
     380            // determine bDltBitMapFlag
     381            bDltBitMapRepFlag = (uiNumBitsBitMap > uiNumBitsNonBitMap) ? false : true;
     382
     383            // ----------------------------- Actual coding -----------------------------
     384            if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )
     385            {
     386              WRITE_FLAG( bDltBitMapRepFlag ? 1 : 0, "dlt_bit_map_rep_flag[ layerId ]" );
     387            }
     388            else
     389            {
     390              bDltBitMapRepFlag = false;
     391            }
     392
     393            // bit map coding
     394            if ( bDltBitMapRepFlag )
     395            {
     396              UInt uiDltArrayIndex = 0;
     397              for (UInt d=0; d < 256; d++)
     398              {
     399                if ( d == aiIdx2DepthValue_coded[uiDltArrayIndex] )
     400                {                 
     401                  WRITE_FLAG(1, "dlt_bit_map_flag[ layerId ][ j ]");
     402                  uiDltArrayIndex++;
     403                }
     404                else
     405                {
     406                  WRITE_FLAG(0, "dlt_bit_map_flag[ layerId ][ j ]");
     407                }
     408              }
     409            }
     410            // Diff Coding
     411            else
     412            {
     413              WRITE_CODE(uiNumDepthValues_coded, 8, "num_depth_values_in_dlt[layerId]");    // num_entry
     414
     415#if !H_3D_DELTA_DLT
     416              if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )   // Single-view DLT Diff Coding
     417#endif
     418              {
     419                // The condition if( uiNumDepthValues_coded > 0 ) is always true since for Single-view Diff Coding, there is at least one depth value in depth component.
     420                if ( uiNumDepthValues_coded > 1 )
     421                {
     422                  WRITE_CODE(uiMaxDiff, 8, "max_diff[ layerId ]");        // max_diff
     423                }
     424
     425                if ( uiNumDepthValues_coded > 2 )
     426                {
     427                  WRITE_CODE((uiMinDiff - 1), uiLengthMinDiff, "min_diff_minus1[ layerId ]");     // min_diff_minus1
     428                }
     429
     430                WRITE_CODE(aiIdx2DepthValue_coded[0], 8, "dlt_depth_value0[layerId]");          // entry0
     431
     432                if (uiMaxDiff > uiMinDiff)
     433                {
     434                  for (UInt d=1; d < uiNumDepthValues_coded; d++)
     435                  {
     436                    WRITE_CODE( (puiDltDiffValues[d] - uiMinDiff), uiLengthDltDiffMinusMin, "dlt_depth_value_diff_minus_min[ layerId ][ j ]");    // entry_value_diff_minus_min[ k ]
     437                  }
     438                }
     439              }
     440            }
     441
     442            free(puiDltDiffValues);
     443          }
     444        }
     445      }
     446    }
     447  }
     448}
     449#endif
    260450
    261451Void TEncCavlc::codeVUI( TComVUI *pcVUI, TComSPS* pcSPS )
     
    671861}
    672862#endif
    673   if (!depthFlag )
    674   {
    675     WRITE_UVLC( pcSPS->getCamParPrecision(), "cp_precision" );
    676     WRITE_FLAG( pcSPS->hasCamParInSliceHeader() ? 1 : 0, "cp_in_slice_header_flag" );
    677     if( !pcSPS->hasCamParInSliceHeader() )
    678     {
    679       for( UInt uiIndex = 0; uiIndex < viewIndex; uiIndex++ )
    680       {
    681         WRITE_SVLC( pcSPS->getCodedScale    ()[ uiIndex ],                                      "cp_scale" );
    682         WRITE_SVLC( pcSPS->getCodedOffset   ()[ uiIndex ],                                      "cp_off" );
    683         WRITE_SVLC( pcSPS->getInvCodedScale ()[ uiIndex ] + pcSPS->getCodedScale ()[ uiIndex ], "cp_inv_scale_plus_scale" );
    684         WRITE_SVLC( pcSPS->getInvCodedOffset()[ uiIndex ] + pcSPS->getCodedOffset()[ uiIndex ], "cp_inv_off_plus_off" );
    685       }
    686     }
    687   }
     863#if !CAM_HLS_F0136_F0045_F0082
     864if (!depthFlag )
     865{
     866  WRITE_UVLC( pcSPS->getCamParPrecision(), "cp_precision" );
     867  WRITE_FLAG( pcSPS->hasCamParInSliceHeader() ? 1 : 0, "cp_in_slice_header_flag" );
     868  if( !pcSPS->hasCamParInSliceHeader() )
     869  {
     870    for( UInt uiIndex = 0; uiIndex < viewIndex; uiIndex++ )
     871    {
     872      WRITE_SVLC( pcSPS->getCodedScale    ()[ uiIndex ],                                      "cp_scale" );
     873      WRITE_SVLC( pcSPS->getCodedOffset   ()[ uiIndex ],                                      "cp_off" );
     874      WRITE_SVLC( pcSPS->getInvCodedScale ()[ uiIndex ] + pcSPS->getCodedScale ()[ uiIndex ], "cp_inv_scale_plus_scale" );
     875      WRITE_SVLC( pcSPS->getInvCodedOffset()[ uiIndex ] + pcSPS->getCodedOffset()[ uiIndex ], "cp_inv_off_plus_off" );
     876    }
     877  }
     878}
     879#endif
    688880}
    689881#endif
     
    14631655        //WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
    14641656#if H_3D_DIM_DLT
     1657#if !DLT_DIFF_CODING_IN_PPS
    14651658        if( pcVPS->getVpsDepthModesFlag( i ) )
    14661659        {
     
    14751668            WRITE_UVLC( pcVPS->idx2DepthValue(i, d), "dlt_depth_value[i][d]" );
    14761669          }
    1477         }       
     1670        }
     1671#endif
    14781672#endif
    14791673#if H_3D_INTER_SDC
     
    14831677    } 
    14841678  }
     1679#if CAM_HLS_F0136_F0045_F0082
     1680  WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
     1681  for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
     1682  {
     1683    WRITE_FLAG( pcVPS->getCamParPresent(viewIndex) ? 1 : 0, "cp_present_flag[i]" );
     1684    if ( pcVPS->getCamParPresent(viewIndex) )
     1685    {
     1686      WRITE_FLAG( pcVPS->hasCamParInSliceHeader(viewIndex) ? 1 : 0, "cp_in_slice_segment_header_flag[i]" );
     1687      if ( !pcVPS->hasCamParInSliceHeader(viewIndex) )
     1688      {
     1689        for( UInt uiIndex = 0; uiIndex < viewIndex; uiIndex++ )
     1690        {
     1691          WRITE_SVLC( pcVPS->getCodedScale    (viewIndex)[ uiIndex ],                                               "vps_cp_scale" );
     1692          WRITE_SVLC( pcVPS->getCodedOffset   (viewIndex)[ uiIndex ],                                               "vps_cp_off" );
     1693          WRITE_SVLC( pcVPS->getInvCodedScale (viewIndex)[ uiIndex ] + pcVPS->getCodedScale (viewIndex)[ uiIndex ], "vps_cp_inv_scale_plus_scale" );
     1694          WRITE_SVLC( pcVPS->getInvCodedOffset(viewIndex)[ uiIndex ] + pcVPS->getCodedOffset(viewIndex)[ uiIndex ], "vps_cp_inv_off_plus_off" );
     1695        }
     1696      }
     1697    }
     1698  }
     1699#endif
    14851700#if H_3D_TMVP
    14861701  WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
     
    19472162    }
    19482163  }
     2164#if CAM_HLS_F0044
     2165#if QC_DEPTH_IV_MRG_F0125
     2166#if CAM_HLS_F0136_F0045_F0082
     2167  if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && !pcSlice->getIsDepth() )
     2168#else
     2169  if( pcSlice->getSPS()->hasCamParInSliceHeader() && !pcSlice->getIsDepth() )
     2170#endif
     2171#else
     2172  if( pcSlice->getSPS()->hasCamParInSliceHeader() )
     2173#endif
     2174  {
     2175    for( UInt uiId = 0; uiId < pcSlice->getViewIndex(); uiId++ )
     2176    {
     2177      WRITE_SVLC( pcSlice->getCodedScale    ()[ uiId ],                                     "cp_scale" );
     2178      WRITE_SVLC( pcSlice->getCodedOffset   ()[ uiId ],                                     "cp_off" );
     2179      WRITE_SVLC( pcSlice->getInvCodedScale ()[ uiId ] + pcSlice->getCodedScale ()[ uiId ], "cp_inv_scale_plus_scale" );
     2180      WRITE_SVLC( pcSlice->getInvCodedOffset()[ uiId ] + pcSlice->getCodedOffset()[ uiId ], "cp_inv_off_plus_off" );
     2181    }
     2182  }
     2183#endif
     2184
    19492185  if(pcSlice->getPPS()->getSliceHeaderExtensionPresentFlag())
    19502186  {
    1951 #if !H_3D
     2187#if !H_3D || CAM_HLS_F0044
    19522188    WRITE_UVLC(0,"slice_header_extension_length");
    19532189#else
    19542190    WRITE_UVLC(0,"slice_header_extension_length"); //<- this element needs to be set to the correct value!!
    1955 
    19562191#if QC_DEPTH_IV_MRG_F0125
     2192#if CAM_HLS_F0136_F0045_F0082
     2193    if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && !pcSlice->getIsDepth() )
     2194#else
    19572195    if( pcSlice->getSPS()->hasCamParInSliceHeader() && !pcSlice->getIsDepth() )
     2196#endif
    19582197#else
    19592198    if( pcSlice->getSPS()->hasCamParInSliceHeader() )
  • trunk/source/Lib/TLibEncoder/TEncCavlc.h

    r738 r758  
    116116#endif
    117117  Void  codePPS                 ( TComPPS* pcPPS );
     118
     119#if DLT_DIFF_CODING_IN_PPS
     120  Void  codePPSExtension        ( TComPPS* pcPPS );
     121#endif
     122
    118123  Void  codeSliceHeader         ( TComSlice* pcSlice );
    119124  Void  codePTL                 ( TComPTL* pcPTL, Bool profilePresentFlag, Int maxNumSubLayersMinus1);
  • trunk/source/Lib/TLibEncoder/TEncCfg.h

    r724 r758  
    330330  TComVPS                    m_cVPS;
    331331#endif
     332
     333#if DLT_DIFF_CODING_IN_PPS
     334  TComDLT*  m_cDLT;
     335#endif
     336
    332337  Bool      m_recalculateQPAccordingToLambda;                 ///< recalculate QP value according to the lambda value
    333338  Int       m_activeParameterSetsSEIEnabled;                  ///< enable active parameter set SEI message
     
    867872  TComVPS *getVPS() { return &m_cVPS; }
    868873#endif
     874
     875#if DLT_DIFF_CODING_IN_PPS
     876  Void      setDLT           ( TComDLT *p ) { m_cDLT = p; }
     877  TComDLT*  getDLT           ()             { return m_cDLT; }
     878#endif
     879
    869880  Void      setUseRecalculateQPAccordingToLambda ( Bool b ) { m_recalculateQPAccordingToLambda = b;    }
    870881  Bool      getUseRecalculateQPAccordingToLambda ()         { return m_recalculateQPAccordingToLambda; }
  • trunk/source/Lib/TLibEncoder/TEncSbac.cpp

    r724 r758  
    632632
    633633#if H_3D_DIM_DLT
     634#if DLT_DIFF_CODING_IN_PPS
     635  UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
     636#else
    634637  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
     638#endif
    635639#else
    636640  UInt uiMaxResidualBits = g_bitDepthY;
     
    653657   
    654658#if H_3D_DIM_DLT
    655     UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     659#if DLT_DIFF_CODING_IN_PPS
     660      UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     661#else
     662      UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
     663#endif
    656664#else
    657665    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
  • trunk/source/Lib/TLibEncoder/TEncSearch.cpp

    r735 r758  
    11271127      {
    11281128#if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
    1129           if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1129#if DLT_DIFF_CODING_IN_PPS
     1130        if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1131#else
     1132        if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1133#endif
    11301134          {
    1131               pResi[ uiX ] = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pOrg[ uiX ] ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] );
     1135#if DLT_DIFF_CODING_IN_PPS
     1136            pResi[ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pOrg[ uiX ] ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] );
     1137#else
     1138            pResi[ uiX ] = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pOrg[ uiX ] ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] );
     1139#endif
    11321140          }
    11331141          else
     
    12021210      {
    12031211#if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
    1204           if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1212#if DLT_DIFF_CODING_IN_PPS
     1213        if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1214#else
     1215        if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1216#endif
    12051217          {
    1206               pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     1218#if DLT_DIFF_CODING_IN_PPS
     1219            pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     1220#else
     1221            pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     1222#endif
    12071223          }
    12081224          else
     
    19351951    // get residual (idx)
    19361952#if H_3D_DIM_DLT
     1953#if DLT_DIFF_CODING_IN_PPS
     1954    Pel pResidualIdx = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pDCRec ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     1955#else
    19371956    Pel pResidualIdx = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pDCRec ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     1957#endif
    19381958#else
    19391959    Pel pResidualIdx = pDCRec - apDCPredValues[uiSegment];
     
    19491969  {
    19501970#if H_3D_DIM_DLT
     1971#if DLT_DIFF_CODING_IN_PPS
     1972    Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     1973    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     1974    Pel   pRecoValue  = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
     1975#else
    19511976    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    19521977    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    19531978    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    1954    
     1979#endif
     1980
    19551981    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
    19561982#else
     
    73467372
    73477373#if H_3D_DIM_DLT
     7374#if DLT_DIFF_CODING_IN_PPS
     7375  rDeltaDC1 = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC1 + rDeltaDC1) ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 );
     7376  rDeltaDC2 = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC2 + rDeltaDC2) ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 );
     7377#else
    73487378  rDeltaDC1 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC1 + rDeltaDC1) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 );
    73497379  rDeltaDC2 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC2 + rDeltaDC2) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 );
     7380#endif
    73507381#endif
    73517382}
  • trunk/source/Lib/TLibEncoder/TEncTop.cpp

    r738 r758  
    299299{
    300300  // initialize SPS
     301#if DLT_DIFF_CODING_IN_PPS
     302  // Assuming that all PPS indirectly refer to the same VPS via different SPS
     303  m_cSPS.setVPS(m_cVPS);
     304#endif
    301305  xInitSPS();
    302306 
     
    850854  }
    851855#if H_3D
     856#if !CAM_HLS_F0136_F0045_F0082
    852857#if !QC_DEPTH_IV_MRG_F0125
    853858  if ( !m_isDepth )
     
    857862  }
    858863#endif
     864#endif
    859865}
    860866
     
    870876  m_cPPS.setSPSId( getLayerIdInVps() );
    871877#endif
     878
     879#if DLT_DIFF_CODING_IN_PPS
     880  m_cPPS.setDLT( getDLT() );
     881#endif
     882
    872883  m_cPPS.setConstrainedIntraPred( m_bUseConstrainedIntraPred );
    873884  Bool bUseDQP = (getMaxCuDQPDepth() > 0)? true : false;
     
    10011012  }
    10021013#if H_3D
     1014#if CAM_HLS_F0136_F0045_F0082
     1015  if( m_cVPS->hasCamParInSliceHeader( getViewIndex() ) )
     1016#else
    10031017  if( m_cSPS.hasCamParInSliceHeader() )
     1018#endif
    10041019  {
    10051020    m_cPPS.setSliceHeaderExtensionPresentFlag( true );
Note: See TracChangeset for help on using the changeset viewer.