问题标签 [turbojpeg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
532 浏览

performance - TurboJpeg:没有速度改进

我在 64 位 CentOS 6.4 机器上。我有一个简单的基准,可以将 JPEG 读入内存或写入 JPEG。我以前使用的是 libjpeg。现在,我安装了 TurboJpeg,重新编译,我没有看到性能提升。我重新链接到 libturbojpeg,我将 LD_LIBRARY_PATH 更改为指向 libturbo 库所在的位置(在 /opt/libjpeg-turbo 中),我做了我能想到的一切,但性能完全相同。

为什么是这样?

难道我机器上已经在 /usr/lib64 中的 libjpeg.so 文件已经来自 libjpeg-turbo 了吗?这是我唯一能想到的。

但是,我怎么能确定 libjpeg-turbo 没有更快,而且我没有做错什么?

0 投票
3 回答
1682 浏览

c - libjpeg turbo tjCompressFromYUV

我想在 C 中使用 libturbojpeg 将平面 4:2:0 YUV 缓冲区压缩为 jpeg 图像,但我在使用该tjCompressFromYUV()函数时遇到了问题。

这是我的代码:

返回的错误字符串tjGetErrorStr()是“Bogus input colorspace”。

我尝试链接 libturbojpeg 版本 1.4.2 和 1.4.90。

任何帮助将不胜感激,

谢谢

0 投票
1 回答
771 浏览

jpeg - libjpeg-turbo的压缩速度和我程序中的libjpeg没有区别

我的程序在android设备上运行,设备是支持NEON的ARM系统。

起初我使用 libjpeg 将 RGB 图像(800*480)压缩为 jpeg。每张图像的速度约为 70 毫秒,但对我来说太慢了。后来我找到了libjpeg-turbo,似乎它可以提高ARM中的NEON的压缩速度。

但是经过编译和测试,我发现它们的压缩速度几乎一样。并且传递给 tjCompress2 的质量和标志的更改也没有生效。我不知道我的程序中是否有问题或缺少某些东西。下面的代码:

jpeg buffer(out) 由我自己分配和释放。

我使用的 libjpeg-turbo 版本是 1.4.2

0 投票
1 回答
359 浏览

c - 来自 libjpeg-turbo-1.5.1-vc.exe 的 TurboJPEG API 产生错误的输出

我在 Visual Studio 2015 中用 C 语言编写了一个测试程序,用于测试 libjpeg-turbo TurboJPEG-API。

在这个测试程序中,我生成一个 800x800 RGB 像素的图像并将其写入磁盘。当我使用TJSAMP_GRAYtjCompress2功能时,磁盘上生成的图像看起来不错:

libjpeg-turbo 1.5.1 版 TurboJPEG API 的 TJSAMP_GRAY 输出。

当我改用图像时TJSAMP_444,图像看起来很奇怪:

TJSAMP_444 来自 libjpeg-turbo 版本 1.5.1 的 TurboJPEG API 输出。

但是,这两个图像都无法在 Adob​​e Photoshop 中打开,而是在 MS-Paint、Chrome 或 Internet Explorer 中打开。TJSAMP_GRAY除了产生奇怪的图像之外的所有其他选项,质量设置为 100TJSAMP_GRAY会产生奇怪的输出。(这篇文章中的图像是通过屏幕截图复制的,并保存为 png 以用于较小的数据。)turbojpeg.dll我还通过 P-Invoke使用该库编写了一个 C#-Program 。该程序正在产生有效的输出。

问:我的错在哪里?

有问题的源代码:

为了完整起见,测试 C# 源代码可以正常工作:

0 投票
1 回答
432 浏览

turbojpeg - turbojpeg 的 tjDecompressToYUV2 数据格式

我想使用 turbo jpeg 将 JPEG 图像转换为 Y'UV420p。我认为这使用了一些 2x2 块,其中 Y' 中的信息是 U 和 V 组件中的信息的两倍,但我无法找到这样做的示例。

如何从 tjDecompressToYUV2 中提取这些单独的组件以及为尺寸为 2 的倍数的图像分配的缓冲区格式是什么?

假设我有一个 1024 宽 x 512 像素高的图像。如何从以下代码中提取每个 Y' U 和 V 值:

IE。如何从缓冲区中提取组件?

0 投票
1 回答
149 浏览

jpeg - 如何强制 ROScompressed_image_transport 使用 libturbojpeg 进行 jpeg 压缩?

在我的 Jetson Xavier 中,可以使用 see 'libjpegturbo' 库。如何制作compressed_image_transport 插件以使用'turbojpeg' 库以获得良好的压缩级别。

以下是ldconfig.. 在此处输入图像描述

0 投票
1 回答
56 浏览

jpeg - libjpeg 中的“CCIR601_sampling”是什么?

正如标题所述:libjpeg 中的 thejpeg_compress_struct和 the jpeg_decompress_structin 都有一个如下定义的字段:

我很难弄清楚这意味着什么,或者应该如何使用它。如果您尝试将此标志设置为true,用于压缩或解压缩,libjpeg 将简单地触发致命错误并显示此消息:

“还”很有趣,因为这种方式已经有 20 多年了,至少回到 libjpeg62。

那么,CCIR601_sampling 应该做什么呢?它是作为用户可设置的压缩、解压缩参数,还是两者兼而有之?它是否存储为文件格式的一部分?为什么它从未真正实施过?

0 投票
0 回答
90 浏览

c++ - 为什么使用 TurboJPEG 将 JPEG 解压为 BMP 比 OpencV 慢?

理论上使用 turbojpeg 更快,但我的测试结果恰恰相反。结果:

使用 OpenCV imencode:38.78 毫秒

使用涡轮解压:87.5 毫秒

以下是我的代码:

这是主要功能

Libjpeg-turbo 被官方证明要快 2 到 6 倍。 https://libjpeg-turbo.org/About/Performance