[x265] [PATCH] framefilter: assert for threadId only when wpp is on

chen chenm003 at 163.com
Wed Jul 2 17:28:46 CEST 2014


At 2014-07-02 14:38:15,"Steve Borho" <steve at borho.org> wrote:
>On Wed, Jul 2, 2014 at 1:23 AM,  <aarthi at multicorewareinc.com> wrote:
>> # HG changeset patch
>> # User Aarthi Thirumalai
>> # Date 1404282140 -19800
>> #      Wed Jul 02 11:52:20 2014 +0530
>> # Node ID b8b5bfbbbf1be682458ddc115cfb99de921557f3
>> # Parent  a18972fd05b1d6242a881bef979b9e1ff17543d9
>> framefilter: assert for threadId only when wpp is on
>>
>> diff -r a18972fd05b1 -r b8b5bfbbbf1b 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 11:52:20 2014 +0530
>> @@ -124,7 +124,7 @@
>>  void FrameFilter::processRow(int row, const int threadId)
>>  {
>>      PPAScopeEvent(Thread_filterCU);
>> -    assert(threadId >= 0);
>> +    assert(threadId >= 0 || !m_param->bEnableWavefront);
>
>can your turn this into an X265_CHECK? we generally shouldn't be using
>assert anymore.
>
>in this case, the thread ID really does *have* to be positive because
>it is indexing into this array with it, so --no-wpp is quite broken.
>in the frame encoder, we keep a separate TLD instance for --no-wpp;
>the frame filter will need to share it somehow.
>
>>      ThreadLocalData& tld = Encoder::m_threadLocalData[threadId];
>>
>>      if (!m_param->bEnableLoopFilter && !m_param->bEnableSAO)
>> _______________________________________________
We can't bypass these check, it make a logic error.


More information about the x265-devel mailing list