[x265-commits] [x265] cmake: fix cygwin builds - yasm must output windows objec...

Steve Borho steve at borho.org
Thu Nov 21 21:08:28 CET 2013


details:   http://hg.videolan.org/x265/rev/871f3367fd45
branches:  
changeset: 5208:871f3367fd45
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 13:25:05 2013 -0600
description:
cmake: fix cygwin builds - yasm must output windows object files
Subject: [x265] TComSlice: nits

details:   http://hg.videolan.org/x265/rev/cdfb587319f8
branches:  
changeset: 5209:cdfb587319f8
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:17:20 2013 -0600
description:
TComSlice: nits
Subject: [x265] TComSlice: nits

details:   http://hg.videolan.org/x265/rev/4b53b32ea6d8
branches:  
changeset: 5210:4b53b32ea6d8
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:17:31 2013 -0600
description:
TComSlice: nits
Subject: [x265] primitive: remove dead ipfilter_p2s

details:   http://hg.videolan.org/x265/rev/f3d4f3ac215e
branches:  
changeset: 5211:f3d4f3ac215e
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:22:19 2013 -0600
description:
primitive: remove dead ipfilter_p2s
Subject: [x265] primitive: remove dead ipfilter_s2p

details:   http://hg.videolan.org/x265/rev/f3962b7a971c
branches:  
changeset: 5212:f3962b7a971c
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:26:37 2013 -0600
description:
primitive: remove dead ipfilter_s2p
Subject: [x265] primitive: remove dead pixelsub_ps

details:   http://hg.videolan.org/x265/rev/0d54ec898e79
branches:  
changeset: 5213:0d54ec898e79
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:29:20 2013 -0600
description:
primitive: remove dead pixelsub_ps
Subject: [x265] primitive: remove dead blockcpy_sp

details:   http://hg.videolan.org/x265/rev/b3749e1d64c0
branches:  
changeset: 5214:b3749e1d64c0
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:34:16 2013 -0600
description:
primitive: remove dead blockcpy_sp
Subject: [x265] primitive: nits

details:   http://hg.videolan.org/x265/rev/db1151bb4974
branches:  
changeset: 5215:db1151bb4974
user:      Steve Borho <steve at borho.org>
date:      Wed Nov 20 18:36:04 2013 -0600
description:
primitive: nits
Subject: [x265] asm: assembly code for IntraPred_DC[8x8]

details:   http://hg.videolan.org/x265/rev/40a060130b62
branches:  
changeset: 5216:40a060130b62
user:      Dnyaneshwar G <dnyaneshwar at multicorewareinc.com>
date:      Thu Nov 21 18:25:57 2013 +0550
description:
asm: assembly code for IntraPred_DC[8x8]
Subject: [x265] asm: assembly code for IntraPred_DC[16x16]

details:   http://hg.videolan.org/x265/rev/4eb59e47be20
branches:  
changeset: 5217:4eb59e47be20
user:      Dnyaneshwar G <dnyaneshwar at multicorewareinc.com>
date:      Thu Nov 21 18:49:54 2013 +0550
description:
asm: assembly code for IntraPred_DC[16x16]
Subject: [x265] asm: assembly code for IntraPred_DC[32x32]

details:   http://hg.videolan.org/x265/rev/286984ebb6c7
branches:  
changeset: 5218:286984ebb6c7
user:      Dnyaneshwar G <dnyaneshwar at multicorewareinc.com>
date:      Thu Nov 21 17:29:43 2013 +0550
description:
asm: assembly code for IntraPred_DC[32x32]
Subject: [x265] asm: assembly code for pixel_sa8d_64x48

details:   http://hg.videolan.org/x265/rev/6a82e5177eb3
branches:  
changeset: 5219:6a82e5177eb3
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 14:59:32 2013 +0550
description:
asm: assembly code for pixel_sa8d_64x48
Subject: [x265] testbench: initialize output buffer to solve lumz_sp[] mistake problem

details:   http://hg.videolan.org/x265/rev/7e4656d4fd33
branches:  
changeset: 5220:7e4656d4fd33
user:      Min Chen <chenm003 at 163.com>
date:      Thu Nov 21 22:15:08 2013 +0800
description:
testbench: initialize output buffer to solve lumz_sp[] mistake problem
Subject: [x265] asm: assembly code for pixel_sa8d_48x64

