[mythtv-users] VDPAU playback issues

HP-mini blm-ubunet at slingshot.co.nz
Sun Nov 4 03:01:41 UTC 2012


On Sun, 2012-11-04 at 01:43 +0000, Mark Greenwood wrote:
> I'm experiencing some glitching on a few videos and I'm having trouble sorting it out. Running 0.26 on an atom/ION box on kernel 3.2 (mythbuntu 12.04), using the VDPAU High Quality playback setting.
> 
> I've gone through the wiki entry on glitch-free playback and inserted all the ModeLines into my xorg.conf as described, but things still aren't quite right.
> 
> Here's some log output from mythfrontend -v playback on an mkv file (x264/AC3 audio). I'm downmixing 6 channel audio to stereo.
> 
> 2012-11-04 01:14:26.634266 I  AFD: Stream #0, has id 0x0 codec id H264, type Video, bitrate 0 at 0xcf31740
> 2012-11-04 01:14:26.644142 I  AFD: Selected FPS is 23.976 (avg 23.976 codec 23.976 container 1000 estimated 23.976)
> 2012-11-04 01:14:26.644215 I  Player(0): SetFrameInterval ps:1 scan:3
> 2012-11-04 01:14:26.644285 I  Player(0): detectInterlace(Detect Scan, Interlaced Scan, 23.976, 720) ->Progressive Scan
> 
> 2012-11-04 01:14:26.644339 I  AFD: Using vdpau for video decoding
> 2012-11-04 01:14:26.644360 I  AFD: Looking for decoder for H264
> 2012-11-04 01:14:26.644970 I  AFD: Opened codec 0xcf31920, id(H264) type(Video)
> 2012-11-04 01:14:26.645064 I  AFD: Stream #1, has id 0x0 codec id AC3, type Audio, bitrate 448000 at 0xcc807c0
> 2012-11-04 01:14:26.645090 I  AFD: codec AC3 has 6 channels
> 2012-11-04 01:14:26.645110 I  AFD: Looking for decoder for AC3
> 2012-11-04 01:14:26.646601 I  AFD: Opened codec 0xcf31d00, id(AC3) type(Audio)
> 2012-11-04 01:14:26.646810 I  AO: Opening audio device 'hdmi:CARD=NVidia,DEV=0' ch 2(6) sr 48000 sf signed 32 bit reenc 0
> 
> 2012-11-04 01:14:26.839834 I  VDP: SetVideoRenderer(vdpau)
> 2012-11-04 01:14:26.839861 I  VDP: SetVideoRender(vdpau) == GetVideoRenderer()
> 2012-11-04 01:14:26.841953 I  Trying to match best refresh rate 23.976Hz
> 2012-11-04 01:14:26.842011 I  Trying 1920x1080 23.976 Hz
> 2012-11-04 01:14:26.844032 I  Dynamic TwinView rate found, set 23.9758Hz as XRandR 57
> 
> This is my first observation: I've got a ModeLine for 1920x1080 at 23.976. So why is it saying it's using a Dynamic Twinview rate at 23.9758?
> 
> 2012-11-04 01:14:27.261016 I  VDPAU: Information NVIDIA VDPAU Driver Shared Library  295.40  Thu Apr  5 21:54:31 PDT 2012
> 2012-11-04 01:14:27.261041 I  VDPAU: HQ Scaling not supported.
> 2012-11-04 01:14:27.261063 I  VDPAU: MPEG4 hardware acceleration not supported.
> 
> My second observation: Why is it saying MPEG4 hardware acceleration not supported? I'm pretty sure that the chipset in this box does MPEG4 acceleration.
> 
> 2012-11-04 01:14:27.901087 I  VDP: GetFilteredDeint() : vdpau -> 'vdpauadvanceddoublerate'
> 2012-11-04 01:14:27.929986 I  VidOutVDPAU: Enabled deinterlacing.
> 2012-11-04 01:14:27.930154 I  VSYNC: DRMVideoSync: Could not open device /dev/dri/card0, No such file or directory
> 2012-11-04 01:14:27.930260 E  Player(0): Video sync method can't support double framerate (refresh rate too low for 2x deint)
> 2012-11-04 01:14:27.953072 I  VDP: GetFilteredDeint(vdpauadvanced) : vdpau -> 'vdpauadvanced'
> 2012-11-04 01:14:27.985325 I  VidOutVDPAU: Enabled deinterlacing.
> 2012-11-04 01:14:27.991046 I  Player(0): Video timing method: RTC
> 2012-11-04 01:14:27.991114 I  Player(0): Display Refresh Rate: 23.976 Video Frame Rate: 23.976
> 
> All sorts of things here that confuse me. Why is it enabling deinterlacing for a progressive scan video?
> It now says the display refresh rate is 23.976 - but what about that XRandR mode it mentioned earlier? Is it not using that? (My TV doesn't have an info button to tell me what refresh rate is being used)
> 
> However I think the following shows probably what the real problem is:
> 
> 2012-11-04 01:14:28.251288 I  Player(0): progressive frame seen after 2 interlaced frames
> 2012-11-04 01:14:28.251365 I  Player(0): A/V predict drop frame, dropping frame to catch up.
> 2012-11-04 01:14:28.251643 I  Player(0): Waiting for video buffers...
> 2012-11-04 01:14:28.285566 I  VDPAU: Added 2 output surfaces (total 4, max 4)
> 2012-11-04 01:14:28.392047 I  Player(0): Disabled deinterlacing
> 2012-11-04 01:14:28.395075 I  Player(0): Video is 4.08495 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.395279 I  Player(0): Video is 5.29949 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.395409 I  Player(0): Video is 5.95265 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.395635 I  Player(0): Video is 6.19675 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.395946 I  Player(0): Video is 6.13408 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.396179 I  Player(0): Video is 5.83533 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.396314 I  Player(0): Video is 5.35952 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.396484 I  Player(0): Video is 4.7629 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.396629 I  Player(0): Video is 4.06368 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.396753 I  Player(0): Video is 3.28153 frames behind audio (too slow), dropping frame to catch up.
> 2012-11-04 01:14:28.396846 I  Player(0): Waiting for video buffers...
> 2012-11-04 01:14:29.654923 I  AFD: gopset not set, syncing positionMap
> 2012-11-04 01:14:29.654974 I  Dec: Resyncing position map. posmapStarted = 0 livetv(0) watchingRec(0)
> 2012-11-04 01:14:29.654998 I  AFD: Initial key frame distance: 15.
> 2012-11-04 01:14:31.824987 I  AFD: Key frame distance changed from 54 to 52.
> 2012-11-04 01:14:31.992106 I  Player(0): FPS:   25.41 Mean: 39351 Std.Dev: 17122 CPUs: 100% 100% 
> 2012-11-04 01:14:35.411139 I  AFD: Key frame distance changed from 52 to 86.
> 2012-11-04 01:14:35.953958 I  Player(0): FPS:   23.99 Mean: 41679 Std.Dev:   485 CPUs: 5% 5% 
> 2012-11-04 01:14:36.578591 I  AFD: Key frame distance changed from 86 to 28.
> 2012-11-04 01:14:38.706655 I  AFD: Key frame distance changed from 28 to 51.
> 2012-11-04 01:14:39.916859 I  Player(0): FPS:   23.99 Mean: 41690 Std.Dev:   691 CPUs: 12% 4% 
> 2012-11-04 01:14:41.750761 I  AFD: Key frame distance changed from 51 to 73.
> 2012-11-04 01:14:43.044159 I  AFD: Key frame distance changed from 73 to 31.
> 2012-11-04 01:14:43.878762 I  Player(0): FPS:   23.99 Mean: 41680 Std.Dev:   533 CPUs: 6% 3% 
> 2012-11-04 01:14:44.627999 I  Player(0): 400 progressive frames seen.
> 2012-11-04 01:14:45.587615 I  AFD: Key frame distance changed from 31 to 61.
> 2012-11-04 01:14:47.840684 I  Player(0): FPS:   23.99 Mean: 41680 Std.Dev:   487 CPUs: 6% 4% 
> 2012-11-04 01:14:49.550139 I  AFD: Key frame distance changed from 61 to 95.
> 
> The video plays very jerkily for the first 5 or 10 seconds then settles down. I've noticed the CPU usage is 100% according to this log during that time. What could be causing that?
> 
> Any observations or advice anyone can give will be greatly appreciated.
> 
Very likely that 24p (23.9..) is progressive 

AFAIK nVidia vdpau uses MPEG4 label to refer to DivX Xvid ..MPEG4-ASP
And gen 1 ION & 9400 etc do not decode ASP.
So that warning is just telling you it can not decode ASP & can't do
advanced de-interlacing.

The gen 1 ION does not do high quality vdpau, but with this video it
would not be doing much anyway.
I would change the playback profile to vdpau normal.

Dynamic twinview is a nVidia trick to allow dynamic switching of video
modes (including diff number of active screens). This mechanism causes
misleading refresh rate to be reported because it requires a unique name
per mode.




More information about the mythtv-users mailing list