• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 11
[LINUX] HD Video Corruption with pre-11.0 PVR (ffmpeg?) and VDPAU
#1
Apologies for the cross-post, but this issue appeared on the PVR version so I have to wonder if it's actually a PVR issue - or whether the PVR version is simply using a later codebase for e.g. ffmpeg and is thus merely showing up an issue that will appear elsewhere later.

Original post here, but the summary is that I have corruption of HD H.264 videos: the lower part of the image is green and pixellated, although this washes up and down as the video progresses. Turning off VDPAU removes this, but then the CPU struggles (Revo 3600/ION platform). The files played perfectly under previous (pre-April) XBMC versions, both PVR and standard releases.

Anyone else seen anything similar?

If not, I have to blame the original file - re-wrapping into a different container (e.g. mp4, mkv) makes no difference, although re-encoding (even with very similar parameters) does, so it's obviously an issue with decoding the video stream. I'm just wondering how to diagnose that element further, and whether this is an issue waiting for others if it is because of a change in fmpeg.
Reply
#2
Would you have a sample of that video making problems. I would like to try on my system.
Reply
#3
Mmm, let me find a way of linking to a suitable file (pastebin for binaries, anyone? I could do without the hassle of megaupload and similar) and I'll post something for research purposes.

I've got several samples, not all of which cause the problem. So it has to be something to do with the way in which the file was originally encoded, but neither ffmpeg -i nor VLC's Tools -> Codec Information throw any light on significant differences.
Reply
#4
Interesting, but inconclusive. FernetMenta has tried the samples (thank you!) and they play fine on his system; they also play fine on my machine if I boot into Maverick and the main 10.1 Dharma release. So I have to conclude that it's something unique about my system (introduced on or around the 10th April PVR build), some combination of:

1. Lucid
2. VDPAU handling in Dushmaniac's pre-11 build > 10/Apr
3. The ION platform/the Revo R3600
4. Any other binaries on my specific system

Too many variables. Maybe I'll try building a clean Live system based on pre-11 and see whether that plays nicely, or compile the latest mainline XBMC without PVR to isolate the behaviour. Taking the production system apart to play with yet another boot image will have a pretty low Wife Acceptance Factor, though, I suspect... Stare

If anyone else wants to volunteer a quick test, PM me with an email address and I'll fill your inbox with 10Mb of video samples to try.

It must be a combination of the code and the source files as well. I need to delve deeper into the files themselves, then, I think, since I can play x.264 1080p files in general - it's specifically h.264 flv files from one source that cause problems. A quick (ha!) re-encode to apparently identical specs and they play fine as well.

I know I'm pretty much talking to myself on this thread, but I'll keep at it in case it's useful to someone else in the fullness of time.
Reply
#5
pass those samples to me too please. I'll have a look at them. but I'm suspecting your display driver.
opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
Reply
#6
Details sent over on a PM - thanks for the help.
Reply
#7
Okay, I'll post a debug log here later.

Two boot images on the same system:

First boot image - main system - corruption evident:

NVIDIA driver was 270.29, now 270.41.06 w/ OpenGL 3.3.0 on ION/PCI/SSE2 - I upgraded the driver last night, no change. I don't recall updating the driver before, so 270.29 may have been what shipped with the original XBMC Live installation... but then again...!

OS is Ubuntu 10.04, Lucid: Linux XBMCLive 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686 GNU/Linux

XBMC is pre-11 compiled Apr 19 2011

Running at 1920x1080 @ 50Hz full screen

Sync to vblank set to "always"

------------

Second boot image - identical hardware - no corruption evident:

NVIDIA 260.19.06 OpenGL 3.3.0 on ION/PCI/SSE2

OS is Ubuntu 10.10, Maverick: Linux Nettop 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686 GNU/Linux

XBMC is 10.0 r35648 compiled Dec 18

Running at 1920x1080 @ 50Hz full screen

sync to vblank set to "always"


I'll try to find a version of mplayer or VLC pre-compiled with VDPAU (any suggestions welcome) to at least test if it's the 270 driver that's at fault, as suggested.

If anyone in the UK wants to test this (or anyone with access to a UK proxy, anyway), load up exobuzz's iPlayer addon and try playing a BBC HD stream. These all exhibit the corruption, for me at least.
Reply
#8
Okay, a couple of debug logs, from boot to shutdown. I'd be grateful if anyone can shed any light on these, please... let me know if (a) I've missed anything or (b) have just cocked anything up in the process!

First: the original FLV file, played with VDPAU enabled. Plays smoothly, but corruption shows.

http://pastebin.com/gnT6p5FF
http://pastebin.com/vZt3jDE0

