yanjinbin

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin  发布于  2017-04-06 10:39:10
采纳率 0%
9个问答
3763

叠加区域和扩展叠加区域的疑惑??

 
我在测试叠加区域和扩展叠加区域发现了2个问题,如下:
  1.在叠加区域的区域句柄为40~47的区域无法显示,但是扩展区域可以显示。
  2.创建时叠加区域和扩展叠加区域都为48*48,但是显示扩展叠加区域明显比叠加区域大这是为什么。


测试方法如下,首先我使用了sample_venc.c文件中的SAMPLE_VENC_720p_CLASSIC()函数,他有8个摄像头,
编码稍作修改如:
  PAYLOAD_TYPE_E enPayLoad[3]= {PT_H264, PT_JPEG,PT_H264};
  PIC_SIZE_E enSize[3] = {PIC_960H, PIC_960H,PIC_CIF};
VPSS的通道0做960H编码,通道1做CIF编码,通道2做高清显示,这样我们测试扩展区域时可以看到绑到指定通道其他通道的区域显示情况。

添加一个创建叠加区域和扩展叠加区域的函数如下:
//普通的叠加区域创建办法
HI_S32 Create1_RGN_OverlayProcess(RGN_HANDLE Handle,VPSS_GRP VpssGrp,VPSS_CHN VpssChn)
{
    HI_S32 s32Ret = HI_FAILURE;
    RGN_ATTR_S stOverlayAttr;
    MPP_CHN_S stOverlayChn;
    RGN_CHN_ATTR_S stOverlayChnAttr;
                BITMAP_S stBitmap;
                static HI_U8 layer_pri[]={0,0,0,0,0,0,0,0};
                RECT_S tmp_rect[]={{8,8,48,48},{48*1+8*2,8,48,48},{48*2+8*3,8,48,48},{48*3+8*4,8,48,48},
                                   {48*4+8*5,8,48,48},{48*5+8*6,8,48,48},{48*6+8*7,8,48,48},{48*7+8*8,8,48,48}};
    HI_U8 index = 0;

    index = layer_pri[VpssGrp]++;
   
                logs("Create1_RGN_OverlayProcess:Handle=%d, VpssGrp=%d, VpssChn=%d ,index=%d \n",Handle, VpssGrp, VpssChn ,index );
    logs("region:x=%d, y=%d, w=%d ,h=%d \n",tmp_rect[index].s32X, tmp_rect[index].s32Y, tmp_rect[index].u32Width ,tmp_rect[index].u32Height );
                //区域属性
                stOverlayAttr.enType = OVERLAY_RGN;
                stOverlayAttr.unAttr.stOverlay.enPixelFmt = PIXEL_FORMAT_RGB_1555;
                stOverlayAttr.unAttr.stOverlay.u32BgColor =  0x00FF;//0x7fff;
                stOverlayAttr.unAttr.stOverlay.stSize.u32Height = tmp_rect[index].u32Height;      //区域大小
                stOverlayAttr.unAttr.stOverlay.stSize.u32Width= tmp_rect[index].u32Width;
               
    s32Ret = HI_MPI_RGN_Create(Handle, &stOverlayAttr);  //创建区域
    if(HI_SUCCESS != s32Ret)
    {
        logs("HI_MPI_RGN_Create failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
   
                //区域通道显示结构       
    stOverlayChnAttr.enType = OVERLAY_RGN;                     //区域类型,叠加区域
                stOverlayChnAttr.bShow = HI_TRUE;
                stOverlayChnAttr.unChnAttr.stOverlayChn.stPoint.s32X = tmp_rect[index].s32X;//区域所在位置
                stOverlayChnAttr.unChnAttr.stOverlayChn.stPoint.s32Y = tmp_rect[index].s32Y;
                stOverlayChnAttr.unChnAttr.stOverlayChn.u32BgAlpha = 128;
                stOverlayChnAttr.unChnAttr.stOverlayChn.u32FgAlpha = 128;
                stOverlayChnAttr.unChnAttr.stOverlayChn.u32Layer = index;

    //区域绑定通道
    stOverlayChn.enModId = HI_ID_VPSS;    //直接绑定到VPSS通道
    stOverlayChn.s32DevId = VpssGrp;      
    stOverlayChn.s32ChnId = VpssChn;

                s32Ret = HI_MPI_RGN_AttachToChn(Handle,&stOverlayChn,&stOverlayChnAttr);  //将区域叠加到通道上去
    if(HI_SUCCESS != s32Ret)
    {
        logs("HI_MPI_RGN_AttachToChn failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

                return HI_SUCCESS;
}

//扩展叠加区域的创建办法
HI_S32 Create2_RGN_OverlayExProcess(RGN_HANDLE Handle,VPSS_GRP VpssGrp,VPSS_CHN VpssChn)
{
    HI_S32 s32Ret = HI_FAILURE;
    RGN_ATTR_S stOverlayExAttr;
    MPP_CHN_S stOverlayExChn;
    RGN_CHN_ATTR_S stOverlayExChnAttr;
                BITMAP_S stBitmap;
                static HI_U8 layer_pri[]={0,0,0,0,0,0,0,0};
                RECT_S tmp_rect[]={{8,56+8,48,48},{48*1+8*2,56+8,48,48},{48*2+8*3,56+8,48,48},{48*3+8*4,56+8,48,48},
                                   {48*4+8*5,56+8,48,48},{48*5+8*6,56+8,48,48},{48*6+8*7,56+8,48,48},{48*7+8*8,56+8,48,48}};
    HI_U8 index = 0;

    index = layer_pri[VpssGrp]++;
   
                logs("Create2_RGN_OverlayExProcess:Handle=%d, VpssGrp=%d, VpssChn=%d ,index=%d \n",Handle, VpssGrp, VpssChn ,index );
    logs("region:x=%d, y=%d, w=%d ,h=%d \n",tmp_rect[index].s32X, tmp_rect[index].s32Y, tmp_rect[index].u32Width ,tmp_rect[index].u32Height );

                //区域属性
                stOverlayExAttr.enType = OVERLAYEX_RGN;
                stOverlayExAttr.unAttr.stOverlayEx.enPixelFmt = PIXEL_FORMAT_RGB_1555;
                stOverlayExAttr.unAttr.stOverlayEx.u32BgColor =  0x00FF;//0x7fff;
                stOverlayExAttr.unAttr.stOverlayEx.stSize.u32Height = tmp_rect[index].u32Height;      //区域大小
                stOverlayExAttr.unAttr.stOverlayEx.stSize.u32Width= tmp_rect[index].u32Width;
               
    s32Ret = HI_MPI_RGN_Create(Handle, &stOverlayExAttr);  //创建区域
    if(HI_SUCCESS != s32Ret)
    {
        logs("HI_MPI_RGN_Create failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

   
                //区域通道显示结构       
    stOverlayExChnAttr.enType = OVERLAYEX_RGN;                     //区域类型,扩展叠加区域
                stOverlayExChnAttr.bShow = HI_TRUE;
                stOverlayExChnAttr.unChnAttr.stOverlayExChn.stPoint.s32X = tmp_rect[index].s32X;//区域所在位置
                stOverlayExChnAttr.unChnAttr.stOverlayExChn.stPoint.s32Y = tmp_rect[index].s32Y;
                stOverlayExChnAttr.unChnAttr.stOverlayExChn.u32BgAlpha = 128;
                stOverlayExChnAttr.unChnAttr.stOverlayExChn.u32FgAlpha = 128;
                stOverlayExChnAttr.unChnAttr.stOverlayExChn.u32Layer = index;

    //区域绑定通道
    stOverlayExChn.enModId = HI_ID_VPSS;    //直接绑定到VPSS通道
    stOverlayExChn.s32DevId = VpssGrp;      
    stOverlayExChn.s32ChnId = VpssChn;

                s32Ret = HI_MPI_RGN_AttachToChn(Handle,&stOverlayExChn,&stOverlayExChnAttr);  //将区域叠加到通道上去
    if(HI_SUCCESS != s32Ret)
    {
        logs("HI_MPI_RGN_AttachToChn failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

                return HI_SUCCESS;
}

然后在SAMPLE_VENC_720p_CLASSIC()中添加测试代码如下:
#if 0
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(16+i,i,VPSS_CHN0);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(24+i,i,VPSS_CHN0);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(32+i,i,VPSS_CHN0);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(40+i,i,VPSS_CHN0);   
  }  
#else
  for(i = 0 ; i < 8;i++)   
  {     
    Create2_RGN_OverlayExProcess(16+i,i,VPSS_CHN2);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create2_RGN_OverlayExProcess(24+i,i,VPSS_CHN2);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create2_RGN_OverlayExProcess(32+i,i,VPSS_CHN2);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create2_RGN_OverlayExProcess(40+i,i,VPSS_CHN2);   
  }  
#endif

编译后结果是:
  1.在为每个VPSS通道创建4个叠加区域的情况下实际只会显示3个,
     在为每个VPSS通道创建4个扩展叠加区域的情况下实际会显示4个,
  2.叠加区域和扩展叠加区域同为48*48大小但是实际显示情况扩展叠加区域明显更大。

这两个问题我特意去翻看了区域管理那章,但是没找到答案,不知道还有那些文档描述了区域,感觉文档上描述的也太不清楚了。
我来回答
回答16个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-06 12:00:45
认可0
贴下用overlay运行时的 /proc/umap/rgn

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-06 19:52:17
认可0
[quote]
贴下用overlay运行时的 /proc/umap/rgn[/quote]
如下 :
# cat /proc/umap/rgn

[RGN] Version: [Hi3521A_MPP_V1.0.4.0 B040 Release], Build Time[Jun  8 2016, 17:10:54]

-----REGION STATUS OF OVERLAY--------------------------------------------------
Hdl type Used PiFmt    W    H  BgColor      Phy     Virt   Stride
  16    0    0     8   48   48       ff 95c0e000 ca5f0000      128
  17    0    0     8   48   48       ff 95c11000 ca5f4000      128
  18    0    0     8   48   48       ff 95c14000 ca5f8000      128
  19    0    0     8   48   48       ff 95c17000 ca5fc000      128
  20    0    0     8   48   48       ff 95c1a000 ca6cc000      128
  21    0    0     8   48   48       ff 95c1d000 ca6d0000      128
  22    0    0     8   48   48       ff 95c20000 ca6d4000      128
  23    0    0     8   48   48       ff 95c23000 ca6d8000      128
  24    0    0     8   48   48       ff 95c26000 ca6dc000      128
  25    0    0     8   48   48       ff 95c29000 ca6e8000      128
  26    0    0     8   48   48       ff 95c2c000 ca6ec000      128
  27    0    0     8   48   48       ff 95c2f000 ca6f0000      128
  28    0    0     8   48   48       ff 95c32000 ca6f4000      128
  29    0    0     8   48   48       ff 95c35000 ca7f4000      128
  30    0    0     8   48   48       ff 95c38000 ca7f8000      128
  31    0    0     8   48   48       ff 95c3b000 ca7fc000      128
  32    0    0     8   48   48       ff 95c3e000 ca858000      128
  33    0    0     8   48   48       ff 95c41000 ca85c000      128
  34    0    0     8   48   48       ff 95c44000 ca860000      128
  35    0    0     8   48   48       ff 95c47000 ca864000      128
  36    0    0     8   48   48       ff 95c4a000 ca868000      128
  37    0    0     8   48   48       ff 95c4d000 ca86c000      128
  38    0    0     8   48   48       ff 95c50000 ca870000      128
  39    0    0     8   48   48       ff 95c53000 ca874000      128
  40    0    0     8   48   48       ff 95c56000 ca878000      128
  41    0    0     8   48   48       ff 95c59000 ca87c000      128
  42    0    0     8   48   48       ff 95c5c000 ca8e8000      128
  43    0    0     8   48   48       ff 95c5f000 ca8ec000      128
  44    0    0     8   48   48       ff 95c62000 ca8f0000      128
  45    0    0     8   48   48       ff 95c65000 ca8f4000      128
  46    0    0     8   48   48       ff 95c68000 ca8f8000      128
  47    0    0     8   48   48       ff 95c6b000 ca8fc000      128

-----REGION CALL TDE STATUS OF OVERLAY--------------------------------------------------
Hdl     CallCnt      JobSuc     JobFail     TaskSuc    TaskFail      EndSuc     EndFail
  16           0           0           0           0           0           0           0
  17           0           0           0           0           0           0           0
  18           0           0           0           0           0           0           0
  19           0           0           0           0           0           0           0
  20           0           0           0           0           0           0           0
  21           0           0           0           0           0           0           0
  22           0           0           0           0           0           0           0
  23           0           0           0           0           0           0           0
  24           0           0           0           0           0           0           0
  25           0           0           0           0           0           0           0
  26           0           0           0           0           0           0           0
  27           0           0           0           0           0           0           0
  28           0           0           0           0           0           0           0
  29           0           0           0           0           0           0           0
  30           0           0           0           0           0           0           0
  31           0           0           0           0           0           0           0
  32           0           0           0           0           0           0           0
  33           0           0           0           0           0           0           0
  34           0           0           0           0           0           0           0
  35           0           0           0           0           0           0           0
  36           0           0           0           0           0           0           0
  37           0           0           0           0           0           0           0
  38           0           0           0           0           0           0           0
  39           0           0           0           0           0           0           0
  40           0           0           0           0           0           0           0
  41           0           0           0           0           0           0           0
  42           0           0           0           0           0           0           0
  43           0           0           0           0           0           0           0
  44           0           0           0           0           0           0           0
  45           0           0           0           0           0           0           0
  46           0           0           0           0           0           0           0
  47           0           0           0           0           0           0           0

-----REGION CHN STATUS OF OVERLAY----------------------------------------------
Hdl type   mod dev chn bSh     X     Y AphF AphB lay bAQp   QP bQpDis bInv InvW InvH Luma ChnM
  16    0  VPSS   0   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  17    0  VPSS   1   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  18    0  VPSS   2   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  19    0  VPSS   3   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  20    0  VPSS   4   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  21    0  VPSS   5   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  22    0  VPSS   6   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  23    0  VPSS   7   0   1     8     8  128  128   0    0    0      0    0    0    0    0    0
  24    0  VPSS   0   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  25    0  VPSS   1   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  26    0  VPSS   2   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  27    0  VPSS   3   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  28    0  VPSS   4   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  29    0  VPSS   5   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  30    0  VPSS   6   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  31    0  VPSS   7   0   1    64     8  128  128   1    0    0      0    0    0    0    0    0
  32    0  VPSS   0   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  33    0  VPSS   1   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  34    0  VPSS   2   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  35    0  VPSS   3   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  36    0  VPSS   4   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  37    0  VPSS   5   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  38    0  VPSS   6   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  39    0  VPSS   7   0   1   120     8  128  128   2    0    0      0    0    0    0    0    0
  40    0  VPSS   0   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  41    0  VPSS   1   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  42    0  VPSS   2   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  43    0  VPSS   3   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  44    0  VPSS   4   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  45    0  VPSS   5   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  46    0  VPSS   6   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0
  47    0  VPSS   7   0   1   176     8  128  128   3    0    0      0    0    0    0    0    0

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-07 10:01:54
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47824&ptid=14755]yanjinbin 发表于 2017-4-6 19:52[/url]
如下 :
# cat /proc/umap/rgn

[/quote]

从log上看, region都正常, 楼主说的只显示3个是什么情况?

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 10:08:07
认可0
8个摄像头对应有8个VPSS,在VO(VGA)上显示9分屏,8个VPSS通道2绑定到VO,
在此测试时,在每个VPSS通道0上绑定了4个叠加区域,按道理每个VO上此时应该显示4个叠加区域的,但是实际上只显示了3个,少了一个。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-07 10:17:20
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47853&ptid=14755]yanjinbin 发表于 2017-4-7 10:08[/url]
8个摄像头对应有8个VPSS,在VO(VGA)上显示9分屏,8个VPSS通道2绑定到VO,
在此测试时,在每个VPSS通道0上绑 ...[/quote]

能上个图看看吗?

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 11:16:50
认可0
我上传图像了,不知道成功了不。

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 11:17:47
认可0
上传图像折腾了好久,我发现了论坛在Google Chrome浏览器中无法上传图片,我换了个360浏览器才成功。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-07 11:37:13
认可0
本帖最后由 zhuangweiye 于 2017-4-7 11:42 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=47861&ptid=14755]yanjinbin 发表于 2017-4-7 11:17[/url]
上传图像折腾了好久,我发现了论坛在Google Chrome浏览器中无法上传图片,我换了个360浏览器才成功。[/quote]

贴个overlay的/proc/umap/vpss看看

关于大小不同的问题,overlay是贴在了输入上,所以看上去较小,从位置大小看比较正常

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 15:11:52
认可0
[quote]贴个overlay的/proc/umap/vpss看看[/quote]

# cat /proc/umap/vpss

[VPSS] Version: [Hi3521A_MPP_V1.0.4.0 B040 Release], Build Time[Jun  8 2016, 17:10:56]

-------------------------VPSS GRP ATTR-----------------------------------
   GrpID    MaxW    MaxH  PixFmt DieMode   DciEn    NrEn    IeEn  HistEn    EsEn
       0     960     576   SP420   nodie       0       1       0       0       0
       1     960     576   SP420   nodie       0       1       0       0       0
       2     960     576   SP420   nodie       0       1       0       0       0
       3     960     576   SP420   nodie       0       1       0       0       0
       4     960     576   SP420   nodie       0       1       0       0       0
       5     960     576   SP420   nodie       0       1       0       0       0
       6     960     576   SP420   nodie       0       1       0       0       0
       7     960     576   SP420   nodie       0       1       0       0       0

-----------------------VPSS GRP FRAME CONTROL INFO-------------------------
   GrpID bFilter   Width  Height    SrcFRate    DstFRate   bUserCtrl
       0       0       0       0          -1          -1           Y
       1       0       0       0          -1          -1           Y
       2       0       0       0          -1          -1           Y
       3       0       0       0          -1          -1           Y
       4       0       0       0          -1          -1           Y
       5       0       0       0          -1          -1           Y
       6       0       0       0          -1          -1           Y
       7       0       0       0          -1          -1           Y

-------------------------VPSS GRP PARAM-----------------------------------
   GrpID    Cont   IeStr   SfStr   TfStr   CfStr  CTfStr CvbsStr     mdz   HtfRe     edz   WtfRe  DeMotion  DieStr
       0       8       0      24      12      12      16      24       6      52      63      36         0       0
       1       8       0      24      12      12      16      24       6      52      63      36         0       0
       2       8       0      24      12      12      16      24       6      52      63      36         0       0
       3       8       0      24      12      12      16      24       6      52      63      36         0       0
       4       8       0      24      12      12      16      24       6      52      63      36         0       0
       5       8       0      24      12      12      16      24       6      52      63      36         0       0
       6       8       0      24      12      12      16      24       6      52      63      36         0       0
       7       8       0      24      12      12      16      24       6      52      63      36         0       0

-------------------------VPSS CHN PARAM---------------------------------
   GrpID   ChnID   ChnSp
       0       0      40
       0       1      40
       0       2      40
       0       3      40
       1       0      40
       1       1      40
       1       2      40
       1       3      40
       2       0      40
       2       1      40
       2       2      40
       2       3      40
       3       0      40
       3       1      40
       3       2      40
       3       3      40
       4       0      40
       4       1      40
       4       2      40
       4       3      40
       5       0      40
       5       1      40
       5       2      40
       5       3      40
       6       0      40
       6       1      40
       6       2      40
       6       3      40
       7       0      40
       7       1      40
       7       2      40
       7       3      40

-----------------------VPSS GRP PRESCALE INFO-------------------------
   GrpID bPreScl   Width  Height

-------------------------VPSS CHN ATTR-----------------------------------
   GrpId    PhyChnId  Enable    SpEn  UVInvert FrmWkEn      LW      RW      TW      BW     Color   OverlayMask
       0           0       1       0         0       1       2       2       2       2      ff00            ff
       0           1       1       0         0       1       2       2       2       2      ff00            ff
       0           2       1       0         0       1       2       2       2       2      ff00            ff
       0           3       1       0         0       1       2       2       2       2      ff00            ff
       1           0       1       0         0       1       2       2       2       2      ff00            ff
       1           1       1       0         0       1       2       2       2       2      ff00            ff
       1           2       1       0         0       1       2       2       2       2      ff00            ff
       1           3       1       0         0       1       2       2       2       2      ff00            ff
       2           0       1       0         0       1       2       2       2       2      ff00            ff
       2           1       1       0         0       1       2       2       2       2      ff00            ff
       2           2       1       0         0       1       2       2       2       2      ff00            ff
       2           3       1       0         0       1       2       2       2       2      ff00            ff
       3           0       1       0         0       1       2       2       2       2      ff00            ff
       3           1       1       0         0       1       2       2       2       2      ff00            ff
       3           2       1       0         0       1       2       2       2       2      ff00            ff
       3           3       1       0         0       1       2       2       2       2      ff00            ff
       4           0       1       0         0       1       2       2       2       2      ff00            ff
       4           1       1       0         0       1       2       2       2       2      ff00            ff
       4           2       1       0         0       1       2       2       2       2      ff00            ff
       4           3       1       0         0       1       2       2       2       2      ff00            ff
       5           0       1       0         0       1       2       2       2       2      ff00            ff
       5           1       1       0         0       1       2       2       2       2      ff00            ff
       5           2       1       0         0       1       2       2       2       2      ff00            ff
       5           3       1       0         0       1       2       2       2       2      ff00            ff
       6           0       1       0         0       1       2       2       2       2      ff00            ff
       6           1       1       0         0       1       2       2       2       2      ff00            ff
       6           2       1       0         0       1       2       2       2       2      ff00            ff
       6           3       1       0         0       1       2       2       2       2      ff00            ff
       7           0       1       0         0       1       2       2       2       2      ff00            ff
       7           1       1       0         0       1       2       2       2       2      ff00            ff
       7           2       1       0         0       1       2       2       2       2      ff00            ff
       7           3       1       0         0       1       2       2       2       2      ff00            ff

-------------------------VPSS CROP INFO-----------------------------------
   GrpId  CropEn    CoorType   CoorX   CoorY   Width  Height    OriW    OriH TrimWid TrimHgt
       0       0         RIT       0       0       0       0     960     576     960     576
       1       0         RIT       0       0       0       0     960     576     960     576
       2       0         RIT       0       0       0       0     960     576     960     576
       3       0         RIT       0       0       0       0     960     576     960     576
       4       0         RIT       0       0       0       0     960     576     960     576
       5       0         RIT       0       0       0       0     960     576     960     576
       6       0         RIT       0       0       0       0     960     576     960     576
       7       0         RIT       0       0       0       0     960     576     960     576

-------------------------VPSS GRP PIC QUEUE-------------------------
   GrpID FreeLen BusyLen   Delay  Backup
       0       7       0       0       1
       1       7       0       0       1
       2       7       0       0       1
       3       6       0       0       1
       4       7       0       0       1
       5       7       0       0       1
       6       7       0       0       1
       7       7       0       0       1

-----------------------VPSS GRP WORK STATUS-------------------------
   GrpID         RecvPic  ViLost    VdecLost           NewDo   OldDo NewUnDo         OldUnDo StartFl  bStart
       0            1414       0           0            1414       0       0            7068       0       1
       1            1414       0           0            1414       0       0            7067       0       1
       2            1414       0           0            1414       0       0            7067       0       1
       3            1414       0           0            1414       0       0            6245       0       1
       4            1413       0           0            1413       0       0            7064       0       1
       5            1413       0           0            1413       0       0            5652       0       1
       6            1414       0           0            1414       0       0            6971       0       1
       7            1413       0           0            1413       0       0            7065       0       1

-----------------------VPSS CHN WORK STATUS-------------------------
   GrpID   ChnID    WorkMode   Depth          SendOk  bConfident  SrcFRate  DstFRate   bDouble
       0       0        AUTO       0             514           1        -1        -1        --
       0       1        AUTO       0             595           1        -1        -1        --
       0       2        AUTO       0            1413           1        -1        -1         1
       0       3        USER       0               0           0         0         0        --
       1       0        AUTO       0             511           1        -1        -1        --
       1       1        AUTO       0             598           1        -1        -1        --
       1       2        AUTO       0            1413           1        -1        -1         1
       1       3        USER       0               0           0         0         0        --
       2       0        AUTO       0             506           1        -1        -1        --
       2       1        AUTO       0             590           1        -1        -1        --
       2       2        AUTO       0            1413           1        -1        -1         1
       2       3        USER       0               0           0         0         0        --
       3       0        AUTO       0             515           1        -1        -1        --
       3       1        AUTO       0             591           1        -1        -1        --
       3       2        AUTO       0            1413           1        -1        -1         1
       3       3        USER       0               0           0         0         0        --
       4       0        AUTO       0             519           1        -1        -1        --
       4       1        AUTO       0             596           1        -1        -1        --
       4       2        AUTO       0            1412           1        -1        -1         1
       4       3        USER       0               0           0         0         0        --
       5       0        AUTO       0             513           1        -1        -1        --
       5       1        AUTO       0             593           1        -1        -1        --
       5       2        AUTO       0            1412           1        -1        -1         1
       5       3        USER       0               0           0         0         0        --
       6       0        AUTO       0             513           1        -1        -1        --
       6       1        AUTO       0             588           1        -1        -1        --
       6       2        AUTO       0            1413           1        -1        -1         1
       6       3        USER       0               0           0         0         0        --
       7       0        AUTO       0             517           1        -1        -1        --
       7       1        AUTO       0             583           1        -1        -1        --
       7       2        AUTO       0            1412           1        -1        -1         1
       7       3        USER       0               0           0         0         0        --

----------------------VPSS CHN OUTPUT RESOLUTION-----------------------
   GrpID   ChnID  Enable   Width  Height  pixfmt cmpMode AspectRatio  videoX  videoY  videoW  videoH   BgColor
       0       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       0       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       0       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       0       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       1       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       1       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       1       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       1       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       2       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       2       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       2       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       2       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       3       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       3       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       3       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       3       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       4       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       4       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       4       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       4       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       5       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       5       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       5       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       5       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       6       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       6       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       6       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       6       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0
       7       0       1     960     576   SP420     SEG        NONE       0       0     960     576       0
       7       1       1     360     288   SP420    NONE        NONE       0       0     360     288       0
       7       2       1     454     256   SP420    NONE        NONE       0       0     454     256       0
       7       3       1     240     160   SP420    NONE        NONE       0       0     454     256       0

-------------------------DRV WORK STATUS-----------------------------------
   StartSuc0     LinkInt   StartErr0  NodeIdErr0      BusErr
       11309       11309           0           0           0

-------------------------DRV NODE QUEUE-----------------------------------
FreeNum WaitNum  OrderWaitNum  Busy00  Busy01    Sel0
     457       0             0       0       0       1

-----------------------INT WORK STATUS-------------------------
     CntPerSec  MaxCntPerSec     IntCostTm    MostCostTm  CostTmPerSec MCostTmPerSec
             0             0             0             0             0             0

Create1_RGN_OverlayProcess()函数打印如下,它打印了每个区域的位置和大小及绑定的VPSS
Create1_RGN_OverlayProcess:Handle=16, VpssGrp=0, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=17, VpssGrp=1, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=18, VpssGrp=2, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=19, VpssGrp=3, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=20, VpssGrp=4, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=21, VpssGrp=5, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=22, VpssGrp=6, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=23, VpssGrp=7, VpssChn=0 ,index=0
region:x=8, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=24, VpssGrp=0, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=25, VpssGrp=1, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=26, VpssGrp=2, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=27, VpssGrp=3, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=28, VpssGrp=4, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=29, VpssGrp=5, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=30, VpssGrp=6, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=31, VpssGrp=7, VpssChn=0 ,index=1
region:x=64, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=32, VpssGrp=0, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=33, VpssGrp=1, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=34, VpssGrp=2, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=35, VpssGrp=3, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=36, VpssGrp=4, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=37, VpssGrp=5, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=38, VpssGrp=6, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=39, VpssGrp=7, VpssChn=0 ,index=2
region:x=120, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=40, VpssGrp=0, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=41, VpssGrp=1, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=42, VpssGrp=2, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=43, VpssGrp=3, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=44, VpssGrp=4, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=45, VpssGrp=5, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=46, VpssGrp=6, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48
Create1_RGN_OverlayProcess:Handle=47, VpssGrp=7, VpssChn=0 ,index=3
region:x=176, y=8, w=48 ,h=48

另外问一句,overlay是贴在了输入上,所以看上去较小?
overlay是叠加到VPSS的0通道上,为什么说是叠加在输入上.
如果overlay叠加到输入上,那么overlayex是叠加到那个上面呢。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-07 15:35:05
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47890&ptid=14755]yanjinbin 发表于 2017-4-7 15:11[/url]
# cat /proc/umap/vpss

[VPSS] Version: [Hi3521A_MPP_V1.0.4.0 B040 Release], Build Time[Jun  8  ...[/quote]

overlay 是贴在group上(channel 必须设为0),所以所有vpss输出通道上都会有,可以拿编码通道的码流解一下看看(或者可以用vo绑定vpss channel1看一下),这个在文档VPSS一章中有说明

overlayex 应该是不同的,看上去是绑定在输出通道, 这个可以通过改变vo的分割模式来测试(比如一分割,rgn大小应该不变)和vo绑定vpss channel1看一下(应该没有rgn)

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-07 15:41:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47890&ptid=14755]yanjinbin 发表于 2017-4-7 15:11[/url]
# cat /proc/umap/vpss

[VPSS] Version: [Hi3521A_MPP_V1.0.4.0 B040 Release], Build Time[Jun  8  ...[/quote]

看log都正常,overlay只能显示3个,看不出问题点

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 16:54:08
认可0
我翻来覆去想,为什么第四个不显示,首先我想了对齐的问题,区域的x,y对齐有2/8/16,但是我这里都能满足啊,为什么就是不显示,
我还认为局域句柄号(RGN_HANDLE Handle)有问题,但是同样的句柄号overlay不行overlayex就不行。说不通啊。

还有一些,测试比如我怀疑第4个是否区域大小有问题,我注释它,如下:
                RECT_S tmp_rect[]={{8,8,48,48},{48*1+8*2,8,48,48},{48*2+8*3,8,48,48},/*{48*3+8*4,8,48,48},*/
                                   {48*4+8*5,8,48,48},{48*5+8*6,8,48,48},{48*6+8*7,8,48,48},{48*7+8*8,8,48,48}};

但还是只会显示3个区域。
根据上面测试结果,我在注释开头
                RECT_S tmp_rect[]={/*{8,8,48,48},*/{48*1+8*2,8,48,48},{48*2+8*3,8,48,48},{48*3+8*4,8,48,48},
                                   {48*4+8*5,8,48,48},{48*5+8*6,8,48,48},{48*6+8*7,8,48,48},{48*7+8*8,8,48,48}};
虽然还是只会显示3个区域,但是{48*3+8*4,8,48,48}区域能够显示,说明跟区域位置和大小无关。

那么是什么呢,难道就是叠加区域创建第三个就无法显示吗,修改如下测试代码:
for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(0+i,i,VPSS_CHN0);   
  }
for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(8+i,i,VPSS_CHN0);   
  }  
for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(16+i,i,VPSS_CHN0);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(24+i,i,VPSS_CHN0);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(32+i,i,VPSS_CHN0);   
  }
  for(i = 0 ; i < 8;i++)   
  {     
    Create1_RGN_OverlayProcess(40+i,i,VPSS_CHN0);   
  }     
代码是一共添加6个区域,但是实际只显示5个,如下图:

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 16:57:02
认可0
根据上面测试第4个区域不显示,根区域句柄号无关,跟区域位置和大小无关,
那么在使用同样属性创建区域的情况,还有哪些情况会导致第4个区域不显示。
简单来说就是什么情况下区域会不显示,谁能提供点思路。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-04-07 17:14:17
认可0
本帖最后由 zhuangweiye 于 2017-4-7 17:20 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=47903&ptid=14755]yanjinbin 发表于 2017-4-7 16:57[/url]
根据上面测试第4个区域不显示,根区域句柄号无关,跟区域位置和大小无关,
那么在使用同样属性创建区域的 ...[/quote]

