使用 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。