details:   http://hg.videolan.org/x265/rev/2d6721016c9a
branches:  
changeset: 5221:2d6721016c9a
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 15:39:16 2013 +0550
description:
asm: assembly code for pixel_sa8d_48x64
Subject: [x265] asm: assembly code for pixel_sa8d_64x16

details:   http://hg.videolan.org/x265/rev/d43255da9bd6
branches:  
changeset: 5222:d43255da9bd6
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 16:02:11 2013 +0550
description:
asm: assembly code for pixel_sa8d_64x16
Subject: [x265] asm: assembly code for pixel_sa8d_16x64

details:   http://hg.videolan.org/x265/rev/2b8e89b5b836
branches:  
changeset: 5223:2b8e89b5b836
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 16:22:01 2013 +0550
description:
asm: assembly code for pixel_sa8d_16x64
Subject: [x265] asm: assembly code for pixel_sa8d_8x16 and pixel_sa8d_16x8

details:   http://hg.videolan.org/x265/rev/977220137f22
branches:  
changeset: 5224:977220137f22
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 19:14:30 2013 +0550
description:
asm: assembly code for pixel_sa8d_8x16 and pixel_sa8d_16x8
Subject: [x265] asm: assembly code for pixel_sa8d_32x24

details:   http://hg.videolan.org/x265/rev/47c04fd98b80
branches:  
changeset: 5225:47c04fd98b80
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 20:24:20 2013 +0550
description:
asm: assembly code for pixel_sa8d_32x24
Subject: [x265] asm: assembly code for pixel_sa8d_24x32

details:   http://hg.videolan.org/x265/rev/a71839b646b9
branches:  
changeset: 5226:a71839b646b9
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 20:41:56 2013 +0550
description:
asm: assembly code for pixel_sa8d_24x32
Subject: [x265] asm: assembly code for pixel_sa8d_32x8

details:   http://hg.videolan.org/x265/rev/0b4b4143ceea
branches:  
changeset: 5227:0b4b4143ceea
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 21:04:10 2013 +0550
description:
asm: assembly code for pixel_sa8d_32x8
Subject: [x265] asm: assembly code for pixel_sa8d_8x32

details:   http://hg.videolan.org/x265/rev/16b15235cd76
branches:  
changeset: 5228:16b15235cd76
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 21:25:53 2013 +0550
description:
asm: assembly code for pixel_sa8d_8x32
Subject: [x265] pixel_add_ps_16x4, asm code

details:   http://hg.videolan.org/x265/rev/5077332c5bcc
branches:  
changeset: 5229:5077332c5bcc
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 16:09:59 2013 +0550
description:
pixel_add_ps_16x4, asm code
Subject: [x265] pixeladd8.asm, removed unsed header 'x86util.asm'

details:   http://hg.videolan.org/x265/rev/0e9ae87861ba
branches:  
changeset: 5230:0e9ae87861ba
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 16:41:37 2013 +0550
description:
pixeladd8.asm, removed unsed header 'x86util.asm'
Subject: [x265] pixel_add_ps_6x8, asm code

details:   http://hg.videolan.org/x265/rev/3f227acdb082
branches:  
changeset: 5231:3f227acdb082
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 20:51:54 2013 +0550
description:
pixel_add_ps_6x8, asm code
Subject: [x265] [asm]: pixel_add_ps_2x4

details:   http://hg.videolan.org/x265/rev/f290ec5a0532
branches:  
changeset: 5232:f290ec5a0532
user:      Min Chen <chenm003 at 163.com>
date:      Thu Nov 21 22:37:04 2013 +0800
description:
[asm]: pixel_add_ps_2x4
Subject: [x265] pixel_add_ps_2x8 asm code

details:   http://hg.videolan.org/x265/rev/98fac41f309c
branches:  
changeset: 5233:98fac41f309c
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 21:23:13 2013 +0550
description:
pixel_add_ps_2x8 asm code
Subject: [x265] asm: Improvement by replace macro extend by function call

details:   http://hg.videolan.org/x265/rev/0caa6518420e
branches:  
changeset: 5234:0caa6518420e
user:      Murugan Vairavel <murugan at multicorewareinc.com>
date:      Thu Nov 21 17:00:27 2013 +0550
description:
asm: Improvement by replace macro extend by function call
Subject: [x265] asm: code for transpose_64x64 routine

details:   http://hg.videolan.org/x265/rev/b305aa607e0b
branches:  
changeset: 5235:b305aa607e0b
user:      Murugan Vairavel <murugan at multicorewareinc.com>
date:      Thu Nov 21 17:14:06 2013 +0550
description:
asm: code for transpose_64x64 routine
Subject: [x265] pixel_add_ps, 16x8, 16x12, 16x16, 16x32 asm code

