AnnieLavigne

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne  发布于  2020-08-12 13:59:36
采纳率 0%
3个问答
3035

IVE缩放问题

 
本帖最后由 AnnieLavigne 于 2020-8-12 14:02 编辑

1)相机分辨率1920x1080,用VPSS旋转,得到1080x1920,成功
2)从VPSS抓帧成功,再用IVE缩放成416x416,结果报错,
[Func]:hi_mpi_ive_query [Line]:473 [Info]:Error,IveHandle(-1) must be (-1,268435455)
返回值为 0xA01D8003 HI_ERR_IVE_ILLEGAL_PARAM 参数超出合法范围

请问各位大佬知道原因吗?
我来回答
回答24个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-08-12 14:49:27
认可0
打印信息都很清楚了

IveHandle 不能为-1,楼主代码里面这个值是-1

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 15:38:41
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161649&ptid=81064]zhuangweiye 发表于 2020-8-12 14:49[/url]
打印信息都很清楚了

IveHandle 不能为-1,楼主代码里面这个值是-1[/quote]

大佬好,

主要是不知道具体原因。

那么IVE是支持1080x1920缩放成416x416的是吗?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-08-12 15:44:05
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161650&ptid=81064]AnnieLavigne 发表于 2020-8-12 15:38[/url]
大佬好,

主要是不知道具体原因。
[/quote]

报错是hi_mpi_ive_query,也不知道楼主做了啥操作,看上去是支持的,不然也会报错

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 16:02:39
认可0
本帖最后由 AnnieLavigne 于 2020-8-12 16:18 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=161651&ptid=81064]zhuangweiye 发表于 2020-8-12 15:44[/url]
报错是hi_mpi_ive_query,也不知道楼主做了啥操作,看上去是支持的,不然也会报错[/quote]

同样的代码,如果vpss不做旋转的话,1920x1080用IVE缩放成416x416是可以成功的,只是旋转完之后再缩放会失败。所以,不晓得hi_mpi_ive_query失败的原因在哪里。是不是IVE不支持1080x1920这个分辨率?文档里是说支持分辨率4x4~1920x1080。


另外,想用VGS做缩放,大佬能否帮忙看下这段代码,指点一二,非常感谢!
[code]
vpssGrp = 0;
targetVpssChn = 0;
s32MilliSec = 100;

VGS_HANDLE hHandle;
VGS_TASK_ATTR_S vgs_task;
memset(&vgs_task, 0, sizeof(vgs_task));

VIDEO_FRAME_INFO_S yuvFrame;
s32Ret = HI_MPI_VPSS_GetChnFrame(vpssGrp, targetVpssChn, &yuvFrame, s32MilliSec);
memcpy(&vgs_task.stImgIn, &yuvFrame, sizeof(vgs_task.stImgIn));
​        
memcpy(&vgs_task.stImgOut, &vgs_task.stImgIn, sizeof(VIDEO_FRAME_INFO_S));
vgs_task.stImgOut.stVFrame.u32Width = 416;
vgs_task.stImgOut.stVFrame.u32Width = 416;

s32Ret = HI_MPI_VGS_BeginJob(&hHandle);
s32Ret = HI_MPI_VGS_AddScaleTask(hHandle, &vgs_task, VGS_SCLCOEF_NORMAL);
if (s32Ret != HI_SUCCESS)
{
  HI_MPI_VGS_CancelJob(hHandle);
}
s32Ret = HI_MPI_VGS_EndJob(hHandle);
if (s32Ret != HI_SUCCESS)
{
  HI_MPI_VGS_CancelJob(hHandle);
}[/code]

没有报错,但是缩放没有生效。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-08-12 16:13:54
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161653&ptid=81064]AnnieLavigne 发表于 2020-8-12 16:02[/url]
同样的代码,如果vpss不做旋转的话,1920x1080用IVE缩放成416x416是可以成功的,只是旋转完之后再缩放 ...[/quote]

楼主代码有点高深,不容易理解

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 16:23:56
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161657&ptid=81064]zhuangweiye 发表于 2020-8-12 16:13[/url]
楼主代码有点高深,不容易理解[/quote]

麻烦大佬费眼瞅一瞅,没有报错,但是缩放没有生效。:)

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 16:32:00
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161659&ptid=81064]AnnieLavigne 发表于 2020-8-12 16:23[/url]
麻烦大佬费眼瞅一瞅,没有报错,但是缩放没有生效。[/quote]

