diff --git a/codecs/rotate/rotate.ts b/codecs/rotate/rotate.as similarity index 96% rename from codecs/rotate/rotate.ts rename to codecs/rotate/rotate.as index a8f184c4..b3466b39 100644 --- a/codecs/rotate/rotate.ts +++ b/codecs/rotate/rotate.as @@ -56,7 +56,7 @@ export function rotate(inputWidth: i32, inputHeight: i32, rotate: i32): void { for (let d2 = d2Start; d2 >= 0 && d2 < d2Limit; d2 += d2Advance) { for (let d1 = d1Start; d1 >= 0 && d1 < d1Limit; d1 += d1Advance) { let start = ((d1 * d1Multiplier) + (d2 * d2Multiplier)); - store(offset + i, load(start)); + store(offset + i * 4, load(start * 4)); i += 1; } } diff --git a/codecs/rotate/rotate.wasm b/codecs/rotate/rotate.wasm index 730041fd..a1c76a21 100644 Binary files a/codecs/rotate/rotate.wasm and b/codecs/rotate/rotate.wasm differ diff --git a/codecs/rotate/tsconfig.json b/codecs/rotate/tsconfig.json index c614e5c8..29b04405 100644 --- a/codecs/rotate/tsconfig.json +++ b/codecs/rotate/tsconfig.json @@ -1,6 +1,6 @@ { - "extends": "../node_modules/assemblyscript/std/assembly.json", + "extends": "./node_modules/assemblyscript/std/assembly.json", "include": [ "./**/*.ts" ] -} \ No newline at end of file +} diff --git a/src/codecs/rotate/processor-meta.ts b/src/codecs/rotate/processor-meta.ts index 854bcafa..1b70ccdd 100644 --- a/src/codecs/rotate/processor-meta.ts +++ b/src/codecs/rotate/processor-meta.ts @@ -3,3 +3,10 @@ export interface RotateOptions { } export const defaultOptions: RotateOptions = { rotate: 0 }; + +export interface RotateModuleInstance { + exports: { + memory: WebAssembly.Memory; + rotate(width: number, height: number, rotate: 0 | 90 | 180 | 270): void; + }; +}