details:   http://hg.videolan.org/x265/rev/583152af6f66
branches:  
changeset: 5236:583152af6f66
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 17:06:22 2013 +0550
description:
pixel_add_ps, 16x8, 16x12, 16x16, 16x32 asm code
Subject: [x265] asm: pixel_add_ps,32xN

details:   http://hg.videolan.org/x265/rev/23626c3cac6b
branches:  
changeset: 5237:23626c3cac6b
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 17:34:38 2013 +0550
description:
asm: pixel_add_ps,32xN
Subject: [x265] pixel_add_ps, asm code

details:   http://hg.videolan.org/x265/rev/2683153044c8
branches:  
changeset: 5238:2683153044c8
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 18:05:18 2013 +0550
description:
pixel_add_ps, asm code
Subject: [x265] pixel_add_ps_16x64, asm code

details:   http://hg.videolan.org/x265/rev/4f53bb000c70
branches:  
changeset: 5239:4f53bb000c70
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 22:08:43 2013 +0550
description:
pixel_add_ps_16x64, asm code
Subject: [x265] pixel_add_ps_32x64, asm code

details:   http://hg.videolan.org/x265/rev/3b27df9d0a54
branches:  
changeset: 5240:3b27df9d0a54
user:      Praveen Tiwari <praveen at multicorewareinc.com>
date:      Thu Nov 21 22:12:54 2013 +0550
description:
pixel_add_ps_32x64, asm code
Subject: [x265] asm: added sa8d-4x4,4x8,8x4,4x16,16x4,12x16,16x12 to asm-primitives.cpp

details:   http://hg.videolan.org/x265/rev/fbb0dab55009
branches:  
changeset: 5241:fbb0dab55009
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Thu Nov 21 22:46:39 2013 +0550
description:
asm: added sa8d-4x4,4x8,8x4,4x16,16x4,12x16,16x12 to asm-primitives.cpp
Subject: [x265] bug fix: print Mean psnr Y,U,V properly

details:   http://hg.videolan.org/x265/rev/012b3d1da19b
branches:  
changeset: 5242:012b3d1da19b
user:      Santhoshini Sekar <santhoshini at multicorewareinc.com>
date:      Thu Nov 21 08:46:54 2013 +0530
description:
bug fix: print Mean psnr Y,U,V properly
Subject: [x265] remove width arg from intra_pred_planar

details:   http://hg.videolan.org/x265/rev/bdff2c785860
branches:  
changeset: 5243:bdff2c785860
user:      Dnyaneshwar G <dnyaneshwar at multicorewareinc.com>
date:      Thu Nov 21 20:42:47 2013 +0530
description:
remove width arg from intra_pred_planar
Subject: [x265] TComPrediction: nits

details:   http://hg.videolan.org/x265/rev/562eea581dcf
branches:  
changeset: 5244:562eea581dcf
user:      Steve Borho <steve at borho.org>
date:      Thu Nov 21 12:01:31 2013 -0600
description:
TComPrediction: nits
Subject: [x265] asm: remove cmp templated wrapper function

details:   http://hg.videolan.org/x265/rev/46e4175eeb88
branches:  
changeset: 5245:46e4175eeb88
user:      Steve Borho <steve at borho.org>
date:      Thu Nov 21 12:04:05 2013 -0600
description:
asm: remove cmp templated wrapper function
Subject: [x265] intrapred: cleanup intra C references

details:   http://hg.videolan.org/x265/rev/bcef0e896234
branches:  
changeset: 5246:bcef0e896234
user:      Steve Borho <steve at borho.org>
date:      Thu Nov 21 12:32:18 2013 -0600
description:
intrapred: cleanup intra C references
Subject: [x265] slicetype: remove hungarian pointer prefixes and unnecessary pixel casts

details:   http://hg.videolan.org/x265/rev/d7cf0dd2133e
branches:  
changeset: 5247:d7cf0dd2133e
user:      Steve Borho <steve at borho.org>
date:      Thu Nov 21 12:38:36 2013 -0600
description:
slicetype: remove hungarian pointer prefixes and unnecessary pixel casts
Subject: [x265] TComPrediction: fixup planar size index

details:   http://hg.videolan.org/x265/rev/e733415996a1
branches:  
changeset: 5248:e733415996a1
user:      Steve Borho <steve at borho.org>
date:      Thu Nov 21 14:04:10 2013 -0600
description:
TComPrediction: fixup planar size index

