Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSD icon flicker severely #29

Open
zhouruixi opened this issue Oct 22, 2024 · 5 comments
Open

OSD icon flicker severely #29

zhouruixi opened this issue Oct 22, 2024 · 5 comments

Comments

@zhouruixi
Copy link

zhouruixi commented Oct 22, 2024

OSD icon is flicker, when I set --osd-refresh 200, it flicker severely.

When start PixelPilot, I can get this information:

PixelPilot Rockchip 1.1
Using plane 76 (NV12) for Video
Using plane 54 (ARGB8888) for OSD

Information shows that Video is using plane 76, OSD is using plane 54. According to my test, plane 76 is the upper(Overlay) layer and plane 54 is the lower(Primary) layer.

Video should be in the Primary layer (plane id 54), OSD should be in the Overlay layer (plane 76)?

@zhouruixi
Copy link
Author

zhouruixi commented Oct 22, 2024

Why video must use NV12 format? RK3566 Primary plane(Plane 0 plane id 54) does not support it. Can we use Plane 2(plane id 90) for OSD?

    ├───Plane 0
    │   ├───Object ID: 54
    │   ├───CRTCs: {0, 1, 2}
    │   ├───Formats:
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───RGB888 (0x34324752)
    │   │   ├───BGR888 (0x34324742)
    │   │   ├───RGB565 (0x36314752)
    │   │   └───BGR565 (0x36314742)
    ├───Plane 1
    │   ├───Object ID: 76
    │   ├───CRTCs: {0, 1, 2}
    │   ├───Formats:
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───RGB888 (0x34324752)
    │   │   ├───BGR888 (0x34324742)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───BGR565 (0x36314742)
    │   │   ├───NV12 (0x3231564e)
    │   │   ├───NV16 (0x3631564e)
    │   │   ├───NV24 (0x3432564e)
    │   │   ├───NV15 (0x3531564e)
    │   │   ├───Unknown (0x3032564e)
    │   │   ├───Unknown (0x3033564e)
    │   │   ├───YUYV (0x56595559)
    │   │   └───UYVY (0x59565955)

    └───Plane 2
        ├───Object ID: 90
        ├───CRTCs: {0, 1, 2}
        ├───Formats:
        │   ├───XRGB2101010 (0x30335258)
        │   ├───ARGB2101010 (0x30335241)
        │   ├───XBGR2101010 (0x30334258)
        │   ├───ABGR2101010 (0x30334241)
        │   ├───XRGB8888 (0x34325258)
        │   ├───ARGB8888 (0x34325241)
        │   ├───XBGR8888 (0x34324258)
        │   ├───ABGR8888 (0x34324241)
        │   ├───RGB888 (0x34324752)
        │   ├───BGR888 (0x34324742)
        │   ├───RGB565 (0x36314752)
        │   ├───BGR565 (0x36314742)
        │   ├───YUV420_8BIT (0x38305559)
        │   ├───YUV420_10BIT (0x30315559)
        │   ├───YUYV (0x56595559)
        │   └───Y210 (0x30313259)

@seriyps
Copy link
Collaborator

seriyps commented Oct 22, 2024

No idea, apparently it was like that from the very first commit

6edbec3#diff-090d9b4ffda130d35b54d039d51986835c60f2bcf24d825dec5a2220b29ccc9aR521-R530

If you can do some experiments with it, it would be great!

@zhouruixi
Copy link
Author

zhouruixi commented Oct 25, 2024

Have no problem with latest commit 5f72b95

now only flicker when no video stream

@zhouruixi
Copy link
Author

zhouruixi commented Dec 10, 2024

henkwiedig fixed osd flickering
henkwiedig@3c41e83

@henkwiedig
Copy link
Contributor

henkwiedig commented Dec 10, 2024

We will also need this: henkwiedig@9acee2c
Didn't fly this though if it introduces latency as the DISPLAY_THREAD now also has to wait for OSD_THREAD in a diffrent spot. On the bench it doesn't feel like it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants