七星海棠

七星海棠

1个粉丝

29

问答

0

专栏

1

资料

七星海棠  发布于  2017-05-14 12:10:27
采纳率 0%
29个问答
11152

Hi3536视频缓存池分配问题咨询

 
大家好,
      初次接触海思平台,对其视频缓存池分配这块理解的不是很清楚。
      现用Hi3536做解码器,希望能支持4路3840*2160,16路1080p, 32路720p, 64路D1视频解码,我该怎么去分配视频缓存池才能同时满足这些需求。
      参考demo做了些测试
    pstVbConf.u32MaxPoolCnt = 2;   
    pstVbConf.astCommPool[0].u32BlkSize = (1920 * 1080 * 3) >> 1;
    pstVbConf.astCommPool[0].u32BlkCnt  = 20;

    pstVbConf.astCommPool[1].u32BlkSize = 3840*2160;
    pstVbConf.astCommPool[1].u32BlkCnt  = 5;

    s32Ret = HI_MPI_VB_SetConf(&pstVbConf);

    pstModVbConf.u32MaxPoolCnt = 2;
    VB_PIC_BLK_SIZE(1920, 1080, enType, PicSize);       
    pstModVbConf.astCommPool[0].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[0].u32BlkCnt  = 5 * 16;
      
    HI_MPI_VB_ExitModCommPool(VB_UID_VDEC);
这样分配可以接16路1080P,但解不了32路720p
如果将u32BlkCnt 修改成5*32,解32路720p时会报错
HI_MPI_VDEC_SendStream(VdecChn=26) failed 0xa005800C!

如果将分辨率改成720P,u32BlkCnt 修改成5*32,可以解32路720P,这种情况下创建1080P时也会报内存分配失败的错误

我怎么分配内存,才能支持16路1080P,也能支持32路720P,64路D1解码
谢谢大家拉
我来回答
回答18个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-05-15 07:54:52
认可0
moduleVB下,每个VDEC的VB个数要大于等于 ref+disp+1

比如:如果ref = 2, disp = 2,4路vdec,那么VB要大于等于(2+2+1)*4= 20个

楼主的应用如果是同时,那么就要同时开VB

    pstModVbConf.u32MaxPoolCnt = 3;
    VB_PIC_BLK_SIZE(1920, 1080, enType, PicSize);        
    pstModVbConf.astCommPool[0].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[0].u32BlkCnt  = 5 * 16;

    VB_PIC_BLK_SIZE(1280, 720, enType, PicSize);        
    pstModVbConf.astCommPool[1].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[1].u32BlkCnt  = 5 * 32;

    VB_PIC_BLK_SIZE(720, 576, enType, PicSize);        
    pstModVbConf.astCommPool[2].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[2].u32BlkCnt  = 5 * 64;

当然这里假定是 ref+disp+1=5

至于MMZ内存不够, 那么就多分点内存给MMZ,毕竟那么多路vdec还是需要内存的

七星海棠

1个粉丝

29

问答

0

专栏

1

资料

七星海棠 2017-05-15 09:30:05
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49711&ptid=15181]zhuangweiye 发表于 2017-5-15 07:54[/url]
moduleVB下,每个VDEC的VB个数要大于等于 ref+disp+1

比如:如果ref = 2, disp = 2,4路vdec,那么VB要 ...[/quote]

你好,
     这里说的ref和disp表示什么啊?
    memset(&pstModVbConf, 0, sizeof(VB_CONF_S));
    pstModVbConf.u32MaxPoolCnt = 4;
    VB_PIC_BLK_SIZE(1920, 1080, enType, PicSize);       
    pstModVbConf.astCommPool[0].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[0].u32BlkCnt  = 4 * 16;

    VB_PIC_BLK_SIZE(1280, 720, enType, PicSize);       
    pstModVbConf.astCommPool[1].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[1].u32BlkCnt  = 4 * 16;

    VB_PIC_BLK_SIZE(720, 576, enType, PicSize);       
    pstModVbConf.astCommPool[2].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[2].u32BlkCnt  = 4 * 32;

    VB_PIC_BLK_SIZE(3840, 2160, enType, PicSize);       
    pstModVbConf.astCommPool[3].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[3].u32BlkCnt  = 5;

    我这么设置vb,当我解码通道按下面设置时没问题,能解16路1080P,也能解32路720P
