使用 libjpeg API 解码 JPEG 图像的辅助类。
NvJPEGDecoder 使用 libjpeg API 解码 JPEG 图像。它支持两种解码方法
DMABUF 并返回其文件描述符 (FD)。malloc)。JPEG 解码器能够解码 YUV420、YUV422 和 YUV444 JPEG 图像。
JCS_YCbCr (YUV420) 色彩空间。定义于文件 86 行 NvJpegDecoder.h。


公共成员函数 | |
| ~NvJPEGDecoder () | |
| int | decodeToFd (int &fd, unsigned char *in_buf, unsigned long in_buf_size, uint32_t &pixfmt, uint32_t &width, uint32_t &height) |
| 将 JPEG 图像解码到硬件缓冲区内存。 更多... | |
| int | decodeToBuffer (NvBuffer **buffer, unsigned char *in_buf, unsigned long in_buf_size, uint32_t *pixfmt, uint32_t *width, uint32_t *height) |
| 将 JPEG 图像解码到软件缓冲区内存。 更多... | |
| virtual int | isInError () |
| 指示元素在其操作期间是否遇到错误。 更多... | |
| void | getProfilingData (NvElementProfiler::NvElementProfilerData &data) |
| 获取元素的性能分析数据。 更多... | |
| void | printProfilingStats (std::ostream &out_stream=std::cout) |
| 将元素的性能分析数据打印到输出流。 更多... | |
| virtual void | enableProfiling () |
| 启用元素的性能分析。 更多... | |
| bool | isProfilingEnabled () |
| 检查是否为元素启用了性能分析。 更多... | |
静态公共成员函数 | |
| static NvJPEGDecoder * | createJPEGDecoder (const char *comp_name) |
| 创建一个名为 comp_name 的新 JPEG 解码器。 更多... | |
受保护的属性 | |
| int | is_in_error |
| 指示元素的操作期间是否遇到错误。 更多... | |
| const char * | comp_name |
| 指定组件的名称,用于调试。 更多... | |
| NvElementProfiler | profiler |
| 元素的性能分析器。 更多... | |
| NvJPEGDecoder::~NvJPEGDecoder | ( | ) |
|
static |
创建一个名为 comp_name 的新 JPEG 解码器。
| int NvJPEGDecoder::decodeToBuffer | ( | NvBuffer ** | buffer, |
| unsigned char * | in_buf, | ||
| unsigned long | in_buf_size, | ||
| uint32_t * | pixfmt, | ||
| uint32_t * | width, | ||
| uint32_t * | height | ||
| ) |
将 JPEG 图像解码到软件缓冲区内存。
此方法将软件内存中的 JPEG 图像解码为指定的宽度和大小。
decodeToBuffer 方法涉及从硬件缓冲区内存到软件缓冲区内存的转换,因此它比 NvJPEGDecoder::decodeToFd 方法慢。| [out] | buffer | 指向 NvBuffer 对象的间接指针,该对象包含解码后的图像。该对象由方法分配,缓冲区内存使用 NvBuffer::allocateMemory 分配。 |
| [in] | in_buf | 指向包含 JPEG 的内存的指针。 |
| [in] | in_buf_size | 输入缓冲区的大小(以字节为单位)。 |
| [out] | pixfmt | 指向解码图像的 V4L2 像素格式的指针。 |
| [out] | width | 指向解码图像宽度的指针(以像素为单位)。 |
| [out] | height | 指向解码图像高度的指针(以像素为单位)。 |
| int NvJPEGDecoder::decodeToFd | ( | int & | fd, |
| unsigned char * | in_buf, | ||
| unsigned long | in_buf_size, | ||
| uint32_t & | pixfmt, | ||
| uint32_t & | width, | ||
| uint32_t & | height | ||
| ) |
将 JPEG 图像解码到硬件缓冲区内存。
此方法将硬件内存中的 JPEG 图像解码为指定的宽度和大小。
| [out] | fd | 硬件缓冲区的文件描述符 (FD) 的引用。 |
| [in] | in_buf | 指向包含 JPEG 图像的内存的指针。 |
| [in] | in_buf_size | 输入缓冲区的大小(以字节为单位)。 |
| [out] | pixfmt | 对解码图像的 V4L2 像素格式的引用。 |
| [out] | width | 对解码图像宽度的引用(以像素为单位)。 |
| [out] | height | 对解码图像高度的引用(以像素为单位)。 |
|
virtualinherited |
启用元素的性能分析。
在 NvV4l2Element 中重新实现。
|
inherited |
获取元素的性能分析数据。
|
inlinevirtualinherited |
|
inherited |
检查是否为元素启用了性能分析。
|
inherited |
将元素的性能分析数据打印到输出流。
| [in] | out_stream | 要将数据打印到的 std::ostream 类型的输出流。如果未指定,则采用默认值 std::cout。 |
|
protectedinherited |
指定组件的名称,用于调试。
定义于文件 122 行 NvElement.h。
|
protectedinherited |
|
protectedinherited |
元素的性能分析器。
定义于文件 124 行 NvElement.h。