<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div> </div><pre><br>At 2015-05-12 09:05:36,"Steve Borho" <steve@borho.org> wrote:
>On 05/11, Min Chen wrote:
>> # HG changeset patch
>> # User Min Chen <chenm003@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
</pre><pre> </pre><pre>MinGW GCC 4.9.2 worse than VC, there have lots of memory operators, we have to use VC path</pre><pre> </pre></div>