<div dir="ltr">it has to be in scope of each Frame Encoder since frame can be are encoded in parallel with no wpp. </div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 2, 2014 at 3:55 PM, Deepthi Nandakumar <span dir="ltr"><<a href="mailto:deepthi@multicorewareinc.com" target="_blank">deepthi@multicorewareinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hmm, I'm wondering doesnt m_tld rightfully belong to Encoder? <br></div><div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 2, 2014 at 3:39 PM, Aarthi Priya Thirumalai <span dir="ltr"><<a href="mailto:aarthi@multicorewareinc.com" target="_blank">aarthi@multicorewareinc.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> <div>Exactly that!  make FrameEncoder::m_tld a public member for framefilter to access, use it in when Wpp is disabled. </div>


</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 2, 2014 at 2:25 PM, Deepthi Nandakumar <span dir="ltr"><<a href="mailto:deepthi@multicorewareinc.com" target="_blank">deepthi@multicorewareinc.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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?<br>



</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>

On Wed, Jul 2, 2014 at 2:20 PM, Aarthi Priya Thirumalai <span dir="ltr"><<a href="mailto:aarthi@multicorewareinc.com" target="_blank">aarthi@multicorewareinc.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><div>

<div dir="ltr">sry, Thg client didnt sync the changes properly for the previous commit. here is the right one <div><br></div><div><div><div># HG changeset patch</div><div># User Aarthi Thirumalai</div><div># Date 1404290172 -19800</div>






<div>#      Wed Jul 02 14:06:12 2014 +0530</div></div><div># Node ID a5a439242bbf367f5d76356b841cfa1ee9e119e4</div><div><div># Parent  a18972fd05b1d6242a881bef979b9e1ff17543d9</div><div>framefilter: remove heap corruption in tld</div>






<div><br></div></div><div>diff -r a18972fd05b1 -r a5a439242bbf source/encoder/frameencoder.h</div><div><div>--- a/source/encoder/frameencoder.h<span style="white-space:pre-wrap">      </span>Tue Jul 01 14:58:35 2014 -0500</div>





<div>+++ b/source/encoder/frameencoder.h<span style="white-space:pre-wrap">       </span>Wed Jul 02 14:06:12 2014 +0530</div>
</div><div>@@ -171,7 +171,7 @@</div><div>     uint32_t                 m_checksum[3];</div><div>     double                   m_elapsedCompressTime; // elapsed time spent in worker threads</div><div>     double                   m_frameTime;           // wall time from frame start to finish</div>






<div>-</div><div>+    ThreadLocalData          m_tld;</div><div>     volatile bool            m_bAllRowsStop;</div><div>     volatile int             m_vbvResetTriggerRow;</div><div><div> </div><div>@@ -191,7 +191,6 @@</div>





<div>
     Bitstream*               m_outStreams;</div><div>     NoiseReduction           m_nr;</div><div>     NALList                  m_nalList;</div><div>-    ThreadLocalData          m_tld;</div><div> </div><div>     Frame*                   m_frame;</div>






<div> </div></div><div>diff -r a18972fd05b1 -r a5a439242bbf source/encoder/framefilter.cpp</div><div>--- a/source/encoder/framefilter.cpp<span style="white-space:pre-wrap">       </span>Tue Jul 01 14:58:35 2014 -0500</div><div>





+++ b/source/encoder/framefilter.cpp<span style="white-space:pre-wrap"> </span>Wed Jul 02 14:06:12 2014 +0530</div>
<div>@@ -124,8 +124,7 @@</div><div> void FrameFilter::processRow(int row, const int threadId)</div><div> {</div><div>     PPAScopeEvent(Thread_filterCU);</div><div>-    assert(threadId >= 0);</div><div>-    ThreadLocalData& tld = Encoder::m_threadLocalData[threadId];</div>






<div>+    ThreadLocalData& tld = threadId >= 0 ? Encoder::m_threadLocalData[threadId] : m_frame->m_tld;</div><div> </div><div>     if (!m_param->bEnableLoopFilter && !m_param->bEnableSAO)</div><div>






     {</div></div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 2, 2014 at 2:15 PM,  <span dir="ltr"><<a href="mailto:aarthi@multicorewareinc.com" target="_blank">aarthi@multicorewareinc.com</a>></span> wrote:<br>






<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Aarthi Thirumalai<br>
# Date 1404290172 -19800<br>
#      Wed Jul 02 14:06:12 2014 +0530<br>
# Node ID 69d9bd3eb5bd015d2e0c90d51eec0d7f8a4747d0<br>
# Parent  a18972fd05b1d6242a881bef979b9e1ff17543d9<br>
framefilter: remove heap corruption in tld<br>
<br>
diff -r a18972fd05b1 -r 69d9bd3eb5bd source/encoder/frameencoder.h<br>
--- a/source/encoder/frameencoder.h     Tue Jul 01 14:58:35 2014 -0500<br>
+++ b/source/encoder/frameencoder.h     Wed Jul 02 14:06:12 2014 +0530<br>
@@ -191,7 +191,6 @@<br>
     Bitstream*               m_outStreams;<br>
     NoiseReduction           m_nr;<br>
     NALList                  m_nalList;<br>
-    ThreadLocalData          m_tld;<br>
<br>
     Frame*                   m_frame;<br>
<br>
</blockquote></div><br></div>
</div></div><br></div></div>_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
<br></blockquote></div><br></div>