Jump to content

Recommended Posts

Posted

The old 0.14.0 version doesn't work well with subtitles, ending up with subtitles drawing on top of each others, when the text is moving fast.

 

Is there any build I could download and install? Or some other workaround?

 

Edit: Kodi draws the subtitles correctly, but it has pretty awful screen tearing.

Using black bloxes instead of just some outline on the subtitles does work, but it's not an acceptable fix to me.

 

So, it would be great it was possible to use whatever kodi uses to draw the subtitles, but then use mpv to draw the video.

Posted

I suppose this is no mpv issue but a libvdpau-sunxi issue. Imho it's a bug within osd handling and has to be fixed there. Maybe i'll find some time to look at it. Everyone else is welcome, too for sure.

Rellla

Posted

The problem is not player related. On older architectures - A10/20 there is OSD and subtitles are fine. On H3>, software solution is used, through Pixman and there is this bug. I thought Pixman is causing the bug i tried to install different versions, but players always used built in version. I didn't thought it could be libvdpau-sunxi issue itself, this is beyond my potentialities. But it's definitely not player issue.

Posted

It should be this part, which should be sth. like this

int operation_type = (rgba_dst->flags & RGBA_FLAG_NEEDS_CLEAR) ? PIXMAN_OP_SRC : PIXMAN_OP_OVER;

pixman_image_composite32(
	operation_type, src, NULL, dst,
	(src_rect->x0 * fscale_x), (src_rect->y0 * fscale_y),
	0, 0,
	dst_rect->x0, dst_rect->y0,
	(dst_rect->x1 - dst_rect->x0), (dst_rect->y1 - dst_rect->y0));

Not tested though ;)

 

Regards rellla

Posted

It should be this part, which should be sth. like this

int operation_type = (rgba_dst->flags & RGBA_FLAG_NEEDS_CLEAR) ? PIXMAN_OP_SRC : PIXMAN_OP_OVER;

pixman_image_composite32(
	operation_type, src, NULL, dst,
	(src_rect->x0 * fscale_x), (src_rect->y0 * fscale_y),
	0, 0,
	dst_rect->x0, dst_rect->y0,
	(dst_rect->x1 - dst_rect->x0), (dst_rect->y1 - dst_rect->y0));

Not tested though ;)

 

Regards rellla

Could somebody explain what's going on with this?

Will this fix be included in some update?

 

Can I manually fix this issue by replacing old code with this code?

Posted

This code snippet checks, if the last osd frame has to be cleared before blitting a new one into it, in case it has not been cleared before. If we need the clear, it now uses the PIXMAN_OP_SRC operator, which indicates, that pixman would delete the old part. PIXMAN_OP_OVER just does alpha blending and does not delete the existing OSD. The operators are equal to CAIRO_OPERATOR_SOURCE and CAIRO_OPERATOR_OVER here.

 

You can either build libvdpau-sunxi yourself with this patch, or ask someone to build a .deb, that you can easily test.

If i find some time, i'll try to provide such a debian package.

 

Regards

rellla

Posted

You can try this deb file and see, if it works... It should include the above patch.

 

rellla

It really works! Thank's a lot.

I was about to test from scratch, but you already provide .deb. This was bugging me from so long, to the point making Armbian unusable for movies for me. This fix change things radically. Thank's again :thumbup: .

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines