Repository navigation
Releases: rasang/filmroom
Release list
Filmroom 0.1.21-beta3
Filmroom 0.1.21-beta3
日期与拍摄参数印字测试版。Android 10+ / arm64-v8a,versionCode 39,沿用 beta2 的正式签名。此包为 Pre-release,正式稳定版仍为 0.1.20.2。
本次更新
- 新增独立日期与拍摄参数印字开关、四种日期样式,以及位置、大小、光晕设置;兼容已支持的照片和片边布局。
- 日期/时间改为 Android 原生选择器。窄屏、大字体及横屏使用紧凑原生滚轮;取消、返回、旋转恢复和未确认选择均经过主机测试。
- 手动日期与时间只用于当前照片的印字,不改写原始照片或拍摄元数据。缺少拍摄时间时不拿导出时间或当前时间补造;选择时间时保留已有秒数,首次手动选择使用00秒。
- 增加日期参数区间距,修正中文原生日期标题的本地化。
- 包含此前已完成的 M10-R DNG 恒等查找表兼容修复,保留 beta2 的 RAW 修复和原资源上限。
验证
- 最终源码完整 Android Host 套件:220 套件、1176 项,1117 通过、59 条件跳过、0 失败/错误。
- 日期印字专项57/57通过。原始窗口在截图重测前检查,覆盖320dp窄屏、1.5倍字体、横屏、中英文,以及日期/时间选择器双向旋转恢复。
- Release构建成功;Lint 0 Error/Fatal、81 Warning。既有证书、v2/v3签名、16 KiB对齐、ZIP完整性、仅arm64、非debuggable和native库哈希均独立复核。
限制
未在实体Android设备上安装运行此包;主机测试和截图不等于真机验收。59项条件跳过不算实际执行。未宣称所有相机、DNG变体或古代历法逐日支持。
本版没有加入新的iPhone HEIC、Leica Q2兼容修复或实验GPU改动,既有52MP等资源限制保持不变。
请保留重要照片备份,不要为测试先卸载旧版;回退较低versionCode可能受Android限制,覆盖升级也未做真机验证。
APK
Filmroom-0.1.21-beta3-arm64-v8a.apk
26,700,007 bytes
SHA-256: 043fa2c016055b142b2ff73b586e2377b7914da965abc84334dbac4c47106bfe
English: This ARM64 pre-release adds date/capture-data imprints and native date/time controls with compact layouts and app-locale headers. Final host tests: 1117 passed, 59 skipped, zero failures. Existing signing identity and release package checks passed. No physical-device validation or new iPhone HEIC/Q2 compatibility is claimed. JNI libraries are rebuilt from the corresponding source and are not committed to Git.
对应源码
Source tree: d3612328e9adb913e22b9431d846e31b577fdcc0,与本地已验包源码树完全一致。仅更新 dev,main 与正式 Latest 保持不变。
Filmroom 0.1.21-beta2
Filmroom 0.1.21-beta2
RAW 修复先行 Pre-release,Android 10+ / arm64-v8a,versionCode 38,沿用原正式签名。不含印字功能或新的实验 GPU;main 与正式 Latest 保持 0.1.20.2,beta1 保留。
相对 beta1 的修复
- Leica M8 8-bit CFA DNG:正确应用完整 256 项线性化表,再进行黑白电平与颜色处理。不使用内嵌 JPEG 代替 RAW。
- Leica M240 大尺寸单条带无损 JPEG DNG:修复被旧块预算拒绝、提示内存不足的问题。使用有界逐行解码和磁盘暂存,不提高原有资源上限;正确使用 JPEG 实际精度而不是 TIFF 容器位数初始化预测器。
- 保留 beta1 的 CR3、ORF/ORI、PEF、通用 DNG 及正式 0.1.20.2 的 Android 17 HEIF 修复。
已完成的验证
- 同一修复实现的原生 release 全目标:188 通过、8 个明确忽略、0 失败。
- M8/M9/M240 传感器归一化值与 LibRaw 解码数据逐项一致;把独立传感器值交给同一显影链,完整 RGB 一致。归一化使用适配器黑白点,并不独立证明黑白点选择或等同厂商 JPEG 风格。
- 旧 NEF/CR2/ARW 及六个跨品牌 DNG 代表样本回归,取消、资源拒绝和清理检查通过。
- 真实 Linux JNI 的 M8/M240 导入、JPEG 导出、方向和源文件不变性验证通过;ARM64 构建及 16 KiB ELF 段对齐通过。
- 本包重新执行 release 构建/lint及独立实际 APK 验包:code38、原证书、v2/v3、ZIP CRC/对齐、两份 native 库与素材匹配。
- 本包没有重新运行完整 Android 主机测试套件。 Android 生产代码相对 beta1 仅版本变化,沿用 beta1 的 1060 通过、58 跳过记录;原生修复由上述专项和完整 native 门禁验证。
限制
尚未在实体 Android 手机上安装或运行此包;主机测试不等于真机验证。 请优先验证原先失败的 DNG。保持既有 52 MP、尺寸、磁盘预算和格式安全边界;可用磁盘不足仍可能被拒绝。未验证 DNG 布局和私有扩展不作全面支持承诺。
原始照片不会被改写,私有照片和衍生图像未上传源码仓库或打入 APK。较低 versionCode 的旧包回退可能受 Android 限制,不要为测试直接卸载以免丢失应用数据。
源码与下载
- Commit: 7d461cf
- Tree: 37db263c11ee43e6a19de43e52212b5d304221ce
- 与已独立验包的隔离源码完全对应:RAW修复 fe9ae425,加 beta2/code38 版本字段。相对已发布 beta1 仅 6 个源码/测试/文档文件变化,不含并行开发中的印字修改。
- APK: Filmroom-0.1.21-beta2-arm64-v8a.apk,26,642,607 bytes
- SHA-256: eb1f900b3ad1321ad24d9d5da2f9cfdffaaf96d514fd3edd0fd9c0fc185cce8b
RAW-only pre-release fixing companded byte-CFA and large lossless-JPEG-strip DNG import. Original signing identity, version code 38. No imprint or experimental GPU changes. Native implementation checks passed; complete Android host tests were not rerun for this package. No physical Android-device validation is claimed. JNI binaries are rebuilt from the published source and are not committed to Git.
下载完整性:SHA256SUMS.txt 对应上面可下载的 APK 与英文文件名说明;SHA256SUMS-original-filenames.txt 保留打包时中文说明文件名的原始校验记录(说明内容完全相同)。
Filmroom 0.1.21-beta1
Filmroom 0.1.21-beta1
公开测试版(Pre-release),正式稳定版仍为 0.1.20.2。Android 10+ / arm64-v8a,versionCode 37,沿用原发行签名。未改动 main。
本次变更
- 新增按文件内容识别和有限内存解码的 Canon CR3、Olympus/OM ORF/ORI、Pentax PEF;不使用内嵌 JPEG 冒充 RAW。
- 扩展 12/14 位打包 CFA DNG 及已验证的无损 JPEG CFA 条带/分块路径,包括 Ricoh、Pentax、Sigma 代表样本;保持跨品牌结构判定,不代表所有机型或 DNG 都支持。
- 保留裁切、黑白电平、方向和已支持的必要 stage-one opcode;加入 CR3 拍摄元数据读取/导出保留、源身份检查、取消及内存/磁盘预算。
- 修正 CRX 受检整数计算并保留 release 溢出检查;正式 0.1.20.2 的 Android 17 HEIF 顺序修复完整保留。没有合入后续实验 GPU。
实际验证
- 同一 RAW 实现已通过完整 native 182 项(8 项明确忽略)及 Android host 1060 项(58 项明确跳过,合计1118项),0失败。
- 5 个 CR3 样本合计 103,271,424 个传感器值与 LibRaw 逐点一致。两个 Pentax DNG 控制样本合计25,887,104个归一化值一致;此 oracle 使用适配器黑白点,不能独立证明黑白点选择。
- 旧 NEF/CR2/ARW 代表样本线性 RGB 哈希不变;真实 Linux release-JNI 三格式导入、JPEG 导出、元数据/方向/源身份检查通过。
- 本包仅在已测 RAW 实现上变更版本字段和文档,复用上述完整回归;本次另执行 release 构建/lint,独立核验版本、ARM64、原证书、v2/v3签名、16 KiB 对齐、ZIP完整性和 native/素材哈希。
已知边界
尚未在实体 Android 手机上安装或运行本包。主机、Linux JNI 与交叉编译不等于真机验证。
不保证厂商 JPEG 色彩或完整 Adobe profile 外观;未验证 CR3 burst/multi-sample、Pentax pixel-shift/HDR/单色、ORF80MP、超过既有5200万编码像素上限及不支持的必要DNG opcode/布局仍拒绝。Leica X2/CL/M9/M10 特殊变体未宣称支持。
安装此 beta 后回退较低 versionCode 可能受 Android 限制;不要为测试直接卸载,卸载可能丢失应用数据。覆盖升级仍未真机验证。
Source and download
- Public commit: 9476ff5
- Source tree: 55f62c89863256eab8cc554e03844d7ccb59034b,逐字节对应已验包本地 db381927(RAW实现8ff45ed5)。
- 仓库内 RELEASE_0_1_21_BETA1.md 保留初次私发验包阶段记录;经授权后,同一源码和同一 APK 现作为此公开 Pre-release 发布。
- APK: Filmroom-0.1.21-beta1-arm64-v8a.apk(26,642,607 bytes)
- SHA-256: 9677ae9d7c34ce8dd245fc9b13140e249afc7b3bf662725e5b62aa2e34c7502f
This public ARM64 pre-release adds bounded CR3/ORF/PEF and generic precision-CFA DNG compatibility on stable 0.1.20.2. No experimental GPU changes. Full implementation tests are reused unchanged; this version's release build, lint and independent APK checks passed. No physical Android-device installation, upgrade or runtime validation is claimed. Source builds must rebuild JNI libraries from the published source; binaries are not committed to Git.
Filmroom 0.1.20.2
Filmroom 0.1.20.2 HEIF 导入修复
正式修复版,基于 0.1.20.1。Android 10+ / ARM64,版本代码 36,沿用原发行签名。不含 GPU、RAW 或其他开发分支的改动。
修复
- 修正上一版临时 HEIF 解码视图的 ipma 属性关联表顺序。Android 17 的 CrabbyAvif 会拒绝没有按 item ID 递增排列的表,这导致上一版在手机上仍然导入失败。
- 只排序属性表条目,不排序 dimg 拼图引用,不移动或重新编码图像数据。每个 item 的属性、ICC、旋转、tile 顺序及原件均保持不变。
- 继续使用原尺寸 SDR 主图,不应用 HDR 增益图,不代表完整 HDR 或所有 HEIF 变体支持。
验证与限制
- 最终冻结源码完整主机测试:210 套、1110 项,1053 通过、57 跳过、0 失败/错误。跳过项不计为通过。
- Lint 0 错误、77 警告;Release 构建通过。APK 原证书、v2/v3 签名、16 KiB 对齐、ZIP/资源/源码一致性及隐私范围均经独立复验。
- Android 17 同 commit 的未修改 CrabbyAvif 解析源码复现了两份旧视图的同一错误;新生产代码生成的两份视图均解析通过。两个文件的差异分别仅有 55 字节,均在 ipma 条目内,编码数据、拼图引用与属性保持一致。
- 这是实际 Android 同源解析器的主机验证,不是目标手机的 ImageDecoder/MediaCodec 全尺寸解码、颜色、安装升级或完整导出实测。目标设备验证仍待完成。
- 原生库与 0.1.20.1 不变;不把本轮主机结果当作新 GPU、RAW 支持或性能证明。源码及 APK 不含用户照片、私有日志或密钥。
English
Stable patch for the HEIF regression in 0.1.20.1. Its temporary primary-only view wrote ipma property associations in primary-first order, which Android 17's CrabbyAvif rejects. This patch orders only that table by item ID. Tile references, coded payloads, per-item properties, ICC, orientation and the original file remain unchanged.
The exact Android 17 parser source rejects both old views and accepts both corrected views. This is a host-side parser test, not a successful target-device ImageDecoder/MediaCodec decode or end-to-end export. SDR-only limitations remain. Version code 36, existing release certificate, no GPU or RAW changes.
下载与源码
- APK: Filmroom-0.1.20.2-arm64-v8a.apk
- SHA-256: 2b12fe367bac5460506e783a564b4061748ca770c1354f97499f6104c60793d0
- 源码提交:aff09aad5d1d9913b4f1d34a96adadcf07f65b79
- SHA256SUMS.txt 随包附上。
- 详细修复范围
Filmroom 0.1.20.1
Filmroom 0.1.20.1 HEIF 导入修复版
基于正式版 0.1.20,Android 10+ / ARM64,版本代码 35,沿用原发行签名。正式修复版,不含独立开发中的 GPU 加速。显示版本采用 0.1.20.1,内部编号递增至 35,可覆盖同签名的 code 34 候选。
修复内容
- 修复带标准 tmap HDR 增益图/替代图的部分 HEIF 在导入前被全局 HDR 属性检查误拒绝的问题。
- 对已验证的原尺寸 SDR 主图生成私有临时解码视图,保留主图/grid/tile 的编码字节、顺序、ICC 和旋转属性。原图不改动,不重新压缩、不改用缩略图、不应用 HDR 增益或 tone-map。
- 临时视图在完成、失败或取消后回收,异常中断的孤儿由启动恢复处理;已有线性工作文件可直接恢复,不重复占用临时 HEIF 空间。
- 按标准结构和数值色彩规则处理,不采用手机品牌或型号白名单。
验证与限制
- 相同应用逻辑的冻结候选已完成完整主机套件:1052 项通过、57 项跳过,0 失败/错误;lint 0 错误、77 警告。
- 正式版仅改版本标识及说明;863个应用代码、测试与资源文件逐字节不变。重新执行lint、Release构建、验签及独立验包,未把旧全量测试冒充为新版本元数据哈希重跑。
- 问题样本的主机 libheif 原图/视图完整像素与 ICC→sRGB LittleCMS 输出一致;另有编码 item、属性及顺序核验。用户照片及私有测试数据不包含在发行文件中。
- APK 原证书、v2/v3 签名、16 KiB 对齐、ZIP/资源及源码一致性已验证,并完成独立审查和验包。
- 尚未在目标 Android 真机完成安装升级、实际 ImageDecoder 全尺寸导入/颜色及完整导出验证。 主机真实 ImageDecoder 的 HEVC probe 仍报 unimplemented;Robolectric 替身测试不代表真机解码成功。
- 仅导入 SDR 底图,不应用或保留 HDR gainmap;输出继续走 SDR 路线。不是完整 HDR、高位深或所有 HEIF 变体支持。
- 原生引擎/codec 二进制与 0.1.20 相同;未重跑完整原生/真实 RAW 压力矩阵。详细范围见更新说明。
English
Stable patch release for standard tmap/gain-map HEIF files with a separately validated SDR primary. A private primary-only container view preserves the original coded image data, tile order, ICC and orientation, while excluding alternate HDR renditions from decoder selection. The original file remains unchanged. This is an SDR compatibility path, not full HDR or universal HEIF support.
The byte-identical application code passed the full host suite: 1052 passed / 57 skipped; lint 0 errors / 77 warnings. Only version metadata and documentation changed afterward, with fresh lint/build/signature verification. The full suite was not rerun under the final metadata hash. Target-device installation, real ImageDecoder full-resolution/color validation and end-to-end export remain untested. No GPU changes. The unchanged release certificate and version code 35 support upgrades from matching signed releases; device upgrade behavior has not been tested.
Download integrity
- APK:
Filmroom-0.1.20.1-arm64-v8a.apk - SHA-256:
e2cb3b53182d8c7c85bc0aed110f1f2e0b738d3f08da135d4db710c99572976e - Source commit:
9dfd615cfdf50bc53e76a3585d84e5b7e1b6bcb3 SHA256SUMS.txtis attached.
Filmroom 0.1.20
Filmroom 0.1.20
正式版,基于已发布的 beta.4 功能。Android 10+ / ARM64,版本代码 33,使用原发行签名。相较 beta.4 仅更新版本标识和发布说明,不新增功能。
相较 0.1.19
- 支持受限的 16 位三通道 LinearRaw 条带 JPEG XL DNG,不代表所有 DNG 或所有机型均受支持。
- 五种中画幅:6×4.5、6×6、6×7、6×9、6×17;九款 120 胶卷对应素材,保留 135 和无边框行为。
- 画幅放入构图栏;单个横竖叠框按钮固定在 135 前,取消/确认背景略矮但不缩小触控区,窄屏大字自动分行。
- 逐款片边编号、箭头和底轨间距修正,Portra 箭头及 400 字重采用审阅后的样式;全部 25 个历史/当前片边版本保留,旧队列兼容。
验证与边界
- 本次完整主机测试:1022 项通过、57 项跳过,0 失败/错误;lint 0 错误、76 警告。
- 190 个有效片边组合的预览/float sRGB8 像素一致性包含在主机测试中。
- APK v2/v3 签名、原证书、16 KiB 对齐、ZIP 完整性及 25 张片边资源已核验;代码和产物经过独立复验。
- 尚未进行 Android 真机安装升级、完整导入到导出和视觉/性能/耗电/发热验收。 未重跑完整原生或真实 RAW 压力矩阵,沿用已验证的 beta.4 原生二进制。不包含独立开发中的 GPU 加速。
- 片边是应用视觉素材,不是精密工厂复刻。中画幅只改裁剪与片边,不改科学引擎 filmFormatMm/光学计算。详细范围与已知边界。
Install / English
ARM64 APK for Android 10 or newer. Version code 33 and the unchanged release certificate permit upgrades from matching fixed-signature releases; physical-device installation/upgrade has not been tested. The functionality matches beta.4, with bounded JPEG XL DNG support, five medium formats, reviewed film-edge artwork and the fixed composition orientation toggle. Only release metadata and documentation change from beta.4.
Full host validation: 1022 passed, 57 skipped; lint 0 errors/76 warnings. No GPU acceleration or physical-device performance claim. The complete native suite and real-RAW stress matrix were not rerun for this promotion. Source builds require rebuilding JNI libraries; they are not committed as binaries.
Download integrity
- APK:
Filmroom-0.1.20-arm64-v8a.apk - SHA-256:
e23cb7e24ac4e4044d52625a8c8fb11570bf8330f2343de5e4a339307f225287 - Source commit:
9dea32489f23db8208ca1d1b1c38dbfb4d44543d SHA256SUMS.txtis attached.
Filmroom 0.1.20-beta.4
中文
这是 dev 分支的测试版,正式版仍为 0.1.19。Android 10+ / arm64-v8a,版本代码 32,沿用原发行签名。
- 构图中的横向/纵向合为一个按钮,固定在 135 前,采用已选择的横竖叠框图标;画幅列表独立横向滚动。
- 竖屏取消/确认的可见背景稍微变矮,宽度、文字和至少 48dp 触控范围保持;窄屏大字体时构图标题和动作自动分行。
- Portra 400 品牌文字调整到与 160/800 接近的视觉字重。数字、箭头、位置、间距、整条底轨及其他胶卷不变;全部 25 张历史/当前片边保留,旧队列继续使用原精确版本。
- 完整主机套件 209 套、1,079 项:1,022 通过、57 跳过,0 失败/错误。中英窄屏、横屏和两倍字体检查通过,当前片边 190 种组合预览/float 一致;Portra 400 另做实际横竖高分辨率成片和限定字块差分核验。
- Lint 0 错误、76 警告,Release 构建通过。签名、版本、16 KiB 对齐、ZIP 完整性、25 张片边和原生库已独立复验。
尚未在真实 Android 设备安装验收。 跳过的测试不计为通过。原生库与 beta.3 相同,本轮没有重跑完整原生/真实 RAW 压力矩阵,也不包含正在开发的 GPU 加速。高分辨率审阅检查的是片边合成器,不等于完整应用导出编码链实测。片边仍是参考重建;这次字重匹配是应用视觉调整,不是工厂字样精密测量。逐款证据和限制。
English
Development pre-release from dev. Stable remains 0.1.19. Android 10+ / ARM64, version code 32, signed with the existing release certificate.
A fixed overlapping-frame orientation toggle replaces the separate Landscape/Portrait choices and stays before the independently scrolling frame list. Portrait Cancel/Confirm pills are slightly shorter without reducing text, width or touch targets. The composition heading stacks when narrow windows and large text require it.
Portra 400 brand lettering now visually matches the approved 160/800 illustrations more closely. Numbered marks, arrows, spacing, the entire lower rail and other stocks remain unchanged. All 25 historical/current assets remain available for exact-version queued exports.
Validation: 1,079 host tests in 209 suites, with 1,022 passed, 57 skipped and zero failures/errors. Current-artwork parity covers 190 supported combinations. Separate Portra 400 landscape/portrait compositions match the float compositor after sRGB8 quantization and restrict all differences to the intended lettering. Lint reports zero errors and 76 warnings. Release build and independent signature, version, alignment, archive, artwork and native-library checks passed.
No physical Android-device validation yet. Skipped tests were not executed. Native libraries are unchanged from beta.3; the full native/real-RAW stress matrix was not rerun. GPU acceleration is not included. High-resolution review PNGs exercise the border compositor rather than the complete app export encoder. The lettering weight is authored application styling, not a factory measurement.
Download and source
Filmroom-0.1.20-beta.4-arm64-v8a.apk · 26,519,727 bytes.
SHA-256: 338f5f9cf8620d394433a5bee5225ea1d746d9e01e2bc11d0665d8a9834ebf21
Filmroom 0.1.20-beta.3
中文
这是 dev 分支的测试版,正式版仍为 0.1.19。Android 10+ / arm64-v8a,版本代码 31,沿用原发行签名。
- 画幅选择直接放入「构图」,与横竖方向、裁切一起取消、确认、撤销和重做;移除界面里的 120 参考说明。
- 更新已审阅的九款 120 片边:补齐已核实的连续片段,用逐款坐标脚本排列底部箭头和数字,并调扁 Portra 160/400/800 箭头。
- 保留 24 张当前与历史素材,按精确版本读取和缓存,旧队列保持原片边。135、无框裁切及原有黑白边框行为保持。
- 完整主机套件 209 套、1,078 项:1,021 通过、57 跳过,0 失败/错误。当前素材的 190 种组合逐像素对照通过;另有高分辨率横竖预览/float 合成与限定箭头差分检查。
- Lint 0 错误、76 警告,Release 构建通过。签名、16 KiB 对齐、版本、ZIP 完整性、24 张片边与原生库已独立复验。
尚未在真实 Android 设备安装验收。 57 项跳过不计为通过,包含显式启用、额外夹具或真实 JNI 检查。本轮没有重跑完整原生/真实 RAW 压力矩阵;原生引擎和编解码器与 beta.2 相同,没有加入 GPU 加速。高分辨率审阅 PNG 检查的是片边合成器,不等于完整应用导出编码链实测。
片边是参考重建,不是工厂精密测量;字体、绝对节距、双侧相位和颜色仍有近似。Provia 保留已审阅的原厂双边示意版式,实际批次可能不同。逐款来源与限制。
English
Development pre-release from dev. Stable remains 0.1.19. Android 10+ / ARM64, version code 31, signed with the existing release certificate.
Frame selection now lives directly in Composition and shares its cancel/confirm/undo transaction. The editor's 120 reference notice is removed while source evidence is retained. Reviewed continuous edge spans, scripted stock-specific lower-rail coordinates and flatter Portra arrows address the reported issues. Exact-version lookup preserves queued output and all 24 historical/current assets.
Validation: 1,078 host tests in 209 suites, with 1,021 passed, 57 skipped and zero failures/errors; 190 current-artwork combinations match the float compositor after sRGB8 quantization. Lint reports zero errors and 76 warnings. Release build and independent signature, version, 16 KiB alignment, archive, asset and native-library verification passed.
No physical Android-device validation yet. Skipped checks were not executed. The full native/real-RAW stress matrix was not rerun. Native libraries are unchanged from beta.2 and GPU acceleration is not included. High-resolution review PNGs exercise the border compositor rather than the complete app export encoder. Edge typography, metric pitch, phase and color remain approximate reference reconstructions.
Download and source
Filmroom-0.1.20-beta.3-arm64-v8a.apk · 26,486,874 bytes.
SHA-256: bb1a2859af82bd73f102788f7da257ad148956cd713d37517de97cdc2010f6b5
Filmroom 0.1.20-beta.2
Filmroom 0.1.20-beta.2
Development pre-release from dev; the latest stable release remains 0.1.19. Android package dev.filmroom, version code 30. ARM64 APK uses the existing release certificate.
新增 / Changes
- 9 款真实存在过 120 规格的彩色胶卷提供 645、6×6、6×7、6×9、6×17 输出画幅,并支持横竖方向。Portra 800 +1/+2 共用同一物理胶卷素材。
- 120 无齿孔;各画幅从同一条连续片边素材取样,不按画幅重新排列文字或添加漏光。
- 更新批准的 135 + 裸 120 模型缩略图;4 款仅 135 型号保留单卷,15 个处理配置共用 13 张物理型号图片。
- 画幅、方向、裁切和片边版本保存到编辑状态与导出队列,预览、导出、扫描缩略图使用同一几何定义。
- 修复公开 dev 分支残留的旧 DNG 适配器编译错误;实际 RAW/DNG 导入仍使用现有 RawInputAdapter,旧测试覆盖保留。
Nine physical color stocks gain 645, 6×6, 6×7, 6×9 and 6×17 presentation frames, including explicit orientation for square frames. Preview, export, history and queued scan thumbnails share frozen format geometry. Approved 135 + bare-120 cartridge artwork is included. Obsolete DNG adapter files left in the previous public source are removed; the active RAW importer and its tests remain.
重要边界 / Important limits
片边为参考重建,不是逐毫米校准的实物扫描。部分胶卷只有局部文字或官方示意图证据,完整编号、间距、两侧相位和颜色并未全部确认。应用内直接显示每款证据限制;不确定内容不当作实物定论。详见 120 画幅与素材说明。
Edges are reference reconstructions, not calibrated scans. Partial photographic evidence and schematic references do not establish complete sequence, spacing, opposite-edge phase or measured color. Stock-specific limits are visible in the app. No light leaks are introduced.
本版修改裁切和片边呈现,不改变颗粒、光晕、光学计算或科学参数 filmFormatMm,不声称实现完整 120 相机光学模拟。标称几何并非某一具体相机实测片门。
This is a crop/frame presentation feature. It does not change grain, halation, optical calculations or scientific film-width settings, and does not claim complete medium-format camera simulation.
验证 / Validation
最终常规主机套件 207 个 suite、1,070 项:1,013 项通过、57 项跳过,0 失败/错误。新增中画幅 5 个 suite 共 16 项全部执行通过,涵盖五画幅双方向、预览/浮点导出逐像素一致性、持久化、队列冻结、选择/旋转/取消/撤销和缩略图。57 项跳过包括显式 opt-in、额外夹具或真实 JNI 测试,未执行不能计为通过。
独立代码和素材审查完成;Lint 0 错误、86 警告,Release 构建通过。签名、版本、16 KiB ZIP 对齐、包内资源与原生库哈希已独立复验。原生库与 beta.1 逐字节相同,本轮未重跑完整原生或真实 RAW 压力矩阵;没有混入 GPU 加速实验。尚未进行真实 Android 设备安装、交互、颜色或性能验收。
Final standard host suite: 1,070 tests in 207 suites, with 1,013 passed, 57 skipped, zero failures/errors. All 16 new medium-format tests ran and passed. Opt-in, fixture-dependent and real-JNI checks among the skipped tests were not executed. Independent code/asset review and APK verification passed. Lint: zero errors, 86 warnings. The complete native/real-RAW stress matrix was not rerun. No GPU acceleration experiment is included. No physical Android-device validation has been completed. Host/Robolectric checks do not constitute a physical-device installation, visual or performance test. Native engine and codecs are unchanged from 0.1.20-beta.1.
APK and source
Filmroom-0.1.20-beta.2-arm64-v8a.apk · 26,202,916 bytes.
SHA-256:
63f7b74002a5fb2bf94b89730f47a1f068572b41ed550a5b8721e0963c7c8efa Filmroom-0.1.20-beta.2-arm64-v8a.apk
Filmroom 0.1.20-beta.1
Filmroom 0.1.20-beta.1
中文
本次测试版集中修复三星 JPEG XL DNG 导入,基于 dev 发布;正式版仍为 0.1.19。版本代码29,Android10+ / arm64-v8a,沿用原签名,可覆盖安装。
- 新增已验证的 DNG1.7、16位三通道 LinearRaw JPEG XL 条带解码,覆盖此次 Galaxy S25 Ultra 样本。采用未修改的官方 libjxl0.12.0,读取完整 RAW 主图,不用内嵌 JPEG 代替。
- 保留整数样本,再进入原有黑白电平、白平衡、双光源矩阵和增益表色彩流程;没有增加JPEG XL层的色彩转换。
- 仅此内容识别的 JPEG XL 路径最高申请384 MiB,仍受系统可用内存和共享并发准入控制。普通DNG128 MiB、相机RAW256 MiB、52MP上限不变;384 MiB不是整个进程内存上限,也不保证所有文件都能导入。
- 包含官方依赖固定源码、校验和与许可证。本次没有混入性能优化实验。
已做验证与边界
- 主机完整整数像素与参考逐样本一致;显影颜色对比最大绝对差1.19×10⁻⁷,未放宽1×10⁻⁶门槛。参考DNG处理独立验证了接入,但位流解码使用同一官方libjxl,不能称作两个独立JXL实现。
- 原生测试95通过、7忽略;Kotlin29项以及实际JNI/Kotlin完整导入、缓存重开、队列源交接、全尺寸JPEG编码等链路通过。正式胶片引擎全流程渲染不包含在这个JNI检查中。
- 最终库重跑5份既有相机/三星RAW,输出与基线一致;另9份旧DNG在较早候选上通过,未冒充最终库全部重跑。
- 测试版版本检查20项通过,Lint零错误。ARM64/x86_64原生构建通过;签名、版本、16KiB对齐、包内文件与许可证已独立复验。
- 尚未在真实安卓手机执行验证。 请用原始DNG测试导入、颜色、放大和完整尺寸导出。不是三星全机型/所有Expert RAW模式支持保证。
- tiled、CFA、浮点、其他位深、alpha/额外通道、动画及未支持的色彩配置仍拒绝;低内存或空间不足也会安全拒绝。
English
This pre-release focuses on Samsung JPEG XL DNG import, published from dev. Stable remains 0.1.19. Version code29, Android10+ / arm64-v8a, with the existing signing certificate for in-place upgrades.
- Adds validated DNG1.7, 16-bit three-channel LinearRaw JPEG XL strip decoding, including the tested Galaxy S25 Ultra sample. Uses unmodified official libjxl0.12.0 and actual full RAW pixels, not an embedded JPEG preview.
- Preserves integer samples before the existing black/white-level, white-balance, dual-illuminant matrix and gain-table pipeline. No additional JPEG XL CMS conversion is requested.
- Only this content-identified route can request up to384 MiB, still subject to available system memory and shared concurrency admission. Ordinary DNG128 MiB, camera RAW256 MiB and the52MP guard remain unchanged. This is not a process-wide RSS guarantee or acceptance promise for every file.
- Includes pinned official dependency sources, checksums and licenses. No optimization experiments are included.
Validation and limitations
- Full integer samples match the reference exactly. Developed-color maximum absolute difference is1.19×10⁻⁷, below the unchanged1×10⁻⁶ threshold. DNG processing is independently checked; bitstream decoding shares official libjxl, so these are not two independent JXL implementations.
- Native tests:95 passed,7 ignored.29 Kotlin checks and a real JNI/Kotlin import/cache-reopen/queue-source-handoff/full-size JPEG-encoding flow passed. This JNI check does not execute the complete film-rendering engine.
- Five existing camera/Samsung RAW samples were rerun on the final library with baseline-identical output. Nine other DNG samples passed on an earlier candidate, not claimed as final-binary reruns.
- Twenty beta version checks passed; Lint reported zero errors. ARM64/x86_64 native builds passed. Signing, version,16KiB alignment, package entries and licenses were independently verified.
- No physical Android-device validation yet. Test original DNG import, colors, zoom and full-size export. This is not blanket Samsung or all Expert RAW mode compatibility.
- Tiled/CFA/floating-point/other-bit-depth/extra-channel/animated inputs and unsupported color profiles remain excluded. Insufficient memory or disk space may safely reject import.
APK
Filmroom-0.1.20-beta.1-arm64-v8a.apk · 26,201,947 bytes.
bcf3cef2df19605c3680cd34a35c1f1ae5b41131621d8dc3a16a5bd32550659c Filmroom-0.1.20-beta.1-arm64-v8a.apk