[x265] [PATCH 3 of 4] alloc concatenation memory for m_cuData

Steve Borho steve at borho.org
Sat Jun 21 05:07:56 CEST 2014


On Fri, Jun 20, 2014 at 6:41 PM, Min Chen <chenm003 at 163.com> wrote:
> # HG changeset patch
> # User Min Chen <chenm003 at 163.com>
> # Date 1403307671 25200
> # Node ID 20a73ed13f54b3fea69e97ed8f8a4f907f1d7373
> # Parent  f6efadb8d2413e321f2b1964e6589410baeacc20
> alloc concatenation memory for m_cuData

this one is queued, thanks

> diff -r f6efadb8d241 -r 20a73ed13f54 source/Lib/TLibCommon/TComPicSym.cpp
> --- a/source/Lib/TLibCommon/TComPicSym.cpp      Fri Jun 20 16:40:58 2014 -0700
> +++ b/source/Lib/TLibCommon/TComPicSym.cpp      Fri Jun 20 16:41:11 2014 -0700
> @@ -77,22 +77,18 @@
>      m_numCUsInFrame   = m_widthInCU * m_heightInCU;
>
>      m_slice = new TComSlice;
> -    m_cuData = new TComDataCU*[m_numCUsInFrame];
> +    m_cuData = new TComDataCU[m_numCUsInFrame];
>      if (!m_slice || !m_cuData)
>          return false;
>
>      for (i = 0; i < m_numCUsInFrame; i++)
>      {
> -        m_cuData[i] = new TComDataCU;
> -        if (!m_cuData[i])
> +        uint32_t sizeL = g_maxCUSize * g_maxCUSize;
> +        uint32_t sizeC = sizeL >> (CHROMA_H_SHIFT(picCsp) + CHROMA_V_SHIFT(picCsp));
> +        if (!m_cuData[i].initialize(m_numPartitions, sizeL, sizeC, 1))
>              return false;
>
> -        uint32_t sizeL = g_maxCUSize * g_maxCUSize;
> -        uint32_t sizeC = sizeL >> (CHROMA_H_SHIFT(picCsp) + CHROMA_V_SHIFT(picCsp));
> -        if (!m_cuData[i]->initialize(m_numPartitions, sizeL, sizeC, 1))
> -            return false;
> -
> -        m_cuData[i]->create(m_cuData[i], m_numPartitions, g_maxCUSize, m_unitSize, picCsp, 0);
> +        m_cuData[i].create(&m_cuData[i], m_numPartitions, g_maxCUSize, m_unitSize, picCsp, 0);
>      }
>
>      return true;
> @@ -103,12 +99,6 @@
>      delete m_slice;
>      m_slice = NULL;
>
> -    for (int i = 0; i < m_numCUsInFrame; i++)
> -    {
> -        m_cuData[i]->destroy();
> -        delete m_cuData[i];
> -    }
> -
>      delete [] m_cuData;
>      m_cuData = NULL;
>
> diff -r f6efadb8d241 -r 20a73ed13f54 source/Lib/TLibCommon/TComPicSym.h
> --- a/source/Lib/TLibCommon/TComPicSym.h        Fri Jun 20 16:40:58 2014 -0700
> +++ b/source/Lib/TLibCommon/TComPicSym.h        Fri Jun 20 16:41:11 2014 -0700
> @@ -73,7 +73,7 @@
>      uint32_t      m_numCUsInFrame;
>
>      TComSlice*    m_slice;
> -    TComDataCU**  m_cuData;
> +    TComDataCU*   m_cuData;
>
>      SAOParam*     m_saoParam;
>
> @@ -99,7 +99,7 @@
>
>      uint32_t    getNumberOfCUsInFrame() const { return m_numCUsInFrame; }
>
> -    TComDataCU* getCU(uint32_t cuAddr)    { return m_cuData[cuAddr]; }
> +    TComDataCU* getCU(uint32_t cuAddr)    { return &m_cuData[cuAddr]; }
>
>      uint32_t    getNumPartition() const   { return m_numPartitions; }
>
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel



-- 
Steve Borho


More information about the x265-devel mailing list