[x265] change index of m_buOffsetY[] from raster to zscan
Satoshi Nakagawa
nakagawa424 at oki.com
Wed Sep 3 10:29:06 CEST 2014
# HG changeset patch
# User Satoshi Nakagawa <nakagawa424 at oki.com>
# Date 1409732761 -32400
# Wed Sep 03 17:26:01 2014 +0900
# Node ID bccd2c7fa8aa0352f05ac9e4329d9ebf5c23899c
# Parent 62c4779fb0bb35d5d8a69678e9e8aa81272f0115
change index of m_buOffsetY[] from raster to zscan
diff -r 62c4779fb0bb -r bccd2c7fa8aa source/Lib/TLibCommon/TComPicYuv.cpp
--- a/source/Lib/TLibCommon/TComPicYuv.cpp Thu Aug 28 13:14:34 2014 +0530
+++ b/source/Lib/TLibCommon/TComPicYuv.cpp Wed Sep 03 17:26:01 2014 +0900
@@ -111,13 +111,12 @@
CHECKED_MALLOC(m_buOffsetY, int, (size_t)numPartitions);
CHECKED_MALLOC(m_buOffsetC, int, (size_t)numPartitions);
- for (int buRow = 0; buRow < (1 << maxFullDepth); buRow++)
+ for (uint32_t idx = 0; idx < numPartitions; ++idx)
{
- for (int buCol = 0; buCol < (1 << maxFullDepth); buCol++)
- {
- m_buOffsetY[(buRow << maxFullDepth) + buCol] = getStride() * buRow * UNIT_SIZE + buCol * UNIT_SIZE;
- m_buOffsetC[(buRow << maxFullDepth) + buCol] = getCStride() * buRow * (UNIT_SIZE >> m_vChromaShift) + buCol * (UNIT_SIZE >> m_hChromaShift);
- }
+ int x = g_zscanToPelX[idx];
+ int y = g_zscanToPelY[idx];
+ m_buOffsetY[idx] = getStride() * y + x;
+ m_buOffsetC[idx] = getCStride() * (y >> m_vChromaShift) + (x >> m_hChromaShift);
}
return true;
diff -r 62c4779fb0bb -r bccd2c7fa8aa source/Lib/TLibCommon/TComPicYuv.h
--- a/source/Lib/TLibCommon/TComPicYuv.h Thu Aug 28 13:14:34 2014 +0530
+++ b/source/Lib/TLibCommon/TComPicYuv.h Wed Sep 03 17:26:01 2014 +0900
@@ -147,13 +147,13 @@
pixel* getChromaAddr(uint32_t chromaId, int cuAddr) { return m_picOrg[chromaId] + m_cuOffsetC[cuAddr]; }
- pixel* getLumaAddr(int cuAddr, int absZOrderIdx) { return m_picOrg[0] + m_cuOffsetY[cuAddr] + m_buOffsetY[g_zscanToRaster[absZOrderIdx]]; }
+ pixel* getLumaAddr(int cuAddr, int absZOrderIdx) { return m_picOrg[0] + m_cuOffsetY[cuAddr] + m_buOffsetY[absZOrderIdx]; }
- pixel* getCbAddr(int cuAddr, int absZOrderIdx) { return m_picOrg[1] + m_cuOffsetC[cuAddr] + m_buOffsetC[g_zscanToRaster[absZOrderIdx]]; }
+ pixel* getCbAddr(int cuAddr, int absZOrderIdx) { return m_picOrg[1] + m_cuOffsetC[cuAddr] + m_buOffsetC[absZOrderIdx]; }
- pixel* getCrAddr(int cuAddr, int absZOrderIdx) { return m_picOrg[2] + m_cuOffsetC[cuAddr] + m_buOffsetC[g_zscanToRaster[absZOrderIdx]]; }
+ pixel* getCrAddr(int cuAddr, int absZOrderIdx) { return m_picOrg[2] + m_cuOffsetC[cuAddr] + m_buOffsetC[absZOrderIdx]; }
- pixel* getChromaAddr(uint32_t chromaId, int cuAddr, int absZOrderIdx) { return m_picOrg[chromaId] + m_cuOffsetC[cuAddr] + m_buOffsetC[g_zscanToRaster[absZOrderIdx]]; }
+ pixel* getChromaAddr(uint32_t chromaId, int cuAddr, int absZOrderIdx) { return m_picOrg[chromaId] + m_cuOffsetC[cuAddr] + m_buOffsetC[absZOrderIdx]; }
uint32_t getCUHeight(int rowNum);
More information about the x265-devel
mailing list