换个问法,用VGS缩放时,VGS_TASK_ATTR_S结构体的VIDEO_FRAME_INFO_S stImgOut变量该如何开辟空间?一般都是直接从vpss得到的,无需初始化。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-08-12 16:34:09
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161659&ptid=81064]AnnieLavigne 发表于 2020-8-12 16:23[/url]
麻烦大佬费眼瞅一瞅,没有报错,但是缩放没有生效。[/quote]

试试 申请一个VB作为输出

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-08-12 16:38:26
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161653&ptid=81064]AnnieLavigne 发表于 2020-8-12 16:02[/url]
同样的代码,如果vpss不做旋转的话,1920x1080用IVE缩放成416x416是可以成功的,只是旋转完之后再缩放 ...[/quote]

memcpy(&vgs_task.stImgOut, &vgs_task.stImgIn, sizeof(VIDEO_FRAME_INFO_S));
这样操作,是不是把in覆盖了,不会有问题吗,out应该自己申请HI_MPI_VB_GetBlock,设置物理地址,映射虚拟地址

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 16:48:32
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161661&ptid=81064]zhuangweiye 发表于 2020-8-12 16:34[/url]
试试 申请一个VB作为输出[/quote]

好的,我试试。输入要申请VB吗?

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 17:17:24
认可0
本帖最后由 AnnieLavigne 于 2020-8-12 17:35 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=161662&ptid=81064]qn1573283653 发表于 2020-8-12 16:38[/url]
memcpy(&vgs_task.stImgOut, &vgs_task.stImgIn, sizeof(VIDEO_FRAME_INFO_S));
这样操作,是不是把in覆 ...[/quote]

改成这样了也还是不行,:'(
[code]vpssGrp = 0;
targetVpssChn = 0;
s32MilliSec = 100;
VIDEO_FRAME_INFO_S yuvFrame;
s32Ret = HI_MPI_VPSS_GetChnFrame(vpssGrp, targetVpssChn, &yuvFrame, s32MilliSec);

VGS_HANDLE hHandle;
VGS_TASK_ATTR_S vgs_task;
memset(&vgs_task, 0, sizeof(vgs_task));
memcpy(&vgs_task.stImgIn, &yuvFrame, sizeof(vgs_task.stImgIn));

HI_S32 s32Ret = HI_FAILURE;
SAMPLE_VGS_FUNC_PARAM stVgsFuncParam;
SAMPLE_VB_BASE_INFO_S stInImgVbInfo;
SAMPLE_VB_BASE_INFO_S stOutImgVbInfo;
VGS_SCLCOEF_MODE_E enVgsSclCoefMode = VGS_SCLCOEF_NORMAL;

stInImgVbInfo.enPixelFormat = PIXEL_FORMAT_YVU_SEMIPLANAR_420;
stInImgVbInfo.u32Width = 1080;
stInImgVbInfo.u32Height = 1920;
stInImgVbInfo.u32Align = 0;
stInImgVbInfo.enCompressMode = COMPRESS_MODE_NONE;

memcpy(&stOutImgVbInfo, &stInImgVbInfo, sizeof(SAMPLE_VB_BASE_INFO_S));
stOutImgVbInfo.u32Width = 416;
stOutImgVbInfo.u32Height = 416;

memset(&stVgsFuncParam, 0, sizeof(SAMPLE_VGS_FUNC_PARAM));
stVgsFuncParam.bScale = HI_TRUE;
stVgsFuncParam.penVgsSclCoefMode = &enVgsSclCoefMode;
stVgsFuncParam.pstInImgVbInfo = &stInImgVbInfo;
stVgsFuncParam.pstOutImgVbInfo = &stOutImgVbInfo;
stVgsFuncParam.s32SampleNum = 0;

VB_CAL_CONFIG_S stOutImgVbCalConfig;
stOutImgVbCalConfig.u32VBSize = 416*416*3/2;
stOutImgVbCalConfig.u32HeadStride = 0;
stOutImgVbCalConfig.u32HeadYSize = 0;
stOutImgVbCalConfig.u32MainStride = 416;
stOutImgVbCalConfig.u32HeadSize = 0;
stOutImgVbCalConfig.u32MainYSize = 416*416;
SAMPLE_VGS_VB_INFO pstVgsVbInfo;
s32Ret = SAMPLE_VGS_GetFrameVb(stVgsFuncParam.pstOutImgVbInfo, &stOutImgVbCalConfig, &vgs_task.stImgOut, &pstVgsVbInfo);

