在研究 QuickTime File Format,里面涉及到一个 3 x 3 的矩阵用于图像的变换,矩阵的每一个元素用 4 字节保存,具体按照 32-bit fixed-point number
类型编码。
ffmpeg 里面对应的代码是用 ((double) (x)) / (1 << 16)
实现这里的 fixed point
和 double
之间的转换,代码链接:
这里有两个疑问:
- 32-bit fixed-point 的编码规则(二进制表示)具体是什么,在哪里可以找到?
- 怎么理解文档中的
32-bit fixed-point numbers divided as 16.16
和 32-bit fixed-point numbers divided as 2.30
?
望指点迷津~