封装了Jetson Multimedia API的解码库nvjmi,主要功能如下。
1)支持H.264解码。
2)支持解码后直接硬件完成缩放操作。
3)支持解码后直接硬件完成颜色空间转换操作。
4)支持Jetpack 4.3、4.4、4.5。
使用示例可参考下面的例子:
if(jmi_ctx_ == nullptr) {
jmi::nvJmiCtxParam jmi_ctx_param{};
if(rsz_w > 0 && rsz_h > 0){
jmi_ctx_param.resize_width = rsz_w;
jmi_ctx_param.resize_height = rsz_h;
}
if ("H264" == m_pRtspClient->GetCodeName()) {
jmi_ctx_param.coding_type =jmi::NV_VIDEO_CodingH264;
}
else if ("H265" == m_pRtspClient->GetCodeName()) {
jmi_ctx_param.coding_type = jmi::NV_VIDEO_CodingHEVC;
}
string dec_name = "dec-" + session_id();
jmi_ctx_ = jmi::nvjmi_create_decoder(dec_name.data(), &jmi_ctx_param);
}
//基于jetson nvdec解码
jmi::nvPacket nvpacket;
nvpacket.payload_size = dataLen;
nvpacke