完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
可以通过i.MX8M官方提供的VPU示例代码来实现色彩空间转换和缩放,具体步骤如下:
1.下载官方VPU示例代码。 2.打开example_dec_disp.c文件,在start_playback函数中找到如下代码段: struct buf_request_t { int buf_size; int num_buffers; }; struct buf_request_t request = {0}; switch (g_dec_output_format) { case V4L2_PIX_FMT_YUV420M: case V4L2_PIX_FMT_YUYV: case V4L2_PIX_FMT_RGB32: request.buf_size = VPU_BUFFER_SIZE(1920*1080*4); request.num_buffers = MAX_INPUT_BUF_NUM; break; default: break; } 将V4L2_PIX_FMT_RGB32改为需要的输出格式,例如V4L2_PIX_FMT_BGR24。 3.在start_playback函数中添加以下代码: struct buf_request_t req_m2m_scale = {0}; int vu_fd; switch (g_dec_output_format) { case V4L2_PIX_FMT_RGB565: case V4L2_PIX_FMT_RGB666: case V4L2_PIX_FMT_RGB32: vu_fd = imx_vpu_v4l2_open(VIDEO_NODE_VU); if (vu_fd < 0) { printf("Failed to open VPU!n"); return -1; } if (imx_vpu_v4l2_ioctl(vu_fd, VIDIOC_REQBUFS, (void *)&req_m2m_scale) < 0) { printf("Failed to request buffers for M2M scale!n"); return -1; } if (imx_vpu_m2m_scale_open(g_dec_output_format, req_m2m_scale.num_buffers, req_m2m_scale.buf_size) < 0) { printf("Failed to open M2M scale!n"); return -1; } break; default: break; } 这段代码实现了打开VPU,请求M2M缩放缓冲区,以及打开M2M缩放。 4.在display_buffer函数中,添加以下代码: struct v4l2_buffer buffer; int frame_id; struct v4l2_pix_format m2m_format; switch (g_dec_output_format) { case V4L2_PIX_FMT_RGB565: case V4L2_PIX_FMT_RGB666: case V4L2_PIX_FMT_RGB32: memset(&m2m_format, 0, sizeof(struct v4l2_pix_format)); m2m_format.width = g_dec_width; m2m_format.height = g_dec_height; m2m_format.pixelformat = g_dec_output_format; if (imx_vpu_m2m_scale_process(buffer.m.userptr, g_dec_width * g_dec_height * 4, &m2m_format) < 0) { printf("Failed to process M2M scale!n"); return -1; } break; default: break; } 这段代码实现了对输出数据进行缩放。 5.编译并运行示例代码即可完成色彩空间转换和缩放。 |
|
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36421 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4893 浏览 1 评论
6108 浏览 1 评论
6819 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4249 浏览 0 评论
647浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
644浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
645浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
729浏览 2评论
844浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 07:19 , Processed in 0.918189 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号