• src/conio/scale.c

    From Deuc┬┐@VERT to Git commit to main/sbbs/master on Fri May 14 11:23:13 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/519520da478586166e0cbe5f
    Modified Files:
    src/conio/scale.c
    Log Message:
    Make a generic odd pointy scaler.

    Since we have all odd numbers thanks to the pointy scaler, and we
    have 2x thanks to xBR, we should now be able to build any integer
    scaling from a combination of those two scalers.

    This, of course, assumes you have enough CPU and RAM to actually
    do the scaling you want... powers of two will likely be the worst
    case for scaling.

    Also, do pointy scaling before xBR.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Fri May 14 16:11:05 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/27980120d384a8180f69ac22
    Modified Files:
    src/conio/scale.c
    Log Message:
    Include the necessary

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Wed May 19 12:55:05 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/176075498ed8cc04b6eb0581
    Modified Files:
    src/conio/scale.c
    Log Message:
    On scale fail, but both buffers back in the pool

    If do_scale ever failed, it would result in graphics buffers not
    returning to the pool, resulting in them never being reused.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu May 20 01:17:03 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/a47c0a08a85fdb9fff8234c5
    Modified Files:
    src/conio/scale.c
    Log Message:
    Declare blend() as inline to eliminate gcc warning

    warning: always_inline function might not be inlinable [-Wattributes]

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu May 20 01:28:27 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/0c28f0192b77c5b42e47a33a
    Modified Files:
    src/conio/scale.c
    Log Message:
    Screw it, if the compiler doesn't optimize it, just use more CPU.

    At least the warnings are gone.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu May 20 20:34:08 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e5207b5673336e23e80c0754
    Modified Files:
    src/conio/scale.c
    Log Message:
    Fix error: `stderr' undeclared (first use in this function)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Apr 30 23:55:12 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/3d8c103ac68b26d823749c94
    Modified Files:
    src/conio/scale.c
    Log Message:
    Fix off-by-one error and increase precision

    Cleans up artifacts in interpolated values nicely.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Mon May 1 09:16:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2d915f2b0149c11b98b68d5d
    Modified Files:
    src/conio/scale.c
    Log Message:
    Scaling optimizations

    Use weight == 0 instead of int == double when deciding to copy pixel
    When interpolating width, do it by column, not row

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Mon Jul 3 22:58:58 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/476f5e8a5f2b11e42c5e19dc
    Modified Files:
    src/conio/scale.c
    Log Message:
    UBSan claims this is undefined behaviour...

    I don't believe them, but I'll fix it anyway.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net