#define MAX_VDEC_NUM 16
#define MAX_VO_DEV_NUM 2
#define MAX_VO_CHN_NUM 16
#define MAX_VPSS_CHN_NUM 2
#define MAX_VPSS_GRP_NUM 16 + 16

   当我解码通道设置按如下设置时,1080P链接到第6路时就会报错
#define MAX_VDEC_NUM 36
#define MAX_VO_DEV_NUM 2
#define MAX_VO_CHN_NUM 36
#define MAX_VPSS_CHN_NUM 2
#define MAX_VPSS_GRP_NUM 36 + 36
    错误为 HI_MPI_VDEC_SendStream(VdecChn=26) failed 0xa005800C!
    我MMZ分配为:
#mem_total=512;          # 512M, total mem
mem_total=1024;          # 512M, total mem
mem_start=0x40000000;   # phy mem start

#os_mem_size=128;        # 128, os mem
os_mem_size=256;        # 128, os mem
#mmz_start=0x48000000;   # mmz start addr
mmz_start=0x50000000;   # mmz start addr
#mmz_size=384M;          # 384M, mmz size
#mmz_size=896M;          # 384M, mmz size
mmz_size=768M;          # 384M, mmz size

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-05-15 10:17:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49721&ptid=15181]七星海棠 发表于 2017-5-15 09:30[/url]
你好,
     这里说的ref和disp表示什么啊?
    memset(&pstModVbConf, 0, sizeof(VB_CONF_S));
[/quote]

ref是参考帧个数, disp是显示帧个数, 这个都是指vdec中的,这些都是可以设的,当然多少都有些限制,具体可以参考文档

楼主的应用好像不是“与”的概念(同时16路1080P+32路720P+64路D1),而是“或”的概念,那么可以考虑使用privateVB的方式,基本上概念就是创建vdec现场开VB,销毁vdec就销毁VB,缺点是可能会导致MMZ碎片化

关于“错误为 HI_MPI_VDEC_SendStream(VdecChn=26) failed 0xa005800C!”应该不是创建出问题
给个出错时的/dev/logmpp和/proc/umap/vdec看看

七星海棠

1个粉丝

29

问答

0

专栏

1

资料

七星海棠 2017-05-15 10:37:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49727&ptid=15181]zhuangweiye 发表于 2017-5-15 10:17[/url]
ref是参考帧个数, disp是显示帧个数, 这个都是指vdec中的,这些都是可以设的,当然多少都有些限制,具 ...[/quote]

你好,
     是与的概念,想在初始化的时候就按照64路D1的通道数来分配。
     #define MAX_VDEC_NUM 36   此处写36是按照36分屏来分配的,多出了几路
      下面是我出错时的信息:
