ytfsse

ytfsse

0个粉丝

5

问答

0

专栏

0

资料

ytfsse  发布于  2019-08-30 09:57:03
采纳率 0%
5个问答
2641

HI_MPI_VENC_SendFrame发送返回0xa0088003

 
本帖最后由 ytfsse 于 2019-8-30 09:58 编辑

参数超出合法范围,实在不懂,提示就不能明了一下,有参考github上面分享的代码,
SDK为2.0.1.0

        #define PIC_WIDTH 1280
        #define PIC_HEIGHT 720

HI_U32 u32PicLStride = PIC_WIDTH;
                HI_U32 u32BlkSize = PIC_WIDTH * PIC_HEIGHT * 3;
                HI_U32 u32LumaSize = PIC_WIDTH * PIC_HEIGHT;
                HI_U32 u32ChrmSize = PIC_WIDTH / 2 * PIC_HEIGHT / 2;


memset(&stFrmInfo.stVFrame, 0, sizeof(VIDEO_FRAME_S));
        stFrmInfo.stVFrame.u64PhyAddr[0] = m_PhyAddr;
        stFrmInfo.stVFrame.u64PhyAddr[1] = stFrmInfo.stVFrame.u64PhyAddr[0] + u32LumaSize;
        stFrmInfo.stVFrame.u64PhyAddr[2] = stFrmInfo.stVFrame.u64PhyAddr[1] + u32ChrmSize;
        
        stFrmInfo.stVFrame.u64VirAddr[0] = m_pVirAddr;
        stFrmInfo.stVFrame.u64VirAddr[1] = stFrmInfo.stVFrame.u64VirAddr[0] + u32LumaSize;
        stFrmInfo.stVFrame.u64VirAddr[2] = stFrmInfo.stVFrame.u64VirAddr[1] + u32ChrmSize;

        stFrmInfo.stVFrame.u32Width     = PIC_WIDTH;
        stFrmInfo.stVFrame.u32Height    = PIC_HEIGHT;
        stFrmInfo.stVFrame.u32Stride[0] = u32PicLStride;
        stFrmInfo.stVFrame.u32Stride[1] = u32PicLStride;
        stFrmInfo.stVFrame.u32Stride[2] = u32PicLStride;

        stFrmInfo.stVFrame.u64PTS     = (u32Cnt * 40);
        stFrmInfo.stVFrame.u32TimeRef = (u32Cnt * 2);

        /*  Different channsel with different picture sequence  */
        SAMPLE_COMM_VENC_ReadOneFrame( pfp_img, stFrmInfo.stVFrame.u64VirAddr[0],
            stFrmInfo.stVFrame.u64VirAddr[1], stFrmInfo.stVFrame.u64VirAddr[2],
            stFrmInfo.stVFrame.u32Width, stFrmInfo.stVFrame.u32Height,
            stFrmInfo.stVFrame.u32Stride[0], stFrmInfo.stVFrame.u32Stride[1] >> 1 );

                SAMPLE_COMM_VENC_PlanToSemi( stFrmInfo.stVFrame.u64VirAddr[0], stFrmInfo.stVFrame.u32Stride[0],
        stFrmInfo.stVFrame.u64VirAddr[1], stFrmInfo.stVFrame.u32Stride[1],
        stFrmInfo.stVFrame.u64VirAddr[2], stFrmInfo.stVFrame.u32Stride[1],
        stFrmInfo.stVFrame.u32Width,    stFrmInfo.stVFrame.u32Height );

        stFrmInfo.stVFrame.enPixelFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;
        stFrmInfo.stVFrame.enField = VIDEO_FIELD_FRAME;
                stFrmInfo.stVFrame.enColorGamut = COLOR_GAMUT_BT709;
   
        stFrmInfo.u32PoolId = HI_MPI_VB_Handle2PoolId( m_Block );
       
                s32Ret = HI_MPI_VENC_SendFrame(pstPara->VeChn[1], &stFrmInfo, -1);
我来回答
回答1个
时间排序
认可量排序

ytfsse

0个粉丝

5

问答

0

专栏

0

资料

ytfsse 2019-08-30 12:04:40
认可0
当时这个是写在编码线程中的,现在单独自己开个线程,可以正常工作了,谢谢
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区