diffstat:

 source/Lib/TLibCommon/TComPic.cpp           |     6 +-
 source/Lib/TLibCommon/TComPrediction.cpp    |    29 +-
 source/Lib/TLibCommon/TComSlice.cpp         |     2 +-
 source/Lib/TLibCommon/TComSlice.h           |    40 +-
 source/Lib/TLibCommon/TComYuv.cpp           |    40 +-
 source/Lib/TLibCommon/TypeDef.h             |    15 +-
 source/Lib/TLibEncoder/TEncCfg.h            |     4 -
 source/Lib/TLibEncoder/TEncCu.cpp           |     2 +-
 source/Lib/TLibEncoder/TEncSearch.cpp       |    14 +-
 source/cmake/CMakeASM_YASMInformation.cmake |     4 +-
 source/common/TShortYUV.cpp                 |    13 +-
 source/common/common.cpp                    |    36 +-
 source/common/intrapred.cpp                 |   123 +-
 source/common/ipfilter.cpp                  |    58 +-
 source/common/pixel.cpp                     |    42 +-
 source/common/primitives.cpp                |     5 -
 source/common/primitives.h                  |    91 +-
 source/common/vec/blockcopy-sse3.cpp        |    90 -
 source/common/vec/intra-sse41.cpp           |    24 +-
 source/common/vec/ipfilter-sse41.cpp        |   320 +---
 source/common/vec/ipfilter-ssse3.cpp        |   184 +--
 source/common/x86/asm-primitives.cpp        |   173 +-
 source/common/x86/intrapred.asm             |   268 +++
 source/common/x86/intrapred.h               |     3 +
 source/common/x86/pixel-a.asm               |  2186 ++++++++++++++++++++++++--
 source/common/x86/pixel.h                   |     1 +
 source/common/x86/pixeladd8.asm             |   451 +++++-
 source/encoder/compress.cpp                 |     2 +-
 source/encoder/encoder.cpp                  |    24 +-
 source/encoder/slicetype.cpp                |    38 +-
 source/input/y4m.cpp                        |     2 +-
 source/test/intrapredharness.cpp            |    41 +-
 source/test/ipfilterharness.cpp             |   355 +--
 source/test/ipfilterharness.h               |     2 -
 source/test/pixelharness.cpp                |   233 +--
 source/test/pixelharness.h                  |     2 -
 source/x265.cpp                             |    10 +-
 source/x265.h                               |    69 +-
 38 files changed, 3282 insertions(+), 1720 deletions(-)

diffs (truncated from 6525 to 300 lines):