~ # cat /dev/logmpp
<3>[  hdmi] [Func]:EdidVersion [Line]:343 [Info]:<3>[  hdmi] EDID first blk is not version1.3:1.4
!<3>[  hdmi] [Func]:EdidVersion [Line]:343 [Info]:<3>[  hdmi] EDID first blk is not version1.3:1.4
!<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[  vdec] [File]:/home/pub/platform_h5/mpp/code/mkp/vdec/vdec.c
[Line]:1903
[Info]:Video format unsuport at Event chn 2
<3>[  vdec] [File]:/home/pub/platform_h5/mpp/code/mkp/vdec/vdec.c
[Line]:1903
[Info]:Video format unsuport at Event chn 2
<3>[  vdec] [File]:/home/pub/platform_h5/mpp/code/mkp/vdec/vdec.c
[Line]:1903
[Info]:Video format unsuport at Event chn 2
<3>[  vdec] [File]:/home/pub/platform_h5/mpp/code/mkp/vdec/vdec.c
[Line]:1903
[Info]:Video format unsuport at Event chn 2
<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[   sys] Dest have not bind any Src
<3>[(null)] Mmz malloc failed!
<3>[  vdec] [File]:/home/pub/platform_h5/mpp/code/mkp/vdec/vdec.c
[Line]:2914
[Info]:chn8:not enough buffer when alloc stream buffer!
^[[B^[[B

~ # cat /proc/umap/vdec
------------  info from master arm -------------

[VDEC] Version: [Hi3536_MPP_V2.0.2.0 B020 Release], Build Time[Jun  7 2015, 19:27:04]

-----message info--------------------------------------------------------------
  ID     WakeupVfmw
   0           7358
   1           7371
   2           6369
   3           7364
   4           5867
   5           6083
   6           5666
   7           5514

------------  info from slave arm -------------

[VDEC] Version: [Hi3536_MPP_V2.0.2.0 B020 Release], Build Time[Jun  7 2015, 19:28:37]

-----MODULE PARAM--------------------------------------------------------------
  obey_minCR    MiniBufMode     VBSource
           0              0            0

-----CHN ATTR & PARAMS-------------------------------------------------------
  ID  TYPE   Prior    MaxW    MaxH   Width  Height   StrmInputMode  Compress   STATE
   0  H265       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   1  H264       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   2  H264       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   3  H264       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   4  H265       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   5  H265       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   6  H264       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
   7  H264       5    1920    1080    1920    1080  STREAM/NOBLOCK         N   START
  ID  VfmwID  RefNum MvpEnable   DispNum     BufSize  MaxSlice  MaxSPS  MaxPPS  MaxVPS  DisplayMode
   0       0       2       Yes         2     6220800        16       2       2       2     PlayBack
   1       1       3        No         2     6220800        16       2       2       0     PlayBack
   2       2       3        No         2     6220800        16       2       2       0     PlayBack
   3       3       3        No         2     6220800        16       2       2       0     PlayBack
   4       5       2       Yes         2     6220800        16       2       2       2     PlayBack
   5       4       2       Yes         2     6220800        16       2       2       2     PlayBack
   6       6       3        No         2     6220800        16       2       2       0     PlayBack
   7       7       3        No         2     6220800        16       2       2       0     PlayBack
  ID  ErrThr   StrmThr   DecMode   OutMode  SetUserPic    Rotate  PicPoolId  PmvPoolId  PriVbCnt
   0      30         0        IP       Dec           N         0         -1         -1        -1
   1      30         0        IP       Dec           N         0         -1         -1        -1
   2      30         0        IP       Dec           N         0         -1         -1        -1
   3      30         0        IP       Dec           N         0         -1         -1        -1
   4      30         0        IP       Dec           N         0         -1         -1        -1
   5      30         0        IP       Dec           N         0         -1         -1        -1
   6      30         0        IP       Dec           N         0         -1         -1        -1
   7      30         0        IP       Dec           N         0         -1         -1        -1

-----CHN STATE-----------------------------------------------------------------
  ID  PrtclErr  StrmUnSP StrmError RefNumErr  PicSizeErr  fmterror  PicBufSizeErr      NoVb    Notify
   0         0         0         0         0           0         0              0         0     14886
   1         0         0         0         0           0         0              0         0     14911
   2         0         4         0         0           0         0              0         0     12882
   3         0         0         0         0           0         0              0         0     14895
   4         0         0         0         0           0         0              0         0     11869
   5         0         0         0         0           0         0              0         0     12307
   6         0         0         0         0           0         0              0         0     11459
   7         0         0         0         0           0         0              0         0     11150
  ID  fps  TimerCnt   BufFLen   DataLen   UsrFLen    UsrLen   ptsBufF   ptsBufU StreamEnd
   0   26     29535   7243701      5070      4064         0        39         0         0
   1   25     29522   7252001         0      4064         0        39         0         0
   2   25     25569   7252001         0      4064         0        39         0         0
   3   25     29496   7252001         0      4064         0        39         0         0
   4   26     23518   7253010         0      4064         0        39         0         0
   5   25     24381   7253010         0      4064         0        39         0         0
   6   25     22801   7252001         0      4064         0        39         0         0
   7   25     22097   7252001         0      4064         0        39         0         0

----- Detail Stream STATE -----------------------------------------------------------
  ID MpiSndNum           MpiSndLen   VdecNum   VdecLen  FmGetNum            FmGetLen  FmRlsNum            FmRlsLen  FmLstGet FmRlsFail
   0      7368            73823025         0         0      7377            73817955      7376            73808646      9309         0
   1      7378            55890822         0         0      7385            55890822      7384            55884743      6079         0
   2      6375            48122239         0         0      6381            48122239      6380            48116160      6079         0
   3      7371            55651869         0         0      7378            55651869      7377            55645790      6079         0
   4      5875            58930522         0         0      5883            58930522      5882            58925452      5070         0
   5      6091            61117094         0         0      6099            61117094      6098            61112024      5070         0
   6      5671            42872862         0         0      5676            42872862      5675            42866783      6079         0
   7      5520            41684823         0         0      5525            41684823      5524            41678744      6079         0

----- Detail FrameStore STATE -----------------------------------------------------------
  ID  FmNewPic GetFromFm   Discard    UsrSnd    KerSnd    KerRls   MeetEnd   FrmInVdec           CurPicPts   RedDiff  MaxRedDiff   DecDiff  MaxDecDiff
   0      7365      7365         0         0      7365      7364      7365           0                   0         0           0         0           0
   1      7376      7376         0         0      7376      7374      7376           0                   0         0           0         0           0
   2      6369      6369         0         0      6369      6367      6369           0                   0         0           0         0           0
   3      7369      7369         0         0      7369      7367      7369           0                   0         0           0         0           0
   4      5873      5873         0         0      5873      5871      5873           0                   0         0           0         0           0
   5      6089      6089         0         0      6089      6087      6089           0                   0         0           0         0           0
   6      5669      5669         0         0      5669      5667      5669           0                   0         0           0         0           0
   7      5517      5517         0         0      5517      5515      5517           0                   0         0           0         0           0
  ID  FreeNode  VfmwNode   VgsNode VgsWorkingNode  BusyNode  UserNode    RefNum  IsAvalible   VbCnt  MaxVbCnt
   0        38         1         0              0         0         1         1           0       2         5
   1        37         1         0              0         0         2         2           1       4         6
   2        37         1         0              0         0         2         2           1       4         6
   3        37         1         0              0         0         2         2           1       4         6
   4        37         1         0              0         0         2         1           0       3         5
   5        37         1         0              0         0         2         1           0       3         5
   6        37         1         0              0         0         2         2           1       4         6
   7        37         1         0              0         0         2         2           1       4         6

----- Detail UserData STATE -----------------------------------------------------------
  ID    MpiGet      MpiGetLen    MpiRls      MpiRlsLen   Discard     DiscardLen GetFromFm   GetFromFmLen   UsrFLen    UsrLen
   0         0              0         0              0         0              0         0              0      4064         0
   1         0              0         0              0         0              0         0              0      4064         0
   2         0              0         0              0         0              0         0              0      4064         0
   3         0              0         0              0         0              0         0              0      4064         0
   4         0              0         0              0         0              0         0              0      4064         0
   5         0              0         0              0         0              0         0              0      4064         0
   6         0              0         0              0         0              0         0              0      4064         0
   7         0              0         0              0         0              0         0              0      4064         0
~ #
      

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-05-15 13:52:27
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49730&ptid=15181]七星海棠 发表于 2017-5-15 10:37[/url]
你好,
     是与的概念,想在初始化的时候就按照64路D1的通道数来分配。
     #define MAX_VDEC_NUM 3 ...[/quote]

stream buffer太大了, 用不了6M一个,用图像的W*H就够了

从/proc/umap/vdec来看,H.264的RefNum = 2, H.265的RefNum = 3,两者的DispNum = 2, 那么按楼主代码上分配的VB的个数就不够用喽

七星海棠

1个粉丝

29

问答

0

专栏

1

资料

七星海棠 2017-05-15 16:02:17
认可0
本帖最后由 七星海棠 于 2017-5-15 16:06 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=49750&ptid=15181]zhuangweiye 发表于 2017-5-15 13:52[/url]
stream buffer太大了, 用不了6M一个,用图像的W*H就够了

从/proc/umap/vdec来看,H.264的RefNum = 2 ...[/quote]

你好,
     我明白你的意识,想按照你说的去调整,但怎么也调整不成功,应该是我对这2个函数还没理解透彻
     HI_MPI_VB_SetConf:设置MPP视频缓存池属性。
     HI_MPI_VB_SetModPoolConf:设置模块公共视频缓冲池属性。

     我现在是这么设置的
     memset(&pstVbConf, 0, sizeof(VB_CONF_S));
    pstVbConf.u32MaxPoolCnt = 3;   
    pstVbConf.astCommPool[0].u32BlkSize = (1920 * 1080 * 3) >> 1;
    pstVbConf.astCommPool[0].u32BlkCnt  = 16 + 4;

    pstVbConf.astCommPool[1].u32BlkSize = (1280 * 720 * 3) >> 1;
    pstVbConf.astCommPool[1].u32BlkCnt  = 16 + 4;

    pstVbConf.astCommPool[2].u32BlkSize = (720 * 576 * 3) >> 1;
    pstVbConf.astCommPool[2].u32BlkCnt  = 32 + 4;

/*
    pstVbConf.astCommPool[3].u32BlkSize = 3840*2160;
    pstVbConf.astCommPool[3].u32BlkCnt  = 5;
*/
    s32Ret = HI_MPI_VB_SetConf(&pstVbConf);

    memset(&pstModVbConf, 0, sizeof(VB_CONF_S));
    pstModVbConf.u32MaxPoolCnt = 3;
    VB_PIC_BLK_SIZE(1920, 1080, enType, PicSize);       
    pstModVbConf.astCommPool[0].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[0].u32BlkCnt  = 4 * 16;

    VB_PIC_BLK_SIZE(1280, 720, enType, PicSize);       
    pstModVbConf.astCommPool[1].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[1].u32BlkCnt  = 4 * 16;

    VB_PIC_BLK_SIZE(720, 576, enType, PicSize);       
    pstModVbConf.astCommPool[2].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[2].u32BlkCnt  = 4 * 32;
/*
    VB_PIC_BLK_SIZE(3840, 2160, enType, PicSize);       
    pstModVbConf.astCommPool[3].u32BlkSize = PicSize;
    pstModVbConf.astCommPool[3].u32BlkCnt  = 5;
*/   

    HI_MPI_VB_ExitModCommPool(VB_UID_VDEC);

    s32Ret = HI_MPI_VB_SetModPoolConf(VB_UID_VDEC, &pstModVbConf);
    if(HI_SUCCESS != s32Ret)
    {
        IPV_PRT("HI_MPI_VB_SetModPoolConf failed 0x%x!\n", s32Ret);
        return HI_FAILURE;
    }
   
    s32Ret = HI_MPI_VB_InitModCommPool(VB_UID_VDEC);
    if(HI_SUCCESS != s32Ret)
    {
        IPV_PRT("HI_MPI_VB_InitModCommPool failed 0x%x!\n", s32Ret);
        return HI_FAILURE;
    }

这块我该怎么去调整啊

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-05-15 16:32:44
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49759&ptid=15181]七星海棠 发表于 2017-5-15 16:02[/url]
你好,
     我明白你的意识,想按照你说的去调整,但怎么也调整不成功,应该是我对这2个函数还没理解 ...[/quote]

HI_MPI_VB_SetConf:设置MPP视频缓存池属性。
    这个函数是设公共的VB, 最常用到的模块是VI和VPSS, 对于NVR来说基本没有用,没有特殊情况可以不用开,函数还是要调用

HI_MPI_VB_SetModPoolConf:设置模块公共视频缓冲池属性。
    这个函数是设某个模块专用的VB, 最常用到的模块是VDEC,主要是moduleVB模式下用到
楼主的vdec
ID  VfmwID  RefNum MvpEnable   DispNum     BufSize  MaxSlice  MaxSPS  MaxPPS  MaxVPS  DisplayMode
   0       0       2       Yes         2     6220800        16       2       2       2     PlayBack
   1       1       3        No         2     6220800        16       2       2       0     PlayBack
   2       2       3        No         2     6220800        16       2       2       0     PlayBack
   3       3       3        No         2     6220800        16       2       2       0     PlayBack
   4       5       2       Yes         2     6220800        16       2       2       2     PlayBack
   5       4       2       Yes         2     6220800        16       2       2       2     PlayBack
   6       6       3        No         2     6220800        16       2       2       0     PlayBack
   7       7       3        No         2     6220800        16       2       2       0     PlayBack
每个VDEC需要的VB个数为RefNum + DispNum + 1,要多少楼主可以算一下,不用多开
另外,RefNum是否需要3个?这个和要解的码流有关系,一般来说可能2个比较好点
        DispNum 是否需要2个?这个可以看一下文档,内存不够的时候可以考虑用1

七星海棠

1个粉丝

29

问答

0

专栏

1

资料

七星海棠 2017-05-15 17:13:34
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49764&ptid=15181]zhuangweiye 发表于 2017-5-15 16:32[/url]
HI_MPI_VB_SetConf:设置MPP视频缓存池属性。
    这个函数是设公共的VB, 最常用到的模块是VI和VPSS ...[/quote]


  非常感谢,基本明了了
  

