Loading...
首页问答  

关于HI3536解码能力的问题请教

fishcrane
fishcrane  发布于 2016-10-17 11:25:38 9488
请教一个问题,HI3536能否同时解码H264、H265的数据流?
qn1581573038  发布于 2020-08-15 20:41:16
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39856&ptid=13012]zhuangweiye 发表于 2016-10-20 10:51[/url]
这个...

设置为VGA, VGA有输出吗? 先确定是不是VO设置的问题[/quote]

借楼求助大哥个问题,hi3536解码h.265视频的时候比解码h.264的视频更卡顿,有的时候视频甚至连贯不起来。
这是什么原因呢?h265不是应该效果更好吗?
1
seymour  发布于 2016-10-17 17:38:18
可以的
借地提一个问题,关于3536双cpu。
主cpu的load3536脚本
####################Variables Definition##########################

mem_total=512;          # 512M, total mem
mem_start=0x40000000;   # phy mem start

os_mem_size=128;        # 128, os mem
mmz_start=0x48000000;   # mmz start addr
mmz_size=384M;          # 384M, mmz size
从cpu的load3536脚本
####################Variables Definition##########################

mem_total=1024;                # 1024M, total mem
mem_start=0x80000000;        # phy mem start

os_mem_size=96;                # 64M, os mem
mmz_start=0x86000000;        # mmz start addr
mmz_size=928M;                # 960M, mmz size

我应用程序是放在主cpu的文件系统中。由于要解码16路1080P,老是提示mmz和os_mem_size不够用。板子总共2G的内存。
大家对这个修改过吗?
0
zhuangweiye  发布于 2016-10-18 08:09:28
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39636&ptid=13012]seymour 发表于 2016-10-17 17:38[/url]
可以的
借地提一个问题,关于3536双cpu。
主cpu的load3536脚本
[/quote]

从贴出来的代码可以看出:
mem有两块
一块用于主cpu, 大小是512M, 对应的物理地址是0x4000,0000 - 0x5fff,ffff,
其中前128M给linux用(0x4000,0000 - 0x47ff,ffff), 后面384M给MMZ(0x4800,0000 - 0x5fff,ffff)
另外一块给从cpu,大小为1G, 对应的物理地址是0x8000,0000 - 0xbfff,ffff,
其中前64M给linux用(0x8000,0000 - 0x85ff,ffff), 后面928M给MMZ(0x8600,0000 - 0xbaff,ffff)

如果板子上MEM是2G,而且配置的是连续的(0x4000,0000 - 0xbfff,ffff), 且只要修改主cpu的内存使用, 那么只要修改主cpu的部分
mem_total=1024;        # 1024M, total mem
mem_start=0x40000000;  # phy mem start

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

这样MMZ就大了

如果感觉linux小了, 可以按下面修改
mem_total=1024;        # 1024M, total mem
mem_start=0x40000000;  # phy mem start

os_mem_size=256;       # 256M, os mem
mmz_start=0x50000000;  # mmz start addr
mmz_size=768M;         # 768M, mmz size
这个要注意的是,除了修改这里(这里只是修改MMZ的大小和位置), 还要修改uboot的bootarg中的mem=256M, 才能起作用

其实读一下脚本就知道,这里设置的值都用在

insmod mmz.ko 后面, 主要是填写MMZ的名字, 起始地址, 和长度
0
seymour  发布于 2016-10-18 16:24:26
本帖最后由 seymour 于 2016-10-18 16:26 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=39658&ptid=13012]zhuangweiye 发表于 2016-10-18 08:09[/url]
从贴出来的代码可以看出:
mem有两块
一块用于主cpu, 大小是512M, 对应的物理地址是0x4000,0000 - 0x5f ...[/quote]

主要疑问是我现在应用程序是放在主CPU的系统中,从CPU的mem如何可以用到。
如果2G的内存,是用双cpu,主cpu的mem不能超过1G。
我有测试single 模式,就使用主CPU,配置是“bootargs=mem=768M console=ttyAMA0,115200”
load3536中配置,
mem_total=2048;        # 1024M, total mem
mem_start=0x40000000;  # phy mem start

