qn1529255155

qn1529255155

0个粉丝

1

问答

0

专栏

0

资料

qn1529255155  发布于  2019-06-04 17:27:27
采纳率 0%
1个问答
3587

hi3536 MJPEG编解码问题

     
大家好,现在本人由于项目需求要用到HI3536的MJPEG编解码功能,在开发文档上是写明支持的,但是我目前配置了编解码也不成功。我按照海思例程的配置,配置了VENC进行MJPEG编码保存到文件,但是用海思提供的pc解码库例程(Hi_MJPEG_DEC_SDK_V1.0.0.3里的例程)来解码保存下来的文件,会打印”format: YUV420, width: 1920, height: 1080. error: 1   “,如果把编码数据直接拿出来放到VDEC解码(HI_MPI_VDEC_SendStream)会报错误0xa005800f,缓冲区满的情况,目前还没有头绪怎么解决。由于项目比较紧张,望大家帮帮忙,谢谢!
我来回答
回答3个
时间排序
认可量排序

qn1529255155

0个粉丝

1

问答

0

专栏

0

资料

qn1529255155 2019-06-04 17:29:27
认可0
本帖最后由 qn1529255155 于 2019-6-4 17:31 编辑

附上编码VENC的配置
VENC_CHN_ATTR_S stVencChnAttr;
        VENC_ATTR_MJPEG_S stJpegeModParam;
        VENC_ATTR_MJPEG_CBR_S stMjpegCbr;
        VENC_ATTR_MJPEG_VBR_S stMjpegVbr;
        stVencChnAttr.stVeAttr.enType = PT_MJPEG;
        stJpegeModParam.u32MaxPicHeight = 1920;
        stJpegeModParam.u32MaxPicWidth = 1080;
        stJpegeModParam.u32PicWidth = 1920;
        stJpegeModParam.u32PicHeight = 1080;
        stJpegeModParam.bByFrame = HI_TRUE;
        stJpegeModParam.u32BufSize = 1920 * 1080 * 2;
        memcpy(&stVencChnAttr.stVeAttr.stAttrMjpeg, &stJpegeModParam, sizeof(VENC_ATTR_MJPEG_S));

       
        stVencChnAttr.stRcAttr.enRcMode = VENC_RC_MODE_MJPEGCBR;
        stMjpegCbr.u32StatTime = 1;
        stMjpegCbr.u32SrcFrmRate = 30;
        stMjpegCbr.fr32DstFrmRate = 30;
        stMjpegCbr.u32BitRate = 1024 * 30;
        stMjpegCbr.u32FluctuateLevel = 0;
        memcpy(&stVencChnAttr.stRcAttr.stAttrMjpegeCbr, &stMjpegCbr, sizeof(VENC_ATTR_MJPEG_CBR_S));
       
        s32Ret = HI_MPI_VENC_CreateChn(chn, &stVencChnAttr);
        if (HI_SUCCESS != s32Ret) {
                DP_SYSMAG::instance()->Printf(DP_SYSMAG_LOG_LEVEL_ERROR, "HI_MPI_VENC_CreateChn [%d] faild with %#x!\n", chn, s32Ret);
                return HI_FAILURE;
        }
解码VDEC配置
        VDEC_CHN_ATTR_S stVdecChnAttr;
        stVdecChnAttr.u32PicWidth = 1920;
        stVdecChnAttr.u32PicHeight = 1080;
        stVdecChnAttr.u32Priority = 5;
        stVdecChnAttr.u32BufSize = 50 * 1920 * 1080;
        stVdecChnAttr.enType = PT_MJPEG;
        stVdecChnAttr.stVdecJpegAttr.enMode = VIDEO_MODE_FRAME;
        stVdecChnAttr.stVdecJpegAttr.enJpegFormat = JPG_COLOR_FMT_YCBCR420;
        s32Ret = HI_MPI_VDEC_CreateChn(chn, &stVdecChnAttr);
        if (s32Ret != HI_SUCCESS) {
                DP_SYSMAG::instance()->Printf(DP_SYSMAG_LOG_LEVEL_ERROR, "HI_MPI_VDEC_CreateChn:%d failed with %#x!", chn, s32Ret);
                return HI_FAILURE;
        }

arvin_fresh

0个粉丝

5

问答

0

专栏

1

资料

arvin_fresh 2019-06-05 19:51:25
认可0
最近也遇到跟你同样的问题,有谁解答一下,谢谢。

AnnieLavigne

0个粉丝

3

问答

0

专栏

0

资料

AnnieLavigne 2020-04-21 20:38:04
认可0
你好,请问你解决了吗?我也遇到类似的问题,用示例jpeg图片就可以成功,换成自己的jpeg图片就不成功。分辨率是完全一样的。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区