Travis

0个粉丝

0

问答

0

专栏

0

资料

Travis 2017-05-15 17:24:22
认可0
大家好,借这个贴,提一个问题: 我们在建立缓存池的时候,有不同blocksize的缓存池,ex:这里提到的设定了
memset(&pstModVbConf, 0, sizeof(VB_CONF_S));
     pstModVbConf.u32MaxPoolCnt = 3;
     VB_PIC_BLK_SIZE(1920, 1080, enType, PicSize);        
     pstModVbConf.astCommPool[0].u32BlkSize = PicSize;
     pstModVbConf.astCommPool[0].u32BlkCnt  = 4 * 16;

     VB_PIC_BLK_SIZE(1280, 720, enType, PicSize);        
     pstModVbConf.astCommPool[1].u32BlkSize = PicSize;
     pstModVbConf.astCommPool[1].u32BlkCnt  = 4 * 16;

     VB_PIC_BLK_SIZE(720, 576, enType, PicSize);        
     pstModVbConf.astCommPool[2].u32BlkSize = PicSize;
     pstModVbConf.astCommPool[2].u32BlkCnt  = 4 * 32;

如果需要同时解码 36路的 D1,而设定的720*576的块数是 4*32,按照前面大家的分析,实际是可用32个通道,这样的话 还有4 路没有取到合适的缓存,这4路是否会从更大的缓存池(1280*720或1920*1080)中取?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-05-15 17:28:15
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49778&ptid=15181]Travis 发表于 2017-5-15 17:24[/url]
大家好,借这个贴,提一个问题: 我们在建立缓存池的时候,有不同blocksize的缓存池,ex:这里提到的设定了 ...[/quote]