os_mem_size=768;       # 128M, os mem
mmz_start=0x70000000;  # mmz start addr
mmz_size=1280M;         # 896M, mmz size
这样的话,能满足应用程序的mem需求。
VGA+HDMI输出, 现在我想2个HDMI输出,但只能初始化一个HDMI。我在怀疑是不是从CPU没有工作导致的。
如果使用master模式(双cpu),mem又不能满足。


0
zhuangweiye  发布于 2016-10-18 16:32:57
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39702&ptid=13012]seymour 发表于 2016-10-18 16:24[/url]
主要疑问是我现在应用程序是放在主CPU的系统中,从CPU的mem如何可以用到。
如果2G的内存,是用双cpu, ...[/quote]

VGA+HDMI和从cpu有什么关系, 这个只和VO初始化有关系吧

我的3536就是single模式, VGA+HDMI工作正常
0
seymour  发布于 2016-10-18 18:04:25
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39704&ptid=13012]zhuangweiye 发表于 2016-10-18 16:32[/url]
VGA+HDMI和从cpu有什么关系, 这个只和VO初始化有关系吧

我的3536就是single模式, VGA+HDMI工作正常[/quote]

VGA+HDMI是正常工作,  
是HDMI只能初始化一个。比如初始化了HDMI1,HDMI2就会失败,反过来也是。
0
zhuangweiye  发布于 2016-10-19 07:51:11
本帖最后由 zhuangweiye 于 2016-10-19 07:55 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=39712&ptid=13012]seymour 发表于 2016-10-18 18:04[/url]
VGA+HDMI是正常工作,  
是HDMI只能初始化一个。比如初始化了HDMI1,HDMI2就会失败,反过来也是。[/quote]

3536本身的输出设备只能有一个HDMI和一个VGA

如果要支持两个HDMI接口就要外接转换芯片, 通常可以用bt1120来转, 也就是说一个HDMI是芯片自带的, 另一个要通过bt1120来转成HDMI

所以代码里不存在初始化两个HDMI的情况
0
seymour  发布于 2016-10-19 14:53:33
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39754&ptid=13012]zhuangweiye 发表于 2016-10-19 07:51[/url]
3536本身的输出设备只能有一个HDMI和一个VGA

如果要支持两个HDMI接口就要外接转换芯片, 通常可以用b ...[/quote]

就是VO初始化失败。
0
zhuangweiye  发布于 2016-10-19 15:33:19
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39789&ptid=13012]seymour 发表于 2016-10-19 14:53[/url]
就是VO初始化失败。[/quote]

代码和失败的log 方便的话,可以贴一下

另外: 如果DHD0 初始化了HDMI, 那么DHD1是不能设为HDMI的

Hi3536 支持VO_INTF_CVBS、VO_INTF_VGA、VO_INTF_BT1120、VO_INTF_HDMI时序。高清设备的两个设备的接口互斥。
0
seymour  发布于 2016-10-19 17:55:58
本帖最后由 seymour 于 2016-10-19 18:08 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=39794&ptid=13012]zhuangweiye 发表于 2016-10-19 15:33[/url]
代码和失败的log 方便的话,可以贴一下

另外: 如果DHD0 初始化了HDMI, 那么DHD1是不能设为HDMI的
[/quote]