s32Ret = HI_MPI_VGS_BeginJob(&hHandle);
s32Ret = HI_MPI_VGS_AddScaleTask(hHandle, &vgs_task, VGS_SCLCOEF_NORMAL);
if (s32Ret != HI_SUCCESS)
{
        HI_MPI_VGS_CancelJob(hHandle);
}
s32Ret = HI_MPI_VGS_EndJob(hHandle);
if (s32Ret != HI_SUCCESS)
{
        HI_MPI_VGS_CancelJob(hHandle);
}[/code]

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-08-12 17:26:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161667&ptid=81064]AnnieLavigne 发表于 2020-8-12 17:17[/url]
改成这样了也还是不行,[/quote]

参考
static int GetPicScale(VIDEO_FRAME_INFO_S *psrcVideoFrame, VIDEO_FRAME_INFO_S **pdstVideoFrame, int width, int height)
{
    VGS_HANDLE             hHandle;
    VGS_TASK_ATTR_S        stTask;

    HI_U32                 u32Align;
    HI_U32                 u32Width;
    HI_U32                 u32Height;
    PIXEL_FORMAT_E         enPixelFormat;
    DATA_BITWIDTH_E        enBitWidth;
    COMPRESS_MODE_E        enCmpMode;

    HI_S32                 s32Ret = HI_FAILURE;
        memcpy(&stTask.stImgIn, psrcVideoFrame, sizeof(VIDEO_FRAME_INFO_S));
    u32Align      = 32;
    enCmpMode     = COMPRESS_MODE_SEG;
    enPixelFormat = PIXEL_FORMAT_YVU_SEMIPLANAR_420;
    enBitWidth    = DATA_BITWIDTH_8;
    u32Width      = width;
    u32Height     = height;

    COMMON_GetPicBufferConfig(u32Width, u32Height, enPixelFormat, enBitWidth, enCmpMode, u32Align, &stCalConfig);
    VbHandle = HI_MPI_VB_GetBlock(VB_INVALID_POOLID, stCalConfig.u32VBSize, HI_NULL);
    if (VB_INVALID_HANDLE == VbHandle)
    {
        printf("HI_MPI_VB_GetBlock failed!\n");
        goto EXIT;
    }

    stTask.stImgOut.u32PoolId                    = HI_MPI_VB_Handle2PoolId(VbHandle);
    stTask.stImgOut.enModId                      = HI_ID_VGS;
    stTask.stImgOut.stVFrame.u32Width            = u32Width;
    stTask.stImgOut.stVFrame.u32Height           = u32Height;
    stTask.stImgOut.stVFrame.enDynamicRange      = stTask.stImgIn.stVFrame.enDynamicRange;
    stTask.stImgOut.stVFrame.enCompressMode      = enCmpMode;
    stTask.stImgOut.stVFrame.enPixelFormat       = stTask.stImgIn.stVFrame.enPixelFormat;
    stTask.stImgOut.stVFrame.enVideoFormat       = stTask.stImgIn.stVFrame.enVideoFormat ;
    stTask.stImgOut.stVFrame.enField             = stTask.stImgIn.stVFrame.enField;
    stTask.stImgOut.stVFrame.enColorGamut        = stTask.stImgIn.stVFrame.enColorGamut;
    stTask.stImgOut.stVFrame.u32MaxLuminance     = stTask.stImgIn.stVFrame.u32MaxLuminance;
    stTask.stImgOut.stVFrame.u32MinLuminance     = stTask.stImgIn.stVFrame.u32MinLuminance;

    stTask.stImgOut.stVFrame.u64HeaderPhyAddr[0] = HI_MPI_VB_Handle2PhysAddr(VbHandle);
    stTask.stImgOut.stVFrame.u64HeaderPhyAddr[1] = stTask.stImgOut.stVFrame.u64HeaderPhyAddr[0] + stCalConfig.u32HeadYSize;
    stTask.stImgOut.stVFrame.u64HeaderPhyAddr[2] = stTask.stImgOut.stVFrame.u64HeaderPhyAddr[1];
    stTask.stImgOut.stVFrame.u64HeaderVirAddr[0] = (HI_U64)HI_MPI_SYS_Mmap(stTask.stImgOut.stVFrame.u64HeaderPhyAddr[0], stCalConfig.u32VBSize);
    stTask.stImgOut.stVFrame.u64HeaderVirAddr[1] = stTask.stImgOut.stVFrame.u64HeaderVirAddr[0] + stCalConfig.u32HeadYSize;
    stTask.stImgOut.stVFrame.u64HeaderVirAddr[2] = stTask.stImgOut.stVFrame.u64HeaderVirAddr[1];
    stTask.stImgOut.stVFrame.u32HeaderStride[0]  = stCalConfig.u32HeadStride;
    stTask.stImgOut.stVFrame.u32HeaderStride[1]  = stCalConfig.u32HeadStride;
    stTask.stImgOut.stVFrame.u32HeaderStride[2]  = stCalConfig.u32HeadStride;

    stTask.stImgOut.stVFrame.u64PhyAddr[0]       = stTask.stImgOut.stVFrame.u64HeaderPhyAddr[0] + stCalConfig.u32HeadSize;
    stTask.stImgOut.stVFrame.u64PhyAddr[1]       = stTask.stImgOut.stVFrame.u64PhyAddr[0] + stCalConfig.u32MainYSize;
    stTask.stImgOut.stVFrame.u64PhyAddr[2]       = stTask.stImgOut.stVFrame.u64PhyAddr[1];
    stTask.stImgOut.stVFrame.u64VirAddr[0]       = stTask.stImgOut.stVFrame.u64HeaderVirAddr[0] + stCalConfig.u32HeadSize;
    stTask.stImgOut.stVFrame.u64VirAddr[1]       = stTask.stImgOut.stVFrame.u64VirAddr[0] + stCalConfig.u32MainYSize;
    stTask.stImgOut.stVFrame.u64VirAddr[2]       = stTask.stImgOut.stVFrame.u64VirAddr[1];
    stTask.stImgOut.stVFrame.u32Stride[0]        = stCalConfig.u32MainStride;
    stTask.stImgOut.stVFrame.u32Stride[1]        = stCalConfig.u32MainStride;
    stTask.stImgOut.stVFrame.u32Stride[2]        = stCalConfig.u32MainStride;

    stTask.stImgOut.stVFrame.u64ExtPhyAddr[0]    = stTask.stImgOut.stVFrame.u64PhyAddr[0] + stCalConfig.u32MainSize;
    stTask.stImgOut.stVFrame.u64ExtPhyAddr[1]    = stTask.stImgOut.stVFrame.u64ExtPhyAddr[0] + stCalConfig.u32ExtYSize;
    stTask.stImgOut.stVFrame.u64ExtPhyAddr[2]    = stTask.stImgOut.stVFrame.u64ExtPhyAddr[1];
    stTask.stImgOut.stVFrame.u64ExtVirAddr[0]    = stTask.stImgOut.stVFrame.u64VirAddr[0] + stCalConfig.u32MainSize;
    stTask.stImgOut.stVFrame.u64ExtVirAddr[1]    = stTask.stImgOut.stVFrame.u64ExtVirAddr[0] + stCalConfig.u32ExtYSize;
    stTask.stImgOut.stVFrame.u64ExtVirAddr[2]    = stTask.stImgOut.stVFrame.u64ExtVirAddr[1];
    stTask.stImgOut.stVFrame.u32ExtStride[0]     = stCalConfig.u32ExtStride;
    stTask.stImgOut.stVFrame.u32ExtStride[1]     = stCalConfig.u32ExtStride;
    stTask.stImgOut.stVFrame.u32ExtStride[2]     = stCalConfig.u32ExtStride;

    s32Ret = HI_MPI_VGS_BeginJob(&hHandle);
    if(HI_SUCCESS != s32Ret)
    {
        printf("HI_MPI_VI_GetChnFrame failed, s32Ret:0x%x\n",s32Ret);
        goto EXIT1;
    }

    s32Ret = HI_MPI_VGS_AddScaleTask(hHandle, &stTask, VGS_SCLCOEF_NORMAL);
    if(HI_SUCCESS != s32Ret)
    {
        printf("HI_MPI_VGS_AddScaleTask failed, s32Ret:0FACE_ORIGIN_VENCx%x\n",s32Ret);
        goto EXIT1;
    }

    s32Ret = HI_MPI_VGS_EndJob(hHandle);
    if(HI_SUCCESS != s32Ret)
    {
        printf("HI_MPI_VGS_EndJob failed, s32Ret:0x%x\n",s32Ret);
        goto EXIT1;
    }

        memcpy(*pdstVideoFrame, &stTask.stImgOut, sizeof(VIDEO_FRAME_INFO_S));
        return 0;

EXIT1:
    HI_MPI_SYS_Munmap((HI_VOID*)stTask.stImgOut.stVFrame.u64HeaderVirAddr[0],stCalConfig.u32VBSize);
    HI_MPI_VB_ReleaseBlock(VbHandle);
EXIT:
    return -1;
}

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-08-12 17:38:28
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161668&ptid=81064]qn1573283653 发表于 2020-8-12 17:26[/url]
参考
static int GetPicScale(VIDEO_FRAME_INFO_S *psrcVideoFrame, VIDEO_FRAME_INFO_S **pdstVideoFra ...[/quote]

这代码就好理解多了,应该是mpp4.0的

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 17:39:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161668&ptid=81064]qn1573283653 发表于 2020-8-12 17:26[/url]
参考
static int GetPicScale(VIDEO_FRAME_INFO_S *psrcVideoFrame, VIDEO_FRAME_INFO_S **pdstVideoFra ...[/quote]

哇,这是亲测可用的吗?我试试

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 17:43:59
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161669&ptid=81064]zhuangweiye 发表于 2020-8-12 17:38[/url]
这代码就好理解多了,应该是mpp4.0的[/quote]

