Home | History | Annotate | Download | only in codeflinger

Lines Matching defs:sbits

201     int sbits = src.size();
209 if (dbits<=sbits) {
216 if (sbits == 1) {
222 if (dbits % sbits) {
223 MOV(AL, 0, d, reg_imm(s, LSL, dbits-sbits));
224 // d = s << (dbits-sbits);
225 dbits -= sbits;
227 ORR(AL, 0, d, d, reg_imm(d, LSR, sbits));
228 // d |= d >> sbits;
229 dbits -= sbits;
230 sbits *= 2;
235 dbits -= sbits;
237 ORR(AL, 0, d, s, reg_imm(s, LSL, sbits));
238 // d |= d<<sbits;
240 dbits -= sbits;
241 if (sbits*2 < dbits) {
242 sbits *= 2;
257 int sbits = sh - sl;
264 ALOGE_IF(sbits<dbits, "sbits (%d) < dbits (%d) in downshift", sbits, dbits);
266 if (sbits>dbits) {
294 sbits = dbits;
300 const uint32_t mask = ((1<<sbits)-1) << sl;
323 // V * ((1<<dbits)-1) / ((1<<sbits)-1)
324 // V * [(1<<dbits)/((1<<sbits)-1) - 1/((1<<sbits)-1)]
325 // V * [1/((1<<sbits)-1)>>dbits - 1/((1<<sbits)-1)]
326 // V/((1<<(sbits-dbits))-(1>>dbits)) - (V>>sbits)/((1<<sbits)-1)>>sbits
327 // V/((1<<(sbits-dbits))-(1>>dbits)) - (V>>sbits)/(1-(1>>sbits))
329 // By approximating (1>>dbits) and (1>>sbits) to 0:
331 // V>>(sbits-dbits) - V>>sbits
333 // A good approximation is V>>(sbits-dbits),
336 // (V>>(sbits-dbits)<<sbits - V)>>sbits
337 // (V<<dbits - V)>>sbits
338 // (V - V>>dbits)>>(sbits-dbits)
351 const int shift = (GGL_DITHER_BITS - (sbits-dbits));