int init_vout(int id, int maxw, int maxh)
{
    HI_S32 i, j, s32ChnNum, start_group, s32Ret = HI_SUCCESS;
    SIZE_S stSize;
        VOCH *o, *oo;
    VO_PUB_ATTR_S stVoPubAttr;
    VO_VIDEO_LAYER_ATTR_S stVoLayerAttr;

    VIDEO_FRAME_INFO_S stUsrPicInfo;

        o = get_vo(id);
        if(!o)
                LOG_AND_RETURN(0, "Output %d not enabled", id);

        if(o->vdec_nch <=0)
                LOG_AND_RETURN(0, "No Channel selected for VOUT %d", id);

        if(o->vdec_nch == 1)
        {
                s32ChnNum = 1;
                o->displays = VO_MODE_1MUX;
        }else if(o->vdec_nch <=4 )
        {
                s32ChnNum = 4;
                o->displays = VO_MODE_4MUX;
        }else if (o->vdec_nch <= 9)
        {
                s32ChnNum = 9;
                o->displays = VO_MODE_9MUX;
        }else if (o->vdec_nch <= 16)
        {
                s32ChnNum = 16;
                o->displays = VO_MODE_16MUX;
        }else if (o->vdec_nch <= 25)
        {
                s32ChnNum = 25;
                o->displays = VO_MODE_25MUX;
        }else if (o->vdec_nch <= 36)
        {
                s32ChnNum = 36;
                o->displays = VO_MODE_36MUX;
        }

        o->start_voch = 0;
        for(i=0;i                 if((oo = get_vo(i)))
                {
                        o->start_voch += oo->vdec_nch;
                }

    s32Ret = SAMPLE_COMM_VPSS_Start( o->start_voch, o->vdec_nch,o->id, NULL, maxw, maxh, o->vdec_ch);
    if(s32Ret != HI_SUCCESS)
    {
        LOG("start VPSS fail for %#x!", s32Ret);
        release_vout();
    }
    /************************************************
    step5:  start VO
    *************************************************/

    //SAMPLE_COMM_VDEC_VoAttr(s32ChnNum, VoDev ,&stVoPubAttr, &stVoLayerAttr);
        memset(&stVoPubAttr, 0, sizeof(stVoPubAttr));
        s32Ret = HI_MPI_VO_GetPubAttr(o->VoDev, &stVoPubAttr);
    stVoPubAttr.enIntfSync = o->vmode;
        stVoPubAttr.enIntfType = o->enIntfType;

        LOG("Init vout [%d], VoDev %d with %d channels", o->id, o->VoDev, s32ChnNum);
        s32Ret = HI_SUCCESS;
        if(o->VoLayer != SAMPLE_VO_LAYER_VPIP)
                s32Ret = SAMPLE_COMM_VO_StartDev(o->VoDev, &stVoPubAttr);
    if(s32Ret != HI_SUCCESS)
    {
        LOG("SAMPLE_COMM_VO_StartDev fail for %#x!", s32Ret);
        release_vout(o->id);
                return s32Ret;
    }


    if ((o->enIntfType & (VO_INTF_HDMI | VO_INTF_BT1120)) && HI_SUCCESS != SAMPLE_COMM_VO_HdmiStart(id, stVoPubAttr.enIntfSync))
    {
        LOG("Start SAMPLE_COMM_VO_HdmiStart failed!");
        release_vout();
                return s32Ret;
    }
    s32Ret = SAMPLE_COMM_VO_GetWH(stVoPubAttr.enIntfSync, \
        &stVoLayerAttr.stDispRect.u32Width, &stVoLayerAttr.stDispRect.u32Height, &stVoLayerAttr.u32DispFrmRt);
    if (s32Ret != HI_SUCCESS)
    {
        LOG("SAMPLE_COMM_VO_GetWH: failed with %#x!", s32Ret);
        release_vout(o->id);
                return s32Ret;
    }
        stVoLayerAttr.u32DispFrmRt = opts.fps; // force 25 fps as VDEC outputs at 25fps
    stVoLayerAttr.stImageSize.u32Width = stVoLayerAttr.stDispRect.u32Width;
    stVoLayerAttr.stImageSize.u32Height = stVoLayerAttr.stDispRect.u32Height;
        stVoLayerAttr.bClusterMode = HI_FALSE;
        if(o->VoLayer == SAMPLE_VO_LAYER_VPIP)
        {
                stVoLayerAttr.bClusterMode = HI_TRUE;
                stVoLayerAttr.stDispRect.s32X = 100;
                stVoLayerAttr.stDispRect.s32Y = 100;
                stVoLayerAttr.stDispRect.u32Width = stVoLayerAttr.stImageSize.u32Width;
                stVoLayerAttr.stDispRect.u32Height = stVoLayerAttr.stImageSize.u32Width;
    }
    stVoLayerAttr.bDoubleFrame = HI_FALSE;
    stVoLayerAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;
    s32Ret = SAMPLE_COMM_VO_StartLayer(o->VoLayer, &stVoLayerAttr);
    if(s32Ret != HI_SUCCESS)
    {
        LOG("SAMPLE_COMM_VO_StartLayer fail for %#x!", s32Ret);
        release_vout();
                return s32Ret;
    }

    s32Ret = SAMPLE_COMM_VO_StartChn(o->VoLayer, o->displays);
    if(s32Ret != HI_SUCCESS)
    {
        LOG("SAMPLE_COMM_VO_StartChn fail for %#x!", s32Ret);
        release_vout(o->id);
                return s32Ret;
    }


    /************************************************
    step6:  VDEC bind VPSS
    *************************************************/

    s32Ret = HI_SUCCESS;

    for(i=0; ivdec_nch; i++)
    {
                VDECH *d;
               
                d = get_vd(ch_num);
                if(d)
                        d->vout_mask |= (1 << id);
                LOG("Binding vdec channel %d to vpss %d, total number of channels %d", ch_num, o->start_voch + i, o->vdec_nch);
//        s32Ret = SAMPLE_COMM_VDEC_BindVpss(ch_num, ch_num);
        if(s32Ret != HI_SUCCESS)
        {
            LOG("vdec bind vpss fail for channel %d with %#x!", ch_num, s32Ret);
            release_vout(o->id);
                        return s32Ret;
        }
    }

    for(i=0; ivdec_nch; i++)
    {
               
                LOG("Binding VO Layer %d, CH %d to VPSS channel %d" , o->VoLayer, i, ch_num);
        s32Ret = SAMPLE_COMM_VO_BindVpss(o->VoLayer, i, ch_num, o->id);
        if(s32Ret != HI_SUCCESS)
        {
            LOG("vpss bind vo fail for channel %d with %#x!", ch_num, s32Ret);
            release_vout(o->id);
                        return s32Ret;
        }
    }
        return 0;
}

VOCH vo[MAX_VO] = {
{
        .enabled = 1,
        .id = 0,
        .VoDev = SAMPLE_VO_DEV_DHD0,
        .VoLayer = SAMPLE_VO_LAYER_VHD0,
        .enIntfType = VO_INTF_HDMI,
        .vmode = VO_OUTPUT_1080P60,
        .u32GrpCnt = -1,
        .name = "HDMI1"
        },
{
        .enabled = 1,
        .id = 1,
        .VoDev = SAMPLE_VO_DEV_DHD1,
        .VoLayer = SAMPLE_VO_LAYER_VHD1,
        .enIntfType = VO_INTF_BT1120,//VO_INTF_VGA, //VO_INTF_BT1120, //, //VO_INTF_BT1120 | VO_INTF_HDMI,
        .vmode = VO_OUTPUT_1080P60, //VO_OUTPUT_1080P60,
        .u32GrpCnt = -1,
        .name = "HDMI2",
},
{
        .enabled = 1,
        .id = 2,
        .VoDev = SAMPLE_VO_DEV_DHD0,
        .VoLayer = SAMPLE_VO_LAYER_VPIP,
        .enIntfType = 0,
        .vmode = VO_OUTPUT_576P50,
        .u32GrpCnt = -1,
        .name = "PiP",
}};
get_vo 就是获取vo[],现在是hdmi和Vga没报错。
如果两个hdmi,   
CHECK_CHN(HI_MPI_HDMI_SetAVMute(id, HI_TRUE), id, "HI_MPI_HDMI_SetAVMute");
CHECK_CHN(HI_MPI_HDMI_SetAttr(id, &stAttr), id, "HI_MPI_HDMI_SetAttr");

[01/01 00:00:38.1738 main]: HI_MPI_HDMI_SetAVMute chn 1 failed in SAMPLE_COMM_VO_HdmiStart: LINE: 2322 with 0xa0288002!
[01/01 00:00:38.1739 main]: HI_MPI_HDMI_SetAttr chn 1 failed in SAMPLE_COMM_VO_HdmiStart: LINE: 2323 with 0xa0288002!
[01/01 00:00:38.1740 main]: [Func]:SAMPLE_COMM_VO_HdmiStart [Line]:2329 [Info]:failed
[01/01 00:00:38.1742 main]: Start SAMPLE_COMM_VO_HdmiStart failed!
[01/01 00:00:38.1743 main]: Releasing Vout 0 with -1 Groups
[01/01 00:00:38.1744 main]: Unbinding VO 0 to VPSS 0…


HDMI0不会有问题
Init vout [0], VoDev 0 with 1 channels
[01/01 00:00:38.1620 main]: HDMI 0 start success.
[01/01 00:00:38.1621 main]: u32Width:1920, u32Square:1, u32WndNum: 1, width 1920 height 1080
[01/01 00:00:38.1622 main]: VO Channel 0: Layer 0: start 0x0 length: 1920x1080
[01/01 00:00:38.1623 main]: hi_mpp.c:2943: get_vd1 => NULL for 0
[01/01 00:00:38.1624 main]: Binding vdec channel 0 to vpss 0, total number of channels 1
[01/01 00:00:38.1625 main]: Binding VO Layer 0, CH 0 to VPSS channel 0
[01/01 00:00:38.1626 main]: Setting up VOUT 1
0
zhuangweiye  发布于 2016-10-20 08:08:03
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39805&ptid=13012]seymour 发表于 2016-10-19 17:55[/url]
int init_vout(int id, int maxw, int maxh)
{
    HI_S32 i, j, s32ChnNum, start_group, s32Ret =  ...[/quote]

VO_INTF_CVBS、VO_INTF_VGA、VO_INTF_BT1120、VO_INTF_HDMI 可以理解为硬件接口

两个DHDx设备和芯片的实际硬件接口(3个)的关系是, 一个DHDx用了的接口, 另一个DHDx是不能再用了
比如 DHD0 设为VO_INTF_HDMI , 那么DHD1就不能再设为VO_INTF_HDMI

看个例子:
DHD0设置 enIntfType = VO_INTF_VGA | VO_INTF_HDMI
这样的设置可以理解为DHD0绑定到硬件接口VGA和HDMI,这时候两个接口输出的内容是一样的都是DHD0上的内容
这时候 DHD1只能设置 enIntfType = VO_INTF_BT1120 (如果需要的话)
这个就是文档上所谓的 “高清设备的两个设备的接口互斥”的意思

如果 DHD0设置 enIntfType = VO_INTF_VGA  可以理解为DHD0绑定到硬件接口VGA
这时候 DHD1可以设置
       enIntfType = VO_INTF_BT1120  可以理解为DHD1绑定Bt1120
或者enIntfType = VO_INTF_HDMI     可以理解为DHD1绑定HDMI
或者enIntfType = VO_INTF_HDMI  | VO_INTF_BT1120  可以理解为DHD1绑定HDMI和Bt1120接口,两者显示内容相同
但不能设置 enIntfType = VO_INTF_VGA
0
seymour  发布于 2016-10-20 09:21:36
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39842&ptid=13012]zhuangweiye 发表于 2016-10-20 08:08[/url]
VO_INTF_CVBS、VO_INTF_VGA、VO_INTF_BT1120、VO_INTF_HDMI 可以理解为硬件接口

