Somnr

Somnr

0个粉丝

3

问答

0

专栏

0

资料

Somnr  发布于  2020-05-09 11:24:50
采纳率 0%
3个问答
2679

求解答!mpp中,编码yuv为h265

 
我的理解如下:如果需要编码外部数据,首先需要将yuv送入vi或vpss中。目前正在尝试调用HI_MPI_VPSS_SendFrame,遇到的问题:调用失败,错误码为0xa0078003。demo如下:
我来回答
回答6个
时间排序
认可量排序

Somnr

0个粉丝

3

问答

0

专栏

0

资料

Somnr 2020-05-09 11:25:34
认可0
        HI_U64     g_Phyaddr      = 0;
        HI_VOID*   g_Viraddr      = NULL;

        if (HI_FAILURE == HI_MPI_SYS_MmzAlloc(&g_Phyaddr,((void**)&g_Viraddr),NULL, NULL, 640*512*2))
        {
                SAMPLE_PRT("allocate memory (maxW*maxH*2 bytes) failed\n");
                fclose(fp);
                return HI_NULL;
        }
        memset(g_Viraddr,0x00,640*512*3/2);
        fread(g_Viraddr,1,640*512*3/2,fp);

        pstVideoFrame.stVFrame.u32Width=640;
        pstVideoFrame.stVFrame.u32Height=512;
        pstVideoFrame.stVFrame.enField= VIDEO_FIELD_FRAME;//帧场模式,帧类型
        pstVideoFrame.stVFrame.enPixelFormat= PIXEL_FORMAT_YUV_SEMIPLANAR_420;  //视频图像像素格式。
        pstVideoFrame.stVFrame.enCompressMode=COMPRESS_MODE_NONE;//视频压缩模式
        pstVideoFrame.stVFrame.u64PhyAddr[0]=g_Phyaddr;    //物理地址
        pstVideoFrame.stVFrame.u64VirAddr[0]=g_Viraddr;       //虚拟地址
        pstVideoFrame.stVFrame.u32Stride[0]=2;      //图像跨距。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-05-09 11:29:39
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=157983&ptid=80139]Somnr 发表于 2020-5-9 11:25[/url]
HI_U64     g_Phyaddr      = 0;
        HI_VOID*   g_Viraddr      = NULL;

[/quote]

不是这么玩的

sendframe用的必须是VB池中申请来的

Somnr

0个粉丝

3

问答

0

专栏

0

资料

Somnr 2020-05-09 11:45:50
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=157984&ptid=80139]zhuangweiye 发表于 2020-5-9 11:29[/url]
不是这么玩的

sendframe用的必须是VB池中申请来的[/quote]

哦哦,好的大佬! 我看到您回复另一篇的内容了,我先参考一下那篇,感谢!:lol

Somnr

0个粉丝

3

问答

0

专栏

0

资料

Somnr 2020-05-09 16:09:22
认可0
目前我基于这个流程:

hBlock = HI_MPI_VB_GetBlock();
pu8PhyAddr = HI_MPI_VB_Handle2PhysAddr();
pu8VirAddr = HI_MPI_SYS_Mmap();
u32PoolId = HI_MPI_VB_Handle2PoolId();
// 填写 VIDEO_FRAME_INFO_S结构
...
// 填写图像buffer
...
HI_MPI_XXX_SendFrame();

HI_MPI_SYS_Munmap();
HI_MPI_VB_ReleaseBlock();

已经成功将外部yuv数据send进vpss了。

但我vpss和venc进行了bind,发现vpss数据没有进到venc去编码。
麻烦问一下,如果我要完成vpss->venc,应该怎么做?

硅天下科技

1个粉丝

38

问答

0

专栏

9

资料

硅天下科技 2020-07-31 22:27:15
认可0
Hi3559A参考资料

Pere_Ai

1个粉丝

1

问答

0

专栏

0

资料

Pere_Ai 2021-08-05 19:47:49
认可0

自己要创建一个pool
需要自己给自己分配一块缓存
pipe也要创建 帧源

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区