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

Bad video resolution/filtering issue #72

Open
deeplyrelaxedcat opened this issue Mar 16, 2024 · 0 comments
Open

Bad video resolution/filtering issue #72

deeplyrelaxedcat opened this issue Mar 16, 2024 · 0 comments

Comments

@deeplyrelaxedcat
Copy link

Firstly, great thanks for developing this wonderful project! I would love to make more use of it in the near future.
Currently, there is one issue the prevents me from doing so: it seems that I have experienced a serious quality issue with filtering/subsampling of the video output when running dicaffeine as decoder on a Pi5:

My setup is:
Sources: NDI Test pattern generator, VLC with NDI plugin, and a professional Birddog Quad 4K NDI encoder fed with a 12G SDI signal from a Blackmagic Da Vinci Editing system.
Receiver: Pi5 with newest bookworm, libraries/installation as recommended on the dicaffeine page, connected to a 2 years old 4K LG 27'' display (also to a ~10 years old Dell 1920x1200 display with similar results)

Issue: The generated video output does NOT use all pixels contained in the stream, i.e. it performs subsampling and possibly inadequate filtering, even if the whole chain is running in pure 3840x2160 mode. Diagonal lines are very rugged (only about every 4-6th pixel is reproduced and spread over about 4-6 pixels).

What I tried to find out:

  • ensure, that the is no HDMI negotiation issue: I've created some test patterns and these are displayed ok when directly presented from the Raspi OS in original size (1:1 scaling). When I use the NDI chain and Dicaffeine in the same GUI, the quality is significantly worse. The behaviour can also be observed when downloading screenshots form the pi (as attached).
  • It seems that everey 2nd Y-pixel is not used at all (!) for displaying. This is shifted to even and odd pixels in every 2nd line, like a checker board.
  • in order to find out more, I've created a simple test pattern consisting of three areas (attached as png and can be used as source in the NDI Test Pattern application):
    a) top: single white pixels repeated 8 times every 21 pixels and every 21 lines
    b) middle: diagonal lines with 1px width, repeated 16 times every 21px horizontally
    c) bottom: black/white vertical bars with 1 pixel width (i.e. finest detail), starting with a black vertical on either even or odd pixels in the left and right half of the screen
  • experience:
    a) top: pixels are only reproduced every 42 pixeles and lines
    b) middle: half (every 2nd) of the diagonal lines are missing
    c) much less vertical stripes reproduced than in the original (-> resolution loss)
  • when I receive the same NDI sources with the NDI Studio Monitor application on Windows, the test pattern is corectly reproduced.

Any help or hint what I could do/test is highly welcome.

BTW: I've also some ideas for some nice features (but would like to test and play a bit further before proposing something that is already in the pipeline ;-) )

test-pattern-3840x2160

screen-shot-dicaffeine-output

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

1 participant