楼主把overlay的 两个alpha 都设为 255 看看

最好还是用 HI_MPI_RGN_SetBitMap()加个图上去

flyarcher

0个粉丝

0

问答

0

专栏

0

资料

flyarcher 2017-04-07 17:43:35
认可0
LZ试一下把每个Overlay的BITMAP设置一下,怀疑是初始值的问题

yanjinbin

0个粉丝

9

问答

0

专栏

0

资料

yanjinbin 2017-04-07 18:16:46
认可0
参考各位意见
修改代码如下:
HI_S32 Create1_RGN_OverlayProcess(RGN_HANDLE Handle,VPSS_GRP VpssGrp,VPSS_CHN VpssChn)
{
    HI_S32 s32Ret = HI_FAILURE;
    RGN_ATTR_S stOverlayAttr;
    MPP_CHN_S stOverlayChn;
    RGN_CHN_ATTR_S stOverlayChnAttr;
                static HI_U8 layer_pri[]={0,0,0,0,0,0,0,0};
                RECT_S tmp_rect[]={{8,8,48,48},{48*1+8*2,8,48,48},{48*2+8*3,8,48,48},{48*3+8*4,8,48,48},
                                   {48*4+8*5,8,48,48},{48*5+8*6,8,48,48},{48*6+8*7,8,48,48},{48*7+8*8,8,48,48}};
    HI_U8 index = 0;

    index = layer_pri[VpssGrp]++;
   
                logs("Create1_RGN_OverlayProcess:Handle=%d, VpssGrp=%d, VpssChn=%d ,index=%d \n",Handle, VpssGrp, VpssChn ,index );
    logs("region:x=%d, y=%d, w=%d ,h=%d \n",tmp_rect[index].s32X, tmp_rect[index].s32Y, tmp_rect[index].u32Width ,tmp_rect[index].u32Height );
                //区域属性
                stOverlayAttr.enType = OVERLAY_RGN;
                stOverlayAttr.unAttr.stOverlay.enPixelFmt = PIXEL_FORMAT_RGB_1555;
                stOverlayAttr.unAttr.stOverlay.u32BgColor =  0x00FF;//0x7fff;
                stOverlayAttr.unAttr.stOverlay.stSize.u32Height = tmp_rect[index].u32Height;      //区域大小
                stOverlayAttr.unAttr.stOverlay.stSize.u32Width= tmp_rect[index].u32Width;
               
    s32Ret = HI_MPI_RGN_Create(Handle, &stOverlayAttr);  //创建区域
    if(HI_SUCCESS != s32Ret)
    {
        logs("HI_MPI_RGN_Create failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
   
                //区域通道显示结构       
    stOverlayChnAttr.enType = OVERLAY_RGN;                     //区域类型,叠加区域
                stOverlayChnAttr.bShow = HI_TRUE;
                stOverlayChnAttr.unChnAttr.stOverlayChn.stPoint.s32X = tmp_rect[index].s32X;//区域所在位置
                stOverlayChnAttr.unChnAttr.stOverlayChn.stPoint.s32Y = tmp_rect[index].s32Y;
                stOverlayChnAttr.unChnAttr.stOverlayChn.u32BgAlpha = 255;
                stOverlayChnAttr.unChnAttr.stOverlayChn.u32FgAlpha = 255;
                stOverlayChnAttr.unChnAttr.stOverlayChn.u32Layer = index;

    //区域绑定通道
    stOverlayChn.enModId = HI_ID_VPSS;    //直接绑定到VPSS通道
    stOverlayChn.s32DevId = VpssGrp;      
    stOverlayChn.s32ChnId = VpssChn;

                s32Ret = HI_MPI_RGN_AttachToChn(Handle,&stOverlayChn,&stOverlayChnAttr);  //将区域叠加到通道上去
    if(HI_SUCCESS != s32Ret)
    {
        logs("HI_MPI_RGN_AttachToChn failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

#if 1
    BITMAP_S stBitmap;
    stBitmap.u32Width = 48;       //位图大小要和区域大小一致   
    stBitmap.u32Height = 48;   
    stBitmap.enPixelFormat = PIXEL_FORMAT_RGB_1555;                                       
    stBitmap.pData = malloc(2 * stBitmap.u32Width * stBitmap.u32Height); //创建填充缓冲区   
    if(NULL == stBitmap.pData)   
    {        
      logs("bmp malloc fail \n");        
      return HI_FAILURE;   
    }                               
    memset(stBitmap.pData,0xAA,(2 * stBitmap.u32Width * stBitmap.u32Height)); //填充颜色值,0xAA   
    s32Ret = HI_MPI_RGN_SetBitMap(Handle,&stBitmap);                          //设置区域位图,即对区域进行位图填充。   
    if(s32Ret != HI_SUCCESS)   
    {        
      logs("HI_MPI_RGN_SetBitMap failed with %#x!\n", s32Ret);        
      return HI_FAILURE;   
    }        
    if (NULL != stBitmap.pData)   
    {
      free(stBitmap.pData);        
      stBitmap.pData = NULL;   
    }   
#endif
                return HI_SUCCESS;
}

实际效果如下:
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区