Opened 10 years ago

Closed 10 years ago

#7405 closed defect (wontfix)

MythVideo VDPAU playback errors on some MKV h264 files

Reported by: travis@… Owned by: Janne Grunau
Priority: minor Milestone: unknown
Component: MythTV - Video Playback Version: 0.22rc1
Severity: medium Keywords: MythVideo h264 VDPAU
Cc: Ticket locked: no

Description

Using software decode seems to work fine on frontends that have enough CPU. VDPAU playback causes macroblocking and other visual errors in the display. mplayer with VDPAU is able to play these same files. I will attach a sample file. This happened with .21-fixes as well as .22RC1. Please contact me if you need logs or other testing.

Change History (4)

comment:1 Changed 10 years ago by anonymous

The file is too big to attach. I am uploading it to my web host now. It will be at http://www.tabbal.net/files/test.mkv in about 10 minutes.

comment:2 Changed 10 years ago by robertm

Component: Plugin - MythVideoMythTV - Video Playback
Owner: changed from Anduin Withers to Janne Grunau

comment:3 Changed 10 years ago by tralph11@…

Travis, the problem is that you are playing an h264 encoded video with level 5.1 and 11 reference frames. This requires a larger number of VDPAU buffers allocated. The reason that your file plays in mplayer is that it is using more buffers than mythtv. I successfully played your video with the number of VDPAU buffers set to 23. I would suggest using the minimum you need to play to avoid using too many resources. The default for mythtv is 17 and can be changed one of two ways.

  1. change the #define NUM_VDPAU_BUFFERS in libs/libmythtv/videoout_vdpau.cpp to a higher number.
  1. in the video playback profiles add a filter called vdpaubuffersize=n where n is the number of buffers.

Also, I believe it is planned to add more intelligent/automatic buffer allocation in the future, but for now you will just need to find what works best for your videos.

comment:4 Changed 10 years ago by markk

Resolution: wontfix
Status: newclosed

As already noted, this file plays fine if the buffer size is increased and yes, I hope to have this done automagically for 0.23.

rgds

Mark

Note: See TracTickets for help on using tickets.