我已经创建了自己的 DCT 计算。
如何使用 jpeg_write_coefficients
将我的 64 个 DCT 值写入使用 jpeg_write_coefficients
的 JPEG 文件(它需要 jvirt_barray_ptr * coef_arrays
)?
我如何创建它?
最佳答案
四处寻找 request_virt_barray
函数(在 jmemmgr.c
中)。
也看看这个 question .它读取 DCT 系数而不是写入它们,但它应该让您了解系数数组的存储方式。除了系数,您还需要传入量化表(通过 j_compress_ptr cinfo
结构)。这是因为在 libjpeg 库中,前向 DCT 和量化是一步完成的。如果你想自己做前向DCT,你也必须自己做量化。
还值得通读 libjpeg 文档。它很长,但实际上可读性很强,并且会大大提高您对图书馆的理解。最有用的文件是 structure.txt
。它包含可能对您有所帮助的内存管理和编码器结构部分。
关于c++ - libjpeg jpeg_write_coefficients,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949630/