Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#2676 closed defect (wontfix)

Video skips badly w/ XvMC when OSD is up

Reported by: leif@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: 0.20
Severity: medium Keywords:
Cc: Ticket locked: no

Description

On my ASUS 6200 XvMC works well, until I bring up the OSD and I get skipping in the video and audio, and many prebuffering pauses. The OSD worked fine in 0.19.

This is with 11716.

Attachments (4)

mythfrontend.log (37.0 KB) - added by leif@… 13 years ago.
mythfrontend -v playback > mythfrontend.log 2>&1
configure-output (1.2 KB) - added by leif@… 13 years ago.
./configure --disable-distcc --prefix=/usr --enable-proc-opt --enable-dvb --enable-xvmc --enable-xvmc-pro --enable-opengl-vsync > configure-output
oprofile-osd.txt (3.0 KB) - added by leif@… 13 years ago.
oprofile of system with OSD on
oprofile-noosd.txt (2.0 KB) - added by leif@… 13 years ago.
oprofile of system with no OSD

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by leif@…

Attachment: mythfrontend.log added

mythfrontend -v playback > mythfrontend.log 2>&1

Changed 13 years ago by leif@…

Attachment: configure-output added

./configure --disable-distcc --prefix=/usr --enable-proc-opt --enable-dvb --enable-xvmc --enable-xvmc-pro --enable-opengl-vsync > configure-output

comment:1 Changed 13 years ago by danielk

Resolution: worksforme
Status: newclosed

Please read the Wiki HOWTO on XvMC and reopen after you have tried all addressing all the common causes of this.

comment:2 Changed 13 years ago by leif@…

Resolution: worksforme
Status: closedreopened

I've tried the following, without any improvement:

  • Try disabling OpenGL VSync (this is a parameter that you can set when compiling mythtv from source - it defaults to off in v0.19)

I've tried compiling with and without "OpenGL vsync." This makes no difference.

As for the other OpenGL option to configure, configure has always said: "XvMC OpenGL sup. no" even if I don't supply the --disable flag.

  • Try using the 'nvidia-settings' control panel to disable Video Texture Adapter and/or Video Blitter Adapter "Sync to VBlank" checkboxes (on the "X Server XVideo Settings" page)

In nvidia-settings, OpenGL Settings, Sync to VBlank is disabled. Also the Texture and Blitter sync to vblank is disabled.

  • Try setting this in your "Device" section in your xorg.conf: Option "NVAGP" "1"

I've tried NVAGP "1" and NVAGP "2."

  • Use BOB (2x framerate) deinterlacing

I've tried with and without BOB.

  • Try disabling 'Use video as timebase' (TV Settings -> Playback)

This has always been disabled.

  • Try using 'Seperate video modes for GUI and TV playback' to set your resolution to match the resolution of the recording.

When running BOB I use the a 1920x540p mode. When running without I've tried a 1080i mode.

None of that helped.

I've also tried a low bitrate 480i recording, with BOB to the 1920x540p mode. It does NOT skip with the OSD up.

For the 480i stream:

Without the OSD up, mythfrontend has 4% CPU.

With the OSD up, mythfrontend has 20-55% CPU, jumping up and down randomly.

If you'd like CPU info for 1080i where it does skip w/ the OSD, let me know.

Changed 13 years ago by leif@…

Attachment: oprofile-osd.txt added

oprofile of system with OSD on

Changed 13 years ago by leif@…

Attachment: oprofile-noosd.txt added

oprofile of system with no OSD

comment:3 Changed 13 years ago by leif@…

I've attached some results from oprofile for a 1080i test clip (crawford) to a 1920x540p modeline w/ BOB, on 11716.

I've never used oprofile before, so if there is some more useful output I could be giving you, let me know.

I'm a little curious as to why the libc usage is higher with the OSD up.

Let me know if you would find comparisons with 0.19 helpful and I'll install 0.19.

comment:4 Changed 13 years ago by danielk

Resolution: wontfix
Status: reopenedclosed

The XvMC with nVidia cards is buffer starved when using XvMC OSD. There isn't much we can do, except use another OSD rendering method. We have the chromakey OSD for 4xxx & 5xxx cards and for later cards you can use the XvMC OpenGL OSD renderer with SVN head if you compile with "--xvmc-lib=XvMCNVIDIA --enable-xvmc-opengl".

comment:5 Changed 13 years ago by leif@…

I haven't bothered with this in awhile (just living with it) but anyone else who is having problems might want to look at #2412, which discusses fixes to XvMC for 0.20 (which I believe made it into 0.20-fixes).

Note: See TracTickets for help on using tickets.