Ignore:
Timestamp:
Jul 28, 2017 2:51:44 AM (7 years ago)
Author:
nanang
Message:

Re #2004: Update libyuv version from libyuv git master repo dated 27 July 2017, the compile errors on old gcc versions issue persists though.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/yuv/source/compare_common.cc

    r5358 r5633  
    1717extern "C" { 
    1818#endif 
     19 
     20#if ORIGINAL_OPT 
     21uint32 HammingDistance_C(const uint8* src_a, const uint8* src_b, int count) { 
     22  uint32 diff = 0u; 
     23 
     24  int i; 
     25  for (i = 0; i < count; ++i) { 
     26    int x = src_a[i] ^ src_b[i]; 
     27    if (x & 1) 
     28      ++diff; 
     29    if (x & 2) 
     30      ++diff; 
     31    if (x & 4) 
     32      ++diff; 
     33    if (x & 8) 
     34      ++diff; 
     35    if (x & 16) 
     36      ++diff; 
     37    if (x & 32) 
     38      ++diff; 
     39    if (x & 64) 
     40      ++diff; 
     41    if (x & 128) 
     42      ++diff; 
     43  } 
     44  return diff; 
     45} 
     46#endif 
     47 
     48// Hakmem method for hamming distance. 
     49uint32 HammingDistance_C(const uint8* src_a, const uint8* src_b, int count) { 
     50  uint32 diff = 0u; 
     51 
     52  int i; 
     53  for (i = 0; i < count - 3; i += 4) { 
     54    uint32 x = *((uint32*)src_a) ^ *((uint32*)src_b); 
     55    uint32 u = x - ((x >> 1) & 0x55555555); 
     56    u = ((u >> 2) & 0x33333333) + (u & 0x33333333); 
     57    diff += ((((u + (u >> 4)) & 0x0f0f0f0f) * 0x01010101) >> 24); 
     58    src_a += 4; 
     59    src_b += 4; 
     60  } 
     61  return diff; 
     62} 
    1963 
    2064uint32 SumSquareError_C(const uint8* src_a, const uint8* src_b, int count) { 
Note: See TracChangeset for help on using the changeset viewer.