Rivers

Rivers

0个粉丝

11

问答

0

专栏

0

资料

Rivers  发布于  2025-07-15 17:51:49
采纳率 28%
11个问答
396

Hi3519DV500通过VPSS crop裁剪图像尺寸至小于编码通道尺寸时,如何处理可以正常编码?

     

VENC通道接收到图像之后,比较图像尺寸和编码通道尺寸:
● 如果输入图像比编码通道尺寸大,VENC将按照编码通道尺寸大小,调用VGS对源
图像进行缩小,然后对缩小之后的图像进行编码。
● 如果输入图像比编码通道尺寸小,VENC丢弃源图像。VENC不支持放大输入图像
编码。
● 如果输入图像与编码通道尺寸相当,VENC直接接收源图像,进行编码。
当我使用ss_mpi_vpss_set_grp_crop将图像尺寸裁剪至小于VENC的编码通道尺寸时,如何能保证在不改动VENC 通道尺寸的前提下实现正常的编码?
应该如何调整scale_coef或者其他参数?还是说需要在VI层做裁剪而不是VPSS?
请各位大佬指点一二,不胜感激!

我来回答
回答14个
时间排序
认可量排序

UncleRoderick

59个粉丝

16

问答

4

专栏

20

资料

UncleRoderick 2025-07-15 19:22:11
认可1

这个裁剪本质上是想放大画面中的某一场景吧?
可以有两种处理方式:
1.VI处理
ss_mpi_vi_set_pipe_post_crop
2.VPSS处理
ss_mpi_vpss_set_grp_zoom_in_window
注意:裁剪时需保持长宽比,否则通道输出放大的时候会有拉伸

Rivers
Rivers   回复   UncleRoderick  2025-07-16 09:02:39
0

上述两种方式裁剪之后如果直接VO是没问题的,但是如果需要经过VENC,然后裁剪后的画面尺寸小于VENC的通道尺寸,就会被VENC丢弃源图像,这种情况下应该如何处理?还是说如果一定要VENC,那么裁剪的最小尺寸就不能小于VENC的通道尺寸?

UncleRoderick
UncleRoderick   回复   Rivers  2025-07-16 10:16:49
0

以上操作是裁剪输入源的分辨率,把VPSS通道设置为user_mode并设置为VENC匹配的大小

Rivers
Rivers   回复   UncleRoderick  2025-07-16 14:41:55
0

那有什么办法将图像裁剪到小于VENC通道的大小,然后经过VENC之后输出VENC一样大小的图像吗?

UncleRoderick
UncleRoderick   回复   Rivers  2025-07-16 15:01:22
0

为什么一定要裁剪完小于VENC通道然后又要VENC正常输出大小呢?在给VENC之前把裁剪之后的图像放大到跟VENC大小一样不就可以了吗?上面给的两种建议都是这种方式

Rivers
Rivers   回复   UncleRoderick  2025-07-16 15:07:30
0

大佬,“VENC之前把裁剪之后的图像放大到跟VENC大小”这个如何实现?把把VPSS通道设置为user_mode并设置为VENC匹配的大小测试了一下实现不了?至于为什么一定要“裁剪完小于VENC通道然后又要VENC正常输出大小”,一看就是无脑需求所致,打工人没办法拒绝啊

UncleRoderick
UncleRoderick   回复   Rivers  2025-07-16 15:25:19
0

按我的理解就是前面VENC前面裁剪完,然后放大到VENC需要的大小就可以实现需求了

Rivers
Rivers   回复   UncleRoderick  2025-07-16 15:28:01
0

我也是这样理解,其实我从始至终最想知道的答案就是,裁剪完之后如何“放大到VENC需要的大小”,翻遍了文档都没找到合适的处理函数

UncleRoderick
UncleRoderick   回复   Rivers  2025-07-16 15:35:35
0

试试ss_mpi_vpss_set_grp_crop看看

Rivers
Rivers   回复   UncleRoderick  2025-07-16 18:00:17
0

刚试了,不行,Hi3519DV500还有什么函数可以把小分辨率图像通过插值或者其他方式放大到大分辨率吗?我翻了几遍文档都没找到

UncleRoderick
UncleRoderick   回复   Rivers  2025-07-16 19:06:10
0

VGS/IVE全都可以,包括VPSS也是可以,估计没用对吧

Rivers
Rivers   回复   UncleRoderick  2025-07-18 11:06:56
0

破案了
VPSS group如果有两个或以上的chn,那就只能在chn0做放大(缩小裁剪不受影响),如下日志:[ vpss] [func]:vpss_drv_get_zoomout_chn [line]:1882 [info]:grp0 chn1[crop size(640,360),chn size(1280,720)]can’t zoomin while chn0 has already zoomin or transformed 420 -> 422!
我现在的解决方法是在vi做裁剪,然后输出到第一个VPSS做放大,接着将第一个VPSS绑定到第二个VPSS,这样第二个VPSS GROUP的所有chn都是缩放后的图像,最后将第二个VPSS GROUP下所有的子码流chn对应绑定后到VENC。

老千
老千   回复   Rivers  2025-07-29 13:21:32
0

此言差矣,你知道vpss物理通道和拓展通道的区别吗,vpss物理通道做裁剪,拓展通道做缩放,后面再以固定的分辨率绑定venc就可以了。

Rivers
Rivers   回复   老千  2025-08-01 10:46:20
0

确实不太清楚“vpss物理通道和拓展通道的区别”,还请大佬不吝赐教

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

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区