source: 3DVCSoftware/trunk/source/Lib/TLibCommon/TComPic.h @ 1417

Last change on this file since 1417 was 1413, checked in by tech, 6 years ago

Merged HTM-16.2-dev@1412

  • Property svn:eol-style set to native
File size: 21.5 KB
Line 
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-2017, ITU/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 ITU/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
34/** \file     TComPic.h
35    \brief    picture class (header)
36*/
37
38#ifndef __TCOMPIC__
39#define __TCOMPIC__
40
41// Include files
42#include "CommonDef.h"
43#include "TComPicSym.h"
44#include "TComPicYuv.h"
45#include "TComBitStream.h"
46
47//! \ingroup TLibCommon
48//! \{
49
50// ====================================================================================================================
51// Class definition
52// ====================================================================================================================
53
54/// picture class (symbol + YUV buffers)
55
56
57
58#if NH_MV
59class TComPic; 
60
61class TComDecodedRps
62{
63public: 
64
65  TComDecodedRps()
66  {
67    m_refPicSetsCurr[0] = &m_refPicSetStCurrBefore;
68    m_refPicSetsCurr[1] = &m_refPicSetStCurrAfter ;
69    m_refPicSetsCurr[2] = &m_refPicSetLtCurr      ; 
70
71    m_refPicSetsLt  [0] = &m_refPicSetLtCurr      ; 
72    m_refPicSetsLt  [1] = &m_refPicSetLtFoll      ;
73
74    m_refPicSetsAll [0] = &m_refPicSetStCurrBefore;
75    m_refPicSetsAll [1] = &m_refPicSetStCurrAfter ;
76    m_refPicSetsAll [2] = &m_refPicSetStFoll      ;
77    m_refPicSetsAll [3] = &m_refPicSetLtCurr      ;
78    m_refPicSetsAll [4] = &m_refPicSetLtFoll      ;
79  };   
80
81  std::vector<Int>       m_pocStCurrBefore;
82  std::vector<Int>       m_pocStCurrAfter;
83  std::vector<Int>       m_pocStFoll;   
84  std::vector<Int>       m_pocLtCurr;
85  std::vector<Int>       m_pocLtFoll; 
86
87  Int                    m_numPocStCurrBefore;
88  Int                    m_numPocStCurrAfter;
89  Int                    m_numPocStFoll;
90  Int                    m_numPocLtCurr;
91  Int                    m_numPocLtFoll;
92
93  std::vector<TComPic*>  m_refPicSetStCurrBefore; 
94  std::vector<TComPic*>  m_refPicSetStCurrAfter; 
95  std::vector<TComPic*>  m_refPicSetStFoll; 
96  std::vector<TComPic*>  m_refPicSetLtCurr; 
97  std::vector<TComPic*>  m_refPicSetLtFoll;   
98
99  std::vector<TComPic*>* m_refPicSetsCurr[3];
100  std::vector<TComPic*>* m_refPicSetsLt  [2];
101  std::vector<TComPic*>* m_refPicSetsAll [5];
102
103  // Annex F
104  Int                    m_numActiveRefLayerPics0;
105  Int                    m_numActiveRefLayerPics1;     
106
107  std::vector<TComPic*>  m_refPicSetInterLayer0;
108  std::vector<TComPic*>  m_refPicSetInterLayer1;
109};
110#endif
111
112class TComPic
113{
114public:
115  typedef enum { PIC_YUV_ORG=0, PIC_YUV_REC=1, PIC_YUV_TRUE_ORG=2, NUM_PIC_YUV=3 } PIC_YUV_T;
116     // TRUE_ORG is the input file without any pre-encoder colour space conversion (but with possible bit depth increment)
117  TComPicYuv*   getPicYuvTrueOrg()        { return  m_apcPicYuv[PIC_YUV_TRUE_ORG]; }
118
119private:
120  UInt                  m_uiTLayer;               //  Temporal layer
121  Bool                  m_bUsedByCurr;            //  Used by current picture
122  Bool                  m_bIsLongTerm;            //  IS long term picture
123  TComPicSym            m_picSym;                 //  Symbol
124  TComPicYuv*           m_apcPicYuv[NUM_PIC_YUV];
125
126  TComPicYuv*           m_pcPicYuvPred;           //  Prediction
127  TComPicYuv*           m_pcPicYuvResi;           //  Residual
128  Bool                  m_bReconstructed;
129  Bool                  m_bNeededForOutput;
130
131  UInt                  m_uiCurrSliceIdx;         // Index of current slice
132  Bool                  m_bCheckLTMSB;
133
134  Bool                  m_isTop;
135  Bool                  m_isField;
136
137  std::vector<std::vector<TComDataCU*> > m_vSliceCUDataLink;
138
139  SEIMessages  m_SEIs; ///< Any SEI messages that have been received.  If !NULL we own the object.
140#if NH_MV
141  Int                   m_layerId;
142  Int                   m_viewId;
143  Bool                  m_bPicOutputFlag;                // Semantics variable
144  Bool                  m_hasGeneratedRefPics; 
145  Bool                  m_isPocResettingPic; 
146  Bool                  m_isFstPicOfAllLayOfPocResetPer; 
147  Int64                 m_decodingOrder; 
148  Bool                  m_noRaslOutputFlag; 
149  Bool                  m_noClrasOutputFlag; 
150  Int                   m_picLatencyCount; 
151  Bool                  m_isGenerated;
152  Bool                  m_isGeneratedCl833; 
153  Bool                  m_activatesNewVps;
154  TComDecodedRps        m_decodedRps;
155#endif
156#if NH_3D_VSO || NH_3D
157  Int                   m_viewIndex;
158  Bool                  m_isDepth;
159  Int**                 m_aaiCodedScale;
160  Int**                 m_aaiCodedOffset;
161#if NH_3D
162  Bool                  m_bReduceBitsQTL;
163  UInt                   m_uiRapRefIdx;
164  RefPicList             m_eRapRefList;
165  Int                    m_iNumDdvCandPics;
166  Bool                   m_abTIVRINCurrRL [2][2][MAX_NUM_REF]; //whether an inter-view reference picture with the same view index of the inter-view reference picture of temporal reference picture of current picture exists in current reference picture lists
167  Int                    m_aiTexToDepRef  [2][MAX_NUM_REF];
168#endif
169#endif
170public:
171  TComPic();
172  virtual ~TComPic();
173
174#if REDUCED_ENCODER_MEMORY
175  Void          create( const TComSPS &sps, const TComPPS &pps, const Bool bCreateEncoderSourcePicYuv, const Bool bCreateForImmediateReconstruction );
176  Void          prepareForEncoderSourcePicYuv();
177  Void          prepareForReconstruction();
178  Void          releaseReconstructionIntermediateData();
179  Void          releaseAllReconstructionData();
180  Void          releaseEncoderSourceImageData();
181#else
182  Void          create( const TComSPS &sps, const TComPPS &pps, const Bool bIsVirtual /*= false*/ );
183#endif
184
185  virtual Void  destroy();
186
187  UInt          getTLayer() const               { return m_uiTLayer;   }
188  Void          setTLayer( UInt uiTLayer ) { m_uiTLayer = uiTLayer; }
189
190  Bool          getUsedByCurr() const            { return m_bUsedByCurr; }
191  Void          setUsedByCurr( Bool bUsed ) { m_bUsedByCurr = bUsed; }
192  Bool          getIsLongTerm() const            { return m_bIsLongTerm; }
193  Void          setIsLongTerm( Bool lt ) { m_bIsLongTerm = lt; }
194  Void          setCheckLTMSBPresent     (Bool b ) {m_bCheckLTMSB=b;}
195  Bool          getCheckLTMSBPresent     () { return m_bCheckLTMSB;}
196
197  TComPicSym*   getPicSym()           { return  &m_picSym;    }
198  const TComPicSym* getPicSym() const { return  &m_picSym;    }
199  TComSlice*    getSlice(Int i)       { return  m_picSym.getSlice(i);  }
200  const TComSlice* getSlice(Int i) const           { return  m_picSym.getSlice(i);  }
201  Int           getPOC() const        { return  m_picSym.getSlice(m_uiCurrSliceIdx)->getPOC();  }
202  TComDataCU*   getCtu( UInt ctuRsAddr )           { return  m_picSym.getCtu( ctuRsAddr ); }
203  const TComDataCU* getCtu( UInt ctuRsAddr ) const { return  m_picSym.getCtu( ctuRsAddr ); }
204
205  TComPicYuv*   getPicYuvOrg()        { return  m_apcPicYuv[PIC_YUV_ORG]; }
206  TComPicYuv*   getPicYuvRec()        { return  m_apcPicYuv[PIC_YUV_REC]; }
207
208  TComPicYuv*   getPicYuvPred()       { return  m_pcPicYuvPred; }
209  TComPicYuv*   getPicYuvResi()       { return  m_pcPicYuvResi; }
210  Void          setPicYuvPred( TComPicYuv* pcPicYuv )       { m_pcPicYuvPred = pcPicYuv; }
211  Void          setPicYuvResi( TComPicYuv* pcPicYuv )       { m_pcPicYuvResi = pcPicYuv; }
212
213  UInt          getNumberOfCtusInFrame() const     { return m_picSym.getNumberOfCtusInFrame(); }
214  UInt          getNumPartInCtuWidth() const       { return m_picSym.getNumPartInCtuWidth();   }
215  UInt          getNumPartInCtuHeight() const      { return m_picSym.getNumPartInCtuHeight();  }
216  UInt          getNumPartitionsInCtu() const      { return m_picSym.getNumPartitionsInCtu();  }
217  UInt          getFrameWidthInCtus() const        { return m_picSym.getFrameWidthInCtus();    }
218  UInt          getFrameHeightInCtus() const       { return m_picSym.getFrameHeightInCtus();   }
219  UInt          getMinCUWidth() const              { return m_picSym.getMinCUWidth();          }
220  UInt          getMinCUHeight() const             { return m_picSym.getMinCUHeight();         }
221
222  Int           getStride(const ComponentID id) const          { return m_apcPicYuv[PIC_YUV_REC]->getStride(id); }
223  Int           getComponentScaleX(const ComponentID id) const    { return m_apcPicYuv[PIC_YUV_REC]->getComponentScaleX(id); }
224  Int           getComponentScaleY(const ComponentID id) const    { return m_apcPicYuv[PIC_YUV_REC]->getComponentScaleY(id); }
225  ChromaFormat  getChromaFormat() const                           { return m_apcPicYuv[PIC_YUV_REC]->getChromaFormat(); }
226  Int           getNumberValidComponents() const                  { return m_apcPicYuv[PIC_YUV_REC]->getNumberValidComponents(); }
227
228  Void          setReconMark (Bool b) { m_bReconstructed = b;     }
229  Bool          getReconMark () const      { return m_bReconstructed;  }
230  Void          setOutputMark (Bool b) { m_bNeededForOutput = b;     }
231  Bool          getOutputMark () const      { return m_bNeededForOutput;  }
232
233#if !NH_3D
234  Void          compressMotion();
235#endif
236  UInt          getCurrSliceIdx() const           { return m_uiCurrSliceIdx;                }
237  Void          setCurrSliceIdx(UInt i)      { m_uiCurrSliceIdx = i;                   }
238  UInt          getNumAllocatedSlice() const      {return m_picSym.getNumAllocatedSlice();}
239  Void          allocateNewSlice()           {m_picSym.allocateNewSlice();         }
240  Void          clearSliceBuffer()           {m_picSym.clearSliceBuffer();         }
241
242  const Window& getConformanceWindow() const { return m_picSym.getSPS().getConformanceWindow(); }
243  Window        getDefDisplayWindow() const  { return m_picSym.getSPS().getVuiParametersPresentFlag() ? m_picSym.getSPS().getVuiParameters()->getDefaultDisplayWindow() : Window(); }
244
245  Bool          getSAOMergeAvailability(Int currAddr, Int mergeAddr);
246
247  UInt          getSubstreamForCtuAddr(const UInt ctuAddr, const Bool bAddressInRaster, TComSlice *pcSlice);
248
249  /* field coding parameters*/
250
251   Void              setTopField(Bool b)                  {m_isTop = b;}
252   Bool              isTopField()                         {return m_isTop;}
253   Void              setField(Bool b)                     {m_isField = b;}
254   Bool              isField() const                      {return m_isField;}
255
256#if NH_MV
257   Void          setLayerId            ( Int layerId )    { m_layerId      = layerId; }
258   Int           getLayerId            () const           { return m_layerId;    }
259   
260   Void          setViewId             ( Int viewId )     { m_viewId = viewId;   }
261   Int           getViewId             () const           { return m_viewId;     }
262
263   Void          setPicOutputFlag(Bool b)                 { m_bPicOutputFlag = b;      }
264   Bool          getPicOutputFlag() const                 { return m_bPicOutputFlag ;  }
265
266   Bool          getPocResetPeriodId();
267
268   Void          markAsUsedForShortTermReference();
269   Void          markAsUsedForLongTermReference(); 
270   Void          markAsUnusedForReference(); 
271
272   Bool          getMarkedUnUsedForReference();
273   Bool          getMarkedAsShortTerm();
274
275   Void          setHasGeneratedRefPics(Bool val)       { m_hasGeneratedRefPics  = val;    }
276   Bool          getHasGeneratedRefPics( )              { return m_hasGeneratedRefPics;   }
277
278   Void          setIsPocResettingPic(Bool val)         { m_isPocResettingPic = val;    }
279   Bool          getIsPocResettingPic( )                { return m_isPocResettingPic;   }
280
281   Void          setIsFstPicOfAllLayOfPocResetPer(Bool val) { m_isFstPicOfAllLayOfPocResetPer = val;  }
282   Bool          getIsFstPicOfAllLayOfPocResetPer( )        { return m_isFstPicOfAllLayOfPocResetPer; }
283
284   Int64         getDecodingOrder( )                    { return m_decodingOrder;       }
285   Void          setDecodingOrder( UInt64 val  )        { m_decodingOrder = val;        }
286
287   Bool          getNoRaslOutputFlag()                  { return m_noRaslOutputFlag;     }
288   Void          setNoRaslOutputFlag( Bool b )          { m_noRaslOutputFlag = b;        }
289
290   Bool          getNoClrasOutputFlag()                 { return m_noClrasOutputFlag;    }
291   Void          setNoClrasOutputFlag( Bool b )         { m_noClrasOutputFlag = b;       }
292
293   Int           getPicLatencyCount()                   { return m_picLatencyCount;      }
294   Void          setPicLatencyCount( Int val )          { m_picLatencyCount = val;       }
295
296   Bool          getIsGenerated() const                 { return m_isGenerated;          }
297   Void          setIsGenerated( Bool b )               { m_isGenerated = b;             }
298
299   Bool          getIsGeneratedCl833() const            { return m_isGeneratedCl833;     }
300   Void          setIsGeneratedCl833( Bool b )          { m_isGeneratedCl833 = b;        }
301
302   Int           getTemporalId( )                       { return getSlice(0)->getTemporalId(); }
303
304   Bool          getActivatesNewVps()                   { return m_activatesNewVps;      }
305   Void          setActivatesNewVps( Bool b )           { m_activatesNewVps = b;         }
306
307   TComDecodedRps* getDecodedRps()                      { return &m_decodedRps;          }
308
309   Bool          isIrap()                               { return getSlice(0)->isIRAP(); } 
310   Bool          isBla ()                               { return getSlice(0)->isBla (); } 
311   Bool          isIdr ()                               { return getSlice(0)->isIdr (); } 
312   Bool          isCra ()                               { return getSlice(0)->isCra (); } 
313   Bool          isSlnr ()                              { return getSlice(0)->isSlnr (); }
314   Bool          isRasl ()                              { return getSlice(0)->isRasl (); }
315   Bool          isRadl ()                              { return getSlice(0)->isRadl (); }
316   Bool          isStsa ()                              { return getSlice(0)->isStsa (); }
317   Bool          isTsa ()                               { return getSlice(0)->isTsa  (); }
318
319   Void          print( Int outputLevel );
320
321#if NH_3D_VSO ||  NH_3D
322   Void          setViewIndex          ( Int viewIndex )  { m_viewIndex = viewIndex;   }
323   Int           getViewIndex          () const           { return m_viewIndex;     }
324
325   Void          setIsDepth            ( Bool isDepth )   { m_isDepth = isDepth; }
326   Bool          getIsDepth            ()                 { return m_isDepth; }
327
328   Void          setScaleOffset( Int** pS, Int** pO )     { m_aaiCodedScale = pS; m_aaiCodedOffset = pO; }
329   Int**         getCodedScale ()                         { return m_aaiCodedScale;  }
330   Int**         getCodedOffset()                         { return m_aaiCodedOffset; }
331
332   Void          compressMotion(Int scale); 
333   Void          printMotion( );
334#if NH_3D
335   Void          getCUAddrAndPartIdx( Int iX, Int iY, Int& riCuAddr, Int& riAbsZorderIdx );
336   Bool          getReduceBitsFlag ()                     { return m_bReduceBitsQTL;     }
337   Void          setReduceBitsFlag ( Bool bFlag )         { m_bReduceBitsQTL = bFlag;    }
338  Int            getNumDdvCandPics()                      { return m_iNumDdvCandPics;    }
339  Int            getDisCandRefPictures(Int iColPOC);       
340  Void           setRapRefIdx(UInt uiRapRefIdx)           { m_uiRapRefIdx = uiRapRefIdx; }
341  Void           setRapRefList(RefPicList eRefPicList)    { m_eRapRefList = eRefPicList; }
342  Void           setNumDdvCandPics (Int i)                { m_iNumDdvCandPics = i;       }
343  UInt           getRapRefIdx()                           { return m_uiRapRefIdx;        }
344  RefPicList     getRapRefList()                          { return m_eRapRefList;        }
345  Void           checkTemporalIVRef();                     
346  Bool           isTempIVRefValid(Int currCandPic, Int iTempRefDir, Int iTempRefIdx);
347  Void           checkTextureRef(  );
348  Int            isTextRefValid(Int iTextRefDir, Int iTextRefIdx);
349#endif
350#endif
351#endif
352
353  /** transfer ownership of seis to this picture */
354  Void setSEIs(SEIMessages& seis) { m_SEIs = seis; }
355
356  /**
357   * return the current list of SEI messages associated with this picture.
358   * Pointer is valid until this->destroy() is called */
359  SEIMessages& getSEIs() { return m_SEIs; }
360
361  /**
362   * return the current list of SEI messages associated with this picture.
363   * Pointer is valid until this->destroy() is called */
364  const SEIMessages& getSEIs() const { return m_SEIs; }
365};// END CLASS DEFINITION TComPic
366
367#if NH_MV
368
369class TComAu : public TComList<TComPic*>
370{
371 
372public:
373
374  Int                 getPoc            ( )                     {  assert(!empty()); return back()->getPOC            ();  }
375  Void                setPicLatencyCount( Int picLatenyCount );
376  Int                 getPicLatencyCount( )                     {  assert(!empty()); return back()->getPicLatencyCount();  } 
377  TComPic*            getPic            ( Int nuhLayerId  );
378  Void                addPic            ( TComPic* pic, Bool pocUnkown );
379  Bool                containsPic       ( TComPic* pic ); 
380};
381
382
383class TComSubDpb : public TComList<TComPic*>
384{
385private: 
386  Int m_nuhLayerId; 
387public: 
388  TComSubDpb( Int nuhLayerid );
389
390  Int                 getLayerId                      ( ) { return m_nuhLayerId; }
391
392  TComPic*            getPic                          ( Int poc  );
393  TComPic*            getPicFromLsb                   ( Int pocLsb, Int maxPicOrderCntLsb );
394  TComPic*            getShortTermRefPic              ( Int poc  );
395  TComList<TComPic*>  getPicsMarkedNeedForOutput      ( );
396
397  Void                markAllAsUnusedForReference     ( );
398
399  Void                addPic                          ( TComPic* pic );
400  Void                removePics                      ( std::vector<TComPic*> picToRemove );
401  Bool                areAllPicsMarkedNotNeedForOutput( );
402};
403
404class TComPicLists
405{
406private: 
407  TComList<TComAu*    >       m_aus; 
408  TComList<TComSubDpb*>       m_subDpbs; 
409  Bool                        m_printPicOutput; 
410#if NH_3D_VSO || NH_3D
411  const TComVPS*              m_vps; 
412#endif
413public: 
414  TComPicLists() { m_printPicOutput = false; };
415  ~TComPicLists();
416
417  // Add and remove single pictures
418  Void                   addNewPic( TComPic* pic );
419  Void                   removePic( TComPic* pic );
420
421  // Get Pics
422  TComPic*               getPic                         ( Int layerIdInNuh, Int poc );
423  TComPicYuv*            getPicYuv                      ( Int layerIdInNuh, Int poc, Bool recon );
424
425  // Get and AUs and SubDPBs
426  TComSubDpb*            getSubDpb                      ( Int nuhLayerId, Bool create );
427  TComList<TComSubDpb*>* getSubDpbs                     ( );
428                                                       
429  TComAu*                addAu                          ( Int poc  );
430  TComAu*                getAu                          ( Int poc, Bool create );
431  TComList<TComAu*>*     getAus                         ( );
432  TComList<TComAu*>      getAusHavingPicsMarkedForOutput( );
433
434  // Mark pictures and set POCs
435  Void                   markSubDpbAsUnusedForReference ( Int layerIdInNuh );
436  Void                   markSubDpbAsUnusedForReference ( TComSubDpb& subDpb );
437  Void                   markAllSubDpbAsUnusedForReference(  );
438  Void                   decrementPocsInSubDpb          ( Int nuhLayerId, Int deltaPocVal );
439 
440  // Empty Sub DPBs
441  Void                   emptyAllSubDpbs                ( );
442  Void                   emptySubDpbs                   ( TComList<TComSubDpb*>* subDpbs);
443  Void                   emptySubDpb                    ( TComSubDpb* subDpb);
444  Void                   emptySubDpb                    ( Int nuhLayerId );
445
446  Void                   emptyNotNeedForOutputAndUnusedForRef      ( );
447  Void                   emptySubDpbNotNeedForOutputAndUnusedForRef( Int layerId  );
448  Void                   emptySubDpbNotNeedForOutputAndUnusedForRef( TComSubDpb subDpb ); 
449
450  // For printing to std::out
451  Void                   setPrintPicOutput ( Bool printPicOutput ) { m_printPicOutput = printPicOutput; };
452  Void                   print(); 
453
454#if NH_3D_VSO || NH_3D
455  Void                   setVPS                        ( const TComVPS* vps ) { m_vps = vps;  }; 
456#endif
457
458#if NH_3D || NH_3D_VSO
459  TComPic*               getPic                        ( Int viewIndex, Bool depthFlag, Int auxId, Int poc );
460  TComPicYuv*            getPicYuv                     ( Int viewIndex, Bool depthFlag, Int auxId, Int poc, Bool recon );
461#endif 
462
463}; 
464
465// END CLASS DEFINITION TComPicLists
466
467#endif
468
469
470//! \}
471
472#endif // __TCOMPIC__
Note: See TracBrowser for help on using the repository browser.