blob: a9d209d77860b1d92bee9bc30adecdaf85a8c5b2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -30,7 +30,7 @@
mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD)
# X265_BUILD must be incremented each time the public API is changed
-set(X265_BUILD 51)
+set(X265_BUILD 52)
configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
"${PROJECT_BINARY_DIR}/x265.def")
configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
diff --git a/source/common/param.cpp b/source/common/param.cpp
--- a/source/common/param.cpp
+++ b/source/common/param.cpp
@@ -1183,7 +1183,7 @@
uint32_t maxLog2CUSize = (uint32_t)g_log2Size[param->maxCUSize];
uint32_t minLog2CUSize = (uint32_t)g_log2Size[param->minCUSize];
- if (g_ctuSizeConfigured || ATOMIC_INC(&g_ctuSizeConfigured) > 1)
+ if (ATOMIC_INC(&g_ctuSizeConfigured) > 1)
{
if (g_maxCUSize != param->maxCUSize)
{
diff --git a/source/encoder/api.cpp b/source/encoder/api.cpp
--- a/source/encoder/api.cpp
+++ b/source/encoder/api.cpp
@@ -177,15 +177,18 @@
encoder->printSummary();
encoder->destroy();
delete encoder;
+ ATOMIC_DEC(&g_ctuSizeConfigured);
}
}
extern "C"
void x265_cleanup(void)
{
- BitCost::destroy();
- CUData::s_partSet[0] = NULL; /* allow CUData to adjust to new CTU size */
- g_ctuSizeConfigured = 0;
+ if (!g_ctuSizeConfigured)
+ {
+ BitCost::destroy();
+ CUData::s_partSet[0] = NULL; /* allow CUData to adjust to new CTU size */
+ }
}
extern "C"
|