专栏底层软件NV12与JPG编解码时,出现图像颜色空间错位的问题

NV12与JPG编解码时,出现图像颜色空间错位的问题

langxm20062023-08-03
62
1

用户您好,请详细描述您所遇到的问题:

  1. 需求背景:使用J3平台接入的相机,采集了NV12格式的图像(1920*1080)信息,并通过网络传输给其他应用进行图像应用,如果直接传输NV12格式的图像信息,一帧图像大约3MB,网络带宽占用较大,出现严重丢帧。经过调研,希望使用J3平台支持的MeidaCodec模块,将NV12编码为JPG格式图像机进行传输(JPG格式的图像一帧500KB以内),降低了网络带宽,并满足帧率要求,接收端进行JPG解码为NV12后进行图像应用解析。

  2. 系统软件版本:x3j3_lnx_db_20221121 debug

  3. 问题涉及的技术领域: MeidaCodec图像编解码

  4. 问题描述:参考了SDK中PlatformSDK/unittest/testapp/multimedia_test中的示例,NV12转JPG,以及JPG转NV12相关的示例,直接使用NV12格式的图像帧数据,media_codec_context_t进行NV12编码为JPG,接收端使用JPG文件数据内容给media_codec_context_t进行解码,没有按示例中通过读写文件进行验证,但是相关编解码参数一致。出现的问题是,NV12编码JPG时,图像正常,但是JPG解码为NV12时,图像成图时颜色空间与灰度空间错位。具体可看附件中的图像和代码。

NV12编码为正常的JPG图像(部分截图):

JPG解码为NV12,成图后出现颜色空间错位图像(部分截图):

  1. 复现概率:(必现) 已进行的排查措施、分析及结果:

    1. NV12编码为JPG时,设置external_frame_buf为true;

    2. JPG解码为NV12时,设置external_bitstream_buf为true,gs_pAvpacket->size = static_cast<int>(stCodecInfo.ui32JPGDataLen);

  2. gs_pAvpacket->data = stCodecInfo.pJPGData;等;

  3. 提供必要的问题日志: 无

  4. 软件上是否有做自定义修改:无

底层软件
评论1
0/1000
  • D-bot
    Lv.3

    您好,您的帖子已较长时间未处理,如有新的问题,欢迎重新发起提问。

    该问题的相关解答,可参考OE Agent(https://chat.oe.horizon.auto/) 解答如下:
    2026-03-05
    0
    0