diff options
author | Grigori Goronzy <greg@blackbox> | 2009-06-29 02:46:45 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2009-06-29 02:46:45 +0200 |
commit | 4aec4ab7b705535859d91fe0df562ec9679a7d40 (patch) | |
tree | 13240e98342ac6198f602ea46f539fc886308e8a /libass/ass_bitmap.c | |
parent | e8433c6ff67409c55ff005fa3d7a28e52d8ec21b (diff) | |
download | libass-4aec4ab7b705535859d91fe0df562ec9679a7d40.tar.bz2 libass-4aec4ab7b705535859d91fe0df562ec9679a7d40.tar.xz |
shift_bitmap: do not rely on compiler optimizations
Do not rely on the compiler for optimizing a division into a shift.
Diffstat (limited to 'libass/ass_bitmap.c')
-rw-r--r-- | libass/ass_bitmap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index d7573ef..16d2b35 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -285,7 +285,7 @@ static void shift_bitmap(unsigned char *buf, int w, int h, int shift_x, if (shift_x > 0) { for (y = 0; y < h; y++) { for (x = w - 1; x > 0; x--) { - b = (buf[x + y * w - 1] * shift_x) / 64; + b = (buf[x + y * w - 1] * shift_x) >> 6; buf[x + y * w - 1] -= b; buf[x + y * w] += b; } @@ -294,7 +294,7 @@ static void shift_bitmap(unsigned char *buf, int w, int h, int shift_x, shift_x = -shift_x; for (y = 0; y < h; y++) { for (x = 0; x < w - 1; x++) { - b = (buf[x + y * w + 1] * shift_x) / 64; + b = (buf[x + y * w + 1] * shift_x) >> 6; buf[x + y * w + 1] -= b; buf[x + y * w] += b; } @@ -305,7 +305,7 @@ static void shift_bitmap(unsigned char *buf, int w, int h, int shift_x, if (shift_y > 0) { for (x = 0; x < w; x++) { for (y = h - 1; y > 0; y--) { - b = (buf[x + (y - 1) * w] * shift_y) / 64; + b = (buf[x + (y - 1) * w] * shift_y) >> 6; buf[x + (y - 1) * w] -= b; buf[x + y * w] += b; } @@ -314,7 +314,7 @@ static void shift_bitmap(unsigned char *buf, int w, int h, int shift_x, shift_y = -shift_y; for (x = 0; x < w; x++) { for (y = 0; y < h - 1; y++) { - b = (buf[x + (y + 1) * w] * shift_y) / 64; + b = (buf[x + (y + 1) * w] * shift_y) >> 6; buf[x + (y + 1) * w] -= b; buf[x + y * w] += b; } |