3 3
PaulA20

armbian 5.10 to 5.11 break video playback (cb2)

Recommended Posts

Waving or shaking desktop seems like video/vdpau and X/xfturbo are fighting for the top layer and/or vsync. I can't imagine, how this looks like at your desktop ;)

 

Anyway, current libvdpau-sunxi implementation is known to have issues with X11 integration. Not sure if your issue is one of that hardware restrictions.

You can try to set VDPAU_OSD=1 and test again. Just for interest.

 

Regards

rellla

Share this post


Link to post
Share on other sites

I noted that exist some new IMGs of Armbian 5.14 for CB2, so I put the one with legacy kernel in a SD just to find that the video playback is still broken :(  

 

Seems that desktop in Armbian has no love.

Share this post


Link to post
Share on other sites

I have: libvdpau-sunxi which is included in Armbian 5.15 video is played darker than normal. With dev-version of libvdpau-sunxi instead of the video there are waves and shaking.

Share this post


Link to post
Share on other sites

I have: libvdpau-sunxi which is included in Armbian 5.15 video is played darker than normal. With dev-version of libvdpau-sunxi instead of the video there are waves and shaking.

The darkness is because of the libvdpau-sunxi version. It has to be fixed in armbian.

 

The shaking i have to think about. Can you try that without a window manager, just start X from console and then start mpv? No windows, just plain X?

How does your Xorg.conf look like? As said, i think, it's a problem with X.

 

Regards

rellla

Share this post


Link to post
Share on other sites

The darkness is because of the libvdpau-sunxi version. It has to be fixed in armbian.

Bright video was only in Armbian 5.10, in new versions video is dark.

Share this post


Link to post
Share on other sites

Bright video was only in Armbian 5.10, in new versions video is dark.

The kernel was patched after 5.10. Before it had this silly bug. Until the libvdpau-sunxi csc patch was released, libvdpau-sunxi was wrong, while calculating these values, but together with the kernel bug, it seemed to be right. Now kernel is fixed and you also need a fixed libvdpau-sunxi version (including the csc patch) which is not included in the actual desktop build. So brightness is wrong. Due to a bug in libvdpau-sunxi. You can build it yourself, or wait for a solution until someone took this task.

 

The shaking is another issue, which has to be solved. It's not necessarily a libvdpau-sunxi based issue imho.

 

Regards

rellla

Share this post


Link to post
Share on other sites

In Armbian 5.20 there is still a problem - video playing is darker than usual.

The use of dev branch  give only wave on desktop, if run mpv in full screen:

VDPAU_DRIVER=sunxi VDPAU_OSD=1  mpv -fs --vo=vdpau --hwdec=vdpau --hwdec-codecs=all my_movie.mkv

Run mpv without a window manager give only black screen with playing sound.

Share this post


Link to post
Share on other sites

I didn't think it would work, because the display still dims somewhere in the middle of the boot sequence, but video playback is noticeably brighter. Thank you. It works when installed w/ dpkg -i, but then I get notified of one upgrade and I'm back to dark video after running apt get upgrade.

Share this post


Link to post
Share on other sites

zador.blood.stained, thank you for your participation. This version of the library, the video plays fine, more brighter than in the original version in armbian 5.20, but less contrast than in armbian 5.10

Share this post


Link to post
Share on other sites

This is "Redo csc calculations" patch applied on top of master branch, any other brightness issues are either kernel related or player settings related (I didn't check yet if VDPAU in general and this specific implementation allows setting brightness/hue/saturation for video playback)

 

Anyway I'll test this on H3 and this change will be included in all future releases if it works fine.

Share this post


Link to post
Share on other sites

I understand how to tell the difference:) Here:

in the first picture is a photo of the screen with a screenshot.jpg from the video:

mpv -fs mpv-shot0001.jpg

IMG_20160927_214704.jpg

the second picture is a photo of the screen paused mpv with your lib:

 mpv -fs --vo=vdpau --hwdec=vdpau --hwdec-codecs=all The.BBT.mkv

IMG_20160927_214645.jpg

Share this post


Link to post
Share on other sites

No, i mean where did you get the screenshot from? You are on A20, right? Can this be an issue with CSC_FULL_RANGE on/off, if it's an issue at all and not just mpv setting based?

Share this post


Link to post
Share on other sites

I made a screenshot by pressing key "S" in the same mpv on A20. The screenshot will appear in normal colors.

Share this post


Link to post
Share on other sites

Can you provide the logs while playing with MPV? It could be an issue with the color standard (BT601, BT709...) or the full range as said... I'm not an expert about the whole color range story. I'm not aware about some mistake in the calculations or matrix values themselves, too for sure :P

Share this post


Link to post
Share on other sites

Will that be enough?

VDPAU_DRIVER=sunxi VDPAU_OSD=1  mpv -fs --vo=vdpau --hwdec=vdpau --hwdec-codecs=all The.Big.Bang.Theory.S10E01.HDTV.1080p.Kuraj-Bambey.mkv
LIBGL: Initialising glshim
Playing: The.Big.Bang.Theory.S10E01.HDTV.1080p.Kuraj-Bambey.mkv
 (+) Video --vid=1 (h264)
 (+) Audio --aid=1 --alang=rus (*) (aac)
[VDPAU SUNXI] VE version 0x1623 opened
[VDPAU SUNXI] OSD enabled, using G2D!
AO: [pulse] 48000Hz stereo 2ch float
Using hardware decoding (vdpau).
VO: [vdpau] 1920x1080 vdpau
[VDPAU SUNXI] Generate CSC matrix from following color standard: 0
[VDPAU SUNXI] >procamp->bright: 0.000, procamp->contrast: 1.000, procamp->saturation: 1.000, procamp->hue: 0.000
[VDPAU SUNXI] Setting mixer value from following color standard: 0
[VDPAU SUNXI] >mix->bright: 0.000, mix->contrast: 1.000, mix->saturation: 1.000, mix->hue: -0.000
[VDPAU SUNXI] Setting mixer value from following color standard: 0
[VDPAU SUNXI] >mix->bright: 0.068, mix->contrast: 1.000, mix->saturation: 0.479, mix->hue: -0.068
[osd/libass] PlayResX undefined, setting to -1
[VDPAU SUNXI] Presentation time not supported
[VDPAU SUNXI] Presentation queue csc change
[VDPAU SUNXI] display driver -> bright: 53, contrast: 50, saturation: 24, hue: 49
AV: 00:00:22 / 00:21:57 (1%) A-V:  0.000

Share this post


Link to post
Share on other sites

Yes. And there it is. Something (the app-> mpv) is setting the values...

Standard (without setting anything) for bright/contrast/sat/hue is 0.00/1.00/1.00/0.00 which is done initially in vdpau.

After that MPV sets this to 0.068/1.000/0.479/-0.068 which results on the values 53/50/24/49, which go to the display driver.

The problematic value is the 0.479 saturation value, which is just half of it should be...

 

Find out, if you can adjust this in MPV or why MPV uses this settings. I think, this is the issue.

Share this post


Link to post
Share on other sites

I use a clean image armbian 5.20 without any edits configuration files.

I can change the saturation value to 100% using option "--saturation=100" :

VDPAU_DRIVER=sunxi VDPAU_OSD=1  mpv -fs --vo=vdpau --hwdec=vdpau --hwdec-codecs=all --saturation=100 The.Big.Bang.Theory.S10E01.HDTV.1080p.Kuraj-Bambey.mkv 

then log mpv becomes so:

[VDPAU SUNXI] Generate CSC matrix from following color standard: 0
[VDPAU SUNXI] >procamp->bright: 0.000, procamp->contrast: 1.000, procamp->saturation: 1.000, procamp->hue: 0.000
[VDPAU SUNXI] Setting mixer value from following color standard: 0
[VDPAU SUNXI] >mix->bright: 0.000, mix->contrast: 1.000, mix->saturation: 1.000, mix->hue: -0.000
[VDPAU SUNXI] Setting mixer value from following color standard: 0
[VDPAU SUNXI] >mix->bright: 0.135, mix->contrast: 1.000, mix->saturation: 0.958, mix->hue: -0.068
[osd/libass] PlayResX undefined, setting to -1
[VDPAU SUNXI] Presentation time not supported
[VDPAU SUNXI] Presentation queue csc change
[VDPAU SUNXI] display driver -> bright: 57, contrast: 50, saturation: 48, hue: 49

Share this post


Link to post
Share on other sites

I will look into that anyway, because a +100 sat value in MPV should get an 10.00 value in vdpau which should result in the maximum (100) for the display driver.

Therefore, 0 in MPV should mean "no change" (1.00) in vdpau and 50 in display. Hm. Maybe you can adjust all the values in realtime (with number keys iirc) and see what is going on in the logs...

Anyway, glad to here we got it working ;)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
3 3