普希金的笔

普希金的笔

0个粉丝

5

问答

0

专栏

0

资料

普希金的笔  发布于  2025-08-26 17:24:29
采纳率 0%
5个问答
424

Hi3516DV500 怎么使用TDE把vpss输出的YUV420格式转化为RGB格式

目前我写了一个代码实现了这样的数据链路:
传感器

VI:采集+格式转换 → YUV420(YVU_SEMIPLANAR_420,2688x1520)

VPSS:缩放+降噪 → 两路输出:
├─ CH0:1920x1080 YUV420 → VENC(编码)→ H.265码流(输出到内存/网络,代码未显式处理码流,仅统计)
└─ CH1:640x640 YUV420 → vpss_prof_thread(采样)→ NPU
├─ 内存映射:物理地址→虚拟地址(供YUV转RGB)
├─ YUV转RGB:640x640 YUV420 → RGB24(可选保存为BMP)

VO:从VPSS_CH0/CH1取YUV420帧 → MIPI屏幕预览(1080P60)
但这样使用算法来转换效率太低了,需要验证TDE是否可以完成YUV转RGB格式,将数据链路转换为:
传感器(RGB Bayer 12bpp)

VI(视频输入):采集+格式转换 → YUV420(YVU_SEMIPLANAR_420,2688x1520)

VPSS(视频后处理):缩放+降噪 → 两路输出:
├─ CH0:1920x1080 YUV420 → VENC(编码)→ H.265码流(输出到内存/网络)
└─ CH1:640x640 YUV420 → TDE/IVE → RGB格式 → NPU

VO(视频输出):从VPSS_CH0/CH1取YUV420帧 → MIPI屏幕预览(1080P60)
主要是CH1:640x640 YUV420 → TDE/IVE → RGB格式 → NPU这样一个数据链路的转换,但目前参考TDE API文档不知如何修改代码,请大佬给个详细的参考方案或者指导意见

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

UncleRoderick

59个粉丝

16

问答

4

专栏

20

资料

UncleRoderick 2025-08-26 17:43:59
认可0

YUV跟RGB格式转换可以使用IVE的ss_mpi_ive_csc接口实现

普希金的笔
普希金的笔   回复   UncleRoderick  2025-08-26 18:55:21
0

我先试一试tde

普希金的笔
普希金的笔   回复   UncleRoderick  2025-08-28 09:20:54
0

我暂时使用tde成功了,使用IVE的ss_mpi_ive_csc接口实现,这个有无具体的使用示例可以去借鉴一下,我只找到了库文件和api的pdf

/*
 * Prototype    : ss_mpi_ive_csc
 * Description  : YUV2RGB\YUV2HSV\YUV2LAB\RGB2YUV color space conversion are supported.
 * Parameters   : ot_ive_handle           *handle        Returned handle ID of a task
 * ot_svp_src_img          *src           Input source data:
 * 1. SP420\SP422 type for YUV2RGB\YUV2HSV\YUV2LAB;
 * 2. U8C3_PACKAGE\U8C3_PLANAR type for RGB2YUV;
 * ot_svp_dst_img          *dst           Output result:
 * 1. U8C3_PACKAGE\U8C3_PLANAR typed for YUV2RGB\YUV2HSV\YUV2LAB;
 * 2. SP420\SP422 type for RGB2YUV;
 * ot_ive_csc_ctrl         *ctrl          Control parameters for CSC
 * td_bool                 is_instant     For details, see ss_mpi_ive_dma.
 * Return Value : TD_SUCCESS: Success;Error codes: Failure.
 * Date         : 2019-06-30
 * Author       : Multimedia software (SVP) group
 */
td_s32 ss_mpi_ive_csc(ot_ive_handle *handle, const ot_svp_src_img *src, const ot_svp_dst_img *dst,
    const ot_ive_csc_ctrl *ctrl, td_bool is_instant);

MA_NONG

10个粉丝

18

问答

3

专栏

0

资料

MA_NONG 2025-08-26 18:13:37
认可0

//如下 AI 参考:

// 初始化TDE
HI_TDE2_Open();
hTde = HI_TDE2_BeginJob();

// 配置源表面(YUV NV12)
stSrc.u32Width = 1920;
stSrc.u32Height = 1080;
stSrc.enColorFmt = TDE2_COLOR_FMT_NV12;
stSrc.u32PhyAddr = 0x80000000;

// 配置目标表面(RGB888)
stDst.u32Width = 1280;      // 缩放至1280x720
stDst.u32Height = 720;
stDst.enColorFmt = TDE2_COLOR_FMT_RGB888;
stDst.u32PhyAddr = 0x90000000;

// 配置缩放参数
TDE2_RECT_S stSrcRect = {0, 0, 1920, 1080};
TDE2_RECT_S stDstRect = {0, 0, 1280, 720};

// 执行带缩放的转换
HI_TDE2_Bitblit(hTde, &stSrc, &stSrcRect, &stDst, &stDstRect, 
               NULL, TDE2_ROP2_SRC, TDE2_ALPHA_NONE, 
               TDE2_MIRROR_NONE, TDE2_ROTATION_0);

HI_TDE2_EndJob(hTde, HI_FALSE, HI_TRUE, 1000);
HI_TDE2_Close();
普希金的笔
普希金的笔   回复   MA_NONG  2025-08-26 18:55:02
0

OK

普希金的笔
普希金的笔   回复   MA_NONG  2025-08-28 09:17:16
0

已经做好了tde模块来转rgb了但我的效率有点低
[TDE] Version: [HI3519DV500_MPP_V2.0.2.0 B050 Release]
———- tde spend time proc info ———-
BEGIN_JOB : 9us
BIT_BLIT : 0us
SOLID_DRAW : 0us
QUICK_COPY : 0us
QUICK_RESIZE : 0us
QUICK_FILL : 0us
CORNER_BOX : 0us
DRAW_LINE : 0us
MB_BLIT : 173us
END_JOB : 25725us
WAIT_THE_TASK : 0us
WAIT_ALL_TASK : 0us
PATTERN_FILL : 0us
ROTATE : 0us
tde怎么提升利用效率

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

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区