diff -r 1561d1f1d1da -r e733415996a1 source/Lib/TLibCommon/TComPic.cpp
--- a/source/Lib/TLibCommon/TComPic.cpp	Wed Nov 20 14:44:35 2013 -0600
+++ b/source/Lib/TLibCommon/TComPic.cpp	Thu Nov 21 14:04:10 2013 -0600
@@ -77,13 +77,13 @@ TComPic::~TComPic()
 void TComPic::create(TEncCfg* cfg)
 {
     m_picSym = new TComPicSym;
-    m_picSym->create(cfg->param.sourceWidth, cfg->param.sourceHeight, cfg->getColorFormat(), g_maxCUWidth, g_maxCUHeight, g_maxCUDepth);
+    m_picSym->create(cfg->param.sourceWidth, cfg->param.sourceHeight, cfg->param.internalCsp, g_maxCUWidth, g_maxCUHeight, g_maxCUDepth);
 
     m_origPicYuv = new TComPicYuv;
-    m_origPicYuv->create(cfg->param.sourceWidth, cfg->param.sourceHeight, cfg->getColorFormat(), g_maxCUWidth, g_maxCUHeight, g_maxCUDepth);
+    m_origPicYuv->create(cfg->param.sourceWidth, cfg->param.sourceHeight, cfg->param.internalCsp, g_maxCUWidth, g_maxCUHeight, g_maxCUDepth);
 
     m_reconPicYuv = new TComPicYuv;
-    m_reconPicYuv->create(cfg->param.sourceWidth, cfg->param.sourceHeight, cfg->getColorFormat(), g_maxCUWidth, g_maxCUHeight, g_maxCUDepth);
+    m_reconPicYuv->create(cfg->param.sourceWidth, cfg->param.sourceHeight, cfg->param.internalCsp, g_maxCUWidth, g_maxCUHeight, g_maxCUDepth);
 
     /* store conformance window parameters with picture */
     m_conformanceWindow = cfg->m_conformanceWindow;
diff -r 1561d1f1d1da -r e733415996a1 source/Lib/TLibCommon/TComPrediction.cpp
--- a/source/Lib/TLibCommon/TComPrediction.cpp	Wed Nov 20 14:44:35 2013 -0600
+++ b/source/Lib/TLibCommon/TComPrediction.cpp	Thu Nov 21 14:04:10 2013 -0600
@@ -160,7 +160,7 @@ void TComPrediction::predIntraLumaAng(ui
     // Create the prediction
     if (dirMode == PLANAR_IDX)
     {
-        primitives.intra_pred_planar((pixel*)refAbv + 1, (pixel*)refLft + 1, (pixel*)dst, stride, size);
+        primitives.intra_pred_planar[log2BlkSize - 2](refAbv + 1, refLft + 1, dst, stride);
     }
     else if (dirMode == DC_IDX)
     {
@@ -191,7 +191,7 @@ void TComPrediction::predIntraChromaAng(
     // get starting pixel in block
     if (dirMode == PLANAR_IDX)
     {
-        primitives.intra_pred_planar((pixel*)refAbv + width - 1 + 1, (pixel*)refLft + width - 1 + 1, (pixel*)dst, stride, width);
+        primitives.intra_pred_planar[log2BlkSize](refAbv + width - 1 + 1, refLft + width - 1 + 1, dst, stride);
     }
     else if (dirMode == DC_IDX)
     {
@@ -468,7 +468,7 @@ void TComPrediction::xPredInterLumaBlk(T
 {
     int refStride = refPic->getStride();
     int refOffset = (mv->x >> 2) + (mv->y >> 2) * refStride;
-    pixel *ref    =  refPic->getLumaAddr(cu->getAddr(), cu->getZorderIdxInCU() + partAddr) + refOffset;
+    pixel *ref    = refPic->getLumaAddr(cu->getAddr(), cu->getZorderIdxInCU() + partAddr) + refOffset;
 
     int dstStride = dstPic->m_width;
     int16_t *dst    = dstPic->getLumaAddr(partAddr);
@@ -529,35 +529,38 @@ void TComPrediction::xPredInterChromaBlk
     int xFrac = mv->x & 0x7;
     int yFrac = mv->y & 0x7;
     int partEnum = partitionFromSizes(width, height);
-    uint32_t cxWidth = width >> 1;
-    uint32_t cxHeight = height >> 1;
+    int csp = X265_CSP_I420; // TODO: member var?
 
     if ((yFrac | xFrac) == 0)
     {
-        primitives.blockcpy_pp(cxWidth, cxHeight, dstCb, dstStride, refCb, refStride);
-        primitives.blockcpy_pp(cxWidth, cxHeight, dstCr, dstStride, refCr, refStride);
+        primitives.chroma[csp].copy_pp[partEnum](dstCb, dstStride, refCb, refStride);
+        primitives.chroma[csp].copy_pp[partEnum](dstCr, dstStride, refCr, refStride);
     }
     else if (yFrac == 0)
     {
-        primitives.chroma_hpp[partEnum](refCb, refStride, dstCb, dstStride, xFrac);
-        primitives.chroma_hpp[partEnum](refCr, refStride, dstCr, dstStride, xFrac);
+        primitives.chroma[csp].filter_hpp[partEnum](refCb, refStride, dstCb, dstStride, xFrac);
+        primitives.chroma[csp].filter_hpp[partEnum](refCr, refStride, dstCr, dstStride, xFrac);
     }
     else if (xFrac == 0)
     {
-        primitives.chroma_vpp[partEnum](refCb, refStride, dstCb, dstStride, yFrac);
-        primitives.chroma_vpp[partEnum](refCr, refStride, dstCr, dstStride, yFrac);
+        primitives.chroma[csp].filter_vpp[partEnum](refCb, refStride, dstCb, dstStride, yFrac);
+        primitives.chroma[csp].filter_vpp[partEnum](refCr, refStride, dstCr, dstStride, yFrac);
     }
     else
     {
+        int hShift = CHROMA_H_SHIFT(csp);
+        int vShift = CHROMA_V_SHIFT(csp);
+        uint32_t cxWidth = width >> hShift;
+        uint32_t cxHeight = height >> vShift;
         int extStride = cxWidth;
         int filterSize = NTAPS_CHROMA;
         int halfFilterSize = (filterSize >> 1);
 
         primitives.ipfilter_ps[FILTER_H_P_S_4](refCb - (halfFilterSize - 1) * refStride, refStride, m_immedVals, extStride, cxWidth, cxHeight + filterSize - 1, g_chromaFilter[xFrac]);
-        primitives.ipfilter_sp[FILTER_V_S_P_4](m_immedVals + (halfFilterSize - 1) * extStride, extStride, dstCb, dstStride, cxWidth, cxHeight, yFrac);
+        primitives.chroma_vsp(m_immedVals + (halfFilterSize - 1) * extStride, extStride, dstCb, dstStride, cxWidth, cxHeight, yFrac);
 
         primitives.ipfilter_ps[FILTER_H_P_S_4](refCr - (halfFilterSize - 1) * refStride, refStride, m_immedVals, extStride, cxWidth, cxHeight + filterSize - 1, g_chromaFilter[xFrac]);
-        primitives.ipfilter_sp[FILTER_V_S_P_4](m_immedVals + (halfFilterSize - 1) * extStride, extStride, dstCr, dstStride, cxWidth, cxHeight, yFrac);
+        primitives.chroma_vsp(m_immedVals + (halfFilterSize - 1) * extStride, extStride, dstCr, dstStride, cxWidth, cxHeight, yFrac);
     }
 }
 
diff -r 1561d1f1d1da -r e733415996a1 source/Lib/TLibCommon/TComSlice.cpp
--- a/source/Lib/TLibCommon/TComSlice.cpp	Wed Nov 20 14:44:35 2013 -0600
+++ b/source/Lib/TLibCommon/TComSlice.cpp	Thu Nov 21 14:04:10 2013 -0600
@@ -560,7 +560,7 @@ TComVPS::~TComVPS()
 TComSPS::TComSPS()
     : m_SPSId(0)
     , m_VPSId(0)
-    , m_chromaFormatIdc(CHROMA_420)
+    , m_chromaFormatIdc(X265_CSP_I420)
     , m_maxTLayers(1)
 // Structure
     , m_picWidthInLumaSamples(352)
diff -r 1561d1f1d1da -r e733415996a1 source/Lib/TLibCommon/TComSlice.h
--- a/source/Lib/TLibCommon/TComSlice.h	Wed Nov 20 14:44:35 2013 -0600
+++ b/source/Lib/TLibCommon/TComSlice.h	Thu Nov 21 14:04:10 2013 -0600
@@ -779,17 +779,17 @@ private:
     int         m_VPSId;
     int         m_chromaFormatIdc;
 
-    uint32_t        m_maxTLayers;         // maximum number of temporal layers
+    uint32_t    m_maxTLayers;         // maximum number of temporal layers
 
     // Structure
-    uint32_t        m_picWidthInLumaSamples;
-    uint32_t        m_picHeightInLumaSamples;
+    uint32_t    m_picWidthInLumaSamples;
+    uint32_t    m_picHeightInLumaSamples;
 
     int         m_log2MinCodingBlockSize;
     int         m_log2DiffMaxMinCodingBlockSize;
-    uint32_t        m_maxCUWidth;
-    uint32_t        m_maxCUHeight;
-    uint32_t        m_maxCUDepth;
+    uint32_t    m_maxCUWidth;
+    uint32_t    m_maxCUHeight;
+    uint32_t    m_maxCUDepth;
 
     Window      m_conformanceWindow;
 
@@ -799,13 +799,13 @@ private:
     int         m_numReorderPics[MAX_TLAYER];
 
     // Tool list
-    uint32_t        m_quadtreeTULog2MaxSize;
-    uint32_t        m_quadtreeTULog2MinSize;
-    uint32_t        m_quadtreeTUMaxDepthInter;
-    uint32_t        m_quadtreeTUMaxDepthIntra;
+    uint32_t    m_quadtreeTULog2MaxSize;
+    uint32_t    m_quadtreeTULog2MinSize;
+    uint32_t    m_quadtreeTUMaxDepthInter;
+    uint32_t    m_quadtreeTUMaxDepthIntra;
     bool        m_usePCM;
-    uint32_t        m_pcmLog2MaxSize;
-    uint32_t        m_pcmLog2MinSize;
+    uint32_t    m_pcmLog2MaxSize;
+    uint32_t    m_pcmLog2MinSize;
     bool        m_useAMP;
 
     // Parameter
@@ -816,17 +816,17 @@ private:
 
     bool        m_useLossless;
 
-    uint32_t        m_pcmBitDepthLuma;
-    uint32_t        m_pcmBitDepthChroma;
+    uint32_t    m_pcmBitDepthLuma;
+    uint32_t    m_pcmBitDepthChroma;
     bool        m_bPCMFilterDisableFlag;
 
-    uint32_t        m_bitsForPOC;
-    uint32_t        m_numLongTermRefPicSPS;
-    uint32_t        m_ltRefPicPocLsbSps[33];
+    uint32_t    m_bitsForPOC;
+    uint32_t    m_numLongTermRefPicSPS;
+    uint32_t    m_ltRefPicPocLsbSps[33];
     bool        m_usedByCurrPicLtSPSFlag[33];
 
     // Max physical transform size
-    uint32_t        m_maxTrSize;
+    uint32_t    m_maxTrSize;
 
     int m_iAMPAcc[MAX_CU_DEPTH];
     bool        m_bUseSAO;
@@ -836,8 +836,8 @@ private:
     bool        m_scalingListEnabledFlag;
     bool        m_scalingListPresentFlag;
     TComScalingList* m_scalingList; //!< ScalingList class pointer
-    uint32_t        m_maxDecPicBuffering[MAX_TLAYER];
-    uint32_t        m_maxLatencyIncrease[MAX_TLAYER]; // Really max latency increase plus 1 (value 0 expresses no limit)
+    uint32_t    m_maxDecPicBuffering[MAX_TLAYER];
+    uint32_t   m_maxLatencyIncrease[MAX_TLAYER]; // Really max latency increase plus 1 (value 0 expresses no limit)
 
     bool        m_useDF;
     bool        m_useStrongIntraSmoothing;
diff -r 1561d1f1d1da -r e733415996a1 source/Lib/TLibCommon/TComYuv.cpp
--- a/source/Lib/TLibCommon/TComYuv.cpp	Wed Nov 20 14:44:35 2013 -0600
+++ b/source/Lib/TLibCommon/TComYuv.cpp	Thu Nov 21 14:04:10 2013 -0600
@@ -146,8 +146,8 @@ void TComYuv::copyToPicChroma(TComPicYuv
     uint32_t srcstride = getCStride();
     uint32_t dststride = destPicYuv->getCStride();
 
-    primitives.chroma_copy_pp[m_csp][part](dstU, dststride, srcU, srcstride);
-    primitives.chroma_copy_pp[m_csp][part](dstV, dststride, srcV, srcstride);
+    primitives.chroma[m_csp].copy_pp[part](dstU, dststride, srcU, srcstride);
+    primitives.chroma[m_csp].copy_pp[part](dstV, dststride, srcV, srcstride);
 }
 
 void TComYuv::copyFromPicYuv(TComPicYuv* srcPicYuv, uint32_t cuAddr, uint32_t absZOrderIdx)
@@ -177,8 +177,8 @@ void TComYuv::copyFromPicChroma(TComPicY
     uint32_t dststride = getCStride();
     uint32_t srcstride = srcPicYuv->getCStride();
 
-    primitives.chroma_copy_pp[m_csp][m_part](dstU, dststride, srcU, srcstride);
-    primitives.chroma_copy_pp[m_csp][m_part](dstV, dststride, srcV, srcstride);
+    primitives.chroma[m_csp].copy_pp[m_part](dstU, dststride, srcU, srcstride);
+    primitives.chroma[m_csp].copy_pp[m_part](dstV, dststride, srcV, srcstride);
 }
 
 void TComYuv::copyToPartYuv(TComYuv* dstPicYuv, uint32_t uiDstPartIdx)
@@ -208,8 +208,8 @@ void TComYuv::copyToPartChroma(TComYuv* 
     uint32_t srcstride = getCStride();
     uint32_t dststride = dstPicYuv->getCStride();
 
-    primitives.chroma_copy_pp[m_csp][m_part](dstU, dststride, srcU, srcstride);
-    primitives.chroma_copy_pp[m_csp][m_part](dstV, dststride, srcV, srcstride);
+    primitives.chroma[m_csp].copy_pp[m_part](dstU, dststride, srcU, srcstride);
+    primitives.chroma[m_csp].copy_pp[m_part](dstV, dststride, srcV, srcstride);
 }
 
 void TComYuv::copyPartToYuv(TComYuv* dstPicYuv, uint32_t partIdx)
@@ -244,8 +244,8 @@ void TComYuv::copyPartToChroma(TComYuv* 
     uint32_t srcstride = getCStride();
     uint32_t dststride = dstPicYuv->getCStride();
 
-    primitives.chroma_copy_pp[m_csp][part](dstU, dststride, srcU, srcstride);
-    primitives.chroma_copy_pp[m_csp][part](dstV, dststride, srcV, srcstride);
+    primitives.chroma[m_csp].copy_pp[part](dstU, dststride, srcU, srcstride);
+    primitives.chroma[m_csp].copy_pp[part](dstV, dststride, srcV, srcstride);
 }
 
 void TComYuv::copyPartToPartYuv(TComYuv* dstPicYuv, uint32_t partIdx, uint32_t width, uint32_t height, bool bLuma, bool bChroma)
@@ -304,8 +304,8 @@ void TComYuv::copyPartToPartChroma(TComY
     uint32_t srcstride = getCStride();
     uint32_t dststride = dstPicYuv->getCStride();
 
-    primitives.chroma_copy_pp[m_csp][part](dstU, dststride, srcU, srcstride);
-    primitives.chroma_copy_pp[m_csp][part](dstV, dststride, srcV, srcstride);
+    primitives.chroma[m_csp].copy_pp[part](dstU, dststride, srcU, srcstride);
+    primitives.chroma[m_csp].copy_pp[part](dstV, dststride, srcV, srcstride);
 }
 
 void TComYuv::copyPartToPartChroma(TShortYUV* dstPicYuv, uint32_t partIdx, uint32_t part)
@@ -318,8 +318,8 @@ void TComYuv::copyPartToPartChroma(TShor
     uint32_t srcstride = getCStride();
     uint32_t dststride = dstPicYuv->m_cwidth;
 
-    primitives.chroma_copy_ps[m_csp][part](dstU, dststride, srcU, srcstride);
-    primitives.chroma_copy_ps[m_csp][part](dstV, dststride, srcV, srcstride);
+    primitives.chroma[m_csp].copy_ps[part](dstU, dststride, srcU, srcstride);
+    primitives.chroma[m_csp].copy_ps[part](dstV, dststride, srcV, srcstride);
 }
 
 void TComYuv::copyPartToPartChroma(TComYuv* dstPicYuv, uint32_t partIdx, uint32_t, uint32_t, uint32_t chromaId)
@@ -331,7 +331,7 @@ void TComYuv::copyPartToPartChroma(TComY
         if (srcU == dstU) return;
         uint32_t srcstride = getCStride();
         uint32_t dststride = dstPicYuv->getCStride();
-        primitives.chroma_copy_pp[m_csp][m_part](dstU, dststride, srcU, srcstride);
+        primitives.chroma[m_csp].copy_pp[m_part](dstU, dststride, srcU, srcstride);
     }
     else if (chromaId == 1)
     {
@@ -340,7 +340,7 @@ void TComYuv::copyPartToPartChroma(TComY
         if (srcV == dstV) return;
         uint32_t srcstride = getCStride();
         uint32_t dststride = dstPicYuv->getCStride();
-        primitives.chroma_copy_pp[m_csp][m_part](dstV, dststride, srcV, srcstride);
+        primitives.chroma[m_csp].copy_pp[m_part](dstV, dststride, srcV, srcstride);
     }
     else
     {
@@ -351,8 +351,8 @@ void TComYuv::copyPartToPartChroma(TComY
         if (srcU == dstU && srcV == dstV) return;
         uint32_t srcstride = getCStride();
         uint32_t dststride = dstPicYuv->getCStride();
-        primitives.chroma_copy_pp[m_csp][m_part](dstU, dststride, srcU, srcstride);
-        primitives.chroma_copy_pp[m_csp][m_part](dstV, dststride, srcV, srcstride);
+        primitives.chroma[m_csp].copy_pp[m_part](dstU, dststride, srcU, srcstride);
+        primitives.chroma[m_csp].copy_pp[m_part](dstV, dststride, srcV, srcstride);
     }
 }
 
@@ -366,7 +366,7 @@ void TComYuv::copyPartToPartChroma(TShor
         uint32_t srcstride = getCStride();
         uint32_t dststride = dstPicYuv->m_cwidth;
 
-        primitives.chroma_copy_ps[m_csp][m_part](dstU, dststride, srcU, srcstride);
+        primitives.chroma[m_csp].copy_ps[m_part](dstU, dststride, srcU, srcstride);
     }
     else if (chromaId == 1)
     {


More information about the x265-commits mailing list