两个DHDx设备和芯片的 ...[/quote]

我现在是
DHD0 =  VO_INTF_HDMI
DHD1 = VO_INTF_BT1120
这样并没互斥。
0
zhuangweiye  发布于 2016-10-20 09:44:00
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39846&ptid=13012]seymour 发表于 2016-10-20 09:21[/url]
我现在是
DHD0 =  VO_INTF_HDMI
DHD1 = VO_INTF_BT1120
[/quote]

   if ((o->enIntfType & (VO_INTF_HDMI | VO_INTF_BT1120)) && HI_SUCCESS != SAMPLE_COMM_VO_HdmiStart(id, stVoPubAttr.enIntfSync))
     {
         LOG("Start SAMPLE_COMM_VO_HdmiStart failed!");
         release_vout();
                 return s32Ret;
     }

这个代码是不是有问题? 不知道是什么想法
bt1120还去start HDMI? bt1120 是 bt1120 和HDMI没有关系

改成下面的
if ((o->enIntfType & VO_INTF_HDMI) && HI_SUCCESS != SAMPLE_COMM_VO_HdmiStart(id, stVoPubAttr.enIntfSync))
0
seymour  发布于 2016-10-20 10:46:13
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39849&ptid=13012]zhuangweiye 发表于 2016-10-20 09:44[/url]
if ((o->enIntfType & (VO_INTF_HDMI | VO_INTF_BT1120)) && HI_SUCCESS != SAMPLE_COMM_VO_HdmiStart ...[/quote]

非常感谢!vo 的确没有报错,但hdmi还是没有输出。
0
zhuangweiye  发布于 2016-10-20 10:51:33
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39855&ptid=13012]seymour 发表于 2016-10-20 10:46[/url]
非常感谢!vo 的确没有报错,但hdmi还是没有输出。[/quote]

