#ppm #flipnote #flipnotestudio #nintendo-dsi #nintendo-hacking

nightly app para-cli

Flipnote Studios .ppm 动画格式的解码器和实用工具

1 个不稳定版本

0.1.0 2022年3月23日

#1120编码

MIT 许可证

31KB
564

🗃 para

是什么?

Flipnote Studios .ppm 动画格式的解码器和实用工具。

为什么这个实现比原始版本好?

这个实现是

  • 显著更快,
  • 使用安全的Rust实现(一种具有严格类型检查的语言!),
  • 并且正在积极更新。

速度

在一个包含二百四十四帧的 .ppm 基准测试中,在十二核心、二十四线程的Ryzen 9处理器上运行命令 $ para ./benchmark.ppm gif benchmark.gif,para平均耗时566.9893毫秒,而 ppm-parser平均耗时50.4171397秒。

在十二核心、二十四线程的Ryzen 9处理器上运行命令 $ para ./benchmark.ppm 0 benchmark.png,para平均耗时8.6251毫秒,而 ppm-parser平均耗时358.2232毫秒。

然而,Rust与Python之间的比较并不公平,但这个基准测试展示了para带来的速度提升。

未来计划

  • 支持其他格式(特别是 .kwz
  • 在这里和那里进行优化
  • 更友好的CLI
  • 可能的GUI

启动并运行

安装

适用于基于x86_64的Linux系统和Windows的预构建二进制文件可在发布中找到。如果您使用的是不同的操作系统或架构,例如macOS,您将需要自行构建和安装此工具!

$ cargo install --git https://github.com/Usugata/para --branch main

如果您正在自行构建和安装,您必须已安装Rust

用法

usage:  para <in> <index option> <out>
index options:
        gif
        thumb
        dump
        integer(u16)

示例

  • $ para ./example.ppm 23 example.png 将输出 example.ppm 的第二十四帧到 example.png
  • $ para ./example.ppm thumb example.png 将输出 example.ppm 的缩略图到 example.png
  • $ para ./example.ppm dump example.json 将输出 example.ppm 的元数据到 example.json
  • $ para ./example.ppm gif example.gif 将输出 example.ppmexample.gif

预编译的二进制文件

最新版本的预编译二进制文件可能或可能无法在这里找到。

致谢

许可证

MIT许可证

依赖

~18–28MB
~251K SLoC