Opened 13 years ago

Closed 11 years ago

Last modified 11 years ago

#10706 closed Bug Report - General (fixed)

mythtv doesnt play high bitrate(9/10bit) content smoothly

Reported by: slackerlinux85@… Owned by: JYA
Priority: minor Milestone: 0.27
Component: MythTV - Video Playback Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description

when playing 10bit content mythtv pauses every few seconds due to no useable video buffers left and then dumps all the frames till the video is done playing back(mythffplay plays the content fine).

9/10bit content also cannot be played with vdpau so a check is needed so it will fall back to software decoder.

Attachments (3)

10bitwhite.mkv (277.7 KB ) - added by slackerlinux85@… 13 years ago.
small test video
mythavtest.log (32.2 KB ) - added by slackerlinux85@… 13 years ago.
log from mythavtest with -v general, playback
10bitfix.patch (1.7 KB ) - added by slackerlinux85@… 12 years ago.
should fix 9/10bit content and MJPEG content in mythtv

Download all attachments as: .zip

Change History (11)

by slackerlinux85@…, 13 years ago

Attachment: 10bitwhite.mkv added

small test video

by slackerlinux85@…, 13 years ago

Attachment: mythavtest.log added

log from mythavtest with -v general, playback

comment:1 by beirdo, 13 years ago

comment:2 by slackerlinux85@…, 13 years ago

done some more debugging it seems the buffers for 9/10bit content is using FF_BUFFER_TYPE_INTERNAL and removing the if (!decode.contains(*it)) check in VideoBuffers::DoneDisplayingFrame makes the video play smoothly so i think the problem might be with how mythtv handles FF_BUFFER_TYPE_INTERNAL buffers

i still have no idea on how to properly fix it but i hope this information will help

comment:3 by moores.martin@…, 13 years ago

Just to add my sample here, which appears to have the same issue. Was pointed to this and ticket #10942 by Shawn King on the users list:

http://www.gossamer-threads.com/lists/mythtv/users/531135

It is commented in #10942 that these two tickets are most likely duplicates, so just to mention that here also

My sample is here, hopefully it might help with testing:

http://dl.dropbox.com/u/419095/2012-10-20-mythvideo/2012-09-09_16-32-30.AVI

comment:4 by JYA, 12 years ago

Owner: set to JYA
Status: newaccepted

comment:5 by slackerlinux85@…, 12 years ago

finally got around to finding a fix for this

kinda disappointed that this has been opened for 1.5 years and kinda disappointed it took me this long to find a fix that im happy with releasing

the main issue is that for non-directrendering codecs ffmpeg handles the buffers but the buffers are still added to the decode queue so they are never released(till the buffers full and all frames get dropped) what this does is add a direct rendering setting to videoframe and if set it skips adding the frames to the decode list

i dont know much about the buffering code but this code fixes 9/10bit aswell as the camera samples i have. this is the best way i have found to do it but it feels more like a workaround then a fix and i really dont know enough about mythtv to know if its correct(and theres probably a much better way to fix this)

there still needs to be a software fallback check for 9/10bit content with vdpau. i had a go at that months ago(only about 5 mins) but i ended up with black screen + audio(better then failed to init avsync) unfortunally i the dev macine im using atm is an intel chip so i wont be doing a patch for that(atleast for now)

by slackerlinux85@…, 12 years ago

Attachment: 10bitfix.patch added

should fix 9/10bit content and MJPEG content in mythtv

comment:6 by Jean-Yves Avenard <jyavenard@…>, 11 years ago

Resolution: fixed
Status: acceptedclosed

In 8f0437c7a66626f29fff18b04c60035cd8fb3b91/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:7 by Jean-Yves Avenard <jyavenard@…>, 11 years ago

In 329b25db98845b2c1ef9e0f393e889864bb1ecc9/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:8 by paulh, 11 years ago

Milestone: unknown0.27
Note: See TracTickets for help on using tickets.