这个...

设置为VGA, VGA有输出吗? 先确定是不是VO设置的问题
0
seymour  发布于 2016-10-20 11:08:10
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39856&ptid=13012]zhuangweiye 发表于 2016-10-20 10:51[/url]
这个...

设置为VGA, VGA有输出吗? 先确定是不是VO设置的问题[/quote]

VGA可以输出,我用sample里面的vo测试程序,设置DHD0=hdmi, DHD1=bt1120,也是没有输出。
0
seymour  发布于 2016-10-20 11:13:28
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39856&ptid=13012]zhuangweiye 发表于 2016-10-20 10:51[/url]
这个...

设置为VGA, VGA有输出吗? 先确定是不是VO设置的问题[/quote]

VGA,可以输出。
我现在使用sample里面的vo测试程序,设置DHD0=hdmi. DHD1=bt1120.DHD1也是没有输出,只有DHD0有
输出。
0
zhuangweiye  发布于 2016-10-20 11:24:30
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39861&ptid=13012]seymour 发表于 2016-10-20 11:13[/url]
VGA,可以输出。
我现在使用sample里面的vo测试程序,设置DHD0=hdmi. DHD1=bt1120.DHD1也是没有输出,只 ...[/quote]

有点晕

确定几个问题
第一, 设置DHD0为HDMI时有输出
第二, 设置DHD0为VGA时有输出
第三, 设置DHD1为HDMI时没有输出
至于bt1120又没有输出, 先不去关心它, 反正也看不到要量信号才知道

设置DHD0为HDMI 和 DHD1为VGA是什么情况?

如果没有输出, 比较好理解, 那就是DHD1根本就没有输出, 是不是代码里面没有vdec->vpss->vo(VHD1)的图像送过去

如果有,这个就难理解了, 除非设的分辨率是你的HDMI不支持的(一般测试都会设1080P的)
0
M_chenyang  发布于 2016-10-20 11:36:15
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39863&ptid=13012]zhuangweiye 发表于 2016-10-20 11:24[/url]
有点晕

确定几个问题
[/quote]

加载bt1120时有分辨训率选项。可以再查看下proc/umap的信息
0
seymour  发布于 2016-10-20 11:49:38
本帖最后由 seymour 于 2016-10-20 11:55 编辑

我能确定DHD0=HDMI , DHD1=VGA.两个都可以输出。
我用测试程序DHD0=vga, DHD1=hdmi, hdmi有输出,但vga我没有验证,手上板子没有座子。
0
zhuangweiye  发布于 2016-10-20 12:28:28
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39867&ptid=13012]seymour 发表于 2016-10-20 11:49[/url]
我能确定DHD0=HDMI , DHD1=VGA.两个都可以输出。
我用测试程序DHD0=vga, DHD1=hdmi, hdmi有输出,但vga我 ...[/quote]

晕了

你到底是什么没有输出哦

是bt1120吗? 问题是bt1120又看不到, 只有后面接转接芯片才能看到, 而转接芯片要有驱动才能工作
0
seymour  发布于 2016-10-20 12:47:35
是bt1120,之前就说过是bt1120转hdmi。  有转接芯片。sil9024,驱动这些肯定是有的。
/proc/umap # lsmod
Module                  Size  Used by    Tainted: P  
hi3536_adec             7786  0
hi3536_aenc            51211  0
hi3536_ao             160626  0
hi3536_ai              86123  1 hi3536_aenc
hi3536_aio             28166  0
acodec                 11464  0
sil9024                19529  0
-------------------------------------------------------------------------
0
seymour  发布于 2016-10-20 12:53:22
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39864&ptid=13012]M_chenyang 发表于 2016-10-20 11:36[/url]
加载bt1120时有分辨训率选项。可以再查看下proc/umap的信息[/quote]


加载驱动

insmod /extdko/extdrv/sil9024.ko norm=12
HDMI_1080P30
0x63 = 0x40




/proc/umap # cat vo

[VOU] Version: [Hi3536_MPP_V2.0.2.0 B020 Release], Build Time[Jun  7 2015, 19:24:44]

-----DEV CONFIG----------------------------------------------------------------
DevId   DevEn    Mux1    Mux2    Mux3     InfSync   BkClr  DevFrt
     0       Y    HDMI                    1080P@30      ff      30
     1       Y  BT1120                    1080P@30      ff      30

