PotPlay视频播放器YUV色彩空间不一致所导致的图像发蒙问题及优化方案

✍🏻 基本情况

对着同样的场景,使用同样的isp参数,使用potplay默认设置(使用的是限制范围16-235)查看UVC或RTSP出流图像截图效果和jpg编码图像对比 ,发现UVC和RTSP出流图像截图效果基本相近,通透度也很好;但是拍照模式下的JPG效果比较蒙,通透度比较差。

💡定位解析

  1. YUV全范围颜色空间即Y范围为0-255,Cr/Cb范围为1-255
  2. 限制范围颜色空间为:Y范围为16-235,Cr/Cb范围为16-240
  3. 由于ISP输出的最终yuv图像为全范围颜色空间,如果和视频播放软件的yuv颜色空间对应不上,可能就会出现一些亮度和色彩偏差问题。
  4. 如果客户恰好用其他播放软件和实际isp输出的色彩空间对应上,但是调试的时候在potplay选择限制颜色空间显示,那么客户看到的图像可能发蒙,因为potplay内部已经做了直方图拉伸处理,提高了对比度。
  5. 后续使用potplay测试和调试图像的需要进行如下设置,把播放软件设置为全范围颜色空间。

📆 反思/总结

  1. 打开potplay视频播放软件;
  2. 点击F5快捷键,打开参数选项设置窗口。如下图不同版本potplay显示参数界面;

新potplay版本
旧potplay版本

3.点击界面色彩空间/属性。把YUV转RGB和YUV色彩空间设配置如下参数进行测试和调试。

猜想:ISP输出全范围YUV颜色空间,播放软件设置为限制范围颜色空间。此时,视频播放软件应该还有一些配置使得图像做了直方图拉伸处理。可能是上述界面中的色阶/偏移中待验证。

总之,ISP输出的颜色空间和播放软件显示所使用的颜色空间必须一致。否则会出现亮度、通透度、色彩的差异问题。

相关推荐
FlightYe3 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
Android系统攻城狮16 小时前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮16 小时前
Linux FFmpeg深度解析之av_parser_init调用流程与实战(二十一)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
重生之我是萧炎2 天前
ffmpeg官方下载安装教程(提供安装包)
ffmpeg
zslefour2 天前
使用ffmpeg遍历获取音频文件相关信息
ffmpeg
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
菜鸟小芯3 天前
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
ffmpeg·嵌入式
Android系统攻城狮4 天前
Linux FFmpeg深度解析之av_dump_format调用流程与实战(十一)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