Changeset 56 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncSlice.h


Ignore:
Timestamp:
11 May 2012, 21:20:17 (12 years ago)
Author:
hschwarz
Message:

updated trunk (move to HM6.1)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncSlice.h

    r5 r56  
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
    4  * granted under this license.
     4 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2012, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    1515 *    this list of conditions and the following disclaimer in the documentation
    1616 *    and/or other materials provided with the distribution.
    17  *  * Neither the name of the ISO/IEC nor the names of its contributors may
     17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
    1818 *    be used to endorse or promote products derived from this software without
    1919 *    specific prior written permission.
     
    3232 */
    3333
    34 
    35 
    3634/** \file     TEncSlice.h
    3735    \brief    slice encoder class (header)
     
    4240
    4341// Include files
    44 #include "../TLibCommon/CommonDef.h"
    45 #include "../TLibCommon/TComList.h"
    46 #include "../TLibCommon/TComPic.h"
    47 #include "../TLibCommon/TComPicYuv.h"
     42#include "TLibCommon/CommonDef.h"
     43#include "TLibCommon/TComList.h"
     44#include "TLibCommon/TComPic.h"
     45#include "TLibCommon/TComPicYuv.h"
    4846#include "TEncCu.h"
    49 #ifdef WEIGHT_PRED
    5047#include "WeightPredAnalysis.h"
    51 #endif
     48
     49//! \ingroup TLibEncoder
     50//! \{
    5251
    5352class TEncTop;
    54 class TEncPic;
     53class TEncGOP;
    5554
    5655// ====================================================================================================================
     
    6059/// slice encoder class
    6160class TEncSlice
    62 #ifdef WEIGHT_PRED
    6361  : public WeightPredAnalysis
    64 #endif
    6562{
    6663private:
     
    7471 
    7572  // processing units
    76   TEncPic*                m_pcPicEncoder;                       ///< Pic encoder
     73  TEncGOP*                m_pcGOPEncoder;                       ///< GOP encoder
    7774  TEncCu*                 m_pcCuEncoder;                        ///< CU encoder
    7875 
     
    9895  Double*                 m_pdRdPicQp;                          ///< array of picture QP candidates (double-type for lambda)
    9996  Int*                    m_piRdPicQp;                          ///< array of picture QP candidates (int-type)
     97  TEncBinCABAC*           m_pcBufferBinCoderCABACs;       ///< line of bin coder CABAC
     98  TEncSbac*               m_pcBufferSbacCoders;                 ///< line to store temporary contexts
     99  TEncBinCABAC*           m_pcBufferLowLatBinCoderCABACs;       ///< dependent tiles: line of bin coder CABAC
     100  TEncSbac*               m_pcBufferLowLatSbacCoders;           ///< dependent tiles: line to store temporary contexts
    100101 
    101102  UInt                    m_uiSliceIdx;
     
    109110 
    110111  /// preparation of slice encoding (reference marking, QP and lambda)
    111   Void    initEncSlice        ( TComPic* pcPic, TComSlice*& rpcSlice );
    112  
     112  Void    initEncSlice        ( TComPic*  pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComSPS* pSPS, TComPPS *pPPS );
     113
    113114  // compress and encode slice
    114115  Void    precompressSlice    ( TComPic*& rpcPic                                );      ///< precompress slice for multi-loop opt.
    115116  Void    compressSlice       ( TComPic*& rpcPic                                );      ///< analysis stage of slice
    116   Void    encodeSlice         ( TComPic*& rpcPic, TComBitstream*& rpcBitstream  );      ///< entropy coding of slice
     117  Void    encodeSlice         ( TComPic*& rpcPic, TComOutputBitstream* rpcBitstream, TComOutputBitstream* pcSubstreams  );
    117118 
    118119  // misc. functions
     
    126127};
    127128
     129//! \}
    128130
    129131#endif // __TENCSLICE__
    130 
Note: See TracChangeset for help on using the changeset viewer.