-----MODULE PARAM--------------------------------------------------------------
detectCycle
-----DEV VDAC STATUS-----------------------------------------------------------
DevId    VDAC
     0       -
     1       -

-----VIDEO LAYER STATUS--------------------------------------------------------
LayerId VideoEn ClustMode  PixFmt    ImgW    ImgH   DispW   DispH DispFrt DoubFrm Toleration Priority
       0       Y         N     420    1920    1080    1920    1080      30       N   10000000        0
       1       Y         N     420    1920    1080    1920    1080      30       N   10000000        0

-----VIDEO LAYER STATUS 2------------------------------------------------------
layerId VideoEn EnChNum  Matrix    Luma    Cont     Hue    Satu
       0       Y       4       0      50      50      50      50
       1       Y       1       0      50      50      50      50

-----VIDEO LAYER STATUS 3------------------------------------------------------
layerId DevId  SetBeg  SetEnd PartitionMode SupportCompress
       0     0       N       N         Multi               N
       1     1       N       N         Multi               N

-----CHN BASE INFO ------------------------------------------------------------
LayerId ChnId ChnEn  Prio DeFlk  ChnX  ChnY  ChnW  ChnH DispX DispY bSnap Field  bCas CcPos bRcvMatch
       0     0     Y     0     N     0     0   960   540    -1    -1     N  both     N     0       0
       0     1     Y     0     N   960     0   960   540    -1    -1     N  both     N     0       0
       0     2     Y     0     N     0   540   960   540    -1    -1     N  both     N     0       0
       0     3     Y     0     N   960   540   960   540    -1    -1     N  both     N     0       0
       1     0     Y     0     N     0     0  1920  1080    -1    -1     N  both     N     0       0

-----CHN PLAY INFO 1-----------------------------------------------------------
LayerId ChnId Batch  Show Pause  Step Revrs Refsh Thrshd ChnFrt   ChnGap
       0     0     N     Y     N     N     N     N      3     30    33333
       0     1     N     Y     N     N     N     N      3     30    33333
       0     2     N     Y     N     N     N     N      3     30    33333
       0     3     N     Y     N     N     N     N      3     30    33333
       1     0     N     Y     N     N     N     N      3     30    33333

-----CHN PLAY INFO 2-----------------------------------------------------------
LayerId ChnId          DisplayPts              PrePts             CurrPts            ScalePts              SetPts           RecvCurPts
       0     0                   0                   0                   0                   0                  -1                   0
       0     1                   0                   0                   0                   0                  -1                   0
       0     2                   0                   0                   0                   0                  -1                   0
       0     3                   0                   0                   0                   0                  -1                   0
       1     0                   0                   0                   0                   0                  -1                   0

-----ByMutli CHN STATUS1-------------------------------------------------------
LayerId ChnId       QCnt      NewDo      OldDo       LCnt       SCnt      ChRpt BusyN ShouD Dsped  Area AreaT
       0     0       3376        409          0       1469        409          0     2     1     1     0     0
       0     1       3387        409          0       1470        409          0     2     1     1     2     2
       0     2       3366        409          0       1468        409          0     2     1     1     1     1
       0     3       3360        409          0       1472        409          0     2     1     1     3     3
       1     0       3399        409          0       1470        409          0     1     1     1     0     0

-----ByMutli CHN STATUS2-------------------------------------------------------
LayerId ChnId  Buf1  Buf2  Buf3  Buf4  DBuf Stat1 Stat2 QNodeAddr SNodeAddr  DispAddr  ChnFreeNum  ChnBusyNum
       0     0  UseF  UseF  UseF  UseF     3   end   end  85075000  85075000  85663c00           4           2
       0     1  UseF  UseF  UseF  UseF     3   end   end  850753c0  850753c0  85663fc0           4           2
       0     2  UseF  UseF  UseF  UseF     3   end   end  85172200  85172200  85760e00           4           2
       0     3  UseF  UseF  UseF  UseF     3   end   end  851725c0  851725c0  857611c0           4           2
       1     0  UseF     F  UseF  UseF     4   end   end  85c53000  85c53000  86539200           5           1