如果有更大的VB, 会

Travis

0个粉丝

0

问答

0

专栏

0

资料

Travis 2017-05-15 17:33:53
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49759&ptid=15181]七星海棠 发表于 2017-5-15 16:02[/url]
你好,
     我明白你的意识,想按照你说的去调整,但怎么也调整不成功,应该是我对这2个函数还没理解 ...[/quote]

看vdec,你的码流有 H264,也有h265. 在设定缓存池的时候只用固定设定一种类型吗?我测试发现在同样分辨率下H265的块远大于H264

七星海棠

1个粉丝

29

问答

0

专栏

1

资料

七星海棠 2017-05-15 17:50:50
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49781&ptid=15181]Travis 发表于 2017-5-15 17:33[/url]
看vdec,你的码流有 H264,也有h265. 在设定缓存池的时候只用固定设定一种类型吗?我测试发现在同样分辨 ...[/quote]

你好,
     我是按照固定的类型来设置的,目前没发现什么问题

Travis

0个粉丝

0

问答

0

专栏

0

资料

Travis 2017-05-15 19:16:01
认可0
本帖最后由 Travis 于 2017-5-15 19:19 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=49764&ptid=15181]zhuangweiye 发表于 2017-5-15 16:32[/url]
HI_MPI_VB_SetConf:设置MPP视频缓存池属性。
    这个函数是设公共的VB, 最常用到的模块是VI和VPSS ...[/quote]

