Somnr

Somnr

0个粉丝

3

问答

0

专栏

0

资料

Somnr  发布于  2020-05-12 15:24:45
采纳率 0%
3个问答
3836

3559:Venc编码问题

 
创建原始帧,调用HI_MPI_VENC_SendFrame接口,Venc模块进行编码。编码失败。

在logmpp中能看到日志消息:

<3>[  venc] [Func]:venc_check_video_info [Line]:1920 [Info]:venc 0 : sendinfo pic info err.
<3>[  venc] [Func]:venc_get_stream [Line]:5014 [Info]:input buf is not enough to hold a frame,in count:0,pack count:4
<3>[  venc] [Func]:venc_check_time_ref [Line]:2720 [Info]:current timeref(0x0) is not larger than last_rcv_time_ref(0x0)

demo大致流程:

HI_MPI_VB_GetBlock
HI_MPI_VB_Handle2PhysAddr
HI_MPI_SYS_Mmap
HI_MPI_VB_Handle2PoolId
HI_MPI_VPSS_SendFrame
HI_MPI_SYS_Munmap
HI_MPI_VB_ReleaseBlock

填写原始帧部分:

u32Height=720;
u32Width=1280;
u32LStride=1280;
u32CStride=1280;
u32LumaSize = (u32LStride * u32Height);
u32ChrmSize = (u32CStride * u32Height) >> 2;
u32Size = u32LumaSize + (u32ChrmSize << 1);

pstVFrameInfo.stVFrame.enField = VIDEO_FIELD_FRAME;
pstVFrameInfo.stVFrame.enPixelFormat = PIXEL_FORMAT_YVU_SEMIPLANAR_420;
pstVFrameInfo.stVFrame.enVideoFormat = VIDEO_FORMAT_LINEAR;
pstVFrameInfo.stVFrame.enCompressMode = COMPRESS_MODE_NONE;
pstVFrameInfo.stVFrame.enDynamicRange = DYNAMIC_RANGE_SDR8;
pstVFrameInfo.stVFrame.enColorGamut = COLOR_GAMUT_BT709;

pstVFrameInfo.stVFrame.u64PhyAddr[0] = u64PhyAddr;
pstVFrameInfo.stVFrame.u64PhyAddr[1] = pstVFrameInfo.stVFrame.u64PhyAddr[0] + u32LumaSize;
pstVFrameInfo.stVFrame.u64PhyAddr[2] = pstVFrameInfo.stVFrame.u64PhyAddr[1] + u32ChrmSize;
pstVFrameInfo.stVFrame.u64VirAddr[0] = u64VirAddr;
pstVFrameInfo.stVFrame.u64VirAddr[1] = pstVFrameInfo.stVFrame.u64VirAddr[0] + u32LumaSize;
pstVFrameInfo.stVFrame.u64VirAddr[2] = pstVFrameInfo.stVFrame.u64VirAddr[1] + u32ChrmSize;
pstVFrameInfo.stVFrame.u32Width = u32Width;
pstVFrameInfo.stVFrame.u32Height = u32Height;

pstVFrameInfo.stVFrame.u32Stride[0] = u32LStride;
pstVFrameInfo.stVFrame.u32Stride[1] = u32CStride;
pstVFrameInfo.stVFrame.u32Stride[2] = u32CStride;

pstVFrameInfo.stVFrame.u64PTS = n_u64PTS;

-------------------------------------------------------------------------------------------------------------------------------------

求大佬们解答小弟的疑问!非常感谢!!!!!!
我来回答
回答1个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-05-12 15:40:10
认可0
本帖最后由 zhuangweiye 于 2020-5-12 15:41 编辑

logmpp的意思就是

1. 楼主sendframe 的参数有问题
2. VB 的大小好像不够大(难道说HI_MPI_VB_GetBlock填的大小不对?)
3. timestamp有问题(pstVFrameInfo.stVFrame.u32TimeRef 要填一下, 每帧递增)
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区