由于HTC将图像存储在专有m10文件中的方法

2020-09-11 10:32:10 来源: INeng财经

目前,使用HTC Sense ROM的用户面临着一个主要问题。由于HTC将图像存储在专有m10文件中的方法,他们无法修改Sense 3.5及更高版本使用的大多数图像。不幸的是,图像没有存储为JPG或PNG。而是使用未知算法对其进行编码。

此前,M10Tools由XDA开发者的认可 Flemmard 和 响尾蛇 将被用于这些图像进行解码。但是,随着Sense 3.5的发布,这不再是一个选择,因为HTC添加了与软件包不兼容的新图像格式。

在尝试解码新图像格式失败后,公认的开发人员和论坛主持人Diamondback决定寻求社区中其他开发人员的帮助,以找到解决M10图像格式问题的解决方案。幸运的是,正在找到解决方案。首先,响尾蛇已经汇编了到目前为止我们所知道的清单:

对于这些图像类型,我们没有任何确凿的事实,但是看看“旧”图像类型,我们可以猜测以下几件事:

图像采用GPU可以直接渲染的格式(例如s3tc,ATC,QTC等)(至少以前是这种情况,可能已更改)

图像最有可能被压缩。假定大小(基于元数据)和实际数据大小之间的比率表示某些压缩。数据本身显然也被压缩了。

没有标题或任何其他帮助。这只是原始数据。

我们不完全了解解码后的图像的实际外观,因此我们无法说出图像的显示方式。但是,由于最新的存档,如果需要,我们“可能”对Sense 3.5和3.6中的图像“了解”。

处理软件方面全部在几个库中,而不是在smali / java中,因此我们无法在此处查找内容,但是我们拥有库,因此,如果有人是汇编程序专业人士,他可能会发现一些东西

那么,哪些图像类型是有问题的呢?由Diamondback编译:

这是我们已经知道的图像类型的列表(请记住,我们不知道数字的来源,可能是本机代码中的一些枚举)

类型4:原始RGB

类型6:原始RGBA(仍经常使用)

类型8:ATC RGB(似乎已不再使用)

类型9:ATC RGBA显式(似乎不再使用)

如您所见,我们得到了WITH和WITHOUT类型的alpha编码。

这是UNKNOWN格式的列表:

类型13(使用方式少于类型14,所以可能没有alpha?)

类型14(这是最常用的类型,因此我假设此类型支持alpha编码)

在考虑数据可能是什么时,不要扔掉诸如“数据是S3TC / ATC /任何数据,但通过某种'常规'压缩算法再次压缩”之类的疯狂想法。也许他们只是用这些类型之上的附加压缩替换了类型8和9。

Diamondback正在寻求文件格式,图像压缩,OpenGL或逆向工程方面经验丰富的所有人的帮助。由于这些努力已经进行了几个月,因此请您多加投入。那些希望加入该项目的人应该直接进入开发线程并伸出援手。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。