airockchip / librga

Apache License 2.0
276 stars 52 forks source link

NV12格式图片帧使用RGA缩放后显示在LCD上画面存在拖影 #74

Open lztmfx opened 6 months ago

lztmfx commented 6 months ago

v4l2框架从video0取1920x1080的图,通过RGA裁剪为1920x720后,在1920x720分辨率的LCD上显示。首先验证过不用RGA,通过opencv和ffmpeg播放视频,视频帧率正常,LCD显示正常,但是通过RGA处理后,画面变化不大时,显示正常,没有横条拖影。当晃动摄像头,画面像素变化比较快的时候,LCD底部有1-2厘米的横条拖影。RGA裁剪后的画面越小,出现拖影的概率越低。通过设备树将CPU频率降低到800Mhz左右可以改改善拖影,CPU频率越高LCD出现拖影概率越大。

请问RGA和CPU的频率是有什么要注意的吗?不应该互相影响吧?感觉是RGA处理太吃力了。但是同样的分辨率RV1126正常,RK3568反而出现这个问题了。之前RGA除了用来做缩放外还用来转格式,结果就是在RV1126上,转格式LCD也是会出现拖影,不转格式只缩放就正常。

Cerf-Yu commented 3 months ago

拖影的现象是什么?如果是黑色或者绿色的小线条可以看一下FAQ文档中有记录这种问题。

lztmfx commented 2 months ago

拖影的现象是什么?如果是黑色或者绿色的小线条可以看一下FAQ文档中有记录这种问题。

现象类似屏幕上一帧drm还没有处理完成,就推送了下一帧,因为我在推送的时候手动加sleep()画面就不撕裂了,但是加了sleep,不就掉帧了吗,我看SDK其他的显示demo没有一个有等待处理完再推送的代码,都是直接push buffer的呀