❤℡ˋ小时候可愣  。

❤℡ˋ小时候可愣 。

0个粉丝

10

问答

0

专栏

3

资料

❤℡ˋ小时候可愣 。  发布于  2020-12-25 11:05:07
采纳率 10%
10个问答
1917

avs配置问题

 
我的设置流程
读取两个1080p文件–>vdec->vpss(输出960*1080)–>avs->vo

在avs的配置中创建组成功

获取avs获取通道属性成功设置avs通道属性时出错出现错误吗 属性无效
下面是AVS的配置 搬到sample_avs.c的配置
HI_S32 SAMPLE_AVS_StartAVS(AVS_GRP AVSGrp, SAMPLE_AVS_CONFIG_S* pstAVSConfig)
{
    HI_U32         u32LUTSize;
    AVS_GRP_ATTR_S stAVSGrpAttr = {0};
    AVS_CHN        AVSChn = 0;
    AVS_CHN_ATTR_S stChnAttr = {0};
    HI_VOID*       pLUTVirAddr = NULL;
    HI_S32         s32Ret = HI_SUCCESS;
    HI_U32         u32PipeNum;
    HI_U32         i = 0;

    memcpy(&stAVSGrpAttr, &pstAVSConfig->stGrpAttr, sizeof(AVS_GRP_ATTR_S));

    u32PipeNum = stAVSGrpAttr.u32PipeNum;

    if (AVS_MODE_BLEND == stAVSGrpAttr.enMode)
    {
        u32LUTSize = SAMPLE_AVS_GetFileLen(pstAVSConfig->pLUTName[0]);

        if (0 == u32LUTSize)
        {
            SAMPLE_PRT("Open lut file fail!\n");
            return HI_FAILURE;
        }

        u32LUTSize = ALIGN_UP(u32LUTSize, 256);

        s32Ret = HI_MPI_SYS_MmzAlloc(&(g_AVSLUTAddr), &(pLUTVirAddr), NULL, NULL, u32LUTSize * u32PipeNum);

        if (HI_SUCCESS != s32Ret)
        {
            SAMPLE_PRT("alloc LUT buf fail with %#x!\n", s32Ret);
            goto exit;
        }

        for (i = 0; i < u32PipeNum; i++)
        {
            if (HI_SUCCESS != SAMPLE_AVS_LoadFile(pstAVSConfig->pLUTName, ((HI_CHAR*)pLUTVirAddr + u32LUTSize * i), u32LUTSize))
            {
                goto exit;
            }

            stAVSGrpAttr.stLUT.u64PhyAddr = g_AVSLUTAddr + u32LUTSize * i;
        }
    }

    stAVSGrpAttr.bSyncPipe                     = HI_TRUE;
    stAVSGrpAttr.stFrameRate.s32SrcFrameRate   = -1;
    stAVSGrpAttr.stFrameRate.s32DstFrameRate   = -1;
    stAVSGrpAttr.stLUT.enAccuracy              = AVS_LUT_ACCURACY_HIGH;

    s32Ret = HI_MPI_AVS_CreateGrp(AVSGrp, &stAVSGrpAttr);

    if (HI_SUCCESS != s32Ret)
    {
        SAMPLE_PRT("Creat grp failed with %#x!\n", s32Ret);
        goto exit;
    }

    stChnAttr.enCompressMode              = pstAVSConfig->enOutCmpMode;
    stChnAttr.stFrameRate.s32SrcFrameRate = -1;
    stChnAttr.stFrameRate.s32DstFrameRate = -1;
    stChnAttr.u32Depth                    = 0;
    stChnAttr.u32Width                    = pstAVSConfig->u32OutW;
    stChnAttr.u32Height                   = pstAVSConfig->u32OutH;
    stChnAttr.enDynamicRange              = DYNAMIC_RANGE_SDR8;

    s32Ret = HI_MPI_AVS_SetChnAttr(AVSGrp, AVSChn, &stChnAttr);

    if (HI_SUCCESS != s32Ret)
    {
        SAMPLE_PRT("Set chnattr failed with %#x!\n", s32Ret);
        goto exit;
    }

    s32Ret = HI_MPI_AVS_EnableChn(AVSGrp, AVSChn);

    if (HI_SUCCESS != s32Ret)
    {
        SAMPLE_PRT("AVS enable chn failed with %#x!\n", s32Ret);
        goto exit;
    }

    if (pstAVSConfig->benChn1)
    {
        AVSChn = 1;
        stChnAttr.u32Width  = 1920;
        stChnAttr.u32Height = 1080;
        stChnAttr.enCompressMode = COMPRESS_MODE_NONE;
        s32Ret = HI_MPI_AVS_SetChnAttr(AVSGrp, AVSChn, &stChnAttr);

        if (HI_SUCCESS != s32Ret)
        {
            SAMPLE_PRT("Set chnattr failed with %#x!\n", s32Ret);
            goto exit;
        }

        s32Ret = HI_MPI_AVS_EnableChn(AVSGrp, AVSChn);

        if (HI_SUCCESS != s32Ret)
        {
            SAMPLE_PRT("AVS enable chn failed with %#x!\n", s32Ret);
            goto exit;
        }
    }

    s32Ret = HI_MPI_AVS_StartGrp(AVSGrp);

    if (HI_SUCCESS != s32Ret)
    {
        SAMPLE_PRT("AVS start grp failed with %#x!\n", s32Ret);
        goto exit;
    }

    return HI_SUCCESS;

exit:
    if (g_AVSLUTAddr)
    {
        s32Ret = HI_MPI_SYS_MmzFree(g_AVSLUTAddr, NULL);

        if (HI_SUCCESS != s32Ret)
        {
            SAMPLE_PRT("MMzFree fail!\n");
        }
        g_AVSLUTAddr = 0;
    }

    return HI_FAILURE;

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

铭铭

0个粉丝

0

问答

0

专栏

0

资料

铭铭 2020-12-27 00:53:06
认可0

赚一分真难

铭铭

0个粉丝

0

问答

0

专栏

0

资料

铭铭 2020-12-27 00:53:13
认可0

赚一分真难

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

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区