你好,RefNum 为什么说 可能2个比较好点呢?
我查看了文档,是这样定义的:
参考帧的数目。
                取值范围:[0, 16],以帧为单位。
                参考帧的数目决定解码时需要的参考帧个数,会较大的影响
                内存 VB 块占用,根据实际情况设置合适的值。
                 海思自编码流:推荐设为 2。
                 其他监控码流:推荐设为 5。
                 测试码流:推荐设为 16。
                静态属性
解码缓存图像的最小帧数,默认为 2。取值范围:[0, 16]

解码缓存帧数主要影响哪些地方呢? 如果设置太小会不会导致视频卡顿? 设置大一些会不会在网络不好的情况下图像解码显示更顺畅?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-05-16 07:54:25
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49796&ptid=15181]Travis 发表于 2017-5-15 19:16[/url]
你好,RefNum 为什么说 可能2个比较好点呢?
我查看了文档,是这样定义的:
参考帧的数目。
[/quote]

ref最好还是叫“参考帧”比较好,概念上最好不要和一般意义的缓存搞混,主要用于编解码的预测
refnum是编码时编码算法中参考帧的个数,如果编码时的参考帧数量大于解码器的,那么是无法解出图像的,这和顺不顺畅没关系。

考虑到随着参考帧数的增加,一般来说编码的复杂度也会大幅上升,所以一般情况下(尤其是实时编码器)大都不会加大参考帧的数量,通常来说IPP。。。的情况参考帧一般为1,IPBBPBBP。。。的情况一般为2,所以2能适应大多数的应用场景,比如说大多数的IPC

Takin

1个粉丝

41

问答

0

专栏

0

资料

Takin 2017-05-17 16:34:04
认可0
好贴子,希望下次有用到,

falloutmx

1个粉丝

15

问答

0

专栏

0

资料

falloutmx 2017-05-18 09:32:01
认可0
一般这种问题就是logmpp和/proc/umap/vb配合来查,保证公共内存没有minfree为0的情况

william_ling

0个粉丝

8

问答

0

专栏

1

资料

william_ling 2019-12-05 16:52:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=49711&ptid=15181]zhuangweiye 发表于 2017-5-15 07:54[/url]
moduleVB下,每个VDEC的VB个数要大于等于 ref+disp+1

比如:如果ref = 2, disp = 2,4路vdec,那么VB要 ...[/quote]

庄工,请教一下   16路1080p 做叠加 VB 该怎样分配

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-12-06 09:16:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=150712&ptid=15181]william_ling 发表于 2019-12-5 16:52[/url]
庄工,请教一下   16路1080p 做叠加 VB 该怎样分配[/quote]

这样的问题是无法回答的
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区