summaryrefslogtreecommitdiffstats
path: root/libass/ass_bitmap.c
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2009-06-29 02:46:45 +0200
committerGrigori Goronzy <greg@blackbox>2009-06-29 02:46:45 +0200
commit4aec4ab7b705535859d91fe0df562ec9679a7d40 (patch)
tree13240e98342ac6198f602ea46f539fc886308e8a /libass/ass_bitmap.c
parente8433c6ff67409c55ff005fa3d7a28e52d8ec21b (diff)
downloadlibass-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.c8
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;
}