Changeset 5 in 3DVCSoftware for trunk/source


Ignore:
Timestamp:
12 Dec 2011, 18:35:44 (12 years ago)
Author:
hhi
Message:

Clean version with cfg-files

Location:
trunk/source
Files:
143 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppCommon/TAppComCamPara.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppCommon/TAppComCamPara.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppCommon/program_options_lite.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235#include <stdlib.h>
  • trunk/source/App/TAppCommon/program_options_lite.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235#include <iostream>
  • trunk/source/App/TAppDecoder/TAppDecCfg.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppDecoder/TAppDecCfg.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    4881    m_apcBitstream = NULL;
    4982  }
    50 #if SB_MEM_FIX
    5183  if( m_pchBitstreamFile )
    5284  {
     
    5789    free(m_pchReconFile);
    5890  }
    59 #endif
    6091}
    6192
  • trunk/source/App/TAppDecoder/TAppDecTop.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    3669  std::vector<TVideoIOYuv*>       m_acTVideoIOYuvReconFileList;
    3770  std::vector<TVideoIOYuv*>       m_acTVideoIOYuvDepthReconFileList;
    38  
     71
    3972  Bool m_bUsingDepth;
    4073
    4174  // for output control
    42   //SB can be deleted?
    4375  Bool                            m_abDecFlag[ MAX_GOP ];         ///< decoded flag in one GOP
    4476//  Int                             m_iPOCLastDisplay;              ///< last POC in display order
     
    5082  FILE*                           m_pScaleOffsetFile;
    5183  CamParsCollector                m_cCamParsCollector;
     84#if DEPTH_MAP_GENERATION
    5285  TComSPSAccess                   m_cSPSAccess;
    5386  TComAUPicAccess                 m_cAUPicAccess;
    54  
     87#endif
     88
    5589public:
    5690  TAppDecTop();
    5791  virtual ~TAppDecTop() {}
    58  
     92
    5993  Void  create            (); ///< create internal members
    6094  Void  destroy           (); ///< destroy internal members
     
    68102// GT FIX END
    69103
     104#if DEPTH_MAP_GENERATION
    70105  TComSPSAccess*    getSPSAccess  () { return &m_cSPSAccess;   }
    71106  TComAUPicAccess*  getAUPicAccess() { return &m_cAUPicAccess; }
    72  
     107#endif
     108
    73109protected:
    74110  Void  xCreateDecLib     (); ///< create internal classes
    75111  Void  xDestroyDecLib    (); ///< destroy internal classes
    76112  Void  xInitDecLib       (); ///< initialize decoder class
    77  
     113
    78114  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic ); ///< write YUV to file
    79115};
  • trunk/source/App/TAppDecoder/decmain.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    3972{
    4073  m_aidQP = NULL;
    41 //GT VSO
     74#if HHI_VSO
    4275  m_aaiERViewRefLutInd.resize( MAX_INPUT_VIEW_NUM );
    43 //GT VSO end
     76#endif
    4477}
    4578
     
    89122    free (m_pchBaseViewCameraNumbers);
    90123
     124#if HHI_VSO
    91125  if (  m_pchVSOConfig != NULL)
    92126    free (  m_pchVSOConfig );
     127#endif
    93128
    94129}
     
    172207
    173208  /* Coding structure paramters */
    174   ("CodecPictureStoreSize,cpss",  m_uiCodedPictureStoreSize, 16u, "Size of coded picture Buffer")
     209  ("CodedPictureStoreSize,cpss",  m_uiCodedPictureStoreSize, 16u, "Size of coded picture Buffer")
    175210#if DCM_DECODING_REFRESH
    176211  ("DecodingRefreshType,-dr",m_iDecodingRefreshType, 0, "intra refresh, (0:none 1:CDR 2:IDR)")
     
    178213  ("GOPSize,g",      m_iGOPSize,      1, "GOP size of temporal structure")
    179214  ("RateGOPSize,-rg",m_iRateGOPSize, -1, "GOP size of hierarchical QP assignment (-1: implies inherit GOPSize value)")
    180 #if !SB_NO_LowDelayCoding
     215#if !HHI_NO_LowDelayCoding
    181216  ("LowDelayCoding",         m_bUseLDC,             false, "low-delay mode")
    182217#endif
     
    221256  ("LoopFilterBetaOffset", m_iLoopFilterBetaOffset, 0 )
    222257
    223 //GT campara
     258  /* Camera Paremetes */
    224259  ("CameraParameterFile,cpf", m_pchCameraParameterFile,    (Char *) 0, "Camera Parameter File Name")
    225260  ("BaseViewCameraNumbers" ,  m_pchBaseViewCameraNumbers,  (Char *) 0, "Numbers of base views")
    226 //GT campara end
     261
    227262
    228263    /* View Synthesis Optimization */
    229 //GT VSO
     264
     265#if HHI_VSO
    230266  ("VSOConfig",                       m_pchVSOConfig            , (Char *) 0    , "VSO configuration")
    231267    ("VSO",                             m_bUseVSO                 , false         , "Use VSO" )
    232268    // GT: For development, will be removed later
    233269  ("VSOMode",                         m_uiVSOMode               , (UInt)   4    , "VSO Mode")
    234   ("LambdaScaleVSO",                  m_dLambdaScaleVSO         , (Double) 0.6  , "Lambda Scaling for VSO")
     270  ("LambdaScaleVSO",                  m_dLambdaScaleVSO         , (Double) 0.5  , "Lambda Scaling for VSO")
    235271    ("ForceLambdaScaleVSO",             m_bForceLambdaScaleVSO    , false         , "Force using Lambda Scale VSO also in non-VSO-Mode")
    236 #if RDO_DIST_INT
     272#if HHI_VSO_DIST_INT
    237273  ("AllowNegDist",                    m_bAllowNegDist           , true         , "Allow negative Distortion in VSO")
    238274#endif
     
    242278    ("VSERViewReferences_%d,evr_%d"  ,  m_aaiERViewRefInd         , vector<Int>() , MAX_INPUT_VIEW_NUM, "Numbers of external virtual reference views to be used for this view")
    243279    ("VSBaseViewReferences_%d,bvr_%d",  m_aaiBaseViewRefInd       , vector<Int>() , MAX_INPUT_VIEW_NUM, "Numbers of external virtual reference views to be used for this view")
    244 //GT VSO end
     280#endif
    245281
    246282  /* Coding tools */
     
    281317  ("FEN", m_bUseFastEnc, false, "fast encoder setting")
    282318
    283 #if HHI_DMM_INTRA
    284   ("DMM", m_bUseDepthModelModes, false, "add depth modes intra")
    285 #endif
     319#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     320  ("DMM", m_bUseDMM, false, "add depth modes intra")
     321#endif
     322#if HHI_MPI
    286323  ("MVI", m_bUseMVI, false, "use motion vector inheritance for depth map coding")
     324#endif
    287325
    288326  /* Multiview tools */
     327#if DEPTH_MAP_GENERATION
    289328  ("PredDepthMapGen",  m_uiPredDepthMapGeneration, (UInt)0, "generation of prediction depth maps for motion data prediction" )
     329#endif
     330#if HHI_INTER_VIEW_MOTION_PRED
    290331  ("MultiviewMvPred",  m_uiMultiviewMvPredMode,    (UInt)0, "usage of predicted depth maps" )
    291332  ("MultiviewMvRegMode",        m_uiMultiviewMvRegMode,         (UInt)0, "regularization mode for multiview motion vectors" )
    292333  ("MultiviewMvRegLambdaScale", m_dMultiviewMvRegLambdaScale, (Double)0, "lambda scale for multiview motion vector regularization" )
     334#endif
     335#if HHI_INTER_VIEW_RESIDUAL_PRED
    293336  ("MultiviewResPred", m_uiMultiviewResPredMode,   (UInt)0, "usage of inter-view residual prediction" )
    294 
    295   ("OmitUnusedBlocks", m_bOmitUnusedBlocks, false, "omit blocks not used for rendering")
     337#endif
    296338
    297339  ("QpChangeFrame", m_iQpChangeFrame, PicOrderCnt(0), "start frame for QP change")
    298340  ("QpChangeOffsetVideo", m_iQpChangeOffsetVideo, 0, "QP change offset for video")
    299341  ("QpChangeOffsetDepth", m_iQpChangeOffsetDepth, 0, "QP change offset for depth")
    300 #if SB_INTERVIEW_SKIP
     342#if HHI_INTERVIEW_SKIP
    301343  ("InterViewSkip",  m_uiInterViewSkip,    (UInt)0, "usage of interview skip" )
    302 #if SB_INTERVIEW_SKIP_LAMBDA_SCALE
     344#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
    303345  ("InterViewSkipLambdaScale",  m_dInterViewSkipLambdaScale,    (Double)8, "lambda scale for interview skip" )
    304346#endif
     
    387429//GT QP Depth end
    388430
    389 //GT VSO
     431#if HHI_VSO
    390432  m_bUseVSO = m_bUseVSO && m_bUsingDepthMaps && (m_uiVSOMode != 0);
    391 //GT VSO end
     433#endif
    392434
    393435  xCleanUpVectors();
    394436
     437#if HHI_VSO
    395438  if ( m_abUseALF .size() < 2)
    396439    m_abUseALF .push_back( m_bUseVSO ? false : m_abUseALF[0]  );
    397440
    398441  if ( m_abUseRDOQ.size() < 2)
    399     m_abUseRDOQ.push_back( m_bUseVSO ? false : m_abUseRDOQ[0] );
     442    m_abUseRDOQ.push_back( m_bUseVSO ? true : m_abUseRDOQ[0] );
    400443
    401444  if ( m_abLoopFilterDisable.size() < 2)
     
    404447  if (m_abUseSAO.size() < 2)
    405448    m_abUseSAO.push_back            ( m_bUseVSO ? false : m_abUseSAO[0] );
    406 
    407 //GT VSO
     449#else
     450  if ( m_abUseALF .size() < 2)
     451    m_abUseALF .push_back( m_abUseALF[0]  );
     452
     453  if ( m_abUseRDOQ.size() < 2)
     454    m_abUseRDOQ.push_back( m_abUseRDOQ[0] );
     455
     456  if ( m_abLoopFilterDisable.size() < 2)
     457    m_abLoopFilterDisable.push_back( m_abLoopFilterDisable[0]  );
     458
     459  if (m_abUseSAO.size() < 2)
     460    m_abUseSAO.push_back            ( m_abUseSAO[0] );
     461#endif
     462
     463#if HHI_VSO
    408464  if ( m_bUseVSO )
    409465  {
     
    423479    }
    424480  }
    425 //GT VSO end
     481#endif
    426482
    427483  // set global variables
     
    429485
    430486  // read and check camera parameters
     487#if HHI_VSO
    431488if ( m_bUseVSO && m_uiVSOMode == 4)
    432489{
     
    468525    NULL,
    469526    LOG2_DISP_PREC_LUT );
    470 
    471 }
     527}
     528#else
     529  m_cCameraData     .init     ( (UInt)m_iNumberOfViews,
     530    m_uiInputBitDepth,
     531    (UInt)m_iCodedCamParPrecision,
     532    m_FrameSkip,
     533    (UInt)m_iFrameToBeEncoded,
     534    m_pchCameraParameterFile,
     535    m_pchBaseViewCameraNumbers,
     536    NULL,
     537    NULL,
     538    LOG2_DISP_PREC_LUT );
     539#endif
     540
     541
    472542  // check validity of input parameters
    473543  xCheckParameter();
     
    558628
    559629  xConfirmPara    ( m_iCodedCamParPrecision < 0 || m_iCodedCamParPrecision > 5,       "CodedCamParsPrecision must be in range of 0..5" );
     630#if DEPTH_MAP_GENERATION
    560631  xConfirmPara    ( m_uiPredDepthMapGeneration > 3,                                   "PredDepthMapGen must be less than or equal to 3" );
    561632  xConfirmPara    ( m_uiPredDepthMapGeneration >= 2 && !m_bUsingDepthMaps,            "PredDepthMapGen >= 2 requires CodeDepthMaps = 1" );
     633#endif
     634#if HHI_INTER_VIEW_MOTION_PRED
    562635  xConfirmPara    ( m_uiMultiviewMvPredMode > 7,                                      "MultiviewMvPred must be less than or equal to 7" );
    563636  xConfirmPara    ( m_uiMultiviewMvPredMode > 0 && m_uiPredDepthMapGeneration == 0 ,  "MultiviewMvPred > 0 requires PredDepthMapGen > 0" );
     
    568641    xConfirmPara  ( Int( m_pchDepthInputFileList.size() ) < m_iNumberOfViews,         "MultiviewMvRegMode > 0 requires the presence of input depth maps" );
    569642  }
     643#endif
     644#if HHI_INTER_VIEW_RESIDUAL_PRED
    570645  xConfirmPara    ( m_uiMultiviewResPredMode > 1,                                     "MultiviewResPred must be less than or equal to 1" );
    571646  xConfirmPara    ( m_uiMultiviewResPredMode > 0 && m_uiPredDepthMapGeneration == 0 , "MultiviewResPred > 0 requires PredDepthMapGen > 0" );
    572 
    573 #if SB_INTERVIEW_SKIP
     647#endif
     648
     649#if HHI_INTERVIEW_SKIP
    574650  xConfirmPara    ( m_uiInterViewSkip > 1,                                        "RenderingSkipMode > 1 not supported" );
    575651  xConfirmPara    ( m_uiInterViewSkip > 0 && !m_bUsingDepthMaps,                  "RenderingSkipMode > 0 requires CodeDepthMaps = 1" );
    576   xConfirmPara    ( m_uiInterViewSkip > 0 && !m_bOmitUnusedBlocks,                "RenderingSkipMode > 0 requires OmitUnusedBlocks = 1" );
    577652#endif
    578653  if( m_bUsingDepthMaps )
     
    581656    xConfirmPara  ( Int( m_pchDepthReconFileList.size() ) < m_iNumberOfViews,         "Number of DepthReconFiles must be greater than or equal to NumberOfViews" );
    582657
    583 //GT VSO
     658#if HHI_VSO
    584659    if( m_bUseVSO )
    585660    {
     
    592667      xConfirmPara( Int( m_pchERRefFileList .size() ) < m_iNumberOfExternalRefs,     "Number of ERRefFileFiles  must be greater than or equal to NumberOfExternalRefs" );
    593668    }
    594 //GT VSO end
     669#endif
    595670  }
    596671
    597672#if DCM_COMB_LIST
    598 #if !SB_NO_LowDelayCoding
     673#if !HHI_NO_LowDelayCoding
    599674  xConfirmPara( m_bUseLComb==false && m_bUseLDC==false,         "LComb can only be 0 if LowDelayCoding is 1" );
    600675#else
     
    659734  xCleanUpVector( m_pchDepthReconFileList,  (char*)0 );
    660735
    661 //GT VSO
     736#if HHI_VSO
    662737  if ( m_bUseVSO)
    663738  {
    664739    xCleanUpVector( m_pchERRefFileList,       (char*)0 );
    665740  }
    666 //GT VSO end
     741#endif
    667742}
    668743
     
    784859  printf("Coded Camera Param. Precision: %d\n", m_iCodedCamParPrecision);
    785860
    786 //GT VSO
     861#if HHI_VSO
    787862  printf("Force use of Lambda Scale    : %d\n", m_bForceLambdaScaleVSO );
    788863
     
    792867    printf("VSO Mode                     : %d\n",    m_uiVSOMode       );
    793868    printf("VSO Config                   : %s\n",    m_pchVSOConfig    );
    794 #if RDO_DIST_INT
     869#if HHI_VSO_DIST_INT
    795870    printf("VSO Negative Distortion      : %d\n",    m_bAllowNegDist ? 1 : 0);
    796871#endif
    797872  }
    798 //GT VSO end
    799 
    800   printf("Omit unused blocks           : %d\n",    (m_bOmitUnusedBlocks )?(1):(0));
     873#endif
     874
    801875
    802876  printf("\n");
     
    849923  printf("SAO:%d ", (m_abUseSAO [1] ? 1 : 0));
    850924  printf("RDQ:%d ", (m_abUseRDOQ[1] ? 1 : 0));
     925#if HHI_VSO
    851926  printf("VSO:%d ", m_bUseVSO             );
    852 #if HHI_DMM_INTRA
    853   printf("DMM:%d ", m_bUseDepthModelModes );
    854 #endif
     927#endif
     928#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     929  printf("DMM:%d ", m_bUseDMM );
     930#endif
     931#if HHI_MPI
    855932  printf("MVI:%d ", m_bUseMVI ? 1 : 0 );
     933#endif
    856934  printf("\n");
    857935
  • trunk/source/App/TAppEncoder/TAppEncCfg.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    3568
    3669  std::vector<char*>     m_pchERRefFileList;                  ///< virtual external reference view files names
    37  
     70
    3871  // source specification
    3972  Int       m_iFrameRate;                                     ///< source frame-rates (Hz)
     
    4477  Bool      m_bUsePAD;                                        ///< flag for using source padding
    4578  Int       m_aiPad[2];                                       ///< number of padded pixels for width and height
    46  
     79
    4780  Int       m_iNumberOfViews;                                ///< number Views to Encode
    4881  Bool      m_bUsingDepthMaps ;
     
    5689  Int       m_iGOPSize;                                       ///< GOP size of hierarchical structure
    5790  Int       m_iRateGOPSize;                                   ///< GOP size for QP variance
    58 #if !SB_NO_LowDelayCoding
     91#if !HHI_NO_LowDelayCoding
    5992  Bool      m_bUseLDC;                                        ///< flag for using low-delay coding mode
    6093#endif
     
    6396  Bool      m_bLCMod;                                         ///< flag for specifying whether the combined reference list for uni-prediction in B-slices is uploaded explicitly
    6497#endif
    65   // SB
    6698  std::string     m_cInputFormatString ;                            // GOP string
    6799  // coding quality
    68 //GT QP Depth
     100
    69101  std::vector<Double>  m_adQP;                                ///< QP value of key-picture (floating point) [0] video, [1] depth
    70102  std::vector<Int>     m_aiQP;                                ///< QP value of key-picture (integer)
    71 //GT QP Depth end
     103
    72104  Int       m_aiTLayerQPOffset[MAX_TLAYER];                   ///< QP offset corresponding to temporal layer depth
    73105  char*     m_pchdQPFile;                                     ///< QP offset for each slice (initialized from external file)
     
    75107  Int       m_iMaxDeltaQP;                                    ///< max. |delta QP|
    76108  UInt      m_uiDeltaQpRD;                                    ///< dQP range for multi-pass slice QP optimization
    77  
     109
    78110  // coding unit (CU) definition
    79111  UInt      m_uiMaxCUWidth;                                   ///< max. CU width in pixel
    80112  UInt      m_uiMaxCUHeight;                                  ///< max. CU height in pixel
    81113  UInt      m_uiMaxCUDepth;                                   ///< max. CU depth
    82  
     114
    83115  // transfom unit (TU) definition
    84116  UInt      m_uiQuadtreeTULog2MaxSize;
    85117  UInt      m_uiQuadtreeTULog2MinSize;
    86  
     118
    87119  UInt      m_uiQuadtreeTUMaxDepthInter;
    88120  UInt      m_uiQuadtreeTUMaxDepthIntra;
    89  
     121
    90122  // coding tools (bit-depth)
    91123  UInt      m_uiInputBitDepth;                                ///< bit-depth of input file
     
    95127#endif
    96128  UInt      m_uiInternalBitDepth;                             ///< Internal bit-depth (BitDepth+BitIncrement)
    97  
     129
    98130#if MTK_SAO
    99   vector<Bool> m_abUseSAO; 
     131  vector<Bool> m_abUseSAO;
    100132#endif
    101133
     
    105137  Int       m_iALFEncodePassReduction;                        ///< ALF encoding pass, 0 = original 16-pass, 1 = 1-pass, 2 = 2-pass
    106138#endif
    107  
     139
    108140  vector<Bool> m_abLoopFilterDisable;                         ///< flag for using deblocking filter filter [0] - video, [1] - depth
    109141  Int       m_iLoopFilterAlphaC0Offset;                       ///< alpha offset for deblocking filter
    110142  Int       m_iLoopFilterBetaOffset;                          ///< beta offset for deblocking filter
    111  
     143
    112144  // coding tools (entropy coder)
    113145  Int       m_iSymbolMode;                                    ///< entropy coder mode, 0 = VLC, 1 = CABAC
    114  
     146
    115147  // coding tools (inter - merge motion partitions)
    116148  Bool      m_bUseMRG;                                        ///< SOPH: flag for using motion partition Merge Mode
    117  
    118 #if LM_CHROMA 
     149
     150#if LM_CHROMA
    119151  Bool      m_bUseLMChroma;                                  ///< JL: Chroma intra prediction based on luma signal
    120152#endif
     
    123155  Bool      m_bUseRMP;
    124156#endif
    125  
     157
    126158  // coding tools (encoder-only parameters)
    127159  Bool      m_bUseSBACRD;                                     ///< flag for using RD optimization based on SBAC
     
    134166  Bool      m_bUseFastEnc;                                    ///< flag for using fast encoder setting
    135167
     168#if DEPTH_MAP_GENERATION
    136169  UInt      m_uiPredDepthMapGeneration;                       ///< using of (virtual) depth maps for texture coding
     170#endif
     171#if HHI_INTER_VIEW_MOTION_PRED
    137172  UInt      m_uiMultiviewMvPredMode;                          ///< usage of predictors for multi-view mv prediction
    138173  UInt      m_uiMultiviewMvRegMode;                           ///< regularization for multiview motion vectors
    139174  Double    m_dMultiviewMvRegLambdaScale;                     ///< lambda scale for multiview motion vectors regularization
     175#endif
     176#if HHI_INTER_VIEW_RESIDUAL_PRED
    140177  UInt      m_uiMultiviewResPredMode;                         ///< using multiview residual prediction
    141 
    142 #if SB_INTERVIEW_SKIP
     178#endif
     179
     180#if HHI_INTERVIEW_SKIP
    143181  UInt      m_uiInterViewSkip;                            ///< usage of interview skip mode ( do not transmit residual)
    144 #if SB_INTERVIEW_SKIP_LAMBDA_SCALE
     182#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
    145183  Double    m_dInterViewSkipLambdaScale;                 ///< lambda scale for interview skip
    146184#endif
    147185#endif
    148 //GT campara
     186
    149187  // camera parameter
    150188  Char*     m_pchCameraParameterFile;                         ///< camera parameter file
    151189  Char*     m_pchBaseViewCameraNumbers;
    152   TAppComCamPara m_cCameraData;           
    153 //GT campara end
     190  TAppComCamPara m_cCameraData;
     191
    154192  Int       m_iCodedCamParPrecision;                          ///< precision for coding of camera parameters
    155193
     194#if HHI_INTERVIEW_SKIP
    156195  TRenTop  m_cUsedPelsRenderer;                               ///< renderer for used pels map
    157 
    158 //GT VSO
    159   Char*     m_pchVSOConfig; 
    160   Bool      m_bUseVSO;                                    ///< flag for using View Synthesis Optimization 
    161 
    162   //// Used for development by GT, might be removed later 
     196#endif
     197
     198#if HHI_VSO
     199  Char*     m_pchVSOConfig;
     200  Bool      m_bUseVSO;                                    ///< flag for using View Synthesis Optimization
     201
     202  //// Used for development by GT, might be removed later
    163203  Double    m_dLambdaScaleVSO;                            ///< Scaling factor for Lambda in VSO mode
    164204  Bool      m_bForceLambdaScaleVSO;                       ///< Use Lambda Scale for depth even if VSO is turned off
    165 #if RDO_DIST_INT
    166   Bool      m_bAllowNegDist;                              ///< Allow negative distortion in VSO 
    167 #endif 
    168   UInt      m_uiVSOMode;                                  ///< Number of VSO Mode, 1 = , 2 = simple, org vs. ren, 3 = simple, ren vs. ren, 4 = full 
     205#if HHI_VSO_DIST_INT
     206  Bool      m_bAllowNegDist;                              ///< Allow negative distortion in VSO
     207#endif
     208  UInt      m_uiVSOMode;                                  ///< Number of VSO Mode, 1 = , 2 = simple, org vs. ren, 3 = simple, ren vs. ren, 4 = full
    169209  Int       m_iNumberOfExternalRefs;                      ///< number Virtual External Reference Views
    170210  std::vector< std::vector<Int> > m_aaiBaseViewRefInd;    ///< View numbers of Base View References
    171211  std::vector< std::vector<Int> > m_aaiERViewRefInd;      ///< View numbers of External ViewReferences
    172212  std::vector< std::vector<Int> > m_aaiERViewRefLutInd;   ///< Indices of LUTs used for External View References
    173 
    174 //GT VSO end
    175  
     213#endif
     214
    176215  Int       m_iSliceMode;           ///< 0: Disable all Recon slice limits, 1 : Maximum number of largest coding units per slice, 2: Maximum number of bytes in a slice
    177216  Int       m_iSliceArgument;       ///< If m_iSliceMode==1, m_iSliceArgument=max. # of largest coding units. If m_iSliceMode==2, m_iSliceArgument=max. # of bytes.
     
    188227  Bool      m_bUseConstrainedIntraPred;                       ///< flag for using constrained intra prediction
    189228#endif
    190 #if HHI_DMM_INTRA
    191   Bool      m_bUseDepthModelModes;
    192 #endif
     229#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     230  Bool      m_bUseDMM;
     231#endif
     232#if HHI_MPI
    193233  Bool      m_bUseMVI;  ///< flag for using Motion Vector Inheritance for depth map coding
    194   Bool      m_bOmitUnusedBlocks;  ///< flag for not coding blocks not used for rendering
     234#endif
    195235
    196236  PicOrderCnt m_iQpChangeFrame;
     
    211251  Void  xPrintParameter ();                                   ///< print configuration values
    212252  Void  xPrintUsage     ();                                   ///< print usage
    213  
     253
    214254  Void  xCleanUpVectors ();                                   ///< clean up vector sizes
    215255  Void  xInitCameraPars ();                                   ///< init camera parameters
     
    221261
    222262  // util
    223   Void  xAppendToFileNameEnd( Char* pchInputFileName, const Char* pchStringToAppend, Char* & rpchOutputFileName); 
     263  Void  xAppendToFileNameEnd( Char* pchInputFileName, const Char* pchStringToAppend, Char* & rpchOutputFileName);
    224264  Bool  xConfirmParameter(Bool bflag, const char* message);
    225265
     
    227267  template <class T> Void xCleanUpVector( std::vector<T>& rcVec, const T& rcInvalid );
    228268
     269#if HHI_VSO
    229270  // Ren Model String
    230   TRenModSetupStrParser       m_cRenModStrParser;
     271  TRenModSetupStrParser       m_cRenModStrParser;
     272#endif
    231273public:
    232274
    233275  TAppEncCfg();
    234276  virtual ~TAppEncCfg();
    235  
     277
    236278public:
    237279  Void  create    ();                                         ///< create option handling class
    238280  Void  destroy   ();                                         ///< destroy option handling class
    239281  Bool  parseCfg  ( Int argc, Char* argv[] );                 ///< parse configuration file to fill member variables
    240  
     282
    241283};// END CLASS DEFINITION TAppEncCfg
    242284
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    1851TAppEncTop::TAppEncTop()
    1952{
    20 //GT VSO
     53#if HHI_VSO
    2154  m_iLastFramePutInERViewBuffer = -1;
    22 //GT VSO end
     55#endif
    2356}
    2457
     
    5588    m_acTEncTopList[iViewIdx]->setRateGOPSize                  ( m_iRateGOPSize );
    5689
    57 //  // SB
    5890    m_acTEncTopList[iViewIdx]->setSeqStructure                              ( m_cInputFormatString );
    5991
     
    79111    m_acTEncTopList[iViewIdx]->setMaxDeltaQP                   ( m_iMaxDeltaQP  );
    80112
     113#if HHI_VSO
    81114    //====== VSO =========
    82 //GT VSO
    83115    m_acTEncTopList[iViewIdx]->setForceLambdaScaleVSO          ( false );
    84116    m_acTEncTopList[iViewIdx]->setLambdaScaleVSO               ( 1     );
    85117    m_acTEncTopList[iViewIdx]->setVSOMode                      ( 0     );
    86 //GT VSO end
     118#endif
    87119
    88120    //====== Tool list ========
     
    109141    m_acTEncTopList[iViewIdx]->setUseFastEnc                   ( m_bUseFastEnc  );
    110142
    111 //GT VSO
     143#if HHI_VSO
    112144    m_acTEncTopList[iViewIdx]->setUseVSO                       ( false ); //GT: might be enabled later for VSO Mode 4
    113 //GT VSO end
     145#endif
    114146
    115147    m_acTEncTopList[iViewIdx]->setViewId                       ( (UInt)iViewIdx );
     
    120152    m_acTEncTopList[iViewIdx]->setCodedScale                   ( m_cCameraData.getCodedScale             () );
    121153    m_acTEncTopList[iViewIdx]->setCodedOffset                  ( m_cCameraData.getCodedOffset            () );
     154#if DEPTH_MAP_GENERATION
    122155    m_acTEncTopList[iViewIdx]->setPredDepthMapGeneration       ( m_uiPredDepthMapGeneration );
     156    m_acTEncTopList[iViewIdx]->setPdmPrecision                 ( (UInt)m_cCameraData.getPdmPrecision     () );
     157    m_acTEncTopList[iViewIdx]->setPdmScaleNomDelta             (       m_cCameraData.getPdmScaleNomDelta () );
     158    m_acTEncTopList[iViewIdx]->setPdmOffset                    (       m_cCameraData.getPdmOffset        () );
     159#endif
     160#if HHI_INTER_VIEW_MOTION_PRED
    123161    m_acTEncTopList[iViewIdx]->setMultiviewMvPredMode          ( m_uiMultiviewMvPredMode );
    124162    m_acTEncTopList[iViewIdx]->setMultiviewMvRegMode           ( iViewIdx ? m_uiMultiviewMvRegMode       : 0   );
    125163    m_acTEncTopList[iViewIdx]->setMultiviewMvRegLambdaScale    ( iViewIdx ? m_dMultiviewMvRegLambdaScale : 0.0 );
    126     m_acTEncTopList[iViewIdx]->setPdmPrecision                 ( (UInt)m_cCameraData.getPdmPrecision     () );
    127     m_acTEncTopList[iViewIdx]->setPdmScaleNomDelta             (       m_cCameraData.getPdmScaleNomDelta () );
    128     m_acTEncTopList[iViewIdx]->setPdmOffset                    (       m_cCameraData.getPdmOffset        () );
     164#endif
     165#if HHI_INTER_VIEW_RESIDUAL_PRED
    129166    m_acTEncTopList[iViewIdx]->setMultiviewResPredMode         ( m_uiMultiviewResPredMode );
    130 
    131 #if SB_INTERVIEW_SKIP
     167#endif
     168
     169
     170#if HHI_INTERVIEW_SKIP
    132171    m_acTEncTopList[iViewIdx]->setInterViewSkip            ( iViewIdx ? m_uiInterViewSkip : 0 );
    133 #if SB_INTERVIEW_SKIP_LAMBDA_SCALE
    134     m_acTEncTopList[iViewIdx]->setInterViewSkipLambdaScale ( iViewIdx ? m_dInterViewSkipLambdaScale : 1 );
     172#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
     173    m_acTEncTopList[iViewIdx]->setInterViewSkipLambdaScale ( iViewIdx ? (Int)m_dInterViewSkipLambdaScale : 1 );
    135174#endif
    136175#endif
     
    147186    m_acTEncTopList[iViewIdx]->setUseRoundingControlBipred(m_useRoundingControlBipred);
    148187#endif
    149 #if HHI_DMM_INTRA
    150     m_acTEncTopList[iViewIdx]->setUseDepthModelModes( false );
     188#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     189    m_acTEncTopList[iViewIdx]->setUseDMM( false );
    151190#endif
    152191#if CONSTRAINED_INTRA_PRED
     
    175214    m_acTEncTopList[iViewIdx]->setUseSAO               ( m_abUseSAO[0]     );
    176215#endif
     216#if HHI_MPI
    177217    m_acTEncTopList[iViewIdx]->setUseMVI( false );
     218#endif
    178219
    179220    m_acTEncTopList[iViewIdx]->setPictureDigestEnabled(m_pictureDigestEnabled);
    180     m_acTEncTopList[iViewIdx]->setOmitUnusedBlocks          ( m_bOmitUnusedBlocks && (iViewIdx != 0) );
    181 
    182221    m_acTEncTopList[iViewIdx]->setQpChangeFrame( m_iQpChangeFrame );
    183222    m_acTEncTopList[iViewIdx]->setQpChangeOffsetVideo( m_iQpChangeOffsetVideo );
     
    187226  {
    188227
    189 //GT VSO
     228#if HHI_VSO
    190229    for (Int iViewIdx=0; iViewIdx<m_iNumberOfExternalRefs; iViewIdx++)
    191230    {
    192231        m_acTVideoIOYuvERFileList.push_back(new TVideoIOYuv);
    193232    }
    194 //GT VSO end
     233#endif
    195234
    196235    for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++)
     
    219258      m_acTEncDepthTopList[iViewIdx]->setRateGOPSize                  ( m_iRateGOPSize );
    220259
    221 //  // SB
    222260      m_acTEncDepthTopList[iViewIdx]->setSeqStructure                              ( m_cInputFormatString );
    223261
     
    266304      m_acTEncDepthTopList[iViewIdx]->setUseFastEnc                   ( m_bUseFastEnc  );
    267305
    268 //GT VSO
     306#if HHI_VSO
    269307      m_acTEncDepthTopList[iViewIdx]->setUseVSO                       ( m_bUseVSO      ); //GT: might be enabled/disabled later for VSO Mode 4
    270308      m_acTEncDepthTopList[iViewIdx]->setForceLambdaScaleVSO          ( m_bForceLambdaScaleVSO );
    271309      m_acTEncDepthTopList[iViewIdx]->setLambdaScaleVSO               ( m_dLambdaScaleVSO );
    272 #if RDO_DIST_INT
     310#if HHI_VSO_DIST_INT
    273311      m_acTEncDepthTopList[iViewIdx]->setAllowNegDist                 ( m_bAllowNegDist );
    274312#endif
    275313      m_acTEncDepthTopList[iViewIdx]->setVSOMode                      ( m_uiVSOMode );
    276 //GT VSO end
     314#endif
    277315
    278316      m_acTEncDepthTopList[iViewIdx]->setViewId                       ( (UInt)iViewIdx );
     
    283321      m_acTEncDepthTopList[iViewIdx]->setCodedScale                   ( 0 );
    284322      m_acTEncDepthTopList[iViewIdx]->setCodedOffset                  ( 0 );
     323#if DEPTH_MAP_GENERATION
    285324      m_acTEncDepthTopList[iViewIdx]->setPredDepthMapGeneration       ( 0 );
     325#endif
     326#if HHI_INTER_VIEW_MOTION_PRED
    286327      m_acTEncDepthTopList[iViewIdx]->setMultiviewMvPredMode          ( 0 );
    287328      m_acTEncDepthTopList[iViewIdx]->setMultiviewMvRegMode           ( 0 );
    288329      m_acTEncDepthTopList[iViewIdx]->setMultiviewMvRegLambdaScale    ( 0.0 );
     330#endif
     331#if HHI_INTER_VIEW_RESIDUAL_PRED
    289332      m_acTEncDepthTopList[iViewIdx]->setMultiviewResPredMode         ( 0 );
    290 
    291 #if SB_INTERVIEW_SKIP
     333#endif
     334
     335#if HHI_INTERVIEW_SKIP
    292336      m_acTEncDepthTopList[iViewIdx]->setInterViewSkip            ( 0 );
    293 #if SB_INTERVIEW_SKIP_LAMBDA_SCALE
     337#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
    294338      m_acTEncDepthTopList[iViewIdx]->setInterViewSkipLambdaScale ( 1 );
    295339#endif
     
    307351      m_acTEncDepthTopList[iViewIdx]->setUseRoundingControlBipred(m_useRoundingControlBipred);
    308352#endif
    309 #if HHI_DMM_INTRA
    310       m_acTEncDepthTopList[iViewIdx]->setUseDepthModelModes( m_bUseDepthModelModes );
     353#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     354      m_acTEncDepthTopList[iViewIdx]->setUseDMM( m_bUseDMM );
    311355#endif
    312356#if CONSTRAINED_INTRA_PRED
     
    335379      m_acTEncDepthTopList[iViewIdx]->setUseSAO               ( m_abUseSAO[1]     );
    336380#endif
     381#if HHI_MPI
    337382      m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI );
     383#endif
    338384
    339385      m_acTEncDepthTopList[iViewIdx]->setPictureDigestEnabled(m_pictureDigestEnabled);
    340       m_acTEncDepthTopList[iViewIdx]->setOmitUnusedBlocks        ( m_bOmitUnusedBlocks && (iViewIdx != 0) );
    341386
    342387      m_acTEncDepthTopList[iViewIdx]->setQpChangeFrame( m_iQpChangeFrame );
     
    345390    }
    346391  }
     392#if HHI_INTER_VIEW_MOTION_PRED
    347393  else if( m_uiMultiviewMvRegMode )
    348394  {
     
    352398    }
    353399  }
    354 
    355 //GT VSO
     400#endif
     401
     402#if HHI_VSO
    356403  if ( m_bUseVSO )
    357404  {
    358405    if ( m_uiVSOMode == 4 )
    359     {     
    360 #if GERHARD_RM_DEBUG_MM
    361       m_cMMCheckModel .create( m_cRenModStrParser.getNumOfBaseViews(), m_cRenModStrParser.getNumOfModels(), m_iSourceWidth, m_iSourceHeight, LOG2_DISP_PREC_LUT, 0 );
    362 #endif
     406    {
    363407      m_cRendererModel.create( m_cRenModStrParser.getNumOfBaseViews(), m_cRenModStrParser.getNumOfModels(), m_iSourceWidth, m_iSourceHeight, LOG2_DISP_PREC_LUT, 0 );
    364408
     
    367411        for (Int iContent = 0; iContent < 2; iContent++ )
    368412        {
    369           Int iNumOfModels   = m_cRenModStrParser.getNumOfModelsForView(iViewNum, iContent); 
    370           Bool bUseVSO = (iNumOfModels != 0); 
    371 
    372           TEncTop* pcEncTop = ( iContent == 0 ) ? m_acTEncTopList[iViewNum] : m_acTEncDepthTopList[iViewNum]; 
    373           pcEncTop->setUseVSO( bUseVSO ); 
    374           pcEncTop->getRdCost()->setRenModel( bUseVSO ? &m_cRendererModel : NULL ); 
    375          
     413          Int iNumOfModels   = m_cRenModStrParser.getNumOfModelsForView(iViewNum, iContent);
     414          Bool bUseVSO = (iNumOfModels != 0);
     415
     416          TEncTop* pcEncTop = ( iContent == 0 ) ? m_acTEncTopList[iViewNum] : m_acTEncDepthTopList[iViewNum];
     417          pcEncTop->setUseVSO( bUseVSO );
     418          pcEncTop->getRdCost()->setRenModel( bUseVSO ? &m_cRendererModel : NULL );
     419
    376420          for (Int iCurModel = 0; iCurModel < iNumOfModels; iCurModel++ )
    377421          {
    378             Int iModelNum; Int iLeftViewNum; Int iRightViewNum; Int iDump; Int iOrgRefNum; Int iBlendMode;
    379 
    380             m_cRenModStrParser.getSingleModelData  ( iViewNum, iContent, iCurModel, iModelNum, iBlendMode, iLeftViewNum, iRightViewNum, iOrgRefNum, iDump ) ;
    381             m_cRendererModel  .createSingleModel   ( iViewNum, iContent, iModelNum, iLeftViewNum, iRightViewNum, (iOrgRefNum != -1), iBlendMode );
    382 #if GERHARD_RM_DEBUG_MM
    383             m_cMMCheckModel   .createSingleModel   ( iViewNum, iContent, iModelNum, iLeftViewNum, iRightViewNum, (iOrgRefNum != -1), iBlendMode );
    384 #endif
     422            Int iModelNum; Int iLeftViewNum; Int iRightViewNum; Int iDump; Int iOrgRefNum; Int iBlendMode;
     423
     424            m_cRenModStrParser.getSingleModelData  ( iViewNum, iContent, iCurModel, iModelNum, iBlendMode, iLeftViewNum, iRightViewNum, iOrgRefNum, iDump ) ;
     425            m_cRendererModel  .createSingleModel   ( iViewNum, iContent, iModelNum, iLeftViewNum, iRightViewNum, (iOrgRefNum != -1), iBlendMode );
    385426          }
    386427        }
     
    391432      m_cRendererTop.init(m_iSourceWidth, m_iSourceHeight,true,0,0,true, 0,0,0,0,0,0,0,1,0,0 );  //GT: simplest configuration
    392433    }
    393 
    394   }
    395 //GT VSO end
    396   m_cUsedPelsRenderer.init(m_iSourceWidth, m_iSourceHeight, true, 0, LOG2_DISP_PREC_LUT, true, 0, 0, 0, 0, 0, 6, 4, 1, 0, 6 );
     434  }
     435#endif
     436
     437#if HHI_INTERVIEW_SKIP
     438  m_cUsedPelsRenderer.init(m_iSourceWidth, m_iSourceHeight, true, 0, LOG2_DISP_PREC_LUT, true, 0, 0, 0, 0, 0, 6, 4, 1, 0, 6 );
     439#endif
    397440}
    398441
     
    421464      m_acTEncDepthTopList[iViewIdx]->create();
    422465    }
     466#if HHI_INTER_VIEW_MOTION_PRED
    423467    else if( m_uiMultiviewMvRegMode )
    424468    {
     
    426470      m_acTVideoIOYuvDepthInputFileList[iViewIdx]->skipFrames(m_FrameSkip, m_iSourceWidth, m_iSourceHeight);
    427471    }
    428   }
    429 
    430 //GT VSO
     472#endif
     473  }
     474
     475#if HHI_VSO
    431476  for(Int iViewIdx=0; iViewIdx < m_iNumberOfExternalRefs; iViewIdx++)
    432477  {
    433478    m_acTVideoIOYuvERFileList[iViewIdx]->open( m_pchERRefFileList[iViewIdx], false, m_uiInputBitDepth, m_uiInternalBitDepth ); // read mode
    434479  }
    435 //GT VSO end
     480#endif
    436481}
    437482
     
    441486  m_cTVideoIOBitsFile.closeBits();
    442487
    443 //GT VSO
     488#if HHI_VSO
    444489  for ( Int iViewIdx = 0; iViewIdx < m_iNumberOfExternalRefs; iViewIdx++ )
    445490  {
     
    448493    m_acTVideoIOYuvERFileList[iViewIdx] = 0;
    449494  };
    450 //GT VSO end
     495#endif
    451496
    452497  for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++)
     
    563608    pcDepthPicYuvOrg->create( m_iSourceWidth, m_iSourceHeight, m_uiMaxCUWidth, m_uiMaxCUHeight, m_uiMaxCUDepth );
    564609  }
     610#if HHI_INTER_VIEW_MOTION_PRED
    565611  if( m_uiMultiviewMvRegMode )
    566612  {
    567613    pcPdmDepthOrg->create( m_iSourceWidth, m_iSourceHeight, m_uiMaxCUWidth, m_uiMaxCUHeight, m_uiMaxCUDepth );
    568614  }
     615#endif
    569616
    570617  TComBitstream*    pcBitstream = new TComBitstream;
     
    589636        bAllEos = bAllEos|bEos[iViewIdx] ;
    590637
     638#if HHI_INTER_VIEW_MOTION_PRED
    591639        if( m_uiMultiviewMvRegMode && iViewIdx )
    592640        {
    593641          m_acTVideoIOYuvDepthInputFileList[iViewIdx]->read( pcPdmDepthOrg, m_aiPad, m_bUsingDepthMaps );
    594642        }
     643#endif
    595644
    596645        // increase number of received frames
     
    598647      }
    599648
     649#if HHI_INTER_VIEW_MOTION_PRED
    600650      m_acTEncTopList[iViewIdx]->receivePic( bEos[iViewIdx],  pcPicYuvOrg, m_cListPicYuvRecList[iViewIdx]->back(), ( m_uiMultiviewMvRegMode && iViewIdx ? pcPdmDepthOrg : 0 ) );
     651#else
     652      m_acTEncTopList[iViewIdx]->receivePic( bEos[iViewIdx],  pcPicYuvOrg, m_cListPicYuvRecList[iViewIdx]->back(), 0 );
     653#endif
    601654
    602655      if( m_bUsingDepthMaps )
     
    628681    }
    629682
    630 //GT VSO
     683#if HHI_VSO   
    631684    if ( m_bUseVSO && ( m_uiVSOMode != 4) )
    632685    {
     
    634687      xStoreVSORefPicsInBuffer();       //GT;
    635688    }
    636 //GT VSO end
     689#endif
    637690
    638691    //GT: Encode
     
    688741
    689742#if AMVP_BUFFERCOMPRESS
    690     // compress motion for entire access 
     743    // compress motion for entire access
    691744    if( bCurrPocCoded )
    692745    {
     
    729782  pcDepthPicYuvOrg = NULL ;
    730783
    731   // SB valgrid
    732784  pcBitstream->destroy();
    733785  delete pcBitstream;
     
    751803  if ( pcPdmDepthOrg )
    752804  {
    753     pcPdmDepthOrg->destroy(); 
    754     delete pcPdmDepthOrg; 
    755     pcPdmDepthOrg = NULL; 
     805    pcPdmDepthOrg->destroy();
     806    delete pcPdmDepthOrg;
     807    pcPdmDepthOrg = NULL;
    756808  }
    757809
     
    847899  // Delete ERFiles
    848900
    849 //GT VSO
     901#if HHI_VSO
    850902  std::map< Int,vector<TComPicYuv*> >::iterator iterMapPicExtRefView = m_cMapPicExtRefView.begin();
    851903  while ( iterMapPicExtRefView != m_cMapPicExtRefView.end() )
     
    861913    iterMapPicExtRefView++;
    862914  }
    863 //GT VSO end
     915#endif
    864916}
    865917
     
    920972TComPicYuv* TAppEncTop::xGetPicYuvFromView( Int iViewIdx, Int iPoc, Bool bDepth, Bool bRecon )
    921973{
    922   TComPic*    pcPic = xGetPicFromView( iViewIdx, iPoc, bDepth); 
    923   TComPicYuv* pcPicYuv = NULL; 
     974  TComPic*    pcPic = xGetPicFromView( iViewIdx, iPoc, bDepth);
     975  TComPicYuv* pcPicYuv = NULL;
    924976
    925977  if (pcPic != NULL)
     
    929981      if ( pcPic->getReconMark() )
    930982      {
    931         pcPicYuv = pcPic->getPicYuvRec(); 
     983        pcPicYuv = pcPic->getPicYuvRec();
    932984      }
    933985    }
    934986    else
    935987    {
    936       pcPicYuv = pcPic->getPicYuvOrg(); 
    937     }   
     988      pcPicYuv = pcPic->getPicYuvOrg();
     989    }
    938990  };
    939991
    940   return pcPicYuv;
    941 };
    942 
     992  return pcPicYuv;
     993};
     994
     995#if HHI_VSO
    943996Void TAppEncTop::xSetBasePicYuv( Int iViewIdx, Int iPoc, TComMVDRefData* pcRefInfo, InterViewReference eView, bool bDepth )
    944997{
     
    9751028  }
    9761029
    977 //GT campara
     1030
    9781031  xSetBaseLUT       (iViewIdx, iViewIdx-1  , pcMVDRefData, PREVVIEW );
    9791032  xSetBaseLUT       (iViewIdx, iViewIdx+1  , pcMVDRefData, NEXTVIEW );
    980 //GT campara end
    981 
    982 //GT VSO
     1033
     1034
    9831035  if ( m_bUseVSO && m_uiVSOMode != 4)
    9841036  {
     
    9871039    pcMVDRefData->setRefViewInd     (m_aaiBaseViewRefInd[iViewIdx], m_aaiERViewRefInd[iViewIdx], m_aaiERViewRefLutInd[iViewIdx]);
    9881040  }
    989 //GT VSO end
    990 
    9911041};
    9921042
    993 //GT campara
     1043
    9941044Void TAppEncTop::xSetBaseLUT( Int iViewIdxSource, Int iViewIdxTarget, TComMVDRefData* pcRefInfo, InterViewReference eView )
    9951045{
     
    9991049  pcRefInfo->setShiftLUTsBaseView(eView, m_cCameraData.getBaseViewShiftLUTD()[iViewIdxSource][iViewIdxTarget],m_cCameraData.getBaseViewShiftLUTI()[iViewIdxSource][iViewIdxTarget] );
    10001050};
    1001 //GT campara end
    1002 
    1003 
    1004 //GT VSO
     1051
    10051052Void TAppEncTop::xSetERPicYuvs( Int iViewIdx, Int iPoc, TComMVDRefData* pcReferenceInfo )
    10061053{
     
    10141061  pcReferenceInfo->setPicYuvERViews( cMapIt->second );
    10151062}
    1016 
    1017 
    10181063
    10191064Void TAppEncTop::xStoreVSORefPicsInBuffer()
     
    11301175  }
    11311176}
    1132 // GT VSO end
    1133 
     1177#endif
     1178
     1179#if HHI_INTERVIEW_SKIP
    11341180Void TAppEncTop::getUsedPelsMap( Int iViewIdx, Int iPoc, TComPicYuv* pcPicYuvUsedSplsMap )
    11351181{
    1136   AOT( iViewIdx <= 0); 
    1137   AOT( iViewIdx >= m_iNumberOfViews ); 
    1138   AOF( m_bOmitUnusedBlocks );
    1139   AOF( m_cCameraData.getCurFrameId() == iPoc ); 
    1140 
    1141   Int iViewSIdx      = m_cCameraData.getBaseId2SortedId()[iViewIdx]; 
    1142   Int iFirstViewSIdx = m_cCameraData.getBaseId2SortedId()[0]; 
     1182  AOT( iViewIdx <= 0);
     1183  AOT( iViewIdx >= m_iNumberOfViews );
     1184  AOF( m_uiInterViewSkip != 0 );
     1185  AOF( m_cCameraData.getCurFrameId() == iPoc );
     1186
     1187  Int iViewSIdx      = m_cCameraData.getBaseId2SortedId()[iViewIdx];
     1188  Int iFirstViewSIdx = m_cCameraData.getBaseId2SortedId()[0];
    11431189
    11441190  AOT( iViewSIdx == iFirstViewSIdx );
    11451191
    1146   Bool bFirstIsLeft = (iFirstViewSIdx < iViewSIdx); 
     1192  Bool bFirstIsLeft = (iFirstViewSIdx < iViewSIdx);
    11471193
    11481194    m_cUsedPelsRenderer.setShiftLUTs(
     
    11541200      m_cCameraData.getBaseViewShiftLUTI()[0][iViewIdx],
    11551201      -1
    1156       ); 
    1157  
     1202      );
     1203
    11581204
    11591205  TComPicYuv* pcPicYuvDepth = xGetPicYuvFromView(0, iPoc, true, true );
    1160   AOF( pcPicYuvDepth);
    1161 
    1162   m_cUsedPelsRenderer.getUsedSamplesMap( pcPicYuvDepth, pcPicYuvUsedSplsMap, bFirstIsLeft );
    1163 
    1164 }
    1165 
     1206  AOF( pcPicYuvDepth);
     1207
     1208  m_cUsedPelsRenderer.getUsedSamplesMap( pcPicYuvDepth, pcPicYuvUsedSplsMap, bFirstIsLeft );
     1209
     1210}
     1211#endif
     1212
     1213#if HHI_VSO
    11661214Void TAppEncTop::setupRenModel( Int iPoc, Int iEncViewIdx, Int iEncContent )
    11671215{
    1168   Int iEncViewSIdx = m_cCameraData.getBaseId2SortedId()[ iEncViewIdx ]; 
     1216  Int iEncViewSIdx = m_cCameraData.getBaseId2SortedId()[ iEncViewIdx ];
    11691217
    11701218  // setup base views
    1171   Int iNumOfBV = m_cRenModStrParser.getNumOfBaseViewsForView( iEncViewSIdx, iEncContent );         
     1219  Int iNumOfBV = m_cRenModStrParser.getNumOfBaseViewsForView( iEncViewSIdx, iEncContent );
    11721220
    11731221  for (Int iCurView = 0; iCurView < iNumOfBV; iCurView++ )
    1174   {       
    1175     Int iBaseViewSIdx;
    1176     Int iVideoDistMode;
    1177     Int iDepthDistMode;
    1178 
    1179     m_cRenModStrParser.getBaseViewData( iEncViewSIdx, iEncContent, iCurView, iBaseViewSIdx, iVideoDistMode, iDepthDistMode );
    1180 
    1181     AOT( iVideoDistMode < 0 || iVideoDistMode > 2 );
    1182 
    1183     Int iBaseViewIdx = m_cCameraData.getBaseSortedId2Id()[ iBaseViewSIdx ];
    1184 
    1185     TComPicYuv* pcPicYuvVideoRec  = xGetPicYuvFromView( iBaseViewIdx, iPoc, false, true  );
    1186     TComPicYuv* pcPicYuvDepthRec  = xGetPicYuvFromView( iBaseViewIdx, iPoc, true , true  ); 
    1187     TComPicYuv* pcPicYuvVideoOrg  = xGetPicYuvFromView( iBaseViewIdx, iPoc, false, false );
    1188     TComPicYuv* pcPicYuvDepthOrg  = xGetPicYuvFromView( iBaseViewIdx, iPoc, true , false ); 
    1189                                
    1190     TComPicYuv* pcPicYuvVideoRef  = ( iVideoDistMode == 2 ) ? pcPicYuvVideoOrg  : NULL;       
    1191     TComPicYuv* pcPicYuvDepthRef  = ( iDepthDistMode == 2 ) ? pcPicYuvDepthOrg  : NULL;   
    1192          
    1193     TComPicYuv* pcPicYuvVideoTest = ( iVideoDistMode == 0 ) ? pcPicYuvVideoOrg  : pcPicYuvVideoRec;
    1194     TComPicYuv* pcPicYuvDepthTest = ( iDepthDistMode == 0 ) ? pcPicYuvDepthOrg  : pcPicYuvDepthRec;
    1195 
    1196     AOT( (iVideoDistMode == 2) != (pcPicYuvVideoRef != NULL) );
    1197     AOT( (iDepthDistMode == 2) != (pcPicYuvDepthRef != NULL) );     
    1198     AOT( pcPicYuvDepthTest == NULL );
    1199     AOT( pcPicYuvVideoTest == NULL );
    1200 
    1201     m_cRendererModel.setBaseView( iBaseViewSIdx, pcPicYuvVideoTest, pcPicYuvDepthTest, pcPicYuvVideoRef, pcPicYuvDepthRef );
    1202 #if GERHARD_RM_DEBUG_MM
    1203     m_cMMCheckModel .setBaseView( iBaseViewSIdx, pcPicYuvVideoTest, pcPicYuvDepthTest, pcPicYuvVideoRef, pcPicYuvDepthRef );
    1204 #endif
    1205   }
    1206 
    1207   m_cRendererModel.setErrorMode( iEncViewSIdx, iEncContent, 0 );
    1208 #if GERHARD_RM_DEBUG_MM
    1209   m_cMMCheckModel .setErrorMode( iEncViewSIdx, iEncContent, 0 );
    1210 #endif
    1211 
     1222  {
     1223    Int iBaseViewSIdx;
     1224    Int iVideoDistMode;
     1225    Int iDepthDistMode;
     1226
     1227    m_cRenModStrParser.getBaseViewData( iEncViewSIdx, iEncContent, iCurView, iBaseViewSIdx, iVideoDistMode, iDepthDistMode );
     1228
     1229    AOT( iVideoDistMode < 0 || iVideoDistMode > 2 );
     1230
     1231    Int iBaseViewIdx = m_cCameraData.getBaseSortedId2Id()[ iBaseViewSIdx ];
     1232
     1233    TComPicYuv* pcPicYuvVideoRec  = xGetPicYuvFromView( iBaseViewIdx, iPoc, false, true  );
     1234    TComPicYuv* pcPicYuvDepthRec  = xGetPicYuvFromView( iBaseViewIdx, iPoc, true , true  );
     1235    TComPicYuv* pcPicYuvVideoOrg  = xGetPicYuvFromView( iBaseViewIdx, iPoc, false, false );
     1236    TComPicYuv* pcPicYuvDepthOrg  = xGetPicYuvFromView( iBaseViewIdx, iPoc, true , false );
     1237
     1238    TComPicYuv* pcPicYuvVideoRef  = ( iVideoDistMode == 2 ) ? pcPicYuvVideoOrg  : NULL;
     1239    TComPicYuv* pcPicYuvDepthRef  = ( iDepthDistMode == 2 ) ? pcPicYuvDepthOrg  : NULL;
     1240
     1241    TComPicYuv* pcPicYuvVideoTest = ( iVideoDistMode == 0 ) ? pcPicYuvVideoOrg  : pcPicYuvVideoRec;
     1242    TComPicYuv* pcPicYuvDepthTest = ( iDepthDistMode == 0 ) ? pcPicYuvDepthOrg  : pcPicYuvDepthRec;
     1243
     1244    AOT( (iVideoDistMode == 2) != (pcPicYuvVideoRef != NULL) );
     1245    AOT( (iDepthDistMode == 2) != (pcPicYuvDepthRef != NULL) );
     1246    AOT( pcPicYuvDepthTest == NULL );
     1247    AOT( pcPicYuvVideoTest == NULL );
     1248
     1249    m_cRendererModel.setBaseView( iBaseViewSIdx, pcPicYuvVideoTest, pcPicYuvDepthTest, pcPicYuvVideoRef, pcPicYuvDepthRef );
     1250  }
     1251
     1252  m_cRendererModel.setErrorMode( iEncViewSIdx, iEncContent, 0 );
    12121253  // setup virtual views
    1213   Int iNumOfSV  = m_cRenModStrParser.getNumOfModelsForView( iEncViewSIdx, iEncContent );     
     1254  Int iNumOfSV  = m_cRenModStrParser.getNumOfModelsForView( iEncViewSIdx, iEncContent );
    12141255  for (Int iCurView = 0; iCurView < iNumOfSV; iCurView++ )
    1215   { 
    1216     Int iOrgRefBaseViewSIdx; 
    1217     Int iLeftBaseViewSIdx; 
    1218     Int iRightBaseViewSIdx; 
    1219     Int iSynthViewRelNum; 
    1220     Int iModelNum; 
    1221     Int iBlendMode; 
    1222     m_cRenModStrParser.getSingleModelData(iEncViewSIdx, iEncContent, iCurView, iModelNum, iBlendMode,iLeftBaseViewSIdx, iRightBaseViewSIdx, iOrgRefBaseViewSIdx, iSynthViewRelNum ); 
    1223 
    1224     Int iLeftBaseViewIdx    = -1;   
    1225     Int iRightBaseViewIdx   = -1;       
    1226 
    1227     TComPicYuv* pcPicYuvOrgRef  = NULL; 
    1228     Int**      ppiShiftLUTLeft  = NULL; 
    1229     Int**      ppiShiftLUTRight = NULL;       
    1230     Int**      ppiBaseShiftLUTLeft  = NULL; 
    1231     Int**      ppiBaseShiftLUTRight = NULL;       
    1232 
    1233 
    1234     Int        iDistToLeft      = -1; 
    1235 
    1236     Int iSynthViewIdx = m_cCameraData.synthRelNum2Idx( iSynthViewRelNum ); 
     1256  {
     1257    Int iOrgRefBaseViewSIdx;
     1258    Int iLeftBaseViewSIdx;
     1259    Int iRightBaseViewSIdx;
     1260    Int iSynthViewRelNum;
     1261    Int iModelNum;
     1262    Int iBlendMode;
     1263    m_cRenModStrParser.getSingleModelData(iEncViewSIdx, iEncContent, iCurView, iModelNum, iBlendMode,iLeftBaseViewSIdx, iRightBaseViewSIdx, iOrgRefBaseViewSIdx, iSynthViewRelNum );
     1264
     1265    Int iLeftBaseViewIdx    = -1;
     1266    Int iRightBaseViewIdx   = -1;
     1267
     1268    TComPicYuv* pcPicYuvOrgRef  = NULL;
     1269    Int**      ppiShiftLUTLeft  = NULL;
     1270    Int**      ppiShiftLUTRight = NULL;
     1271    Int**      ppiBaseShiftLUTLeft  = NULL;
     1272    Int**      ppiBaseShiftLUTRight = NULL;
     1273
     1274
     1275    Int        iDistToLeft      = -1;
     1276
     1277    Int iSynthViewIdx = m_cCameraData.synthRelNum2Idx( iSynthViewRelNum );
    12371278
    12381279    if ( iLeftBaseViewSIdx != -1 )
    12391280    {
    1240       iLeftBaseViewIdx   = m_cCameraData.getBaseSortedId2Id()   [ iLeftBaseViewSIdx ]; 
     1281      iLeftBaseViewIdx   = m_cCameraData.getBaseSortedId2Id()   [ iLeftBaseViewSIdx ];
    12411282      ppiShiftLUTLeft    = m_cCameraData.getSynthViewShiftLUTI()[ iLeftBaseViewIdx  ][ iSynthViewIdx  ];
    12421283    }
     
    12441285    if ( iRightBaseViewSIdx != -1 )
    12451286    {
    1246       iRightBaseViewIdx  = m_cCameraData.getBaseSortedId2Id()   [iRightBaseViewSIdx ]; 
     1287      iRightBaseViewIdx  = m_cCameraData.getBaseSortedId2Id()   [iRightBaseViewSIdx ];
    12471288      ppiShiftLUTRight   = m_cCameraData.getSynthViewShiftLUTI()[ iRightBaseViewIdx ][ iSynthViewIdx ];
    12481289    }
    12491290
    12501291    if ( iRightBaseViewSIdx != -1 && iLeftBaseViewSIdx != -1 )
    1251     { 
    1252       iDistToLeft    = m_cCameraData.getRelDistLeft(  iSynthViewIdx , iLeftBaseViewIdx, iRightBaseViewIdx); 
     1292    {
     1293      iDistToLeft    = m_cCameraData.getRelDistLeft(  iSynthViewIdx , iLeftBaseViewIdx, iRightBaseViewIdx);
    12531294      ppiBaseShiftLUTLeft  = m_cCameraData.getBaseViewShiftLUTI() [ iLeftBaseViewIdx  ][ iRightBaseViewIdx ];
    12541295      ppiBaseShiftLUTRight = m_cCameraData.getBaseViewShiftLUTI() [ iRightBaseViewIdx ][ iLeftBaseViewIdx  ];
     
    12581299    if ( iOrgRefBaseViewSIdx != -1 )
    12591300    {
    1260       pcPicYuvOrgRef = xGetPicYuvFromView( m_cCameraData.getBaseSortedId2Id()[ iOrgRefBaseViewSIdx ] , iPoc, false, false );
    1261       AOF ( pcPicYuvOrgRef );
    1262     }     
    1263 
    1264     m_cRendererModel.setSingleModel( iModelNum, ppiShiftLUTLeft, ppiBaseShiftLUTLeft, ppiShiftLUTRight, ppiBaseShiftLUTRight, iDistToLeft, pcPicYuvOrgRef );
    1265 #if GERHARD_RM_DEBUG_MM
    1266     m_cMMCheckModel .setSingleModel( iModelNum, ppiShiftLUTLeft, ppiBaseShiftLUTLeft, ppiShiftLUTRight, ppiBaseShiftLUTRight, iDistToLeft, pcPicYuvOrgRef );
    1267 #endif
    1268   }
    1269 }
    1270 
    1271 // GT VSO end
     1301      pcPicYuvOrgRef = xGetPicYuvFromView( m_cCameraData.getBaseSortedId2Id()[ iOrgRefBaseViewSIdx ] , iPoc, false, false );
     1302      AOF ( pcPicYuvOrgRef );
     1303    }
     1304
     1305    m_cRendererModel.setSingleModel( iModelNum, ppiShiftLUTLeft, ppiBaseShiftLUTLeft, ppiShiftLUTRight, ppiBaseShiftLUTRight, iDistToLeft, pcPicYuvOrgRef );
     1306  }
     1307}
     1308#endif
     1309
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    4982  std::vector<Int>            m_iDepthFrameRcvdVector;             ///< number of received frames
    5083
     84#if DEPTH_MAP_GENERATION
    5185  TComSPSAccess               m_cSPSAccess;
    5286  TComAUPicAccess             m_cAUPicAccess;
     87#endif
    5388 
     89#if HHI_VSO
    5490  TRenTop                     m_cRendererTop;
    55 #if GERHARD_RM_DEBUG_MM
    56   TRenModel                   m_cMMCheckModel;
     91  TRenModel                   m_cRendererModel;   
    5792#endif
    58   TRenModel                   m_cRendererModel;   
    5993
    6094protected:
     
    84118
    85119  // Ref Data
     120#if HHI_VSO
    86121  Void  xSetBaseLUT   ( Int iViewIdxSource, Int iViewIdxTarget, TComMVDRefData* pcRefInfo, InterViewReference eView );
    87122  Void  xSetBasePicYuv( Int iViewIdx, Int iPoc, TComMVDRefData* pcRefInfo, InterViewReference eView, bool bDepth ); ///< store pics from buffers in pcRefInfo
    88 
     123#endif
    89124 
    90125public:
     
    93128 
    94129  Void        encode      ();                               ///< main encoding function
     130#if HHI_VSO
    95131  Void                  setupRenModel    ( Int iPoc, Int iEncViewIdx, Int iEncContent );
    96132  Void                  setMVDPic        ( Int iViewIdx, Int iPoc, TComMVDRefData* pcReferenceInfo ); // set MultiView References
     133#endif
    97134  Void                  getUsedPelsMap   ( Int iViewIdx, Int iPoc, TComPicYuv* pcPicYuvUsedPelsMap );
    98135  std::vector<TComPic*> getSpatialRefPics( Int iViewIdx, Int iPoc, Bool bIsDepthCoder );              // only for mvc functionality yet
    99136  TComPic*              getPicFromView   ( Int iViewIdx, Int iPoc, Bool bDepth ) { return xGetPicFromView( iViewIdx, iPoc, bDepth ); }
    100137
    101 #if GERHARD_RM_DEBUG_MM
    102   TRenModel* getMMCheckModel() { return  &m_cMMCheckModel  ; }; 
     138#if HHI_VSO
     139  TRenModel* getRenModel    () { return  &m_cRendererModel ; };
    103140#endif
    104   TRenModel* getRenModel    () { return  &m_cRendererModel ; };
    105141
     142#if DEPTH_MAP_GENERATION
    106143  TComSPSAccess*    getSPSAccess  () { return &m_cSPSAccess;   }
    107144  TComAUPicAccess*  getAUPicAccess() { return &m_cAUPicAccess; }
     145#endif
    108146
    109 //GT VSO
     147#if HHI_VSO
    110148private:
    111149  std::vector<TVideoIOYuv*>                            m_acTVideoIOYuvERFileList;
     
    115153  Void  xSetERPicYuvs(  Int iViewIdx, Int iPoc, TComMVDRefData* pcReferenceInfo );    ///< store pic from buffer in pcReferenceInfo   
    116154  Void  xStoreVSORefPicsInBuffer();                                                   ///< read in External Ref pic from file and store in buffer
    117 //GT VSO end
    118 
     155#endif
    119156 
    120157};// END CLASS DEFINITION TAppEncTop
  • trunk/source/App/TAppEncoder/encmain.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppRenderer/RendererMain.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppRenderer/TAppRendererCfg.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    5184      free (m_pchSynthOutputFileList[i]);
    5285  }
    53 
    5486
    5587  if ( m_pchVideoInputFileBaseName  ) free( m_pchVideoInputFileBaseName );
     
    6092  if ( m_pchSynthViewCameraNumbers  ) free( m_pchSynthViewCameraNumbers );
    6193  if ( m_pchViewConfig              ) free( m_pchViewConfig         );
    62 
    63 
    6494}
    6595
     
    117147    ("PreProcMode"       ,      m_iPreProcMode        ,               0, "Depth preprocessing: 0 = None, 1 = Binomial filtering"   )
    118148    ("PreFilterSize"     ,      m_iPreFilterSize      ,               0, "For PreProcMode 1: Half Size of filter kernel"           )
    119     ("SimEnhance"        ,      m_bSimEnhance         ,           false, "Similarity enhancement of video" )
     149    ("SimEnhance"        ,      m_bSimEnhance         ,           true, "Similarity enhancement of video" )
    120150    ("BlendMode"         ,      m_iBlendMode          ,               0, "Blending of left and right image: 0: average, 1: only holes from right, 2: only holes from left, 3: first view in BaseViewOrder as main view" )
    121     ("BlendZThresPerc"   ,      m_iBlendZThresPerc    ,               3, "Z-difference threshold for blending in percent of total Z-range"   )
     151    ("BlendZThresPerc"   ,      m_iBlendZThresPerc    ,              30, "Z-difference threshold for blending in percent of total Z-range"   )
    122152    ("BlendUseDistWeight",      m_bBlendUseDistWeight ,            true, "0: blend using average; 1: blend factor depends on view distance"  )
    123     ("BlendHoleMargin"   ,      m_iBlendHoleMargin    ,               0, "Margin around holes to fill with other view"                       )
    124     ("InterpolationMode" ,      m_iInterpolationMode  ,               0, "0: NN, 1:linear (int), 2:linear (double) , 3:cubic Hermite spline (double), 4: 8-tap (int)" )
     153    ("BlendHoleMargin"   ,      m_iBlendHoleMargin    ,               6, "Margin around holes to fill with other view"                       )
     154    ("InterpolationMode" ,      m_iInterpolationMode  ,               4, "0: NN, 1:linear (int), 2:linear (double) , 3:cubic Hermite spline (double), 4: 8-tap (int)" )
    125155    ("HoleFillingMode"   ,      m_iHoleFillingMode    ,               1, "0: None, 1: line wise background extension"              )
    126156    ("PostProcMode"      ,      m_iPostProcMode       ,               0, "0: None, 1: horizontal 3-tap median"                     )
    127157    ("RenderMode"        ,      m_iRenderMode         ,               0, "0: Use renderer, 1: use model renderer, 10: create used pels map")
    128     ("ShiftPrecision"    ,      m_iShiftPrecision     ,               0, "Shift Precision for Interpolation Mode 4"                )
     158    ("ShiftPrecision"    ,      m_iShiftPrecision     ,               2, "Shift Precision for Interpolation Mode 4"                )
    129159    ("TemporalDepthFilter",     m_bTempDepthFilter    ,           false, "Temporal depth filtering"                                )
    130160    ("RenderDirection"   ,      m_iRenderDirection    ,               0, "0: Interpolate, 1: Extrapolate from left, 2: Extrapolate from right")
  • trunk/source/App/TAppRenderer/TAppRendererCfg.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppRenderer/TAppRendererTop.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/App/TAppRenderer/TAppRendererTop.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/CommonDef.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    1548#include "TComRom.h"
    1649
    17 // SB
    1850#include <string>
    1951#include <assert.h>
     
    2658
    2759#define HM_VERSION        "3.0rc2"                 ///< Current software version
    28 #define NV_VERSION        "0.31r4"                   ///< Current software version
     60#define NV_VERSION        "0.37"                   ///< Current software version
    2961
    3062// ====================================================================================================================
     
    70102
    71103
    72 #define SEBASTIAN                   1
    73 #if     SEBASTIAN
    74 #define SB_INTERVIEW_SKIP           1
    75 #define SB_INTERVIEW_SKIP_LAMBDA_SCALE 1
    76 #define SB_MEM_FIX                  1
    77 #define SB_NO_LowDelayCoding        0   // noch offen in motionestimation
    78 #endif
    79 
    80 #define GERHARD                     1
    81 #if     GERHARD
    82 #define GERHARD_VQM_XCHECK          0
    83 #define GERHARD_RM_DEBUG_MM         0
    84 #define GERHARD_RM_HOLE_EXT         0
    85 #define GERHARD_RM_COLOR_PLANES     1
    86 #define GERHARD_RM_SPLAT            1
    87 #endif
    88 
    89 
    90104// ====================================================================================================================
    91105// Common constants
     
    116130#define STD_CAM_PARAMETERS_PRECISION 5        ///< quarter luma sample accuarcy for derived disparities (as default)
    117131
    118 // SB
    119132#define MAX_INPUT_VIEW_NUM                                      10                              ///< max. number of input view for multiview coding
    120133
    121 // GT
     134#if HHI_VSO
    122135#define MAX_ERREF_VIEW_NUM                                      15                              ///< max. number of virtual external reference views
     136#endif
    123137#define LOG2_DISP_PREC_LUT                              2                               ///< log2 of disparity precision used in integer disparity LUTs
    124138
     139
     140#if ( HHI_INTER_VIEW_MOTION_PRED || HHI_INTER_VIEW_RESIDUAL_PRED )
     141#define DEPTH_MAP_GENERATION        1
     142#else
     143#define DEPTH_MAP_GENERATION        0
     144#endif
    125145
    126146//>>>>> generation and usage of virtual prediction depth maps >>>>>
     
    151171#define OUTPUT_RESIDUAL_PICTURES          0         // output residual pictures (for debugging)
    152172
    153 #define MVI_MERGE_POS                     0         // position of mvi in merge list (0..5)
     173#define HHI_MPI_MERGE_POS                     0         // position of mvi in merge list (0..5)
    154174
    155175
     
    298318#endif
    299319
    300 // SB from ViCo for formatted string parsing
    301320
    302321class VideoCodecException
  • trunk/source/Lib/TLibCommon/ContextModel.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/ContextModel.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/ContextModel3DBuffer.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/ContextModel3DBuffer.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/ContextTables.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    1447
    1548#define NUM_SPLIT_FLAG_CTX            3       ///< number of context models for split flag
    16 #if MW_MVI_SIGNALLING_MODE == 0
    17 #define NUM_MVI_FLAG_CTX              3       ///< number of context models for motion inheritance flag
    18 #endif
    1949#define NUM_SKIP_FLAG_CTX             3       ///< number of context models for skip flag
    2050
     
    72102#define NUM_VIEW_IDX_CTX              6
    73103
    74 #if HHI_DMM_INTRA
     104#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    75105#define NUM_DMM_CTX                   2
    76106#define NUM_WEDGE_CTX                 4
     
    120150  }
    121151};
    122 
    123 #if MW_MVI_SIGNALLING_MODE == 0
    124 // initial probability for skip flag
    125 static const Short
    126 INIT_MVI_FLAG[3][NUM_MVI_FLAG_CTX][2] =
    127 {
    128   {
    129     {    0,   64 }, {    0,   64 }, {    0,   64 }
    130   },
    131   {
    132     {    0,   64 }, {    0,   64 }, {    0,   64 }
    133   },
    134   {
    135     {    0,   64 }, {    0,   64 }, {    0,   64 }
    136   }
    137 };
    138 #endif
    139152
    140153// initial probability for skip flag
     
    13241337};
    13251338
    1326 #if HHI_DMM_INTRA
     1339#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    13271340static const Short
    13281341INIT_INTRA_DMM[3][NUM_DMM_CTX][2] =
  • trunk/source/Lib/TLibCommon/SEI.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComAdaptiveLoopFilter.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    278311  m_bUseNonCrossALF = false;
    279312#endif
    280 #if SB_MEM_FIX
    281313  m_bIsCreated = false;
    282 #endif
    283314}
    284315
     
    471502Void TComAdaptiveLoopFilter::create( Int iPicWidth, Int iPicHeight, UInt uiMaxCUWidth, UInt uiMaxCUHeight, UInt uiMaxCUDepth )
    472503{
    473 #if SB_MEM_FIX
    474504  m_bIsCreated = true;
    475 #endif
    476505  if ( !m_pcTempPicYuv )
    477506  {
     
    514543Void TComAdaptiveLoopFilter::destroy()
    515544{
    516 #if SB_MEM_FIX
    517545  m_bIsCreated = false ;
    518 #endif
    519546  if ( m_pcTempPicYuv )
    520547  {
  • trunk/source/Lib/TLibCommon/TComAdaptiveLoopFilter.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    336369  Bool        m_bIsFirstDecodedSlice;
    337370
    338 #if SB_MEM_FIX
    339371  Bool        m_bIsCreated;
    340 #endif
    341372  Void xFilterOneSlice            (CAlfSlice* pSlice, imgpel* pDec, imgpel* pRest, Int iStride, ALFParam* pcAlfParam);
    342373  Void calcVarforOneSlice         (CAlfSlice* pSlice, imgpel **imgY_var, imgpel *imgY_pad, Int pad_size, Int fl, Int img_stride);
     
    408439  Void destroy ();
    409440 
    410 #if SB_MEM_FIX
    411441  Bool isCreated() { return m_bIsCreated;}
    412 #endif
    413442  // alloc & free & set functions
    414443  Void allocALFParam  ( ALFParam* pAlfParam );
  • trunk/source/Lib/TLibCommon/TComBitCounter.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComBitStream.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComBitStream.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComCABACTables.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComCABACTables.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComDataCU.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    2053  m_pcSlice            = NULL;
    2154  m_puhDepth           = NULL;
     55#if HHI_MPI
    2256  m_piTextureModeDepth = NULL;
     57#endif
    2358 
    2459  m_pePartSize         = NULL;
     
    3166  m_pbMergeFlag        = NULL;
    3267  m_puhMergeIndex      = NULL;
     68#if HHI_INTER_VIEW_RESIDUAL_PRED
    3369  m_pbResPredAvailable = NULL;
    3470  m_pbResPredFlag      = NULL;
     71#endif
    3572  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    3673  {
     
    71108#endif//SNY_DQP
    72109
    73 #if HHI_DMM_INTRA
     110#if HHI_DMM_WEDGE_INTRA
    74111  m_puiWedgeFullTabIdx  = NULL;
    75112  m_piWedgeFullDeltaDC1       = NULL;
     
    80117  m_piWedgePredDirDeltaDC2   = NULL;
    81118  m_piWedgePredDirDeltaEnd   = NULL;
    82 
     119#endif
     120#if HHI_DMM_PRED_TEX
    83121  m_puiWedgePredTexTabIdx     = NULL;
    84122  m_piWedgePredTexDeltaDC1    = NULL;
     
    87125  m_piContourPredTexDeltaDC1  = NULL;
    88126  m_piContourPredTexDeltaDC2  = NULL;
    89 
    90   m_pbTextureModesAllowed     = NULL;
    91127#endif
    92128}
     
    108144    m_phQP               = (UChar*    )xMalloc(UChar,    uiNumPartition);
    109145    m_puhDepth           = (UChar*    )xMalloc(UChar,    uiNumPartition);
     146#if HHI_MPI
    110147    m_piTextureModeDepth = (Int*      )xMalloc(Int,      uiNumPartition);
     148#endif
    111149    m_puhWidth           = (UChar*    )xMalloc(UChar,    uiNumPartition);
    112150    m_puhHeight          = (UChar*    )xMalloc(UChar,    uiNumPartition);
     
    118156    m_pbMergeFlag        = (Bool*  )xMalloc(Bool,   uiNumPartition);
    119157    m_puhMergeIndex      = (UChar* )xMalloc(UChar,  uiNumPartition);
     158#if HHI_INTER_VIEW_RESIDUAL_PRED
    120159    m_pbResPredAvailable = (Bool*  )xMalloc(Bool,   uiNumPartition);
    121160    m_pbResPredFlag      = (Bool*  )xMalloc(Bool,   uiNumPartition);
     161#endif
    122162    for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    123163    {
     
    147187    m_acCUMvField[1].create( uiNumPartition );
    148188   
    149 #if HHI_DMM_INTRA
    150     m_puiWedgeFullTabIdx  = (UInt*   )xMalloc(UInt,    uiNumPartition);
     189#if HHI_DMM_WEDGE_INTRA
     190    m_puiWedgeFullTabIdx       = (UInt*)xMalloc(UInt, uiNumPartition);
    151191    m_piWedgeFullDeltaDC1       = (Int* )xMalloc(Int,  uiNumPartition);
    152192    m_piWedgeFullDeltaDC2       = (Int* )xMalloc(Int,  uiNumPartition);
     
    156196    m_piWedgePredDirDeltaDC2   = (Int* )xMalloc(Int,  uiNumPartition);
    157197    m_piWedgePredDirDeltaEnd   = (Int* )xMalloc(Int,  uiNumPartition);
    158 
     198#endif
     199#if HHI_DMM_PRED_TEX
    159200    m_puiWedgePredTexTabIdx     = (UInt*)xMalloc(UInt, uiNumPartition);
    160201    m_piWedgePredTexDeltaDC1    = (Int* )xMalloc(Int,  uiNumPartition);
     
    163204    m_piContourPredTexDeltaDC1  = (Int* )xMalloc(Int,  uiNumPartition);
    164205    m_piContourPredTexDeltaDC2  = (Int* )xMalloc(Int,  uiNumPartition);
    165 
    166     m_pbTextureModesAllowed     = (Bool*)xMalloc(Bool, uiNumPartition);
    167206#endif
    168207  }
     
    203242    if ( m_phQP               ) { xFree(m_phQP);                m_phQP              = NULL; }
    204243    if ( m_puhDepth           ) { xFree(m_puhDepth);            m_puhDepth          = NULL; }
     244#if HHI_MPI
    205245    if ( m_piTextureModeDepth ) { xFree(m_piTextureModeDepth);  m_piTextureModeDepth= NULL; }
     246#endif
    206247    if ( m_puhWidth           ) { xFree(m_puhWidth);            m_puhWidth          = NULL; }
    207248    if ( m_puhHeight          ) { xFree(m_puhHeight);           m_puhHeight         = NULL; }
     
    215256    if ( m_pbMergeFlag        ) { xFree(m_pbMergeFlag);         m_pbMergeFlag       = NULL; }
    216257    if ( m_puhMergeIndex      ) { xFree(m_puhMergeIndex);       m_puhMergeIndex     = NULL; }
     258#if HHI_INTER_VIEW_RESIDUAL_PRED
    217259    if ( m_pbResPredAvailable ) { xFree(m_pbResPredAvailable);  m_pbResPredAvailable= NULL; }
    218260    if ( m_pbResPredFlag      ) { xFree(m_pbResPredFlag);       m_pbResPredFlag     = NULL; }
     261#endif
    219262    for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    220263    {
     
    235278    m_acCUMvField[1].destroy();
    236279   
    237 #if HHI_DMM_INTRA
     280#if HHI_DMM_WEDGE_INTRA
    238281    if ( m_puiWedgeFullTabIdx  ) { xFree(m_puiWedgeFullTabIdx);   m_puiWedgeFullTabIdx  = NULL; }
    239282    if ( m_piWedgeFullDeltaDC1  ) { xFree(m_piWedgeFullDeltaDC1);   m_piWedgeFullDeltaDC1  = NULL; }
     
    244287    if ( m_piWedgePredDirDeltaDC1 ) { xFree(m_piWedgePredDirDeltaDC1); m_piWedgePredDirDeltaDC1 = NULL; }
    245288    if ( m_piWedgePredDirDeltaDC2 ) { xFree(m_piWedgePredDirDeltaDC2); m_piWedgePredDirDeltaDC2 = NULL; }
    246 
     289#endif
     290#if HHI_DMM_PRED_TEX
    247291    if ( m_puiWedgePredTexTabIdx     ) { xFree(m_puiWedgePredTexTabIdx);     m_puiWedgePredTexTabIdx     = NULL; }
    248292    if ( m_piWedgePredTexDeltaDC1    ) { xFree(m_piWedgePredTexDeltaDC1);    m_piWedgePredTexDeltaDC1    = NULL; }
     
    251295    if ( m_piContourPredTexDeltaDC1  ) { xFree(m_piContourPredTexDeltaDC1);  m_piContourPredTexDeltaDC1  = NULL; }
    252296    if ( m_piContourPredTexDeltaDC2  ) { xFree(m_piContourPredTexDeltaDC2);  m_piContourPredTexDeltaDC2  = NULL; }
    253 
    254     if ( m_pbTextureModesAllowed     ) { xFree(m_pbTextureModesAllowed   );  m_pbTextureModesAllowed     = NULL; }
    255297#endif   
    256298  }
     
    308350  memset( m_pbMergeFlag,        0, iSizeInBool  );
    309351  memset( m_puhMergeIndex,      0, iSizeInUchar );
     352#if HHI_INTER_VIEW_RESIDUAL_PRED
    310353  memset( m_pbResPredAvailable, 0, iSizeInBool  );
    311354  memset( m_pbResPredFlag,      0, iSizeInBool  );
     355#endif
    312356  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    313357  {
     
    322366  memset( m_puhCbf[2],          0, iSizeInUchar );
    323367  memset( m_puhDepth,           0, iSizeInUchar );
     368#if HHI_MPI
    324369  memset( m_piTextureModeDepth,-1, iSizeInInt );
     370#endif
    325371 
    326372  UChar uhWidth  = g_uiMaxCUWidth;
     
    390436  }
    391437
    392 #if HHI_DMM_INTRA
     438#if HHI_DMM_WEDGE_INTRA
    393439  memset( m_puiWedgeFullTabIdx,  0, iSizeInUInt   );
    394440  memset( m_piWedgeFullDeltaDC1,       0, iSizeInInt  );
     
    399445  memset( m_piWedgePredDirDeltaDC2,   0, iSizeInInt  );
    400446  memset( m_piWedgePredDirDeltaEnd,   0, iSizeInInt  );
    401 
     447#endif
     448#if HHI_DMM_PRED_TEX
    402449  memset( m_puiWedgePredTexTabIdx,     0, iSizeInUInt );
    403450  memset( m_piWedgePredTexDeltaDC1,    0, iSizeInInt  );
     
    406453  memset( m_piContourPredTexDeltaDC1,  0, iSizeInInt  );
    407454  memset( m_piContourPredTexDeltaDC2,  0, iSizeInInt  );
    408 
    409   memset( m_pbTextureModesAllowed,  false, iSizeInBool );
    410455#endif   
    411456}
     
    426471  memset( m_pbMergeFlag,        0, iSizeInBool  );
    427472  memset( m_puhMergeIndex,      0, iSizeInUchar );
     473#if HHI_INTER_VIEW_RESIDUAL_PRED
    428474  memset( m_pbResPredAvailable, 0, iSizeInBool  );
    429475  memset( m_pbResPredFlag,      0, iSizeInBool  );
     476#endif
    430477  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    431478  {
     
    461508  m_acCUMvField[1].clearMvField();
    462509
    463 #if HHI_DMM_INTRA
     510#if HHI_DMM_WEDGE_INTRA
    464511  memset( m_puiWedgeFullTabIdx,  0, iSizeInUInt   );
    465512  memset( m_piWedgeFullDeltaDC1,       0, iSizeInInt  );
     
    470517  memset( m_piWedgePredDirDeltaDC2,   0, iSizeInInt  );
    471518  memset( m_piWedgePredDirDeltaEnd,   0, iSizeInInt  );
    472 
     519#endif
     520#if HHI_DMM_PRED_TEX
    473521  memset( m_puiWedgePredTexTabIdx,     0, iSizeInUInt );
    474522  memset( m_piWedgePredTexDeltaDC1,    0, iSizeInInt  );
     
    477525  memset( m_piContourPredTexDeltaDC1,  0, iSizeInInt  );
    478526  memset( m_piContourPredTexDeltaDC2,  0, iSizeInInt  );
    479 
    480   memset( m_pbTextureModesAllowed,  false, iSizeInBool );
    481527#endif   
    482528
     529#if HHI_MPI
    483530  memset( m_piTextureModeDepth, -1, iSizeInInt );
     531#endif
    484532}
    485533
     
    513561  memset( m_pbMergeFlag,        0, iSizeInBool  );
    514562  memset( m_puhMergeIndex,      0, iSizeInUchar );
     563#if HHI_INTER_VIEW_RESIDUAL_PRED
    515564  memset( m_pbResPredAvailable, 0, iSizeInBool  );
    516565  memset( m_pbResPredFlag,      0, iSizeInBool  );
     566#endif
    517567  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    518568  {
     
    527577  memset( m_puhCbf[2],          0, iSizeInUchar );
    528578  memset( m_puhDepth,     uiDepth, iSizeInUchar );
     579#if HHI_MPI
    529580  memset( m_piTextureModeDepth, -1, iSizeInInt );
     581#endif
    530582 
    531583  UChar uhWidth  = g_uiMaxCUWidth  >> uiDepth;
     
    565617  m_uiEntropySliceStartCU   = pcCU->getEntropySliceStartCU();
    566618
    567 #if HHI_DMM_INTRA
     619#if HHI_DMM_WEDGE_INTRA
    568620  memset( m_puiWedgeFullTabIdx,  0, iSizeInUInt   );
    569621  memset( m_piWedgeFullDeltaDC1,       0, iSizeInInt  );
     
    574626  memset( m_piWedgePredDirDeltaDC2,   0, iSizeInInt  );
    575627  memset( m_piWedgePredDirDeltaEnd,   0, iSizeInInt  );
    576 
     628#endif
     629#if HHI_DMM_PRED_TEX
    577630  memset( m_puiWedgePredTexTabIdx,     0, iSizeInUInt );
    578631  memset( m_piWedgePredTexDeltaDC1,    0, iSizeInInt  );
     
    581634  memset( m_piContourPredTexDeltaDC1,  0, iSizeInInt  );
    582635  memset( m_piContourPredTexDeltaDC2,  0, iSizeInInt  );
    583 
    584   memset( m_pbTextureModesAllowed,  false, iSizeInBool );
    585636#endif
    586637}
     
    611662  m_pbMergeFlag         = pcCU->getMergeFlag()        + uiPart;
    612663  m_puhMergeIndex       = pcCU->getMergeIndex()       + uiPart;
     664#if HHI_INTER_VIEW_RESIDUAL_PRED
    613665  m_pbResPredAvailable  = pcCU->getResPredAvail()     + uiPart;
    614666  m_pbResPredFlag       = pcCU->getResPredFlag ()     + uiPart;
     667#endif
    615668  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    616669  {
     
    630683  m_puhWidth=pcCU->getWidth()                     + uiPart;
    631684  m_puhHeight=pcCU->getHeight()                   + uiPart;
     685#if HHI_MPI
    632686  m_piTextureModeDepth=pcCU->getTextureModeDepth()+ uiPart;
     687#endif
    633688 
    634689  m_apiMVPIdx[0]=pcCU->getMVPIdx(REF_PIC_LIST_0)  + uiPart;
     
    667722  m_uiEntropySliceStartCU = pcCU->getEntropySliceStartCU();
    668723
    669 #if HHI_DMM_INTRA
     724#if HHI_DMM_WEDGE_INTRA
    670725  m_puiWedgeFullTabIdx  = pcCU->getWedgeFullTabIdx()  + uiPart;   
    671726  m_piWedgeFullDeltaDC1       = pcCU->getWedgeFullDeltaDC1()      + uiPart;   
     
    676731  m_piWedgePredDirDeltaDC2   = pcCU->getWedgePredDirDeltaDC2()   + uiPart;   
    677732  m_piWedgePredDirDeltaEnd   = pcCU->getWedgePredDirDeltaEnd()   + uiPart;
    678 
     733#endif
     734#if HHI_DMM_PRED_TEX
    679735  m_puiWedgePredTexTabIdx     = pcCU->getWedgePredTexTabIdx()     + uiPart;   
    680736  m_piWedgePredTexDeltaDC1    = pcCU->getWedgePredTexDeltaDC1()   + uiPart;   
     
    683739  m_piContourPredTexDeltaDC1  = pcCU->getContourPredTexDeltaDC1() + uiPart;   
    684740  m_piContourPredTexDeltaDC2  = pcCU->getContourPredTexDeltaDC2() + uiPart;   
    685 
    686   m_pbTextureModesAllowed     = pcCU->getTextureModeAllowance()   + uiPart;   
    687741#endif
    688742}
     
    718772  m_pbMergeFlag        = pcCU->getMergeFlag()             + uiAbsPartIdx;
    719773  m_puhMergeIndex      = pcCU->getMergeIndex()            + uiAbsPartIdx;
     774#if HHI_INTER_VIEW_RESIDUAL_PRED
    720775  m_pbResPredAvailable = pcCU->getResPredAvail()          + uiAbsPartIdx;
    721776  m_pbResPredFlag      = pcCU->getResPredFlag ()          + uiAbsPartIdx;
     777#endif
    722778  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui ++ )
    723779  {
     
    731787  m_acCUMvField[eRefPicList].setMvdPtr(pcCU->getCUMvField(eRefPicList)->getMvd()    + uiAbsPartIdx);
    732788  m_acCUMvField[eRefPicList].setRefIdxPtr(pcCU->getCUMvField(eRefPicList)->getRefIdx() + uiAbsPartIdx);
     789#if HHI_MPI
    733790  m_piTextureModeDepth = pcCU->getTextureModeDepth() + uiAbsPartIdx;
     791#endif
    734792
    735793  m_uiSliceStartCU        = pcCU->getSliceStartCU();
     
    762820  memcpy( m_pbMergeFlag         + uiOffset, pcCU->getMergeFlag(),         iSizeInBool  );
    763821  memcpy( m_puhMergeIndex       + uiOffset, pcCU->getMergeIndex(),        iSizeInUchar );
     822#if HHI_INTER_VIEW_RESIDUAL_PRED
    764823  memcpy( m_pbResPredAvailable  + uiOffset, pcCU->getResPredAvail(),      iSizeInBool  );
    765824  memcpy( m_pbResPredFlag       + uiOffset, pcCU->getResPredFlag(),       iSizeInBool  );
     825#endif
    766826  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    767827  {
     
    807867  m_uiEntropySliceStartCU = pcCU->getEntropySliceStartCU();
    808868
    809 #if HHI_DMM_INTRA
     869#if HHI_DMM_WEDGE_INTRA
    810870  memcpy( m_puiWedgeFullTabIdx   + uiOffset, pcCU->getWedgeFullTabIdx(),    iSizeInUInt    );
    811871  memcpy( m_piWedgeFullDeltaDC1       + uiOffset, pcCU->getWedgeFullDeltaDC1(),      iSizeInInt  );
     
    816876  memcpy( m_piWedgePredDirDeltaDC2   + uiOffset, pcCU->getWedgePredDirDeltaDC2(),   iSizeInInt  );
    817877  memcpy( m_piWedgePredDirDeltaEnd   + uiOffset, pcCU->getWedgePredDirDeltaEnd(),   iSizeInInt  );
    818 
     878#endif
     879#if HHI_DMM_PRED_TEX
    819880  memcpy( m_puiWedgePredTexTabIdx     + uiOffset, pcCU->getWedgePredTexTabIdx(),     iSizeInUInt );
    820881  memcpy( m_piWedgePredTexDeltaDC1    + uiOffset, pcCU->getWedgePredTexDeltaDC1(),   iSizeInInt  );
     
    823884  memcpy( m_piContourPredTexDeltaDC1  + uiOffset, pcCU->getContourPredTexDeltaDC1(), iSizeInInt  );
    824885  memcpy( m_piContourPredTexDeltaDC2  + uiOffset, pcCU->getContourPredTexDeltaDC2(), iSizeInInt  );
    825 
    826   memcpy( m_pbTextureModesAllowed     + uiOffset, pcCU->getTextureModeAllowance(),   iSizeInBool );
    827 #endif
    828 
     886#endif
     887
     888#if HHI_MPI
    829889  memcpy( m_piTextureModeDepth + uiOffset, pcCU->getTextureModeDepth(), iSizeInInt );
     890#endif
    830891}
    831892
     
    854915  memcpy( rpcCU->getMergeFlag()         + m_uiAbsIdxInLCU, m_pbMergeFlag,         iSizeInBool  );
    855916  memcpy( rpcCU->getMergeIndex()        + m_uiAbsIdxInLCU, m_puhMergeIndex,       iSizeInUchar );
     917#if HHI_INTER_VIEW_RESIDUAL_PRED
    856918  memcpy( rpcCU->getResPredAvail()      + m_uiAbsIdxInLCU, m_pbResPredAvailable,  iSizeInBool  );
    857919  memcpy( rpcCU->getResPredFlag()       + m_uiAbsIdxInLCU, m_pbResPredFlag,       iSizeInBool  );
     920#endif
    858921  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    859922  {
     
    891954  rpcCU->setEntropySliceStartCU( m_uiEntropySliceStartCU );
    892955
    893 #if HHI_DMM_INTRA
     956#if HHI_DMM_WEDGE_INTRA
    894957  memcpy( rpcCU->getWedgeFullTabIdx()  + m_uiAbsIdxInLCU, m_puiWedgeFullTabIdx,  iSizeInUInt   );
    895958  memcpy( rpcCU->getWedgeFullDeltaDC1()      + m_uiAbsIdxInLCU, m_piWedgeFullDeltaDC1,       iSizeInInt  );
     
    900963  memcpy( rpcCU->getWedgePredDirDeltaDC2()   + m_uiAbsIdxInLCU, m_piWedgePredDirDeltaDC2,   iSizeInInt  );
    901964  memcpy( rpcCU->getWedgePredDirDeltaEnd()   + m_uiAbsIdxInLCU, m_piWedgePredDirDeltaEnd,   iSizeInInt  );
    902 
     965#endif
     966#if HHI_DMM_PRED_TEX
    903967  memcpy( rpcCU->getWedgePredTexTabIdx()     + m_uiAbsIdxInLCU, m_puiWedgePredTexTabIdx,     iSizeInUInt );
    904968  memcpy( rpcCU->getWedgePredTexDeltaDC1()   + m_uiAbsIdxInLCU, m_piWedgePredTexDeltaDC1,    iSizeInInt  );
     
    907971  memcpy( rpcCU->getContourPredTexDeltaDC1() + m_uiAbsIdxInLCU, m_piContourPredTexDeltaDC1,  iSizeInInt  );
    908972  memcpy( rpcCU->getContourPredTexDeltaDC2() + m_uiAbsIdxInLCU, m_piContourPredTexDeltaDC2,  iSizeInInt  );
    909 
    910   memcpy( rpcCU->getTextureModeAllowance()   + m_uiAbsIdxInLCU, m_pbTextureModesAllowed,     iSizeInBool  );
    911 #endif
    912 
     973#endif
     974
     975#if HHI_MPI
    913976  memcpy( rpcCU->getTextureModeDepth() + m_uiAbsIdxInLCU, m_piTextureModeDepth, iSizeInInt );
     977#endif
    914978}
    915979
     
    9391003  memcpy( rpcCU->getMergeFlag()         + uiPartOffset, m_pbMergeFlag,         iSizeInBool  );
    9401004  memcpy( rpcCU->getMergeIndex()        + uiPartOffset, m_puhMergeIndex,       iSizeInUchar );
     1005#if HHI_INTER_VIEW_RESIDUAL_PRED
    9411006  memcpy( rpcCU->getResPredAvail()      + uiPartOffset, m_pbResPredAvailable,  iSizeInBool  );
    9421007  memcpy( rpcCU->getResPredFlag()       + uiPartOffset, m_pbResPredFlag,       iSizeInBool  );
     1008#endif
    9431009  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ui++ )
    9441010  {
     
    9751041  rpcCU->setEntropySliceStartCU( m_uiEntropySliceStartCU );
    9761042
    977 #if HHI_DMM_INTRA
     1043#if HHI_DMM_WEDGE_INTRA
    9781044  memcpy( rpcCU->getWedgeFullTabIdx()  + uiPartOffset, m_puiWedgeFullTabIdx,  iSizeInUInt   );
    9791045  memcpy( rpcCU->getWedgeFullDeltaDC1()      + uiPartOffset, m_piWedgeFullDeltaDC1,       iSizeInInt  );
     
    9841050  memcpy( rpcCU->getWedgePredDirDeltaDC2()   + uiPartOffset, m_piWedgePredDirDeltaDC2,   iSizeInInt  );
    9851051  memcpy( rpcCU->getWedgePredDirDeltaEnd()   + uiPartOffset, m_piWedgePredDirDeltaEnd,   iSizeInInt  );
    986 
     1052#endif
     1053#if HHI_DMM_PRED_TEX
    9871054  memcpy( rpcCU->getWedgePredTexTabIdx()     + uiPartOffset, m_puiWedgePredTexTabIdx,     iSizeInUInt );
    9881055  memcpy( rpcCU->getWedgePredTexDeltaDC1()   + uiPartOffset, m_piWedgePredTexDeltaDC1,    iSizeInInt  );
     
    9911058  memcpy( rpcCU->getContourPredTexDeltaDC1() + uiPartOffset, m_piContourPredTexDeltaDC1,  iSizeInInt  );
    9921059  memcpy( rpcCU->getContourPredTexDeltaDC2() + uiPartOffset, m_piContourPredTexDeltaDC2,  iSizeInInt  );
    993 
    994   memcpy( rpcCU->getTextureModeAllowance()   + uiPartOffset, m_pbTextureModesAllowed,     iSizeInBool  );
    995 #endif
    996 
     1060#endif
     1061
     1062#if HHI_MPI
    9971063  memcpy( rpcCU->getTextureModeDepth() + uiPartOffset, m_piTextureModeDepth, iSizeInInt );
     1064#endif
    9981065}
    9991066
     
    13561423}
    13571424
    1358 
    1359 #if HHI_DMM_INTRA
     1425#if HHI_DMM_WEDGE_INTRA
    13601426Void TComDataCU::setWedgeFullTabIdxSubParts( UInt uiTIdx, UInt uiAbsPartIdx, UInt uiDepth )
    13611427{
     
    14271493  }
    14281494}
    1429 
     1495#endif
     1496#if HHI_DMM_PRED_TEX
    14301497Void TComDataCU::setWedgePredTexTabIdxSubParts( UInt uiTIdx, UInt uiAbsPartIdx, UInt uiDepth )
    14311498{
     
    14771544  }
    14781545}
    1479 
    1480 Void TComDataCU::setTextureModeAllowanceSubParts ( Bool bTMAllowed, UInt uiAbsPartIdx, UInt uiDepth )
    1481 {
    1482   UInt uiCurrPartNumb = m_pcPic->getNumPartInCU() >> (uiDepth << 1);
    1483 
    1484   memset( m_pbTextureModesAllowed + uiAbsPartIdx, bTMAllowed, sizeof(Bool)*uiCurrPartNumb );
    1485 }
    1486 #endif
    1487 
     1546#endif
     1547
     1548#if HHI_INTER_VIEW_MOTION_PRED
    14881549Int
    14891550TComDataCU::getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv )
     
    15111572  return pcDepthMapGenerator->getIViewOrgDepthMvPred( this, uiPartIdx, eRefPicList, iRefIdx, rcMv );
    15121573}
    1513 
     1574#endif
     1575
     1576
     1577#if HHI_INTER_VIEW_RESIDUAL_PRED
    15141578Bool
    15151579TComDataCU::getResidualSamples( UInt uiPartIdx, TComYuv* pcYuv )
     
    15191583  return pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv );
    15201584}
     1585#endif
    15211586
    15221587
     
    15331598  mapPlanartoDC( iLeftIntraDir );
    15341599#endif
    1535 #if HHI_DMM_INTRA
     1600#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    15361601  mapDMMtoDC( iLeftIntraDir );
    15371602#endif
     
    15431608  mapPlanartoDC( iAboveIntraDir );
    15441609#endif
    1545 #if HHI_DMM_INTRA
     1610#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    15461611  mapDMMtoDC( iAboveIntraDir );
    15471612#endif
     
    15781643  mapPlanartoDC( iLeftIntraDir );
    15791644#endif
    1580 #if HHI_DMM_INTRA
     1645#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    15811646  mapDMMtoDC( iLeftIntraDir );
    15821647#endif
     
    15881653  mapPlanartoDC( iAboveIntraDir );
    15891654#endif
    1590 #if HHI_DMM_INTRA
     1655#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    15911656  mapDMMtoDC( iAboveIntraDir );
    15921657#endif
     
    16931758}
    16941759
    1695 #if MW_MVI_SIGNALLING_MODE == 0
    1696 UInt TComDataCU::getCtxMvInheritanceFlag( UInt uiAbsPartIdx, UInt uiDepth )
    1697 {
    1698 //  return 0; // MW
    1699   TComDataCU* pcTempCU;
    1700   UInt        uiTempPartIdx;
    1701   UInt        uiCtx;
    1702   // Get left split flag
    1703   pcTempCU = getPULeft( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
    1704   uiCtx  = ( pcTempCU ) ? ( ( pcTempCU->getTextureModeDepth( uiTempPartIdx ) == uiDepth ) ? 1 : 0 ) : 0;
    1705 
    1706   // Get above split flag
    1707   pcTempCU = getPUAbove( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
    1708   uiCtx += ( pcTempCU ) ? ( ( pcTempCU->getTextureModeDepth( uiTempPartIdx ) == uiDepth ) ? 1 : 0 ) : 0;
    1709 
    1710   return uiCtx;
    1711 }
    1712 #endif
    1713 
    17141760UInt TComDataCU::getCtxIntraDirChroma( UInt uiAbsPartIdx )
    17151761{
     
    21482194}
    21492195
     2196#if HHI_INTER_VIEW_RESIDUAL_PRED
    21502197Void TComDataCU::setResPredAvailSubParts( Bool bResPredAvailable, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    21512198{
     
    21572204  setSubPartBool( bResPredFlag, m_pbResPredFlag, uiAbsPartIdx, uiDepth, uiPartIdx );
    21582205}
     2206#endif
    21592207
    21602208Void TComDataCU::setChromIntraDirSubParts( UInt uiDir, UInt uiAbsPartIdx, UInt uiDepth )
     
    26322680{
    26332681  UInt uiAbsPartAddr = m_uiAbsIdxInLCU + uiAbsPartIdx;
     2682#if HHI_INTER_VIEW_MOTION_PRED
    26342683  Bool bNoPdmMerge   = ( m_pcSlice->getSPS()->getViewId() == 0 || ( m_pcSlice->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) != PDM_USE_FOR_MERGE );
    26352684  UInt uiPdmMergePos = ( bNoPdmMerge ? 5 : PDM_MERGE_POS );
     
    26402689  UInt uiCorBLAddr   = ( uiPdmMergePos < 5 ? 5 : 4 );
    26412690  UInt uiPdmAddr     =   uiPdmMergePos;
     2691#else
     2692  UInt uiLeftAddr    = 0;
     2693  UInt uiAboveAddr   = 1;
     2694  UInt uiColocAddr   = 2;
     2695  UInt uiCorRTAddr   = 3;
     2696  UInt uiCorBLAddr   = 4;
     2697#endif
    26422698 
    26432699  bool abCandIsInter[ MRG_MAX_NUM_CANDS ];
     
    30993155
    31003156
     3157#if HHI_INTER_VIEW_MOTION_PRED
    31013158  //===== add merge with predicted depth maps =====
    31023159  TComMv  acPdmMv       [2];
     
    31243181    }
    31253182  }
     3183#endif
    31263184
    31273185
     
    33203378  Int iLeftIdx = -1;
    33213379
     3380#if HHI_INTER_VIEW_MOTION_PRED
    33223381#if ( PDM_AMVP_POS == 0 )
    33233382  // get inter-view mv predictor (at position 0)
     
    33283387    pInfo->m_acMvCand[ pInfo->iN++ ] = cPdmMvPred;
    33293388  }
     3389#endif
    33303390#endif
    33313391
     
    33883448
    33893449
     3450#if HHI_INTER_VIEW_MOTION_PRED
    33903451#if ( PDM_AMVP_POS == 1 )
    33913452  // get inter-view mv predictor (at position 1)
     
    33973458  }
    33983459#endif
    3399 
     3460#endif
    34003461
    34013462 
     
    35953656
    35963657
     3658#if HHI_INTER_VIEW_MOTION_PRED
    35973659#if ( PDM_AMVP_POS == 2 )
    35983660  // get inter-view mv predictor (at position 2)
     
    36043666  }
    36053667#endif
    3606 
     3668#endif
    36073669
    36083670  // Get Temporal Motion Predictor
     
    37543816
    37553817
     3818#if HHI_INTER_VIEW_MOTION_PRED
    37563819#if ( PDM_AMVP_POS == 3 )
    37573820  // get inter-view mv predictor (at position 3)
     
    37633826  }
    37643827#endif
    3765 
     3828#endif
    37663829
    37673830  // Check No MV Candidate
     
    38543917{
    38553918  Int  iMvShift = 2;
    3856 #if MW_DEPTH_MAP_INTERP_FILTER == 2 && MW_FULL_PEL_DEPTH_MAP_MV_SIGNALLING
     3919#if HHI_FULL_PEL_DEPTH_MAP_MV_ACC
    38573920  if( getSlice()->getSPS()->isDepth() )
    38583921    iMvShift = 0;
     
    46764739#endif
    46774740
     4741#if HHI_MPI
    46784742Void TComDataCU::setTextureModeDepthSubParts( Int iTextureModeDepth, UInt uiAbsPartIdx, UInt uiDepth )
    46794743{
     
    46924756  Int iSizeInUchar  = sizeof( UChar ) * uiNumPartition;
    46934757  Int iSizeInInt    = sizeof( Int   ) * uiNumPartition;
    4694 //#if HHI_MRG
    4695 //  Int iSizeInBool   = sizeof( Bool  ) * uiNumPartition;
    4696 //#endif
    4697 
    4698 //  memcpy( m_pePartSize + uiAbsPartIdxDst,  pcCU->getPartitionSize() + uiAbsPartIdxSrc,  sizeof( PartSize ) * uiNumPartition );
     4758
    46994759  memcpy( m_pePredMode + uiAbsPartIdxDst,  pcCU->getPredictionMode() + uiAbsPartIdxSrc, sizeof( PredMode ) * uiNumPartition );
    47004760  memcpy( m_puhInterDir + uiAbsPartIdxDst, pcCU->getInterDir() + uiAbsPartIdxSrc,       iSizeInUchar );
    4701 
    4702 //#if HHI_MRG
    4703 //  m_pbMergeFlag        = pcCU->getMergeFlag()             + uiAbsPartIdx;
    4704 //  m_puhMergeIndex      = pcCU->getMergeIndex()            + uiAbsPartIdx;
    4705 //  for( UInt ui = 0; ui < HHI_NUM_MRG_CAND; ui ++ )
    4706 //  {
    4707 //    m_apuhNeighbourCandIdx[ui] = pcCU->getNeighbourCandIdx( ui ) + uiAbsPartIdx;
    4708 //  }
    4709 //#endif
    47104761
    47114762  memcpy( m_apiMVPIdx[0] + uiAbsPartIdxDst, pcCU->getMVPIdx(REF_PIC_LIST_0) + uiAbsPartIdxSrc, iSizeInInt );
     
    47144765  memcpy( m_apiMVPNum[1] + uiAbsPartIdxDst, pcCU->getMVPNum(REF_PIC_LIST_1) + uiAbsPartIdxSrc, iSizeInInt );
    47154766
    4716 //  m_acCUMvField[0].copyFrom( pcCU->getCUMvField( REF_PIC_LIST_0 ), pcCU->getTotalNumPart(), 0 );
    4717 //  m_acCUMvField[1].copyFrom( pcCU->getCUMvField( REF_PIC_LIST_1 ), pcCU->getTotalNumPart(), 0 );
    4718 
    47194767  pcCU->getCUMvField( REF_PIC_LIST_0 )->copyTo( &m_acCUMvField[0], -Int(uiAbsPartIdxSrc) + uiAbsPartIdxDst, uiAbsPartIdxSrc, uiNumPartition );
    47204768  pcCU->getCUMvField( REF_PIC_LIST_1 )->copyTo( &m_acCUMvField[1], -Int(uiAbsPartIdxSrc) + uiAbsPartIdxDst, uiAbsPartIdxSrc, uiNumPartition );
    4721 #if MW_DEPTH_MAP_INTERP_FILTER == 2 && MW_FULL_PEL_DEPTH_MAP_MV_SIGNALLING
     4769#if HHI_FULL_PEL_DEPTH_MAP_MV_ACC
    47224770  for( UInt ui = 0; ui < uiNumPartition; ui++ )
    47234771  {
     
    47364784#endif
    47374785}
     4786#endif
    47384787
    47394788Void TComDataCU::getPosInPic( UInt uiAbsPartIndex, Int& riPosX, Int& riPosY )
  • trunk/source/Lib/TLibCommon/TComDataCU.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    5184  UChar*        m_puhHeight;          ///< array of heights
    5285  UChar*        m_puhDepth;           ///< array of depths
     86#if HHI_MPI
    5387  Int*          m_piTextureModeDepth; ///< at which depth is prediction data inherited from texture picture ( -1 : none )
     88#endif
    5489 
    5590  // -------------------------------------------------------------------------------------------------------------------
     
    90125  Bool*         m_pbMergeFlag;        ///< array of merge flags
    91126  UChar*        m_puhMergeIndex;      ///< array of merge candidate indices
     127#if HHI_INTER_VIEW_RESIDUAL_PRED
    92128  Bool*         m_pbResPredAvailable; ///< array of residual prediction available flags
    93129  Bool*         m_pbResPredFlag;      ///< array of residual prediction flags
     130#endif
    94131  UChar*        m_apuhNeighbourCandIdx[ MRG_MAX_NUM_CANDS ];///< array of motion vector predictor candidates indices
    95132  UChar*        m_puhLumaIntraDir;    ///< array of intra directions (luma)
     
    100137  UInt*         m_puiAlfCtrlFlag;     ///< array of ALF flags
    101138  UInt*         m_puiTmpAlfCtrlFlag;  ///< temporal array of ALF flags
    102 #if HHI_DMM_INTRA
     139#if HHI_DMM_WEDGE_INTRA
    103140  UInt*         m_puiWedgeFullTabIdx;
    104141  Int*          m_piWedgeFullDeltaDC1;
     
    109146  Int*          m_piWedgePredDirDeltaDC2;
    110147  Int*          m_piWedgePredDirDeltaEnd;
    111 
     148#endif
     149#if HHI_DMM_PRED_TEX
    112150  UInt*         m_puiWedgePredTexTabIdx;
    113151  Int*          m_piWedgePredTexDeltaDC1;
     
    116154  Int*          m_piContourPredTexDeltaDC1;
    117155  Int*          m_piContourPredTexDeltaDC2;
    118 
    119   Bool*         m_pbTextureModesAllowed;
    120156#endif
    121157 
     
    201237  Void          setDepth              ( UInt uiIdx, UChar  uh ) { m_puhDepth[uiIdx] = uh;   }
    202238 
     239#if HHI_MPI
    203240  Int*          getTextureModeDepth   ()                        { return m_piTextureModeDepth; }
    204241  Int           getTextureModeDepth   ( UInt uiIdx )            { return m_piTextureModeDepth[uiIdx]; }
     
    206243  Void          setTextureModeDepthSubParts( Int iTextureModeDepth, UInt uiAbsPartIdx, UInt uiDepth );
    207244  Void          copyTextureMotionDataFrom( TComDataCU* pcCU, UInt uiDepth, UInt uiAbsPartIdxSrc, UInt uiAbsPartIdxDst = 0 );
     245#endif
    208246
    209247  Void          setDepthSubParts      ( UInt uiDepth, UInt uiAbsPartIdx );
     
    291329  Void          setNeighbourCandIdxSubParts ( UInt uiCandIdx, UChar uhNumCands, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    292330
     331#if HHI_INTER_VIEW_RESIDUAL_PRED
    293332  Bool*         getResPredAvail         ()                        { return m_pbResPredAvailable;        }
    294333  Bool          getResPredAvail         ( UInt uiIdx )            { return m_pbResPredAvailable[uiIdx]; }
     
    302341
    303342  Void          setResPredIndicator     ( Bool bAv, Bool bRP )    { m_pbResPredAvailable[0] = bAv; m_pbResPredFlag[0] = bRP; }
     343#endif
    304344
    305345  Void          setSubPartBool        ( Bool bParameter, Bool* pbBaseLCU, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx );
     
    331371  Void          copyAlfCtrlFlagFromTmp();
    332372 
    333 #if HHI_DMM_INTRA
     373#if HHI_DMM_WEDGE_INTRA
    334374  UInt*         getWedgeFullTabIdx         ()                        { return m_puiWedgeFullTabIdx;        }
    335375  UInt          getWedgeFullTabIdx         ( UInt uiIdx )            { return m_puiWedgeFullTabIdx[uiIdx]; }
     
    366406  Void          setWedgePredDirDeltaEnd        ( UInt uiIdx, Int iD ) { m_piWedgePredDirDeltaEnd[uiIdx] = iD;   }
    367407  Void          setWedgePredDirDeltaEndSubParts( Int iDelta, UInt uiAbsPartIdx, UInt uiDepth );
    368 
     408#endif
     409#if HHI_DMM_PRED_TEX
    369410  UInt*         getWedgePredTexTabIdx       ()                       { return m_puiWedgePredTexTabIdx;           }
    370411  UInt          getWedgePredTexTabIdx       ( UInt uiIdx )           { return m_puiWedgePredTexTabIdx[uiIdx];    }
     
    391432  Void          setContourPredTexDeltaDC2       ( UInt uiIdx, Int i )  { m_piContourPredTexDeltaDC2[uiIdx] = i;      }
    392433  Void          setContourPredTexDeltaDC2SubParts( Int iDC2, UInt uiAbsPartIdx, UInt uiDepth );
    393 
    394   Bool*         getTextureModeAllowance         ()                     { return m_pbTextureModesAllowed;          }
    395   Bool          getTextureModeAllowance         ( UInt uiIdx )         { return m_pbTextureModesAllowed[uiIdx];   }
    396   Void          setTextureModeAllowance         ( UInt uiIdx, Bool b ) { m_pbTextureModesAllowed[uiIdx] = b;      }
    397   Void          setTextureModeAllowanceSubParts ( Bool bTMAllowed, UInt uiAbsPartIdx, UInt uiDepth );
    398 #endif
    399 
     434#endif
     435
     436#if HHI_INTER_VIEW_MOTION_PRED
    400437  Int           getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv );
    401438  Bool          getPdmMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge = false );
    402439  Bool          getIViewOrgDepthMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv );
     440#endif
     441#if HHI_INTER_VIEW_RESIDUAL_PRED
    403442  Bool          getResidualSamples( UInt uiPartIdx, TComYuv* pcYuv = 0 );
     443#endif
    404444 
    405445  // -------------------------------------------------------------------------------------------------------------------
     
    517557 
    518558  UInt          getCtxSplitFlag                 ( UInt   uiAbsPartIdx, UInt uiDepth                   );
    519 #if MW_MVI_SIGNALLING_MODE == 0
    520   UInt          getCtxMvInheritanceFlag         ( UInt   uiAbsPartIdx, UInt uiDepth                   );
    521 #endif
    522559  UInt          getCtxCbf                       ( UInt   uiAbsPartIdx, TextType eType, UInt uiTrDepth );
    523560  UInt          getCtxQtCbf                     ( UInt   uiAbsPartIdx, TextType eType, UInt uiTrDepth );
  • trunk/source/Lib/TLibCommon/TComDepthMapGenerator.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    1043#include "TComDepthMapGenerator.h"
    1144
     45
     46#if DEPTH_MAP_GENERATION
    1247
    1348
     
    462497
    463498
     499#if HHI_INTER_VIEW_MOTION_PRED
    464500Void 
    465501TComDepthMapGenerator::covertOrgDepthMap( TComPic* pcPic )
     
    483519  }
    484520}
    485 
     521#endif
    486522
    487523Int
     
    501537
    502538
     539#if HHI_INTER_VIEW_MOTION_PRED
    503540Int
    504541TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv )
     
    674711  return        true;
    675712}
    676 
     713#endif
    677714
    678715
     
    14091446}
    14101447
     1448#endif // DEPTH_MAP_GENERATION
     1449
  • trunk/source/Lib/TLibCommon/TComDepthMapGenerator.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    1548#include "TComSlice.h"
    1649
     50
     51#if DEPTH_MAP_GENERATION
    1752
    1853
     
    2964
    3065  UInt      getPdm  ()                            { if( m_aacActiveSPS[0][1] ) { return m_aacActiveSPS[0][1]->getPredDepthMapGeneration(); } return 0; }
     66#if HHI_INTER_VIEW_RESIDUAL_PRED
    3167  UInt      getResPrd ()                          { if( m_aacActiveSPS[0][1] ) { return m_aacActiveSPS[0][1]->getMultiviewResPredMode  (); } return 0; }
     68#endif
    3269
    3370private:
     
    84121  Void  dumpDepthMap          ( TComPic*      pcPic, char* pFilenameBase );
    85122
     123#if HHI_INTER_VIEW_MOTION_PRED
    86124  Void  covertOrgDepthMap     ( TComPic*      pcPic );
     125#endif
    87126
    88127  UInt  getBaseViewId         ( UInt          uiIdx ) { AOF( uiIdx < m_auiBaseIdList.size() );  return m_auiBaseIdList[uiIdx]; }
    89128  Int   getDisparity          ( TComPic*      pcPic, Int iPosX, Int iPosY, UInt uiRefViewId );
     129#if HHI_INTER_VIEW_MOTION_PRED
    90130  Int   getPdmMergeCandidate  ( TComDataCU*   pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv );
    91131  Bool  getPdmMvPred          ( TComDataCU*   pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge );
    92132  Bool  getIViewOrgDepthMvPred( TComDataCU*   pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv );
     133#endif
    93134
    94135  TComPrediction*   getPrediction ()  { return m_pcPrediction;  }
     
    177218};
    178219
     220
     221#endif // DEPTH_MAP_GENERATION
     222
    179223#endif // __TCOM_DEPTH_MAP_GENERATOR__
    180224
  • trunk/source/Lib/TLibCommon/TComList.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComLoopFilter.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComLoopFilter.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComMVDRefData.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    942#include <fstream>
    1043
     44#if HHI_VSO
    1145Void TComMVDRefData::setPicYuvBaseView( InterViewReference eView, Bool bDepth, TComPicYuv* pcOrgView, TComPicYuv* pcRecView )
    1246{
     
    3165TComMVDRefData::TComMVDRefData()
    3266{
    33 //GT VSO
    3467  m_adERViewShiftLUT = 0;
    3568  m_aiERViewShiftLUT = 0;
    3669  m_apcExternalReferenceViews.resize(0);
    37 //GT VSO end
    3870
    3971  for (UInt uiView = 0; uiView < 3; uiView++)
     
    4476    m_apcDepthRec[uiView] = NULL;
    4577
    46    //GT VSO
    4778    m_adBaseViewShiftLUT [uiView] = NULL;
    4879    m_aiBaseViewShiftLUT [uiView] = NULL;
    49     //GT VSO end
     80
    5081  };
    5182}
    5283
    53 //GT VSO
    5484Void TComMVDRefData::getRefPicYuvAndLUT( TComPicYuv**& rpacDistRefPicList, Int***& rppaiShiftLut )
    5585{
    56   //GT
    57 
    5886  UInt uiNextEntry = 0;
    5987  for ( UInt uiViewIdx = 0; uiViewIdx < m_aiExtViewRefInd.size(); uiViewIdx++ )
     
    78106  rppaiShiftLut[2] = m_aiBaseViewShiftLUT[ NEXTVIEW ];
    79107
    80   //GT: Only orginals of this view needed for Mode 1;
    81108  rpacDistRefPicList[0] = NULL;
    82109  rpacDistRefPicList[1] = NULL;
    83110  rpacDistRefPicList[2] = NULL;
    84111}
    85 //GT VSO end
    86 
    87 
    88 
    89 
    90 //Void TComMVDRefData::render( TComPicYuv* pOut )
    91 ////Void TComMVDRefData::render( TComPicYuv* pIn, TComPicYuv* pOut, TComPicYuv* pDepth, Long** aalLUT )
    92 //{
    93 //
    94 //  std::cout << "InRender" << std::endl;
    95 //
    96 //  TComPicYuv* pIn    = getPicYuvOrgVideo(CURRVIEW);
    97 //  //  TComPicYuv* pOut   = getRecVideo(CURRVIEW);
    98 //  TComPicYuv* pDepth = getPicYuvOrgDepth(CURRVIEW);
    99 //
    100 //  Int** aaiLUT = getShiftLUTIERView(0);
    101 //
    102 //  Int iHeight = (Int) pIn->getHeight();
    103 //  Int iWidth  = (Int) pIn->getWidth();
    104 //
    105 //  Pel* piSourceLumaData = pIn   ->getLumaAddr();
    106 //  Pel* piTargetLumaData = pOut  ->getLumaAddr();
    107 //  Pel* piDepthData      = pDepth->getLumaAddr();
    108 //
    109 //  Int iSourceLumaStride = pIn   ->getStride();
    110 //  Int iTargetLumaStride = pOut  ->getStride();
    111 //  Int      iDepthStride = pDepth->getStride();
    112 //
    113 //
    114 //  for (Int iY = 0; iY < iHeight; iY++)
    115 //  {
    116 //    for (Int iX = 0; iX < iWidth; iX++)
    117 //    {
    118 //      piTargetLumaData[iX] = 0;
    119 //    }
    120 //    piTargetLumaData += iTargetLumaStride;
    121 //  }
    122 //
    123 //  piTargetLumaData = pOut  ->getLumaAddr();
    124 //
    125 //  Int iNewPos;
    126 //  for (Int iY = 0; iY < iHeight; iY++)
    127 //  {
    128 //    for (Int iX = 0; iX < iWidth; iX++)
    129 //    {
    130 //      iNewPos = iX - aaiLUT[0][(piDepthData[iX] >> g_uiBitIncrement)];
    131 //      iNewPos = (iNewPos <  0     ) ? 0          : iNewPos;
    132 //      iNewPos = (iNewPos >= iWidth) ? iWidth - 1 : iNewPos;
    133 //
    134 //      piTargetLumaData[iNewPos] = piSourceLumaData[iX];
    135 //    }
    136 //    piSourceLumaData += iSourceLumaStride;
    137 //    piTargetLumaData += iTargetLumaStride;
    138 //    piDepthData      += iDepthStride;
    139 //  }
    140 //}
    141 //
    142 //
    143 //
    144 //
    145 //TComRendererModel::TComRendererModel()
    146 //{
    147 //  m_pcInputSamples  = NULL;
    148 //  m_pcOutputSamples = NULL;
    149 //  m_ppiShiftLUT    = NULL;
    150 //}
    151 //
    152 //TComRendererModel::~TComRendererModel()
    153 //{
    154 //  if ( m_pcOutputSamples )
    155 //    delete[] m_pcOutputSamples;
    156 //
    157 //  if ( m_pcInputSamples )
    158 //    delete[] m_pcInputSamples;
    159 //
    160 //}
    161 //
    162 //Void TComRendererModel::createModel( TComPicYuv* pcYuvDepth, TComPicYuv* pcYuvVideo, TComPicYuv* pcYuvRef, Int** ppiShiftLUT )
    163 //{
    164 //  createModel(pcYuvDepth->getLumaAddr(), pcYuvDepth->getStride(), pcYuvVideo->getLumaAddr(), pcYuvVideo->getStride(), pcYuvVideo->getCbAddr(), pcYuvVideo->getCrAddr(), pcYuvVideo->getCStride(), pcYuvVideo->getWidth(), pcYuvVideo->getHeight(), ppiShiftLUT );
    165 //}
    166 //
    167 //Void TComRendererModel::createModel( TComPicYuv* pcYuvDepth, TComPicYuv* pcYuvVideo, Int** ppiShiftLUT )
    168 //{
    169 //
    170 //}
    171 //
    172 //Void TComRendererModel::createModel( Pel* pcPelDisp, Int iStrideDisp, Pel* pcPelY, Int iStrideY, Pel* pcPelU, Pel* pcPelV, Int iStrideC, Int iWidth, Int iHeight, Int** ppiShiftLUT )
    173 //{
    174 //
    175 //}
    176 //
    177 //Void TComRendererModel::xCreateRenderedView( Pel* pcPelDisp, Int iDispStride, Pel* pcPelY, Int iLStride, Pel* pcPelU, Pel* pcPelV, Int iCStride, Int iWidth, Int iHeight, Int** ppiShiftLUT,Bool bSAD )
    178 //{
    179 //  m_ppiShiftLUT = ppiShiftLUT;
    180 //  m_iWidth       = iWidth;
    181 //  m_iHeight      = iHeight;
    182 //  m_iStride      = iWidth;
    183 //
    184 //  m_pcOutputSamples = new RendererOutputSample[ iWidth * iHeight];
    185 //  m_pcInputSamples  = new RendererInputSample [ iWidth * iHeight];
    186 //
    187 //  RendererInputSample*  pcInputSamples  = m_pcInputSamples ;
    188 //  RendererOutputSample* pcOutputSamples = m_pcOutputSamples ;
    189 //
    190 //  for ( Int iRow = 0; iRow < iHeight; iRow++ )
    191 //  {
    192 //    for ( Int iCol = 0; iCol < iWidth; iCol++ )
    193 //    {
    194 //      pcInputSamples[iCol].m_uiPosX = iCol;
    195 //      pcInputSamples[iCol].m_uiY    = pcPelY[ iCol ];
    196 //      pcInputSamples[iCol].m_uiU    = pcPelU[ iCol >> 1 ];
    197 //      pcInputSamples[iCol].m_uiV    = pcPelV[ iCol >> 1 ];
    198 //      pcOutputSamples[iCol].m_iErr  = 0;
    199 //
    200 //      pcInputSamples[iCol].m_iPosShifted = iCol + m_ppiShiftLUT[0][ pcPelDisp[ iCol ] ];
    201 //      pcInputSamples[iCol].m_uiDisp      = pcPelDisp[ iCol ];
    202 //
    203 //    }
    204 //
    205 //    pcInputSamples  += m_iStride;
    206 //    pcOutputSamples += m_iStride;
    207 //    pcPelY          += iLStride;
    208 //    pcPelDisp       += iDispStride;
    209 //
    210 //    if ( iRow & 1 )
    211 //    {
    212 //      pcPelU += iCStride;
    213 //      pcPelV += iCStride;
    214 //    }
    215 //
    216 //  }
    217 //
    218 //  m_lErr = 0;
    219 //  Long lDump;
    220 //  changeModel(0,0,m_iWidth, m_iHeight, pcPelDisp, iDispStride, lDump, bSAD);
    221 //}
    222 //
    223 //Void TComRendererModel::changeModel( Int iPosX, Int iPosY, Int iWidth, Int iHeight, Pel* pcPelDisp, Int iDispStride, Long& rlErr, Bool bSAD )
    224 //{
    225 //  RendererInputSample*  pcInputSamples  = m_pcInputSamples ;
    226 //  RendererOutputSample* pcOutputSamples = m_pcOutputSamples ;
    227 //
    228 //  Int iMinChangedPosition = 0;
    229 //  Int iMaxChangedPosition = m_iWidth - 1;
    230 //
    231 //  rlErr = 0;
    232 //
    233 //  for ( Int iRow = iPosX; iRow < iHeight; iRow++ )
    234 //  {
    235 //    // Add and Remove samples (Update Model)
    236 //    for ( Int iCol = iPosY; iCol < iWidth; iCol++ )
    237 //    {
    238 //      // Remove from old position
    239 //      Int iOldPosShifted  = pcInputSamples[iCol].m_iPosShifted;
    240 //
    241 //      iMinChangedPosition = Min( iOldPosShifted, iMinChangedPosition );
    242 //      iMaxChangedPosition = Max( iOldPosShifted, iMaxChangedPosition );
    243 //
    244 //      pcOutputSamples[ iOldPosShifted ].removeInputSample( &(pcInputSamples[iCol]) );
    245 //
    246 //      // Add to new position
    247 //      Int iShift = m_ppiShiftLUT[0][ pcPelDisp[ iCol ] ];
    248 //
    249 //      Int iPosShifted = iPosX + iShift;
    250 //
    251 //      iPosShifted = Min(Max(iPosShifted, 0), m_iWidth - 1);
    252 //      iMinChangedPosition = Min(iPosShifted, iMinChangedPosition);
    253 //      iMaxChangedPosition = Max(iPosShifted, iMaxChangedPosition);
    254 //
    255 //      pcInputSamples[iCol].m_uiDisp = pcPelDisp[ iCol ];
    256 //      pcInputSamples[iCol].m_iPosShifted = iPosShifted;
    257 //
    258 //      pcOutputSamples[ iPosShifted ].addInputSample( &(pcInputSamples[iCol]) );
    259 //    }
    260 //
    261 //    // ReRender
    262 //
    263 //    // Get Top Plane
    264 //    Int iMaxInd = -1;
    265 //
    266 //    if ( pcOutputSamples[iMinChangedPosition].m_pcTopSample )
    267 //    {
    268 //      iMaxInd = pcOutputSamples[iMinChangedPosition].m_pcTopSample->m_uiPosX;
    269 //    }
    270 //
    271 //    if ( iMinChangedPosition > 0 && pcOutputSamples[iMinChangedPosition].m_pcTopSample )
    272 //    {
    273 //      iMaxInd = Max( iMaxInd, pcOutputSamples[iMinChangedPosition-1].m_pcTopSample->m_uiPosX );
    274 //    }
    275 //
    276 //    for ( Int iCol = iMinChangedPosition; iCol <= iMaxChangedPosition; iCol++ )
    277 //    {
    278 //      if ( pcOutputSamples[iCol].m_pcTopSample == NULL )
    279 //      {
    280 //        if ( pcOutputSamples[iCol+1].m_pcTopSample == NULL )
    281 //        {
    282 //          // Hole Filling
    283 //          Int iFillStartCol = iCol;
    284 //          iCol++;
    285 //
    286 //          while( ( pcOutputSamples[iCol].m_pcTopSample == NULL ) && (iMinChangedPosition < iMaxChangedPosition) ) iCol++;
    287 //
    288 //          for ( int iFillCol = iFillStartCol; iFillCol < iCol; iFillCol++ )
    289 //          {
    290 //            pcOutputSamples[iFillCol].assignValues( pcOutputSamples[iCol], rlErr, bSAD );
    291 //          }
    292 //
    293 //          if ( iMaxInd == -1 )
    294 //          {
    295 //            iMaxInd = pcOutputSamples[iCol].m_pcTopSample->m_uiPosX;
    296 //          }
    297 //        }
    298 //        else
    299 //        {
    300 //          // Fill Gap here
    301 //          pcOutputSamples[iCol].assignValues( pcOutputSamples[iCol-1], rlErr, bSAD  );
    302 //
    303 //        };
    304 //      }
    305 //      else
    306 //      {
    307 //        if ( pcOutputSamples[iCol].m_pcTopSample->m_uiPosX > iMaxInd)
    308 //        {
    309 //          iMaxInd = pcOutputSamples[iCol].m_pcTopSample->m_uiPosX;
    310 //
    311 //          //assign this Sample
    312 //          pcOutputSamples[iCol].assignValues( pcOutputSamples[iCol],   rlErr, bSAD );
    313 //        }
    314 //        else
    315 //        {
    316 //          //assign last sample
    317 //          pcOutputSamples[iCol].assignValues( pcOutputSamples[iCol-1], rlErr, bSAD );
    318 //        }
    319 //      }
    320 //    }
    321 //
    322 //    pcInputSamples  += m_iStride;
    323 //    pcPelDisp       += iDispStride;
    324 //
    325 //  }
    326 //}
    327 //
    328 //Void RendererOutputSample::assignValues( RendererOutputSample& rpcOutputSample, Long& rlErr, Bool bSAD )
    329 //{
    330 //  m_uiY = rpcOutputSample.m_uiYRef;
    331 //  m_uiU = rpcOutputSample.m_uiURef;
    332 //  m_uiV = rpcOutputSample.m_uiVRef;
    333 //
    334 //  rlErr -= m_iErr;
    335 //
    336 //  int iErr = m_uiY - m_uiYRef;
    337 //
    338 //  if (bSAD)
    339 //  {
    340 //    rlErr += abs(iErr);
    341 //  }
    342 //  else
    343 //  {
    344 //    rlErr += iErr * iErr;
    345 //  }
    346 //}
    347 //
    348 //Void RendererOutputSample::addInputSample( RendererInputSample* pcInputSample )
    349 //{
    350 //  if ( m_acInputSamples.size() == 0 )
    351 //  {
    352 //    m_acInputSamples.push_back( pcInputSample );
    353 //    m_pcTopSample = pcInputSample;
    354 //    pcInputSample->cIter = m_acInputSamples.begin();
    355 //  }
    356 //  else
    357 //  {
    358 //    std::vector <RendererInputSample*>::iterator cIter;
    359 //
    360 //    for ( cIter = m_acInputSamples.begin( ) ; cIter != m_acInputSamples.end( ) ; cIter++ )
    361 //    {
    362 //      if ( (*cIter)->m_uiPosX <= pcInputSample->m_uiPosX ) break;
    363 //    }
    364 //
    365 //    m_acInputSamples.insert( cIter, 1, pcInputSample );
    366 //
    367 //    pcInputSample->cIter = cIter;
    368 //
    369 //    if ( cIter == m_acInputSamples.begin() )
    370 //    {
    371 //      m_pcTopSample = pcInputSample;
    372 //    }
    373 //  }
    374 //}
    375 //
    376 //RendererOutputSample::RendererOutputSample()
    377 //{
    378 //  m_pcTopSample = 0;
    379 //}
    380 //
    381 //Void RendererOutputSample::removeInputSample( RendererInputSample* pcInputSample )
    382 //{
    383 //  m_acInputSamples.erase( pcInputSample->cIter );
    384 //}
    385 //
     112#endif
  • trunk/source/Lib/TLibCommon/TComMVDRefData.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    437#define __TCOMMVDREFDATA__
    538
     39
    640// Include files
     41
    742#include "CommonDef.h"
    843#include "TComPicYuv.h"
    944#include <vector>
    10 
     45#if HHI_VSO
    1146// ====================================================================================================================
    1247// Class definition
     
    2762  Int**       m_aiBaseViewShiftLUT[3];
    2863
    29 
    30 //GT VSO
    3164  //PicYuvs
    3265  std::vector<TComPicYuv*> m_apcExternalReferenceViews;
     
    4073  std::vector<Int> m_aiExtViewRefInd;
    4174  std::vector<Int> m_aiExtViewRefLUTInd;
    42 
    43 //GT VSO end
    4475
    4576public:
     
    6495//  Void render( TComPicYuv* pOut ) /*Void render( TComPicYuv* pIn, TComPicYuv* pOut, TComPicYuv* pDepth, Long** aalLUT ) */;
    6596
    66 //GT VSO
     97
    6798  //  PicYuvs
    6899  TComPicYuv* getPicYuvERView   ( UInt uiReferenceNum )              { return m_apcExternalReferenceViews[uiReferenceNum]; };
     
    82113  Void getRefPicYuvAndLUT     ( TComPicYuv**& rpacDistRefPicList, Int***& rppalShiftLut);
    83114  Void getRefPicYuvAndLUTMode1( TComPicYuv**& rpacDistRefPicList, Int***& rppaiShiftLut );
    84 //GT VSO end
    85115
    86116}; // END CLASS DEFINITION TComMVDRefData
    87 
     117#endif // HHI_VSO
    88118#endif // __TCOMMVDREFDATA__
    89119
  • trunk/source/Lib/TLibCommon/TComMotionInfo.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComMotionInfo.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComMv.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
  • trunk/source/Lib/TLibCommon/TComPattern.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    91124                                         Int         iOffsetBottom,
    92125                                         UInt        uiPartDepth,
    93                                          UInt        uiAbsPartIdx,
    94                                          Bool        bPrdDepthMap )
     126                                         UInt        uiAbsPartIdx
     127#if DEPTH_MAP_GENERATION
     128                                        ,Bool        bPrdDepthMap
     129#endif
     130                                         )
    95131{
    96132  m_iOffsetLeft   = iOffsetLeft;
     
    104140  UInt uiAbsZorderIdx = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
    105141 
     142#if DEPTH_MAP_GENERATION
    106143  TComPicYuv* pcPic = ( bPrdDepthMap ? pcCU->getPic()->getPredDepthMap() : pcCU->getPic()->getPicYuvRec() );
     144#else
     145  TComPicYuv* pcPic = pcCU->getPic()->getPicYuvRec();
     146#endif
    107147  if ( iComp == 0 )
    108148  {
     
    142182}
    143183
    144 Void TComPattern::initPattern( TComDataCU* pcCU, UInt uiPartDepth, UInt uiAbsPartIdx, Bool bPrdDepthMap )
     184Void TComPattern::initPattern( TComDataCU* pcCU, UInt uiPartDepth, UInt uiAbsPartIdx
     185#if DEPTH_MAP_GENERATION
     186                             , Bool bPrdDepthMap
     187#endif
     188                             )
    145189{
    146190  Int   uiOffsetLeft  = 0;
     
    185229#endif
    186230
     231#if DEPTH_MAP_GENERATION
    187232  m_cPatternY .setPatternParamCU( pcCU, 0, uiWidth,      uiHeight,      uiOffsetLeft, uiOffsetRight, uiOffsetAbove, 0, uiPartDepth, uiAbsPartIdx, bPrdDepthMap );
    188233  m_cPatternCb.setPatternParamCU( pcCU, 1, uiWidth >> 1, uiHeight >> 1, uiOffsetLeft, uiOffsetRight, uiOffsetAbove, 0, uiPartDepth, uiAbsPartIdx, bPrdDepthMap );
    189234  m_cPatternCr.setPatternParamCU( pcCU, 2, uiWidth >> 1, uiHeight >> 1, uiOffsetLeft, uiOffsetRight, uiOffsetAbove, 0, uiPartDepth, uiAbsPartIdx, bPrdDepthMap );
    190 }
    191 
    192 Void TComPattern::initAdiPattern( TComDataCU* pcCU, UInt uiZorderIdxInPart, UInt uiPartDepth, Int* piAdiBuf, Int iOrgBufStride, Int iOrgBufHeight, Bool& bAbove, Bool& bLeft, Bool bPrdDepthMap )
     235#else
     236  m_cPatternY .setPatternParamCU( pcCU, 0, uiWidth,      uiHeight,      uiOffsetLeft, uiOffsetRight, uiOffsetAbove, 0, uiPartDepth, uiAbsPartIdx );
     237  m_cPatternCb.setPatternParamCU( pcCU, 1, uiWidth >> 1, uiHeight >> 1, uiOffsetLeft, uiOffsetRight, uiOffsetAbove, 0, uiPartDepth, uiAbsPartIdx );
     238  m_cPatternCr.setPatternParamCU( pcCU, 2, uiWidth >> 1, uiHeight >> 1, uiOffsetLeft, uiOffsetRight, uiOffsetAbove, 0, uiPartDepth, uiAbsPartIdx );
     239#endif
     240}
     241
     242Void TComPattern::initAdiPattern( TComDataCU* pcCU, UInt uiZorderIdxInPart, UInt uiPartDepth, Int* piAdiBuf, Int iOrgBufStride, Int iOrgBufHeight, Bool& bAbove, Bool& bLeft
     243#if DEPTH_MAP_GENERATION
     244                                , Bool bPrdDepthMap
     245#endif
     246                                )
    193247{
    194248  Pel*  piRoiOrigin;
     
    330384  piAdiTemp   = piAdiBuf;
    331385
     386#if DEPTH_MAP_GENERATION
    332387  if( bPrdDepthMap )
    333388  {
     
    338393#endif
    339394  }
    340 
    341 
    342 #if REFERENCE_SAMPLE_PADDING
     395#endif
     396
     397
     398#if REFERENCE_SAMPLE_PADDING
     399#if DEPTH_MAP_GENERATION
    343400  fillReferenceSamples ( pcCU, piRoiOrigin, piAdiTemp, bNeighborFlags, iNumIntraNeighbor, iUnitSize, iNumUnitsInCu, iTotalUnits, uiCuWidth, uiCuHeight, uiWidth, uiHeight, iPicStride, bPrdDepthMap );
     401#else
     402  fillReferenceSamples ( pcCU, piRoiOrigin, piAdiTemp, bNeighborFlags, iNumIntraNeighbor, iUnitSize, iNumUnitsInCu, iTotalUnits, uiCuWidth, uiCuHeight, uiWidth, uiHeight, iPicStride );
     403#endif
    344404  delete [] bNeighborFlags;
    345405  bNeighborFlags = NULL;
     
    586646
    587647#if REFERENCE_SAMPLE_PADDING
     648#if DEPTH_MAP_GENERATION
    588649  fillReferenceSamples ( pcCU, piRoiOrigin, piAdiTemp, bNeighborFlags, iNumIntraNeighbor, iUnitSize, iNumUnitsInCu, iTotalUnits, uiCuWidth, uiCuHeight, uiWidth, uiHeight, iPicStride, false );
     650#else
     651  fillReferenceSamples ( pcCU, piRoiOrigin, piAdiTemp, bNeighborFlags, iNumIntraNeighbor, iUnitSize, iNumUnitsInCu, iTotalUnits, uiCuWidth, uiCuHeight, uiWidth, uiHeight, iPicStride );
     652#endif
    589653#else // REFERENCE_SAMPLE_PADDING
    590654  for (i=0;i<uiWidth;i++)
     
    648712 
    649713#if REFERENCE_SAMPLE_PADDING
     714#if DEPTH_MAP_GENERATION
    650715  fillReferenceSamples ( pcCU, piRoiOrigin, piAdiTemp, bNeighborFlags, iNumIntraNeighbor, iUnitSize, iNumUnitsInCu, iTotalUnits, uiCuWidth, uiCuHeight, uiWidth, uiHeight, iPicStride, false );
     716#else
     717  fillReferenceSamples ( pcCU, piRoiOrigin, piAdiTemp, bNeighborFlags, iNumIntraNeighbor, iUnitSize, iNumUnitsInCu, iTotalUnits, uiCuWidth, uiCuHeight, uiWidth, uiHeight, iPicStride );
     718#endif
    651719  delete [] bNeighborFlags;
    652720  bNeighborFlags = NULL;
     
    709777
    710778#if REFERENCE_SAMPLE_PADDING
    711 Void TComPattern::fillReferenceSamples( TComDataCU* pcCU, Pel* piRoiOrigin, Int* piAdiTemp, Bool* bNeighborFlags, Int iNumIntraNeighbor, Int iUnitSize, Int iNumUnitsInCu, Int iTotalUnits, UInt uiCuWidth, UInt uiCuHeight, UInt uiWidth, UInt uiHeight, Int iPicStride, Bool bPrdDepthMap )
     779Void TComPattern::fillReferenceSamples( TComDataCU* pcCU, Pel* piRoiOrigin, Int* piAdiTemp, Bool* bNeighborFlags, Int iNumIntraNeighbor, Int iUnitSize, Int iNumUnitsInCu, Int iTotalUnits, UInt uiCuWidth, UInt uiCuHeight, UInt uiWidth, UInt uiHeight, Int iPicStride
     780#if DEPTH_MAP_GENERATION
     781                                        , Bool bPrdDepthMap
     782#endif
     783                                        )
    712784{
    713785  Pel* piRoiTemp;
    714786  Int  i, j;
     787#if DEPTH_MAP_GENERATION
    715788  Int  iDCValue = ( bPrdDepthMap ? PDM_UNDEFINED_DEPTH : ( 1<<( g_uiBitDepth + g_uiBitIncrement - 1) ) );
     789#else
     790  Int  iDCValue = ( 1<<( g_uiBitDepth + g_uiBitIncrement - 1) );
     791#endif
    716792 
    717793  if (iNumIntraNeighbor == 0)
     
    885961
    886962#if QC_MDIS
    887 #if HHI_DISABLE_INTRA_SMOOTHING_DEPTH
    888 Int* TComPattern::getPredictorPtr ( UInt uiDirMode, UInt uiWidthBits, Int iCuWidth, Int iCuHeight, Int* piAdiBuf, Bool bDepth )
    889 #else
    890963Int* TComPattern::getPredictorPtr ( UInt uiDirMode, UInt uiWidthBits, Int iCuWidth, Int iCuHeight, Int* piAdiBuf )
    891 #endif
    892964{
    893965#if MN_MDIS_SIMPLIFICATION
     
    919991  mapPlanartoDC( uiDirMode );
    920992#endif
    921 #if HHI_DISABLE_INTRA_SMOOTHING_DEPTH
    922   UChar ucFiltIdx = 0;
    923   if ( !bDepth )
    924   {
    925     ucFiltIdx = g_aucIntraFilter[uiWidthBits][uiDirMode];
    926   }
    927 #else
    928 #if HHI_DMM_INTRA
     993#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    929994  UChar ucFiltIdx = 0;
    930995  if ( uiDirMode < 34 )
     
    934999#else
    9351000  UChar ucFiltIdx = g_aucIntraFilter[uiWidthBits][uiDirMode];
    936 #endif
    9371001#endif
    9381002
  • trunk/source/Lib/TLibCommon/TComPattern.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    6295                           Int         iOffsetBottom,
    6396                           UInt        uiPartDepth,
    64                            UInt        uiAbsZorderIdx,
    65                            Bool        bPrdDepthMap = false );
     97                           UInt        uiAbsZorderIdx
     98#if DEPTH_MAP_GENERATION
     99                          ,Bool        bPrdDepthMap = false
     100#endif
     101                          );
    66102};
    67103
     
    101137 
    102138#if QC_MDIS
    103 #if HHI_DISABLE_INTRA_SMOOTHING_DEPTH
    104   Int*  getPredictorPtr           ( UInt uiDirMode, UInt uiWidthBits, Int iCuWidth, Int iCuHeight, Int* piAdiBuf, Bool bDepth = false );
    105 #else
    106139  Int*  getPredictorPtr           ( UInt uiDirMode, UInt uiWidthBits, Int iCuWidth, Int iCuHeight, Int* piAdiBuf );
    107 #endif
    108140#endif //QC_MDIS
    109141  // -------------------------------------------------------------------------------------------------------------------
     
    126158  Void  initPattern           ( TComDataCU* pcCU,
    127159                                UInt        uiPartDepth,
    128                                 UInt        uiAbsPartIdx,
    129                                 Bool        bPrdDepthMap = false );
     160                                UInt        uiAbsPartIdx
     161#if DEPTH_MAP_GENERATION
     162                               ,Bool        bPrdDepthMap = false
     163#endif
     164                               );
    130165 
    131166  /// set luma parameters from CU data for accessing ADI data
     
    137172                                Int         iOrgBufHeight,
    138173                                Bool&       bAbove,
    139                                 Bool&       bLeft,
    140                                 Bool        bPrdDepthMap = false );
     174                                Bool&       bLeft
     175#if DEPTH_MAP_GENERATION
     176                               ,Bool        bPrdDepthMap = false
     177#endif
     178                               );
    141179 
    142180  /// set chroma parameters from CU data for accessing ADI data
     
    160198#if REFERENCE_SAMPLE_PADDING
    161199  /// padding of unavailable reference samples for intra prediction
    162   Void  fillReferenceSamples        ( TComDataCU* pcCU, Pel* piRoiOrigin, Int* piAdiTemp, Bool* bNeighborFlags, Int iNumIntraNeighbor, Int iUnitSize, Int iNumUnitsInCu, Int iTotalUnits, UInt uiCuWidth, UInt uiCuHeight, UInt uiWidth, UInt uiHeight, Int iPicStride, Bool bPrdDepthMap );
     200  Void  fillReferenceSamples        ( TComDataCU* pcCU, Pel* piRoiOrigin, Int* piAdiTemp, Bool* bNeighborFlags, Int iNumIntraNeighbor, Int iUnitSize, Int iNumUnitsInCu, Int iTotalUnits, UInt uiCuWidth, UInt uiCuHeight, UInt uiWidth, UInt uiHeight, Int iPicStride
     201#if DEPTH_MAP_GENERATION
     202                                    , Bool bPrdDepthMap
     203#endif
     204                                    );
    163205#endif
    164206#if CONSTRAINED_INTRA_PRED
  • trunk/source/Lib/TLibCommon/TComPic.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    1750  m_apcPicYuv[0]      = NULL;
    1851  m_apcPicYuv[1]      = NULL;
     52#if DEPTH_MAP_GENERATION
    1953  m_pcPredDepthMap    = NULL;
     54#endif
     55#if HHI_INTER_VIEW_MOTION_PRED
    2056  m_pcOrgDepthMap     = NULL;
     57#endif
     58#if HHI_INTER_VIEW_RESIDUAL_PRED
    2159  m_pcResidual        = NULL;
     60#endif
    2261  m_pcPicYuvPred      = NULL;
    2362  m_pcPicYuvResi      = NULL;
     63#if HHI_INTERVIEW_SKIP
    2464  m_pcUsedPelsMap     = NULL;
     65#endif
    2566 
    2667#if PARALLEL_MERGED_DEBLK
     
    76117  }
    77118 
     119#if DEPTH_MAP_GENERATION
    78120  if( m_pcPredDepthMap )
    79121  {
     
    82124    m_pcPredDepthMap = NULL;
    83125  }
    84 
     126#endif
     127
     128#if HHI_INTER_VIEW_MOTION_PRED
    85129  if( m_pcOrgDepthMap )
    86130  {
     
    89133    m_pcOrgDepthMap = NULL;
    90134  }
    91 
     135#endif
     136
     137#if HHI_INTER_VIEW_RESIDUAL_PRED
    92138  if( m_pcResidual )
    93139  {
     
    96142    m_pcResidual = NULL;
    97143  }
    98 
     144#endif
     145
     146#if HHI_INTERVIEW_SKIP
    99147  if( m_pcUsedPelsMap )
    100148  {
     
    103151    m_pcUsedPelsMap = NULL;
    104152  }
     153#endif
    105154
    106155#if PARALLEL_MERGED_DEBLK
     
    160209#endif
    161210
     211#if DEPTH_MAP_GENERATION
    162212Void
    163213TComPic::addPrdDepthMapBuffer()
     
    173223  m_pcPredDepthMap    ->create( iWidth, iHeight, uiMaxCuWidth, uiMaxCuHeight, uiMaxCuDepth );
    174224}
    175 
     225#endif
     226
     227#if HHI_INTER_VIEW_MOTION_PRED
    176228Void
    177229TComPic::addOrgDepthMapBuffer()
     
    187239  m_pcOrgDepthMap     ->create( iWidth, iHeight, uiMaxCuWidth, uiMaxCuHeight, uiMaxCuDepth );
    188240}
    189 
     241#endif
     242
     243#if HHI_INTER_VIEW_RESIDUAL_PRED
    190244Void
    191245TComPic::addResidualBuffer()
     
    201255  m_pcResidual        ->create( iWidth, iHeight, uiMaxCuWidth, uiMaxCuHeight, uiMaxCuDepth );
    202256}
    203 
     257#endif
     258
     259#if HHI_INTERVIEW_SKIP
    204260Void
    205261TComPic::addUsedPelsMapBuffer()
     
    215271  m_pcUsedPelsMap     ->create( iWidth, iHeight, uiMaxCuWidth, uiMaxCuHeight, uiMaxCuDepth );
    216272}
     273#endif
    217274
    218275Void
     
    240297#endif
    241298
     299#if DEPTH_MAP_GENERATION
    242300Void
    243301TComPic::removePrdDepthMapBuffer()
     
    250308  }
    251309}
    252 
     310#endif
     311
     312#if HHI_INTER_VIEW_MOTION_PRED
    253313Void
    254314TComPic::removeOrgDepthMapBuffer()
     
    261321  }
    262322}
    263 
     323#endif
     324
     325#if HHI_INTER_VIEW_RESIDUAL_PRED
    264326Void
    265327TComPic::removeResidualBuffer()
     
    272334  }
    273335}
    274 
     336#endif
     337
     338#if HHI_INTERVIEW_SKIP
    275339Void
    276340TComPic::removeUsedPelsMapBuffer()
     
    283347  }
    284348}
    285 
     349#endif
     350
  • trunk/source/Lib/TLibCommon/TComPic.h

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    2659private:
    2760  TComPicSym*           m_apcPicSym;              //  Symbol
    28  
     61
    2962  TComPicYuv*           m_apcPicYuv[2];           //  Texture,  0:org / 1:rec
     63#if DEPTH_MAP_GENERATION
    3064  TComPicYuv*           m_pcPredDepthMap;         //  estimated depth map
     65#endif
     66#if HHI_INTER_VIEW_MOTION_PRED
    3167  TComPicYuv*           m_pcOrgDepthMap;          //  original depth map
     68#endif
     69#if HHI_INTER_VIEW_RESIDUAL_PRED
    3270  TComPicYuv*           m_pcResidual;             //  residual buffer (coded or inter-view predicted residual)
    33  
     71#endif
     72
    3473  TComPicYuv*           m_pcPicYuvPred;           //  Prediction
    3574  TComPicYuv*           m_pcPicYuvResi;           //  Residual
     
    3978  Bool                  m_bReconstructed;
    4079  UInt                  m_uiCurrSliceIdx;         // Index of current slice
    41  
     80
    4281  SEImessages* m_SEIs; ///< Any SEI messages that have been received.  If !NULL we own the object.
    4382