那适用于Hi3516CV500_SDK_V2.0.2.0吗?

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-12 20:08:10
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161668&ptid=81064]qn1573283653 发表于 2020-8-12 17:26[/url]
参考
static int GetPicScale(VIDEO_FRAME_INFO_S *psrcVideoFrame, VIDEO_FRAME_INFO_S **pdstVideoFra ...[/quote]

运行了十多帧之后,就会提示VPSS抓帧失败,显示队列为空。

HI_MPI_VPSS_GetChnFrame: got frame failed 0xa007800e

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-08-13 09:25:25
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161674&ptid=81064]AnnieLavigne 发表于 2020-8-12 20:08[/url]
运行了十多帧之后,就会提示VPSS抓帧失败,显示队列为空。

HI_MPI_VPSS_GetChnFrame: got frame faile ...[/quote]

使用完,需要释放
HI_MPI_VPSS_ReleaseChnFrame

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-08-13 09:28:27
认可0
  使用完,释放资源
  s32Ret = HI_MPI_SYS_Munmap((HI_VOID*)stScaleVideoFrame.stVFrame.u64HeaderVirAddr[0],stCalConfig.u32VBSize);
    if(HI_SUCCESS != s32Ret)
    {
        printf("HI_MPI_SYS_Munmap failed, s32Ret:0x%x\n",s32Ret);
    }

    s32Ret = HI_MPI_VB_ReleaseBlock(VbHandle);
    if(HI_SUCCESS != s32Ret)
    {
        printf("HI_MPI_VB_ReleaseBlock failed, s32Ret:0x%x\n",s32Ret);
    }

    s32Ret = HI_MPI_VPSS_ReleaseChnFrame(FACE_PIC_VPSS, 0, &stCropVideoFrame);
    if(HI_SUCCESS != s32Ret)
    {
        printf("HI_MPI_VPSS_ReleaseChnFrame failed, s32Ret:0x%x\n",s32Ret);
    }

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-08-13 10:51:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161681&ptid=81064]qn1573283653 发表于 2020-8-13 09:28[/url]
使用完,释放资源
  s32Ret = HI_MPI_SYS_Munmap((HI_VOID*)stScaleVideoFrame.stVFrame.u64HeaderVirAd ...[/quote]

有释放的,还是这样

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-08-13 11:05:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=161685&ptid=81064]AnnieLavigne 发表于 2020-8-13 10:51[/url]
有释放的,还是这样[/quote]

参考上面的,3个释放
还有问题cat /dev/logmpp看看
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区