[x265-commits] [x265] entropy: rename combined CABAC/SBac class to Entropy
Steve Borho
steve at borho.org
Tue Jul 15 05:54:16 CEST 2014
details: http://hg.videolan.org/x265/rev/cff4f6482385
branches:
changeset: 7328:cff4f6482385
user: Steve Borho <steve at borho.org>
date: Thu Jul 10 01:56:37 2014 -0500
description:
entropy: rename combined CABAC/SBac class to Entropy
Subject: [x265] frameencoder: explicit size conversion to avoid MSVC warning
details: http://hg.videolan.org/x265/rev/454a2fc37fee
branches:
changeset: 7329:454a2fc37fee
user: Steve Borho <steve at borho.org>
date: Sun Jul 13 02:32:31 2014 -0500
description:
frameencoder: explicit size conversion to avoid MSVC warning
Subject: [x265] Backed out changeset: cff4f6482385
details: http://hg.videolan.org/x265/rev/406879d25112
branches:
changeset: 7330:406879d25112
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Mon Jul 14 10:47:17 2014 +0530
description:
Backed out changeset: cff4f6482385
This head was accidentally created.
Subject: [x265] Merge, discard accidental push
details: http://hg.videolan.org/x265/rev/6055baa75085
branches:
changeset: 7331:6055baa75085
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Mon Jul 14 10:53:01 2014 +0530
description:
Merge, discard accidental push
Subject: [x265] compress: Fixes fudging in merge costs, stores sa8d costs for bestMergeCU in m_sa8dCost
details: http://hg.videolan.org/x265/rev/5051f1566664
branches:
changeset: 7332:5051f1566664
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sun Jul 13 18:14:05 2014 +0530
description:
compress: Fixes fudging in merge costs, stores sa8d costs for bestMergeCU in m_sa8dCost
Subject: [x265] compress: save inter sa8d costs also in m_sa8dCost
details: http://hg.videolan.org/x265/rev/5bb9ccedb0de
branches:
changeset: 7333:5bb9ccedb0de
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sun Jul 13 18:19:39 2014 +0530
description:
compress: save inter sa8d costs also in m_sa8dCost
Subject: [x265] compress: save intra costs in rd <= 2 also in m_sa8dCost.
details: http://hg.videolan.org/x265/rev/6601a3d01974
branches:
changeset: 7334:6601a3d01974
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sun Jul 13 18:34:13 2014 +0530
description:
compress: save intra costs in rd <= 2 also in m_sa8dCost.
Basically, all sa8d costs are always saved in m_sa8dCost.
Subject: [x265] rest: document lossless coding theory and behavior
details: http://hg.videolan.org/x265/rev/d9e1f9c77ceb
branches:
changeset: 7335:d9e1f9c77ceb
user: Steve Borho <steve at borho.org>
date: Sun Jul 13 09:24:45 2014 -0500
description:
rest: document lossless coding theory and behavior
Subject: [x265] encoder: insert missing comma
details: http://hg.videolan.org/x265/rev/7a41bc257044
branches:
changeset: 7336:7a41bc257044
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Mon Jul 14 15:30:23 2014 +0530
description:
encoder: insert missing comma
Subject: [x265] compress: fix sa8dCost comparisons.
details: http://hg.videolan.org/x265/rev/6fdae4c60b1f
branches:
changeset: 7337:6fdae4c60b1f
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Mon Jul 14 16:11:23 2014 +0530
description:
compress: fix sa8dCost comparisons.
After this patch, all sa8d costs are stored in m_sa8dCost, and RD costs in m_totalRDCost
Subject: [x265] rest: fix lossless white-space, improve --sign-hide
details: http://hg.videolan.org/x265/rev/baa6b00f7491
branches:
changeset: 7338:baa6b00f7491
user: Steve Borho <steve at borho.org>
date: Mon Jul 14 11:20:31 2014 -0500
description:
rest: fix lossless white-space, improve --sign-hide
Subject: [x265] cu: white-space cleanups
details: http://hg.videolan.org/x265/rev/e7037f5914bc
branches:
changeset: 7339:e7037f5914bc
user: Steve Borho <steve at borho.org>
date: Mon Jul 14 12:36:26 2014 -0500
description:
cu: white-space cleanups
Subject: [x265] encoder.cpp, clean-up
details: http://hg.videolan.org/x265/rev/f2195700e1e4
branches:
changeset: 7340:f2195700e1e4
user: Praveen Tiwari
date: Mon Jul 14 11:07:42 2014 +0530
description:
encoder.cpp, clean-up
Subject: [x265] refine block size related, use more log2 domain.
details: http://hg.videolan.org/x265/rev/0af3c5a1782d
branches:
changeset: 7341:0af3c5a1782d
user: Satoshi Nakagawa <nakagawa424 at oki.com>
date: Mon Jul 14 14:50:34 2014 +0900
description:
refine block size related, use more log2 domain.
Subject: [x265] picsym: check m_cuData before trying to destroy array instances
details: http://hg.videolan.org/x265/rev/539e94e7aa34
branches:
changeset: 7342:539e94e7aa34
user: Steve Borho <steve at borho.org>
date: Mon Jul 14 13:31:46 2014 -0500
description:
picsym: check m_cuData before trying to destroy array instances
Subject: [x265] cmake: set SONAME even if no revision number or tag is found (closes #58)
details: http://hg.videolan.org/x265/rev/51b3ff5e88e2
branches:
changeset: 7343:51b3ff5e88e2
user: Steve Borho <steve at borho.org>
date: Mon Jul 14 13:42:37 2014 -0500
description:
cmake: set SONAME even if no revision number or tag is found (closes #58)
Subject: [x265] param: move --input-res parsing to x265_param_parse (closes #63)
details: http://hg.videolan.org/x265/rev/67c7bfda7c28
branches:
changeset: 7344:67c7bfda7c28
user: Steve Borho <steve at borho.org>
date: Mon Jul 14 13:45:51 2014 -0500
description:
param: move --input-res parsing to x265_param_parse (closes #63)
Subject: [x265] slice: remove virtual destructors for slice classes
details: http://hg.videolan.org/x265/rev/e3efe14f4e6a
branches:
changeset: 7345:e3efe14f4e6a
user: Steve Borho <steve at borho.org>
date: Mon Jul 14 13:59:03 2014 -0500
description:
slice: remove virtual destructors for slice classes
we do not want or need vtables for any of these classes
diffstat:
doc/reST/cli.rst | 13 +-
doc/reST/index.rst | 1 +
doc/reST/lossless.rst | 162 ++++
doc/reST/presets.rst | 6 +-
source/CMakeLists.txt | 9 +-
source/Lib/TLibCommon/TComDataCU.cpp | 106 +-
source/Lib/TLibCommon/TComDataCU.h | 8 +-
source/Lib/TLibCommon/TComLoopFilter.cpp | 64 +-
source/Lib/TLibCommon/TComPattern.cpp | 29 +-
source/Lib/TLibCommon/TComPattern.h | 3 +-
source/Lib/TLibCommon/TComPicSym.cpp | 17 +-
source/Lib/TLibCommon/TComPrediction.cpp | 35 +-
source/Lib/TLibCommon/TComPrediction.h | 6 +-
source/Lib/TLibCommon/TComRom.cpp | 25 +-
source/Lib/TLibCommon/TComRom.h | 52 +-
source/Lib/TLibCommon/TComSlice.h | 23 +-
source/Lib/TLibCommon/TComTrQuant.cpp | 2 +-
source/Lib/TLibEncoder/SyntaxElementWriter.cpp | 138 ---
source/Lib/TLibEncoder/SyntaxElementWriter.h | 94 --
source/Lib/TLibEncoder/TEncCu.cpp | 352 ++++-----
source/Lib/TLibEncoder/TEncCu.h | 18 +-
source/Lib/TLibEncoder/TEncSearch.cpp | 659 +++++++++---------
source/Lib/TLibEncoder/TEncSearch.h | 11 +-
source/PPA/ppaCPUEvents.h | 42 +-
source/common/bitstream.cpp | 18 +
source/common/bitstream.h | 20 +
source/common/common.cpp | 48 +
source/common/common.h | 9 +-
source/common/frame.cpp | 8 +-
source/common/intrapred.cpp | 38 +-
source/common/param.cpp | 30 +-
source/common/primitives.h | 7 +
source/common/shortyuv.cpp | 66 +-
source/common/shortyuv.h | 12 +-
source/encoder/CMakeLists.txt | 2 -
source/encoder/compress.cpp | 242 +++---
source/encoder/cturow.cpp | 34 +-
source/encoder/cturow.h | 18 +-
source/encoder/encoder.cpp | 50 +-
source/encoder/encoder.h | 3 -
source/encoder/entropy.cpp | 233 +-----
source/encoder/entropy.h | 14 +-
source/encoder/frameencoder.cpp | 90 +-
source/encoder/frameencoder.h | 10 +-
source/encoder/framefilter.cpp | 8 +-
source/encoder/framefilter.h | 5 +-
source/encoder/level.cpp | 14 +-
source/encoder/ratecontrol.cpp | 878 ++++++++++++++++++++----
source/encoder/ratecontrol.h | 32 +-
source/encoder/rdcost.h | 2 +-
source/encoder/sei.cpp | 38 +-
source/encoder/sei.h | 48 +-
source/encoder/slicetype.cpp | 4 +-
source/output/y4m.cpp | 4 -
source/output/yuv.cpp | 4 -
source/x265.cpp | 7 +-
source/x265.h | 6 +
57 files changed, 2042 insertions(+), 1835 deletions(-)
diffs (truncated from 8187 to 300 lines):
diff -r cbfe2ac89d41 -r e3efe14f4e6a doc/reST/cli.rst
--- a/doc/reST/cli.rst Thu Jul 10 01:33:35 2014 -0500
+++ b/doc/reST/cli.rst Mon Jul 14 13:59:03 2014 -0500
@@ -520,14 +520,17 @@ Mode decision / Analysis
.. option:: --cu-lossless, --no-cu-lossless
For each CU, evaluate lossless encode (transform and quant bypass)
- as a potential rate distortion optimization. If :option:`--lossless`
- has been specified, all CUs will use this option unconditionally
- regardless of whether this option was seperately enabled. Default
- disabled.
+ as a potential rate distortion optimization. If the global option
+ :option:`--lossless` has been specified, all CUs will be encoded
+ this way unconditionally regardless of whether this option was
+ enabled. Default disabled.
.. option:: --signhide, --no-signhide
- Hide sign bit of one coeff per TU (rdo). Default enabled
+ Hide sign bit of one coeff per TU (rdo). The last sign is implied.
+ This requires analyzing all the coefficients to determine if a sign
+ must be toggled, and then to determine which one can be toggled with
+ the least amount of distortion. Default enabled
Slice decision options
diff -r cbfe2ac89d41 -r e3efe14f4e6a doc/reST/index.rst
--- a/doc/reST/index.rst Thu Jul 10 01:33:35 2014 -0500
+++ b/doc/reST/index.rst Mon Jul 14 13:59:03 2014 -0500
@@ -8,3 +8,4 @@ x265 Documentation
api
threading
presets
+ lossless
diff -r cbfe2ac89d41 -r e3efe14f4e6a doc/reST/lossless.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/reST/lossless.rst Mon Jul 14 13:59:03 2014 -0500
@@ -0,0 +1,162 @@
+Lossless
+--------
+
+Lossless Encoding
+=================
+
+x265 can encode HEVC bitstreams that are entirely lossless (the
+reconstructed images are bit-exact to the source images) by using the
+:option:`--lossless` option. Lossless operation is theoretically
+simple. Rate control, by definition, is disabled and the encoder
+disables all quality metrics since they would only waste CPU cycles.
+Instead, x265 reports only a compression factor at the end of the
+encode.
+
+In HEVC, lossless coding means bypassing both the DCT transforms and
+bypassing quantization (often referred to as transquant bypass). Normal
+predictions are still allowed, so the encoder will find optimal inter or
+intra predictions and then losslessly code the residual (with transquant
+bypass).
+
+All :option:`--preset` options are capable of generating lossless video
+streams, but in general the slower the preset the better the compression
+ratio (and the slower the encode). Here are some examples::
+
+ ./x265 ../test-720p.y4m o.bin --preset ultrafast --lossless
+ ... <snip> ...
+ encoded 721 frames in 238.38s (3.02 fps), 57457.94 kb/s
+
+ ./x265 ../test-720p.y4m o.bin --preset faster --lossless
+ ... <snip> ...
+ x265 [info]: lossless compression ratio 3.11::1
+ encoded 721 frames in 258.46s (2.79 fps), 56787.65 kb/s
+
+ ./x265 ../test-720p.y4m o.bin --preset slow --lossless
+ ... <snip> ...
+ x265 [info]: lossless compression ratio 3.36::1
+ encoded 721 frames in 576.73s (1.25 fps), 52668.25 kb/s
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --lossless
+ x265 [info]: lossless compression ratio 3.76::1
+ encoded 721 frames in 6298.22s (0.11 fps), 47008.65 kb/s
+
+.. Note::
+ In HEVC, only QP=4 is truly lossless quantization, and thus when
+ encoding losslesly x265 uses QP=4 internally in its RDO decisions.
+
+Near-lossless Encoding
+======================
+
+Near-lossless conditions are a quite a bit more interesting. Normal ABR
+rate control will allow one to scale the bitrate up to the point where
+quantization is entirely bypassed (QP <= 4), but even at this point
+there is a lot of SSIM left on the table because of the DCT transforms,
+which are not lossless::
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 40000 --ssim
+ encoded 721 frames in 326.62s (2.21 fps), 39750.56 kb/s, SSIM Mean Y: 0.9990703 (30.317 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 50000 --ssim
+ encoded 721 frames in 349.27s (2.06 fps), 44326.84 kb/s, SSIM Mean Y: 0.9994134 (32.316 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 60000 --ssim
+ encoded 721 frames in 360.04s (2.00 fps), 45394.50 kb/s, SSIM Mean Y: 0.9994823 (32.859 dB)
+
+For the encoder to get over this quality plateau, one must enable
+lossless coding at the CU level with :option:`--cu-lossless`. It tells
+the encoder to evaluate trans-quant bypass as a coding option for each
+CU, and to pick the option with the best rate-distortion
+characteristics.
+
+The :option:`--cu-lossless` option is very expensive, computationally,
+and it only has a positive effect when the QP is extremely low, allowing
+RDO to spend a large amount of bits to make small improvements to
+quality. So this option should only be enabled when you are encoding
+near-lossless bitstreams::
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 40000 --ssim --cu-lossless
+ encoded 721 frames in 500.51s (1.44 fps), 40017.10 kb/s, SSIM Mean Y: 0.9997790 (36.557 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 50000 --ssim --cu-lossless
+ encoded 721 frames in 524.60s (1.37 fps), 46083.37 kb/s, SSIM Mean Y: 0.9999432 (42.456 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 60000 --ssim --cu-lossless
+ encoded 721 frames in 523.63s (1.38 fps), 46552.92 kb/s, SSIM Mean Y: 0.9999489 (42.917 dB)
+
+.. Note::
+ It is not unusual for bitrate to drop as you increase lossless coding.
+ Having "perfectly coded" reference blocks reduces residual in later
+ frames. It is quite possible for a near-lossless encode to spend
+ more bits than a lossless encode.
+
+Enabling psycho-visual rate distortion will improve lossless coding.
+:option:`--psy-rd` influences the RDO decisions in favor of energy
+(detail) preservation over bit cost and results in more blocks being
+losslessly coded. Our psy-rd feature is not yet assembly optimized, so
+this makes the encodes run even slower::
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 40000 --ssim --cu-lossless --psy-rd 1.0
+ encoded 721 frames in 581.83s (1.24 fps), 40112.15 kb/s, SSIM Mean Y: 0.9998632 (38.638 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 50000 --ssim --cu-lossless --psy-rd 1.0
+ encoded 721 frames in 587.54s (1.23 fps), 46284.55 kb/s, SSIM Mean Y: 0.9999663 (44.721 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset medium --bitrate 60000 --ssim --cu-lossless --psy-rd 1.0
+ encoded 721 frames in 592.93s (1.22 fps), 46839.51 kb/s, SSIM Mean Y: 0.9999707 (45.334 dB)
+
+:option:`--cu-lossless` will also be more effective at slower
+presets which perform RDO at more levels and thus may find smaller
+blocks that would benefit from lossless coding::
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --bitrate 40000 --ssim --cu-lossless
+ encoded 721 frames in 12969.25s (0.06 fps), 37331.96 kb/s, SSIM Mean Y: 0.9998108 (37.231 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --bitrate 50000 --ssim --cu-lossless
+ encoded 721 frames in 46217.84s (0.05 fps), 42976.28 kb/s, SSIM Mean Y: 0.9999482 (42.856 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --bitrate 60000 --ssim --cu-lossless
+ encoded 721 frames in 13738.17s (0.05 fps), 43864.21 kb/s, SSIM Mean Y: 0.9999633 (44.348 dB)
+
+And with psy-rd and a slow preset together, very high SSIMs are
+possible::
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --bitrate 40000 --ssim --cu-lossless --psy-rd 1.0
+ encoded 721 frames in 11675.81s (0.06 fps), 37819.45 kb/s, SSIM Mean Y: 0.9999181 (40.867 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --bitrate 50000 --ssim --cu-lossless --psy-rd 1.0
+ encoded 721 frames in 12414.56s (0.06 fps), 42815.75 kb/s, SSIM Mean Y: 0.9999758 (46.168 dB)
+
+ ./x265 ../test-720p.y4m o.bin --preset veryslow --bitrate 60000 --ssim --cu-lossless --psy-rd 1.0
+ encoded 721 frames in 11684.89s (0.06 fps), 43324.48 kb/s, SSIM Mean Y: 0.9999793 (46.835 dB)
+
+
+It's important to note in the end that it is easier (less work) for the
+encoder to encode the video losslessly than it is to encode it
+near-losslessly. If the encoder knows up front the encode must be
+lossless, it does not need to evaluate any lossy coding methods. The
+encoder only needs to find the most efficient prediction for each block
+and then entropy code the residual.
+
+It is not feasible for :option:`--cu-lossless` to turn itself on when
+the encoder determines it is encoding a near-lossless bitstream (ie:
+when rate control nearly disables all quantization) because the feature
+requires a flag to be enabled in the stream headers. At the time the
+stream headers are being coded we do not know whether
+:option:`--cu-lossless` would be a help or a hinder. If very few or no
+blocks end up being coded as lossless, then having the feature enabled
+is a net loss in compression efficiency because it adds a flag that must
+be coded for every CU. So ignoring even the performance aspects of the
+feature, it can be a compression loss if enabled without being used. So
+it is up to the user to only enable this feature when they are coding at
+near-lossless quality.
+
+Transform Skip
+==============
+
+A somewhat related feature, :option:`--tskip` tells the encoder to
+evaluate transform-skip (bypass DCT but with quantization still enabled)
+when coding small intra blocks. This feature is intended to improve the
+coding efficiency of screen content (aka: text on a screen) and is not
+really intended for lossless coding. This feature should only be
+enabled if the content has a lot of very sharp edges in it, and is
+mostly unrelated to lossless coding.
diff -r cbfe2ac89d41 -r e3efe14f4e6a doc/reST/presets.rst
--- a/doc/reST/presets.rst Thu Jul 10 01:33:35 2014 -0500
+++ b/doc/reST/presets.rst Mon Jul 14 13:59:03 2014 -0500
@@ -1,6 +1,8 @@
-*******
+Preset Options
+--------------
+
Presets
-*******
+=======
.. _preset-tune-ref:
diff -r cbfe2ac89d41 -r e3efe14f4e6a source/CMakeLists.txt
--- a/source/CMakeLists.txt Thu Jul 10 01:33:35 2014 -0500
+++ b/source/CMakeLists.txt Mon Jul 14 13:59:03 2014 -0500
@@ -19,7 +19,7 @@ include(CheckSymbolExists)
include(CheckCXXCompilerFlag)
# X265_BUILD must be incremented each time the public API is changed
-set(X265_BUILD 25)
+set(X265_BUILD 26)
configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
"${PROJECT_BINARY_DIR}/x265.def")
configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
@@ -37,7 +37,7 @@ string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR
set(X86_ALIASES x86 i386 i686 x86_64 amd64)
list(FIND X86_ALIASES "${SYSPROC}" X86MATCH)
if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1")
- message(STATUS "Detected x86 system processor")
+ message(STATUS "Detected x86 target processor")
set(X86 1)
add_definitions(-DX265_ARCH_X86=1)
if("${CMAKE_SIZEOF_VOID_P}" MATCHES 8)
@@ -45,7 +45,7 @@ if("${SYSPROC}" STREQUAL "" OR X86MATCH
add_definitions(-DX86_64=1)
endif()
elseif(${SYSPROC} STREQUAL "armv6l")
- message(STATUS "Detected ARM system processor")
+ message(STATUS "Detected ARM target processor")
set(ARM 1)
add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1)
else()
@@ -279,9 +279,10 @@ if(ENABLE_SHARED)
if(UNIX AND NOT APPLE)
set_target_properties(x265-shared PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic,-znoexecstack")
endif()
+ set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD})
if(X265_LATEST_TAG)
# shared library is not installed if a tag is not found
- set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG} SOVERSION ${X265_BUILD})
+ set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG})
install(TARGETS x265-shared
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
diff -r cbfe2ac89d41 -r e3efe14f4e6a source/Lib/TLibCommon/TComDataCU.cpp
--- a/source/Lib/TLibCommon/TComDataCU.cpp Thu Jul 10 01:33:35 2014 -0500
+++ b/source/Lib/TLibCommon/TComDataCU.cpp Mon Jul 14 13:59:03 2014 -0500
@@ -71,7 +71,7 @@ TComDataCU::TComDataCU()
m_baseQp = 0;
m_DataCUMemPool.qpMemBlock = NULL;
m_DataCUMemPool.depthMemBlock = NULL;
- m_DataCUMemPool.cuSizeMemBlock = NULL;
+ m_DataCUMemPool.log2CUSizeMemBlock = NULL;
m_DataCUMemPool.skipFlagMemBlock = NULL;
m_DataCUMemPool.partSizeMemBlock = NULL;
m_DataCUMemPool.predModeMemBlock = NULL;
@@ -101,7 +101,7 @@ bool TComDataCU::initialize(uint32_t num
CHECKED_MALLOC(m_DataCUMemPool.qpMemBlock, char, numPartition * numBlocks);
CHECKED_MALLOC(m_DataCUMemPool.depthMemBlock, uint8_t, numPartition * numBlocks);
- CHECKED_MALLOC(m_DataCUMemPool.cuSizeMemBlock, uint8_t, numPartition * numBlocks);
+ CHECKED_MALLOC(m_DataCUMemPool.log2CUSizeMemBlock, uint8_t, numPartition * numBlocks);
CHECKED_MALLOC(m_DataCUMemPool.skipFlagMemBlock, bool, numPartition * numBlocks);
CHECKED_MALLOC(m_DataCUMemPool.partSizeMemBlock, char, numPartition * numBlocks);
CHECKED_MALLOC(m_DataCUMemPool.predModeMemBlock, char, numPartition * numBlocks);
@@ -153,7 +153,7 @@ void TComDataCU::create(TComDataCU *cu,
m_qp = cu->m_DataCUMemPool.qpMemBlock + index * numPartition;
m_depth = cu->m_DataCUMemPool.depthMemBlock + index * numPartition;
- m_cuSize = cu->m_DataCUMemPool.cuSizeMemBlock + index * numPartition;
+ m_log2CUSize = cu->m_DataCUMemPool.log2CUSizeMemBlock + index * numPartition;
m_skipFlag = cu->m_DataCUMemPool.skipFlagMemBlock + index * numPartition;
m_partSizes = cu->m_DataCUMemPool.partSizeMemBlock + index * numPartition;
m_predModes = cu->m_DataCUMemPool.predModeMemBlock + index * numPartition;
@@ -204,10 +204,10 @@ void TComDataCU::destroy()
m_DataCUMemPool.depthMemBlock = NULL;
}
- if (m_DataCUMemPool.cuSizeMemBlock)
+ if (m_DataCUMemPool.log2CUSizeMemBlock)
{
- X265_FREE(m_DataCUMemPool.cuSizeMemBlock);
- m_DataCUMemPool.cuSizeMemBlock = NULL;
+ X265_FREE(m_DataCUMemPool.log2CUSizeMemBlock);
+ m_DataCUMemPool.log2CUSizeMemBlock = NULL;
}
if (m_DataCUMemPool.cbfMemBlock)
More information about the x265-commits
mailing list