Opened 14 years ago

Closed 13 years ago

Last modified 13 years ago

#2800 closed defect (fixed)

internal dvd player: jerky picture during the initial display of a dvd subtitle.

Reported by: skamithi Owned by: skamithi
Priority: minor Milestone: 0.21
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no


from a user post

I encounter the same problem too. Found out that it occurs when the vmult or hmult values are not 1, such as on my widescreen tv, and the the qImage->smoothScale function in NVP::DisplayAVSubtitle has to scale the picture to large dimensions. this creates a delay enough to cause the jerky picture.

In my case the width and height are reported to be 1280 and 1017 respectively.

My CPU is a intel 2.4Ghz.

investigating how xine and mplayer perform dvd subtitle scaling and see if this would be viable solution for mythtv.

Attachments (2)

subtitles_jerky.diff (1.8 KB) - added by skamithi 14 years ago.
reduce the size of the subtitle bitmap. this way qimage::smoothscale in nvp:displayavsubtitle doesn't have to work so hard :)
debug.diff (1.1 KB) - added by skamithi 13 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 14 years ago by skamithi

Status: newassigned

comment:2 Changed 14 years ago by skamithi

Milestone: unknown0.21
Version: 0.20head

Changed 14 years ago by skamithi

Attachment: subtitles_jerky.diff added

reduce the size of the subtitle bitmap. this way qimage::smoothscale in nvp:displayavsubtitle doesn't have to work so hard :)

comment:3 Changed 14 years ago by skamithi

Resolution: fixed
Status: assignedclosed

(In [12290]) Closes #2800. internal dvd player: if a subtitle size is the full dvd resolution, find out where the subtitle starts and reduce the bitmap size. this prevents qimage::smoothscale in nvp::disableavsubtitle from causing a jerky picture during subtitle creation.

comment:4 Changed 13 years ago by Jarod Wilson

(In [13271]) Backport changeset [12290] from trunk, fixes playback issues with internal dvd player playback with subtitles enabled when subtitle size is full dvd resolution. Refs #2800.

comment:5 Changed 13 years ago by Joe Bryant <tenminjoe@…>

Resolution: fixed
Status: closedreopened

I recently upgraded my frontend when the new Mythbuntu fixes repository became available. Since this fix is supposed to be backported, I think it should be fixed in my version (0.20.1+fixes14205), but I still see this behaviour.

Symptoms: If I have the overscan playback percentages both set to 0, everything is fine. If I set them to 2% (which is what I want to use), there is about a half-second pause every time a subtitle is displayed on the DVD I am trying to watch (Inuyasha series 2, if that should be important!).

Another entirely unrelated bug has been successfully fixed by the new install so I am confident I'm really running the new version. Also, the pauses seem notably smaller since I installed this new version, but it's still unwatchable.

I wonder, when the scaling factor is so small, is it even worth performing the scaling on the subtitles? Maybe the subtitle scaling could be skipped altogether if both overscan percentages are less than, say, 5? Just an idea, I realise it's not really the Right Way.

Joe Bryant - tenminjoe@…

comment:6 Changed 13 years ago by Joe Bryant <tenminjoe@…>

More info -

I've found that the problem now only affects the opening/end sequences of the DVD I'm watching. During these parts of the show, the subtitles are, unusually, at the TOP of the screen. When the subtitles are at the bottom of the screen, the fix works and playback is smooth.

From what I can make out looking at the code, it looks like it reduces the size of the subtitle bitmap by scanning down from the top of the screen until it hits the subtitle, and then assumes that everything below there is part of the subtitle. This would be consistent with it only working with bottom-of-the-screen subtitles.

comment:7 Changed 13 years ago by skamithi

Joe Bryant. please use this debug patch and report your findings. basically it uses ffmpeg dvd subtitle code which is what the code in dvdringbuffer is based on, and it has recently been updated to restrict the bitmap size. the reason why this is not used is that the color of subtitle cannot be passed to it, and it would recreate #2716.

Changed 13 years ago by skamithi

Attachment: debug.diff added

comment:8 Changed 13 years ago by skamithi

Resolution: fixed
Status: reopenedclosed

(In [14432]) Closes #2800. internal dvd player. apply algorithm from ffmpeg to better find the bounds of the dvd subtitle bitmap and resolve the jerky picture during subtitle display creation. works fine on all the dvds i've tested.

comment:9 Changed 13 years ago by Joe Bryant <tenminjoe@…>

Thanks very much for making this patch. Unfortunately I can't test it until/unless it appears in the "fixes" branch, as the Mythbuntu fixes snapshots are my installation method; I don't have a working build environment on my frontend. Looks good though.

Note: See TracTickets for help on using tickets.