• Manojkumar Bhosale's avatar
    Add MSA optimized ARGB/ABGR/BGRA/RGBA To Y/UV row functions · 54ce8f23
    Manojkumar Bhosale authored
    R=fbarchard@google.com
    BUG=libyuv:634
    
    Performance Gain (vs C auto-vectorized)
    ARGBToYJRow_MSA       - ~3.2x
    ARGBToYJRow_Any_MSA   - ~2.7x
    BGRAToYRow_MSA        - ~3.2x
    BGRAToYRow_Any_MSA    - ~2.7x
    ABGRToYRow_MSA        - ~3.2x
    ABGRToYRow_Any_MSA    - ~2.6x
    RGBAToYRow_MSA        - ~3.1x
    RGBAToYRow_Any_MSA    - ~2.7x
    ARGBToUVJRow_MSA      - ~5.5x
    ARGBToUVJRow_Any_MSA  - ~4.5x
    BGRAToUVRow_MSA       - ~2.1x
    BGRAToUVRow_Any_MSA   - ~2.0x
    ABGRToUVRow_MSA       - ~2.1x
    ABGRToUVRow_Any_MSA   - ~1.9x
    RGBAToUVRow_MSA       - ~2.2x
    RGBAToUVRow_Any_MSA   - ~1.9x
    
    Performance Gain (vs C non-vectorized)
    ARGBToYJRow_MSA       - ~10.9x
    ARGBToYJRow_Any_MSA   -  ~9.2x
    BGRAToYRow_MSA        - ~10.9x
    BGRAToYRow_Any_MSA    -  ~9.3x
    ABGRToYRow_MSA        - ~11.0x
    ABGRToYRow_Any_MSA    -  ~9.3x
    RGBAToYRow_MSA        - ~10.9x
    RGBAToYRow_Any_MSA    -  ~9.1x
    ARGBToUVJRow_MSA      - ~12.4x
    ARGBToUVJRow_Any_MSA  - ~10.5x
    BGRAToUVRow_MSA       -  ~4.7x
    BGRAToUVRow_Any_MSA   -  ~4.4x
    ABGRToUVRow_MSA       -  ~4.7x
    ABGRToUVRow_Any_MSA   -  ~4.5x
    RGBAToUVRow_MSA       -  ~4.8x
    RGBAToUVRow_Any_MSA   -  ~4.4x
    
    Review-Url: https://codereview.chromium.org/2641153003 .
    54ce8f23
convert_from_argb.cc 42.4 KB