我的程序在android设备上运行,设备是支持NEON的ARM系统。
起初我使用 libjpeg 将 RGB 图像(800*480)压缩为 jpeg。每张图像的速度约为 70 毫秒,但对我来说太慢了。后来我找到了libjpeg-turbo,似乎它可以提高ARM中的NEON的压缩速度。
但是经过编译和测试,我发现它们的压缩速度几乎一样。并且传递给 tjCompress2 的质量和标志的更改也没有生效。我不知道我的程序中是否有问题或缺少某些东西。下面的代码:
tjhandle _jpegCompressor = tjInitCompress();
tjCompress2(_jpegCompressor, (unsigned char*)in, PARAM_WIDTH,
PARAM_WIDTH*PERSIZE, PARAM_HEIGHT, PERSIZE,
(unsigned char**)&out, (long unsigned int*)outlen, TJSAMP_444, 100,
TJFLAG_FASTDCT);
tjDestroy(_jpegCompressor);
jpeg buffer(out) 由我自己分配和释放。
我使用的 libjpeg-turbo 版本是 1.4.2