Changeset 593 in SHVCSoftware for branches/SHM-5.0-dev/source/App


Ignore:
Timestamp:
2 Feb 2014, 04:51:29 (11 years ago)
Author:
seregin
Message:

update to HM-13.0

Location:
branches/SHM-5.0-dev/source/App
Files:
26 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecCfg.cpp

    r584 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecCfg.h

    r540 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecTop.cpp

    r549 r593  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecTop.h

    r442 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDecoder/decmain.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDownConvert/DownConvert.cpp

    r540 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDownConvert/DownConvert.h

    r540 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppDownConvert/TAppDownConvert.cpp

    r540 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r574 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    104104#if SVC_EXTENSION
    105105  free(m_pBitstreamFile);
    106 #else
    107   free(m_pchBitstreamFile);
     106#else 
    108107  if ( m_aidQP )
    109108  {
     
    126125  }
    127126  free(m_pchInputFile);
     127  free(m_pchBitstreamFile);
    128128#endif
    129129#if !SVC_EXTENSION 
     
    626626  ("FrameRate,-fr",         m_iFrameRate,          0, "Frame rate")
    627627#endif //SVC_EXTENSION
     628  ("FrameSkip,-fs",         m_FrameSkip,          0u, "Number of frames to skip at start of input YUV")
     629  ("FramesToBeEncoded,f",   m_framesToBeEncoded,   0, "Number of frames to be encoded (default=all)")
    628630
    629631  //Field coding parameters
    630632  ("FieldCoding", m_isField, false, "Signals if it's a field based coding")
    631633  ("TopFieldFirst, Tff", m_isTopFieldFirst, false, "In case of field based coding, signals whether if it's a top field first or not")
    632   ("FrameSkip,-fs",         m_FrameSkip,          0u, "Number of frames to skip at start of input YUV")
    633   ("FramesToBeEncoded,f",   m_framesToBeEncoded,   0, "Number of frames to be encoded (default=all)")
     634 
    634635  // Profile and level
    635636  ("Profile", m_profile,   Profile::NONE, "Profile to be used when encoding (Incomplete)")
     
    741742  ("RDOQTS",                        m_useRDOQTS,                true )
    742743  ("RDpenalty",                     m_rdPenalty,                0,  "RD-penalty for 32x32 TU for intra in non-intra slices. 0:disbaled  1:RD-penalty  2:maximum RD-penalty")
    743   // Entropy coding parameters
    744   ("SBACRD",                         m_bUseSBACRD,                      true, "SBAC based RD estimation")
    745744 
    746745  // Deblocking filter parameters
     
    759758  ("MaxNumOffsetsPerPic",      m_maxNumOffsetsPerPic,       2048,  "Max number of SAO offset per picture (Default: 2048)")   
    760759  ("SAOLcuBoundary",           m_saoLcuBoundary,            false, "0: right/bottom LCU boundary areas skipped from SAO parameter estimation, 1: non-deblocked pixels are used for those areas")
    761 #if !HM_CLEANUP_SAO
    762   ("SAOLcuBasedOptimization",  m_saoLcuBasedOptimization,   true,  "0: SAO picture-based optimization, 1: SAO LCU-based optimization ")
    763 #endif 
    764760  ("SliceMode",                m_sliceMode,                0,     "0: Disable all Recon slice limits, 1: Enforce max # of LCUs, 2: Enforce max # of bytes, 3:specify tiles per dependent slice")
    765761  ("SliceArgument",            m_sliceArgument,            0,     "Depending on SliceMode being:"
     
    781777  ("PCMInputBitDepthFlag",     m_bPCMInputBitDepthFlag,     true)
    782778  ("PCMFilterDisableFlag",     m_bPCMFilterDisableFlag,    false)
    783 
    784   ("LosslessCuEnabled",        m_useLossless, false)
    785779
    786780  ("WeightedPredP,-wpP",          m_useWeightedPred,               false,      "Use weighted prediction in P slices")
     
    834828
    835829  ("TransquantBypassEnableFlag", m_TransquantBypassEnableFlag, false, "transquant_bypass_enable_flag indicator in PPS")
    836   ("CUTransquantBypassFlagValue", m_CUTransquantBypassFlagValue, false, "Fixed cu_transquant_bypass_flag value, when transquant_bypass_enable_flag is enabled")
     830  ("CUTransquantBypassFlagForce", m_CUTransquantBypassFlagForce, false, "Force transquant bypass mode, when transquant_bypass_enable_flag is enabled")
    837831  ("RecalculateQPAccordingToLambda", m_recalculateQPAccordingToLambda, false, "Recalculate QP values according to lambda values. Do not suggest to be enabled in all intra case")
    838832  ("StrongIntraSmoothing,-sis",      m_useStrongIntraSmoothing,           true, "Enable strong intra smoothing for 32x32 blocks")
     
    19521946  }
    19531947  xConfirmPara(errorGOP,"Invalid GOP structure given");
    1954 
    19551948  m_maxTempLayer = 1;
    19561949  for(Int i=0; i<m_iGOPSize; i++)
     
    19601953      m_maxTempLayer = m_GOPList[i].m_temporalId+1;
    19611954    }
    1962     xConfirmPara(m_GOPList[i].m_sliceType!='B'&&m_GOPList[i].m_sliceType!='P', "Slice type must be equal to B or P");
     1955    xConfirmPara(m_GOPList[i].m_sliceType!='B'&&m_GOPList[i].m_sliceType!='P'&&m_GOPList[i].m_sliceType!='I', "Slice type must be equal to B or P or I");
    19631956  }
    19641957  for(Int i=0; i<MAX_TLAYER; i++)
     
    19731966      m_maxDecPicBuffering[m_GOPList[i].m_temporalId] = m_GOPList[i].m_numRefPics + 1;
    19741967    }
    1975 
    19761968    Int highestDecodingNumberWithLowerPOC = 0;
    19771969    for(Int j=0; j<m_iGOPSize; j++)
     
    21582150#endif
    21592151
    2160   xConfirmPara(!m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagValue, "CUTransquantBypassFlagValue cannot be 1 when TransquantBypassEnableFlag is 0");
     2152  xConfirmPara(!m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagForce, "CUTransquantBypassFlagForce cannot be 1 when TransquantBypassEnableFlag is 0");
    21612153
    21622154  xConfirmPara(m_log2ParallelMergeLevel < 2, "Log2ParallelMergeLevel should be larger than or equal to 2");
     
    24402432#endif
    24412433  printf("HAD:%d ", m_bUseHADME           );
    2442   printf("SRD:%d ", m_bUseSBACRD          );
    24432434  printf("RDQ:%d ", m_useRDOQ            );
    24442435  printf("RDQTS:%d ", m_useRDOQTS        );
     
    24722463  printf("PCM:%d ", (m_usePCM && (1<<m_uiPCMLog2MinSize) <= m_uiMaxCUWidth)? 1 : 0);
    24732464#endif
    2474 #if !HM_CLEANUP_SAO
    2475   printf("SAOLcuBasedOptimization:%d ", (m_saoLcuBasedOptimization)?(1):(0));
    2476 #endif
    2477   printf("LosslessCuEnabled:%d ", (m_useLossless)? 1:0 );
     2465  if (m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagForce)
     2466  {
     2467    printf("TransQuantBypassEnabled: =1 ");
     2468  }
     2469  else
     2470  {
     2471    printf("TransQuantBypassEnabled:%d ", (m_TransquantBypassEnableFlag)? 1:0 );
     2472  }
    24782473  printf("WPP:%d ", (Int)m_useWeightedPred);
    24792474  printf("WPB:%d ", (Int)m_useWeightedBiPred);
  • branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncCfg.h

    r574 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    179179  Bool      m_bPCMInputBitDepthFlag;                          ///< 0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth.
    180180
    181   // coding tool (lossless)
    182   Bool      m_useLossless;                                    ///< flag for using lossless coding
     181  // coding tool (SAO)
    183182  Bool      m_bUseSAO;
    184183  Int       m_maxNumOffsetsPerPic;                            ///< SAO maximun number of offset per picture
    185184  Bool      m_saoLcuBoundary;                                 ///< SAO parameter estimation using non-deblocked pixels for LCU bottom and right boundary areas
    186 #if !HM_CLEANUP_SAO
    187   Bool      m_saoLcuBasedOptimization;                        ///< SAO LCU-based optimization
    188 #endif
    189185  // coding tools (loop filter)
    190186  Bool      m_bLoopFilterDisable;                             ///< flag for using deblocking filter
     
    202198
    203199  // coding tools (encoder-only parameters)
    204   Bool      m_bUseSBACRD;                                     ///< flag for using RD optimization based on SBAC
    205200  Bool      m_bUseASR;                                        ///< flag for using adaptive motion search range
    206201  Bool      m_bUseHADME;                                      ///< flag for using HAD in sub-pel ME
     
    307302
    308303  Bool      m_TransquantBypassEnableFlag;                     ///< transquant_bypass_enable_flag setting in PPS.
    309   Bool      m_CUTransquantBypassFlagValue;                    ///< if transquant_bypass_enable_flag, the fixed value to use for the per-CU cu_transquant_bypass_flag.
     304  Bool      m_CUTransquantBypassFlagForce;                    ///< if transquant_bypass_enable_flag, then, if true, all CU transquant bypass flags will be set to true.
    310305
    311306  Bool      m_recalculateQPAccordingToLambda;                 ///< recalculate QP value according to the lambda value
  • branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r582 r593  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    346346    m_acTEncTop[layer].setUseAdaptQpSelect             ( m_bUseAdaptQpSelect   );
    347347#endif
    348 
    349     Int lowestQP;
    350     lowestQP =  - 6*(g_bitDepthY - 8); // XXX: check
    351 
    352     if ((m_iMaxDeltaQP == 0 ) && (m_acLayerCfg[layer].getIntQP() == lowestQP) && (m_useLossless == true))
    353     {
    354       m_bUseAdaptiveQP = false;
    355     }
     348   
    356349    m_acTEncTop[layer].setUseAdaptiveQP                ( m_bUseAdaptiveQP  );
    357350    m_acTEncTop[layer].setQPAdaptationRange            ( m_iQPAdaptationRange );
    358351
    359     //====== Tool list ========
    360     m_acTEncTop[layer].setUseSBACRD                    ( m_bUseSBACRD   );
     352    //====== Tool list ========   
    361353    m_acTEncTop[layer].setDeltaQpRD                    ( m_uiDeltaQpRD  );
    362354    m_acTEncTop[layer].setUseASR                       ( m_bUseASR      );
    363     m_acTEncTop[layer].setUseHADME                     ( m_bUseHADME    );
    364     m_acTEncTop[layer].setUseLossless                  ( m_useLossless );
     355    m_acTEncTop[layer].setUseHADME                     ( m_bUseHADME    );   
    365356    m_acTEncTop[layer].setdQPs                         ( m_acLayerCfg[layer].getdQPs() );
    366357    m_acTEncTop[layer].setUseRDOQ                      ( m_useRDOQ     );
     
    444435
    445436    m_acTEncTop[layer].setSaoLcuBoundary (m_saoLcuBoundary);
    446 #if !HM_CLEANUP_SAO
    447     m_acTEncTop[layer].setSaoLcuBasedOptimization (m_saoLcuBasedOptimization);
    448 #endif
    449437    m_acTEncTop[layer].setPCMInputBitDepthFlag  ( m_bPCMInputBitDepthFlag);
    450438    m_acTEncTop[layer].setPCMFilterDisableFlag  ( m_bPCMFilterDisableFlag);
     
    540528#endif
    541529    m_acTEncTop[layer].setTransquantBypassEnableFlag(m_TransquantBypassEnableFlag);
    542     m_acTEncTop[layer].setCUTransquantBypassFlagValue(m_CUTransquantBypassFlagValue);
     530    m_acTEncTop[layer].setCUTransquantBypassFlagForceValue(m_CUTransquantBypassFlagForce);
    543531    m_acTEncTop[layer].setUseRecalculateQPAccordingToLambda( m_recalculateQPAccordingToLambda );
    544532    m_acTEncTop[layer].setUseStrongIntraSmoothing( m_useStrongIntraSmoothing );
     
    680668#endif
    681669
    682   Int lowestQP;
    683   lowestQP =  - 6*(g_bitDepthY - 8); // XXX: check
    684 
    685   if ((m_iMaxDeltaQP == 0 ) && (m_iQP == lowestQP) && (m_useLossless == true))
    686   {
    687     m_bUseAdaptiveQP = false;
    688   }
    689670  m_cTEncTop.setUseAdaptiveQP                ( m_bUseAdaptiveQP  );
    690671  m_cTEncTop.setQPAdaptationRange            ( m_iQPAdaptationRange );
    691672
    692673  //====== Tool list ========
    693   m_cTEncTop.setUseSBACRD                    ( m_bUseSBACRD   );
    694674  m_cTEncTop.setDeltaQpRD                    ( m_uiDeltaQpRD  );
    695675  m_cTEncTop.setUseASR                       ( m_bUseASR      );
    696676  m_cTEncTop.setUseHADME                     ( m_bUseHADME    );
    697   m_cTEncTop.setUseLossless                  ( m_useLossless );
    698677  m_cTEncTop.setdQPs                         ( m_aidQP        );
    699678  m_cTEncTop.setUseRDOQ                      ( m_useRDOQ     );
     
    758737
    759738  m_cTEncTop.setSaoLcuBoundary (m_saoLcuBoundary);
    760 #if !HM_CLEANUP_SAO
    761   m_cTEncTop.setSaoLcuBasedOptimization (m_saoLcuBasedOptimization);
    762 #endif
    763739  m_cTEncTop.setPCMInputBitDepthFlag  ( m_bPCMInputBitDepthFlag);
    764740  m_cTEncTop.setPCMFilterDisableFlag  ( m_bPCMFilterDisableFlag);
     
    836812  m_cTEncTop.setForceIntraQP        ( m_RCForceIntraQP );
    837813  m_cTEncTop.setTransquantBypassEnableFlag(m_TransquantBypassEnableFlag);
    838   m_cTEncTop.setCUTransquantBypassFlagValue(m_CUTransquantBypassFlagValue);
     814  m_cTEncTop.setCUTransquantBypassFlagForceValue(m_CUTransquantBypassFlagForce);
    839815  m_cTEncTop.setUseRecalculateQPAccordingToLambda( m_recalculateQPAccordingToLambda );
    840816  m_cTEncTop.setUseStrongIntraSmoothing( m_useStrongIntraSmoothing );
  • branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.h

    r442 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/TAppEncoder/encmain.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/ExtractBitrates.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/ExtractBitrates.h

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/ExtractBitratesMain.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/GuessLambdaModifiers.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/GuessLambdaModifiers.h

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/GuessLambdaModifiersMain.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/RuntimeError.h

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/encode.shl

    r125 r593  
    44# granted under this license. 
    55#
    6 # Copyright (c) 2010-2012, ITU/ISO/IEC
     6# Copyright (c) 2010-2014, ITU/ISO/IEC
    77# All rights reserved.
    88#
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/encodeCommand.sh

    r125 r593  
    66# granted under this license. 
    77#
    8 # Copyright (c) 2010-2012, ITU/ISO/IEC
     8# Copyright (c) 2010-2014, ITU/ISO/IEC
    99# All rights reserved.
    1010#
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/makefile

    r125 r593  
    44# granted under this license. 
    55#
    6 # Copyright (c) 2010-2012, ITU/ISO/IEC
     6# Copyright (c) 2010-2014, ITU/ISO/IEC
    77# All rights reserved.
    88#
  • branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/targetBitrates.sh

    r125 r593  
    66# granted under this license. 
    77#
    8 # Copyright (c) 2010-2012, ITU/ISO/IEC
     8# Copyright (c) 2010-2014, ITU/ISO/IEC
    99# All rights reserved.
    1010#
  • branches/SHM-5.0-dev/source/App/utils/annexBbytecount.cpp

    r313 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • branches/SHM-5.0-dev/source/App/utils/convert_NtoMbit_YCbCr.cpp

    r494 r593  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
Note: See TracChangeset for help on using the changeset viewer.