-----ByMutli CHN STATUS3--------------------------------------------------------
LayerId ChnId AspectRatioMode     X     Y     Width     Height     BgColor     CompressMode
       0     0            NONE     0     0         0          0           0             NONE
       0     1            NONE     0     0         0          0           0             NONE
       0     2            NONE     0     0         0          0           0             NONE
       0     3            NONE     0     0         0          0           0             NONE
       1     0            NONE     0     0         0          0           0             NONE

-----BySingle CHN STATUS 1-----------------------------------------------------
LayerId ChnId   Job     Task     LCnt     SCnt    ChRpt     DRpt CBusy DBusy ShouD Dsped b2Scl  ChnAddr DispAddr

-----BySingle CHN STATUS 2-----------------------------------------------------
LayerId ChnId  bBorder  TopWidth  BottomWidth  LeftWidth  RightWidth  Color  ChnFreeNum  ChnBusyNum  DisplayFreeNum  DisplayBusyNum

-----BySingle CHN STATUS3------------------------------------------------------
LayerId ChnId AspectRatioMode     X     Y     Width     Height     BgColor     CompressMode

-----CHN OTHER INFO------------------------------------------------------------
LayerId ChnId bZoom ZmTyp ZoomX ZoomY ZoomW ZoomH  SrcW  SrcH
       0     0     N     0     0     0     0     0     0     0
       0     1     N     0     0     0     0     0     0     0
       0     2     N     0     0     0     0     0     0     0
       0     3     N     0     0     0     0     0     0     0
       1     0     N     0     0     0     0     0     0     0

-----WBC INFO------------------------------------------------------------------
WbcId  WbcW  WbcH PixFmt FrmRat RealRat    Mode  SrcType  SrcId  Depth  NotFin

-----GRAPHICS LAYER------------------------------------------------------------
Layer BindDev
   HC0       0
   HC1       1

-----LAYER CSC PARAM-----------------------------------------------------------
LAYERID  Matrix    Luma    Cont     Hue    Satu
       0       5      50      50      50      50
       1       5      50      50      50      50
       3       5      50      50      50      50
       4       5      50      50      50      50

-----DEV VIDEO STATUS 3--------------------------------------------------------
DevId bCasCfg  bCasEn bCasSlv  CasRgn CasMode CasPatn enCasDataTranMode
     0       N       N       N                       0                  
     1       N       N       N                       0                  

-----VGA PARAM-----------------------------------------------------------------
DevId  Matrix    Luma    Cont     Hue    Satu    Gain    SharpenStrength

-----HDMI PARAM----------------------------------------------------------------
DevId  Matrix    Luma    Cont     Hue    Satu
     0       0      50      50      50      59

/proc/umap #
0
zhuangweiye  发布于 2016-10-20 12:53:50
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39871&ptid=13012]seymour 发表于 2016-10-20 12:47[/url]
是bt1120,之前就说过是bt1120转hdmi。  有转接芯片。sil9024,驱动这些肯定是有的。
/proc/umap # lsmod
...[/quote]

如果驱动正常, 那么只有load3536中bt1120的管脚复用设置一个地方可能出问题了
0
seymour  发布于 2016-10-20 13:00:50
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39873&ptid=13012]zhuangweiye 发表于 2016-10-20 12:53[/url]
如果驱动正常, 那么只有load3536中bt1120的管脚复用设置一个地方可能出问题了[/quote]

真是复用管脚问题, 非常感谢:handshake
0
fishcrane  发布于 2016-11-08 20:08:14
友情支持一下吧
0
zhuangweiye  发布于 2020-08-17 08:55:20
qn1581573038 发表于 2020-8-15 20:41[/url]
借楼求助大哥个问题,hi3536解码h.265视频的时候比解码h.264的视频更卡顿,有的时候视频甚至连贯不起来。 ...

按正常情况来说, 在不超过3536解码能力的情况下, 不会出现卡顿, 也就没有更卡顿的说法

在没有限定条件的情况下, H265并不一定比H264效果好
0
内容存在敏感词
添加附件:文件小于20M 文件格式必须为doc,docx,xls,xlsx,pdf,ppt,pptx,txt,zip,rar,tar,7z
上传
文件格式必须为doc,docx,xls,xlsx,pdf,ppt,pptx,txt,zip,rar,tar,7z
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区