seio Posted February 1, 2017 Posted February 1, 2017 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.
rellla Posted February 1, 2017 Posted February 1, 2017 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
seio Posted February 2, 2017 Author Posted February 2, 2017 Is there any alternative player that works?
RagnerBG Posted February 3, 2017 Posted February 3, 2017 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. 1
rellla Posted February 8, 2017 Posted February 8, 2017 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 1
seio Posted February 9, 2017 Author Posted February 9, 2017 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?
rellla Posted February 9, 2017 Posted February 9, 2017 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
rellla Posted February 9, 2017 Posted February 9, 2017 You can try this deb file and see, if it works... It should include the above patch. rellla
seio Posted February 9, 2017 Author Posted February 9, 2017 Do I do gpkg -i -R ~/path/libvdpau-sunxi1_0.5.1-armbian5.25+1_armhf.deb To install it?
RagnerBG Posted February 9, 2017 Posted February 9, 2017 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 .
rellla Posted February 10, 2017 Posted February 10, 2017 I have pushed the fix upstream. It should be available in armbian, when new libvdpau-sunxi packages are built. rellla 2
Recommended Posts