File opens line 843+ in the second part of the log file (sorry, too cheap to pay for the Pro version for a one-off!).

Second: the original FLV file, played with VDPAU disabled. No corruption, but stutters without GPU acceleration.

http://pastebin.com/Quzs7NPa
http://pastebin.com/PmD5tsGt

File opens line 792+ in the second part.

Third: a re-encode of the FLV into an MKV container, but keeping x.264 as the video codec and passing through the audio. Plays with no problem.

http://pastebin.com/MM6Xpj3a
http://pastebin.com/K7A5ud9j

File opens line 873+ in the second part.
Reply
#9
didn't have time to check it out yet. downloading your samples now.
opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
Reply
#10
do you play that files from a network location? if yes, have you tried them from a local disk? (so did i)
Reply
#11
Again, thanks, guys... everyone really appreciates the work that goes into this, in development and support.

FernetMenta - yes, they're normally played from a NAS over a GigE connection. However, a quick copy to the local disc and there's no change: the corruption is still there. So it's not that...
Reply
#12
Hmmm... still not getting anywhere, I'm going to go for a new image rebuild on USB to see where that takes me. Watch this space.
Reply
#13
Okay, first report.

I did a clean install of Live onto USB - nothing flashy, no add-ons, very basic install to an 8Gb stick. The only addition was an FTP client so I could get media samples onto the image. No network mounts, manual (dhclient) configuration of the LAN card.

Insert stick... boots (slowly!)... runs... load up the files... plays with no problem, CPUs are both running at ~ 10% while playing a 720p H.264 file, no corruption.

So, add the ODK PPA, and update.

"Packages held back", so go to a dist-upgrade to force everything through.

Reboot... and the videos now show corruption. So *something* that comes down as part of that barrage of packages (inc. kernels, x11 updates, and other random code) breaks things - not necessarily Lars' or the pre-11.0 code per se.

--------------

Clean wipe, start again.

--------------

New minimal Live image with ftp client, all okay as a starting point.

I need to avoid all these extra packages to isolate whether it's the PVR code or whether it's something else that comes at a similar time.

So I'm currently stuck in dependency hell as I figure out the cleanest way of removing the Live package and replace it with the PVR package with minimal collateral changes...
Reply
#14
Okay, then. I got horribly tied in knots because xbmc-standalone and xbmc-skin-confluence don't appear to have been included since odk14, so I got into all sorts of dependency problems which I clearly don't understand, but...

Code:
sudo apt-get remove xbmc xbmc-bin xbmc-data xbmc-skin-confluence xbmc-standalone

... pretty much wipes the old xbmc from the Live installation

and, after adding the PPA,

Code:
sudo apt-get install xbmc-live

... seems to have installed the latest ODK30 build in its place (XBMC reports PRE-11.0 Git: Unknown (Compiled: Apr 25 2011), which looks right). This package includes xbmc and xbmc-bin, so I may be missing some finer points of the PVR skin, for example, but that's not what I'm testing... I suspect that I'd need to install odk14 and then update to odk30 for completeness.

Anyway, reboot, time to test... and the corruption is back. So that says to me that it's something that appears with this XBMC code build and isn't inherently a buggy driver, x11 installation, kernel or something else. It's possible, of course, that the later builds are merely showing up a defect elsewhere in the system, but I've tried several images and configurations now and the problem is following me, so it's unlikely that it's limited to a specific NVidia driver, kernel build, or similar.

Next steps:

1. Try a different build of the PVR code. FernetMenta offered up his code, so I'll look to compile that and see if the issue is still there.

2. Try a different build of the non-PVR code. I'll also look to compile XBMC from scratch to see if it's an issue in the mainline codebase which Dushmaniac is just inheriting.

3. Try the odk PPA on a non-Live installation, just in case it's something in that that's screwing it up.

So, having just learned more about repositories and dependencies than I ever wanted to know, looks like I need to work out how to clone git code and then dust down my 20-year-old makefile knowledge... if anyone wants to spoon feed me an idiot's guide here, then I know an idiot who'd be very grateful! Big Grin
Reply
#15
it's very unlikely that it's related with pvr specific code. could have something to do with the new ffmpeg we got now.

Quote:So, having just learned more about repositories and dependencies than I ever wanted to know, looks like I need to work out how to clone git code and then dust down my 20-year-old makefile knowledge... if anyone wants to spoon feed me an idiot's guide here, then I know an idiot who'd be very grateful!
http://wiki.xbmc.org/?title=HOW-TO_compi...ource_code
opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 11

Logout Mark Read Team Forum Stats Members Help
[LINUX] HD Video Corruption with pre-11.0 PVR (ffmpeg?) and VDPAU0