kennybluezy

kennybluezy

0个粉丝

16

问答

0

专栏

0

资料

kennybluezy  发布于  2016-03-28 08:29:17
采纳率 0%
16个问答
5119

3531上视频解码过程中的局部放大

 
各位好,我现在想实现视频解码过程中的局部放大。视频源是1080P信号,解码后通过VPSS后在VO的HD通道上显示。根据文档,需要借助VPSS来实现视频缩放。所以我现在的做法是新建一个VPSS Group及一个CHANNEL,设置该CHANNEL为USER 模式并设定Depth和输出图像宽、高。 要实现视频放大时,首先暂停VOCHANNEL,然后利用HI_MPI_VPSS_UserGetGrpFrame从原VPSS GROUP中获取一帧图像,通过HI_MPI_VPSS_UserSendFrame发送到新VPSS GROUP,并利用HI_MPI_VPSS_UserReleaseGrpFrame释放资源。这些步骤均正确完成,但在获取新VPSS GROPU输出的图像时却失败了,其中利用HI_MPI_VPSS_UserGetFrame时报HI_ERR_VPSS_NOBUF,利用HI_MPI_VPSS_UserGetGrpFrame时报HI_ERR_VPSS_NOTREADY。而我在系统初始化时已经分配了VB,一共2个缓冲池,第一个缓冲池中有16个缓冲区,大小为1920*1080*2,用于视频处理。第二个缓冲池有3个缓冲区,大小为192*4,用于直方图处理。从/proc/umap的信息来看也是正常的。
在这里请教一下,大家实现HD通道的局部放大是如何实现的? 我目前的方法是否有问题,如何解决出现的错误?谢谢!
我来回答
回答8个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-03-28 08:55:56
认可0
可利用HI_MPI_VPSS_SetGrpCrop

kennybluezy

0个粉丝

16

问答

0

专栏

0

资料

kennybluezy 2016-03-28 09:11:03
认可0
你好,感谢回复。是的,我现在是新建VPSS Group和Channel,Channel输出宽、高固定,根据放大倍数的不同设置了不同的Crop区域。从原VPSS Group获取了一帧图像发送到此VPSS Group,从/proc/umap/vpss中看到接收成功了:
-----------------------VPSS GRP WORK STATUS-------------------------
   GrpID RecvPic  ViLost    VdecLost  NewDo   OldDo NewUnDo         OldUnDo  NoHist StartFl  bStart  CostTm           MaxCostTm
       0   77         0           0              72          0       0                    123245       0       0       1       165573           165956
       1   1           0           0               1           0       0                    122930       0       0       1       -1158947242   -1158947242
但想得到新建VPSS Group的图像时却失败了。无论是HI_MPI_VPSS_UserGetGrpFrame还是HI_MPI_VPSS_UserGetFrame。

考虑到不影响原VPSS的相关内容,所以想新建VPSS并在此VPSS上进行相关操作的,并且这两个VPSS应该是相互独立的,不知道是否没有必要新建VPSS进行操作?谢谢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-03-28 09:24:03
认可0
vdec 直接绑定两个VPSS即可,不用搞那么复杂

vdec--->vpss1 -->vo1  //原始图像
       +->vpss2 -->vo2 // 放大图像


kennybluezy

0个粉丝

16

问答

0

专栏

0

资料

kennybluezy 2016-03-29 08:32:29
认可0
非常感谢你的热心帮助,我现在是在原VPSS上实现了局部放大的功能。你所提的方法我后面再尝试一下。再次感谢!

枫叶尚卿

0个粉丝

6

问答

0

专栏

0

资料

枫叶尚卿 2016-04-15 11:35:30
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=27649&ptid=10785]kennybluezy 发表于 2016-3-29 08:32[/url]
非常感谢你的热心帮助,我现在是在原VPSS上实现了局部放大的功能。你所提的方法我后面再尝试一下。再次感谢 ...[/quote]

请问楼主是怎么实现的?

kennybluezy

0个粉丝

16

问答

0

专栏

0

资料

kennybluezy 2016-04-18 09:05:46
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=28486&ptid=10785]枫叶尚卿 发表于 2016-4-15 11:35[/url]
请问楼主是怎么实现的?[/quote]

就是设置vpss的crop属性,因为输出是固定的,crop区域越小,相当于放大倍数越大。需要注意的是要用HI_MPI_VO_ChnRefresh()刷新显示通道来观看效果,因为之前VO Chn是Pause的

枫叶尚卿

0个粉丝

6

问答

0

专栏

0

资料

枫叶尚卿 2016-04-18 13:44:05
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=28591&ptid=10785]kennybluezy 发表于 2016-4-18 09:05[/url]
就是设置vpss的crop属性,因为输出是固定的,crop区域越小,相当于放大倍数越大。需要注意的是要用HI_MPI ...[/quote]

谢谢楼主:lol

qn1571036273

0个粉丝

1

问答

1

专栏

0

资料

qn1571036273 2019-10-29 10:43:31
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=27569&ptid=10785]zhuangweiye 发表于 2016-3-28 08:55[/url]
可利用HI_MPI_VPSS_SetGrpCrop[/quote]

这个函数要修改vivpss工作模式吧,工作模式怎么修改?
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区