[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