Ignore:
Timestamp:
Nov 21, 2017 9:25:11 AM (6 years ago)
Author:
riza
Message:

Close #2065: Update libyuv to fix linker error when building libyuv as dll on Visual Studio 2015.

File:
1 edited

Legend:

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

    r5633 r5699  
    372372  } 
    373373#endif 
     374#if defined(HAS_SCALEROWDOWN34_MSA) 
     375  if (TestCpuFlag(kCpuHasMSA)) { 
     376    if (!filtering) { 
     377      ScaleRowDown34_0 = ScaleRowDown34_Any_MSA; 
     378      ScaleRowDown34_1 = ScaleRowDown34_Any_MSA; 
     379    } else { 
     380      ScaleRowDown34_0 = ScaleRowDown34_0_Box_Any_MSA; 
     381      ScaleRowDown34_1 = ScaleRowDown34_1_Box_Any_MSA; 
     382    } 
     383    if (dst_width % 48 == 0) { 
     384      if (!filtering) { 
     385        ScaleRowDown34_0 = ScaleRowDown34_MSA; 
     386        ScaleRowDown34_1 = ScaleRowDown34_MSA; 
     387      } else { 
     388        ScaleRowDown34_0 = ScaleRowDown34_0_Box_MSA; 
     389        ScaleRowDown34_1 = ScaleRowDown34_1_Box_MSA; 
     390      } 
     391    } 
     392  } 
     393#endif 
    374394#if defined(HAS_SCALEROWDOWN34_SSSE3) 
    375395  if (TestCpuFlag(kCpuHasSSSE3)) { 
     
    803823                            int boxheight, 
    804824                            int x, 
    805                             int, 
     825                            int dx, 
    806826                            const uint16* src_ptr, 
    807827                            uint8* dst_ptr) { 
    808828  int scaleval = 65536 / boxheight; 
    809829  int i; 
     830  (void)dx; 
    810831  src_ptr += (x >> 16); 
    811832  for (i = 0; i < dst_width; ++i) { 
     
    10801101  } 
    10811102#endif 
     1103#if defined(HAS_SCALEFILTERCOLS_MSA) 
     1104  if (TestCpuFlag(kCpuHasMSA) && src_width < 32768) { 
     1105    ScaleFilterCols = ScaleFilterCols_Any_MSA; 
     1106    if (IS_ALIGNED(dst_width, 16)) { 
     1107      ScaleFilterCols = ScaleFilterCols_MSA; 
     1108    } 
     1109  } 
     1110#endif 
    10821111  if (y > max_y) { 
    10831112    y = max_y; 
     
    12781307  } 
    12791308#endif 
     1309#if defined(HAS_SCALEFILTERCOLS_MSA) 
     1310  if (filtering && TestCpuFlag(kCpuHasMSA) && src_width < 32768) { 
     1311    ScaleFilterCols = ScaleFilterCols_Any_MSA; 
     1312    if (IS_ALIGNED(dst_width, 16)) { 
     1313      ScaleFilterCols = ScaleFilterCols_MSA; 
     1314    } 
     1315  } 
     1316#endif 
    12801317  if (!filtering && src_width * 2 == dst_width && x < 0x8000) { 
    12811318    ScaleFilterCols = ScaleColsUp2_C; 
     
    16641701    return; 
    16651702  } 
    1666   if (dst_width == src_width) { 
     1703  if (dst_width == src_width && filtering != kFilterBox) { 
    16671704    int dy = FixedDiv(src_height, dst_height); 
    16681705    // Arbitrary scale vertically, but unscaled vertically. 
     
    16931730    } 
    16941731    if (4 * dst_width == src_width && 4 * dst_height == src_height && 
    1695         filtering != kFilterBilinear) { 
     1732        (filtering == kFilterBox || filtering == kFilterNone)) { 
    16961733      // optimized, 1/4 
    16971734      ScalePlaneDown4_16(src_width, src_height, dst_width, dst_height, 
Note: See TracChangeset for help on using the changeset viewer.