
Thread
2001.03.29 17:02 "Re[2]: Bit depth", by Rainer Wiesenfarth
Hello Andrew,
What is required is a left shift of 5 places which is equivalent to multiplication by 65536/2048=32.
Assuming you have 11 bit data and want to have 16 bit, you should do
out = (in << 5) | (in >> 6);
in -----XXX XXXXXXXX
in << 5 XXXXXXXX XXX00000
in >> 6 -------- ---XXXXX
out XXXXXXXX XXXXXXXX
That gives you both $0000 and $ffff and a good and fast scaling
-- -----------------------------------------------------------------
-- Dipl.-Inform. Rainer Wiesenfarth
-- Inpho GmbH E-mail: Rainer.Wiesenfarth@Inpho.de
-- Smaragdweg 1 Phone : +49 711 22881-10
-- 70174 Stuttgart Fax : +49 711 22881-11
-- Germany URL : http://www.inpho.de