[x265] [PATCH] framefilter: remove heap corruption in tld

Aarthi Priya Thirumalai aarthi at multicorewareinc.com
Wed Jul 2 17:03:38 CEST 2014


it has to be in scope of each Frame Encoder since frame can be are encoded
in parallel with no wpp.


On Wed, Jul 2, 2014 at 3:55 PM, Deepthi Nandakumar <
deepthi at multicorewareinc.com> wrote:

> Hmm, I'm wondering doesnt m_tld rightfully belong to Encoder?
>
>
> On Wed, Jul 2, 2014 at 3:39 PM, 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.h Tue Jul 01 14:58:35 2014 -0500
>>>> +++ b/source/encoder/frameencoder.h Wed 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.cpp Tue Jul 01 14:58:35 2014 -0500
>>>> +++ b/source/encoder/framefilter.cpp Wed 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
>>>
>>>
>>
>> _______________________________________________
>> 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/d1fd00e8/attachment.html>


More information about the x265-devel mailing list