[x265] [PATCH 4 of 5] reduce conditional operators on c1Flag loop in codeCoeffNxN()

chen chenm003 at 163.com
Tue May 12 03:40:53 CEST 2015


 

At 2015-05-12 09:05:36,"Steve Borho" <steve at borho.org> wrote:
>On 05/11, Min Chen wrote:
>> # HG changeset patch
>> # User Min Chen <chenm003 at 163.com>
>> # Date 1431386748 25200
>> # Node ID a58a6e5bb3c6c4f2541d0dbd77bd35d6f40c2eb7
>> # Parent  d4eda2573100588fb6e32188d592cd648da046e9
>> reduce conditional operators on c1Flag loop in codeCoeffNxN()
>> ---
>>  source/encoder/entropy.cpp |   19 ++++++++++++++-----
>>  1 files changed, 14 insertions(+), 5 deletions(-)
>> 
>> diff -r d4eda2573100 -r a58a6e5bb3c6 source/encoder/entropy.cpp
>> --- a/source/encoder/entropy.cpp	Mon May 11 16:25:45 2015 -0700
>> +++ b/source/encoder/entropy.cpp	Mon May 11 16:25:48 2015 -0700
>> @@ -1769,15 +1769,24 @@
>>              {
>>                  uint32_t symbol = absCoeff[idx] > 1;
>>                  encodeBin(symbol, baseCtxMod[c1]);
>> +
>> +                // TODO: VC can't work fine on below style, but ICL can generate branch free code
>> +#ifdef __INTEL_COMPILER
>> +                if (symbol)
>> +                    c1 = 0;
>> +
>> +                if ((firstC2FlagIdx < 0) & symbol)
>> +                    firstC2FlagIdx = (int)idx;
>> +#else
>
>please also check gcc/mingw for this as well

 
MinGW GCC 4.9.2 worse than VC, there have lots of memory operators, we have to use VC path
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150512/04ec0bb8/attachment.html>


More information about the x265-devel mailing list