[x265] [PATCH] framefilter: remove heap corruption in tld
chen
chenm003 at 163.com
Wed Jul 2 17:35:32 CEST 2014
We can reuse [0] everytime, we alloc at least 1 TLD in Encoder::create()
At 2014-07-02 18:09:51,"Aarthi Priya Thirumalai" <aarthi at multicorewareinc.com> wrote:
Exactly that! make FrameEncoder::m_tld a public member for framefilter to access, use it in when Wpp is disabled.
On Wed, Jul 2, 2014 at 2:25 PM, Deepthi Nandakumar <deepthi at multicorewareinc.com> wrote:
The framefilter structure needs ThreadLocalData m_tld, that has to be initialised, and then used if wpp is not enabled. Not sure what you're trying to do here?
On Wed, Jul 2, 2014 at 2:20 PM, Aarthi Priya Thirumalai <aarthi at multicorewareinc.com> wrote:
sry, Thg client didnt sync the changes properly for the previous commit. here is the right one
# HG changeset patch
# User Aarthi Thirumalai
# Date 1404290172 -19800
# Wed Jul 02 14:06:12 2014 +0530
# Node ID a5a439242bbf367f5d76356b841cfa1ee9e119e4
# Parent a18972fd05b1d6242a881bef979b9e1ff17543d9
framefilter: remove heap corruption in tld
diff -r a18972fd05b1 -r a5a439242bbf source/encoder/frameencoder.h
--- a/source/encoder/frameencoder.hTue Jul 01 14:58:35 2014 -0500
+++ b/source/encoder/frameencoder.hWed Jul 02 14:06:12 2014 +0530
@@ -171,7 +171,7 @@
uint32_t m_checksum[3];
double m_elapsedCompressTime; // elapsed time spent in worker threads
double m_frameTime; // wall time from frame start to finish
-
+ ThreadLocalData m_tld;
volatile bool m_bAllRowsStop;
volatile int m_vbvResetTriggerRow;
@@ -191,7 +191,6 @@
Bitstream* m_outStreams;
NoiseReduction m_nr;
NALList m_nalList;
- ThreadLocalData m_tld;
Frame* m_frame;
diff -r a18972fd05b1 -r a5a439242bbf source/encoder/framefilter.cpp
--- a/source/encoder/framefilter.cppTue Jul 01 14:58:35 2014 -0500
+++ b/source/encoder/framefilter.cppWed Jul 02 14:06:12 2014 +0530
@@ -124,8 +124,7 @@
void FrameFilter::processRow(int row, const int threadId)
{
PPAScopeEvent(Thread_filterCU);
- assert(threadId >= 0);
- ThreadLocalData& tld = Encoder::m_threadLocalData[threadId];
+ ThreadLocalData& tld = threadId >= 0 ? Encoder::m_threadLocalData[threadId] : m_frame->m_tld;
if (!m_param->bEnableLoopFilter && !m_param->bEnableSAO)
{
On Wed, Jul 2, 2014 at 2:15 PM, <aarthi at multicorewareinc.com> wrote:
# HG changeset patch
# User Aarthi Thirumalai
# Date 1404290172 -19800
# Wed Jul 02 14:06:12 2014 +0530
# Node ID 69d9bd3eb5bd015d2e0c90d51eec0d7f8a4747d0
# Parent a18972fd05b1d6242a881bef979b9e1ff17543d9
framefilter: remove heap corruption in tld
diff -r a18972fd05b1 -r 69d9bd3eb5bd source/encoder/frameencoder.h
--- a/source/encoder/frameencoder.h Tue Jul 01 14:58:35 2014 -0500
+++ b/source/encoder/frameencoder.h Wed Jul 02 14:06:12 2014 +0530
@@ -191,7 +191,6 @@
Bitstream* m_outStreams;
NoiseReduction m_nr;
NALList m_nalList;
- ThreadLocalData m_tld;
Frame* m_frame;
_______________________________________________
x265-devel mailing list
x265-devel at videolan.org
https://mailman.videolan.org/listinfo/x265-devel
_______________________________________________
x265-devel mailing list
x265-devel at videolan.org
https://mailman.videolan.org/listinfo/x265-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20140702/c250f557/attachment.html>
More information about the x265-devel
mailing list