[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