Closed GoogleCodeExporter closed 8 years ago
in row_any.cc there are macros to define the odd width functions.
The following are SIMD
ANY31(NAMEANY, I420TORGB_SIMD, UVSHIFT, DUVSHIFT, BPP, MASK)
ANY21(NAMEANY, NV12TORGB_SIMD, UVSHIFT, SBPP, SBPP2, BPP, MASK)
The following still have SIMD+C
ANY11(NAMEANY, ARGBTORGB_SIMD, ARGBTORGB_C, SBPP, BPP, MASK)
ANY11U(NAMEANY, ARGBTORGB_SIMD, ARGBTORGB_C, SBPP, BPP, MASK)
ANY11P(NAMEANY, ARGBTOY_SIMD, ARGBTOY_C, SBPP, BPP, MASK)
ANY12(NAMEANY, ANYTOUV_SIMD, ANYTOUV_C, BPP, SHIFT, MASK)
ANY12S(NAMEANY, ANYTOUV_SIMD, ANYTOUV_C, BPP, MASK)
ANY11T(NAMEANY, TERP_SIMD, TERP_C, SBPP, BPP, MASK)
ANY11M(NAMEANY, MIRROR_SIMD, MIRROR_C, BPP, MASK)
ANY1(NAMEANY, SET_SIMD, SET_C, T, BPP, MASK)
Original comment by fbarch...@google.com
on 17 Jun 2015 at 12:12
Currently C and SIMD dont exactly match for some functions/cpus.
Functions that do odd width use a combination of C and SIMD and can show a
subtle artifact. See this chromoting bug
https://code.google.com/p/chromium/issues/detail?id=493914
Current SIMD any status:
The following are SIMD only
ANY31(NAMEANY, I420TORGB_SIMD, UVSHIFT, DUVSHIFT, BPP, MASK)
ANY21(NAMEANY, NV12TORGB_SIMD, UVSHIFT, SBPP, SBPP2, BPP, MASK)
ANY11(NAMEANY, ARGBTORGB_SIMD, UVSHIFT, SBPP, BPP, MASK)
ANY12(NAMEANY, ANYTOUV_SIMD, UVSHIFT, BPP, DUVSHIFT, MASK)
The following still have C
ANY11P(NAMEANY, ARGBTOY_SIMD, ARGBTOY_C, T, SBPP, BPP, MASK)
ANY12S(NAMEANY, ANYTOUV_SIMD, ANYTOUV_C, BPP, MASK)
ANY11T(NAMEANY, TERP_SIMD, TERP_C, SBPP, BPP, MASK)
ANY11M(NAMEANY, MIRROR_SIMD, MIRROR_C, BPP, MASK)
ANY1(NAMEANY, SET_SIMD, SET_C, T, BPP, MASK)
Original comment by fbarch...@google.com
on 19 Jun 2015 at 6:11
Original comment by phthor...@gmail.com
on 24 Jun 2015 at 1:00
Original issue reported on code.google.com by
fbarch...@chromium.org
on 3 Jun 2015 at 10:38