diff options
author | Sv. Lockal <lockalsash@gmail.com> | 2012-08-08 16:15:26 +0400 |
---|---|---|
committer | Sv. Lockal <lockalsash@gmail.com> | 2012-08-08 16:15:26 +0400 |
commit | 6292fed832241f109b54c47815ce921079bca869 (patch) | |
tree | 22a3655d35dbec2bbbd64f05d4a2bcc1a14a2de5 /source/blender/imbuf/intern/filter.c | |
parent | 572c82e74ea3bd9bfea2df8b4527b37c8ef075db (diff) |
Fix logic error in mipmap filter and refactor scaling routine to lower self cost by ~30%
Diffstat (limited to 'source/blender/imbuf/intern/filter.c')
-rw-r--r-- | source/blender/imbuf/intern/filter.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/imbuf/intern/filter.c b/source/blender/imbuf/intern/filter.c index 7804ee1fdf1..678b2908b96 100644 --- a/source/blender/imbuf/intern/filter.c +++ b/source/blender/imbuf/intern/filter.c @@ -226,24 +226,24 @@ void IMB_filterN(ImBuf *out, ImBuf *in) for (x = 0; x < rowlen; x++) { if (x == 0) { r11 = row1; - r21 = row1; - r31 = row1; + r21 = row2; + r31 = row3; } else { r11 = row1 - 4; - r21 = row1 - 4; - r31 = row1 - 4; + r21 = row2 - 4; + r31 = row3 - 4; } if (x == rowlen - 1) { r13 = row1; - r23 = row1; - r33 = row1; + r23 = row2; + r33 = row3; } else { r13 = row1 + 4; - r23 = row1 + 4; - r33 = row1 + 4; + r23 = row2 + 4; + r33 = row3 + 4; } cp[0] = (r11[0] + 2 * row1[0] + r13[0] + 2 * r21[0] + 4 * row2[0] + 2 * r23[0] + r31[0] + 2 * row3[0] + r33[0]) >> 4; |