What about the cabac patch under Linux?
#1
Hello!

I've just set up my HTPC which I plan to experiment/run XBMC for linux on under Ubuntu 8.04 (installed from ubuntu-server then added xorg, gdm and a build environment, very nice and slim environment!).

It's a A8N-VM CSM mobo with all nVIDIA chipsets including an on board GeForce 6150 and DVI-D out for HDMI to my projector (without HDCP course). The CPU is an AMD XP64 3500+ (2.2GHz) and 1 gig ram. Just to give you a background this computer is built from scrap computer parts Smile

Configured the nvidia-binary-blob to enable vsync @ 60Hz to reduce tearing (this is really horrible on intel gfxes unless you override DDC with ModeLines!)

I've successfully got a 720p playback from remote NFS archive with rar packed movies. It plays at full rate @ ~60% CPU load (stats from top). During 1080p playback the CPU hits the roof and framerate drops to somewhat 18-20 fps.

Now. Few questions for improvements:

1. I've read threads about the CABAC patch for optimized decoding for h264. Figured it may help out (even though three additional patches were released for slice decoding on several cores).

Anyhow, I fetched the patches and noticed that they were already applied to the ffmpeg upstream SVN. Are the current libs in the XMBC SVN (avcodec-51-*-linux.so etc) built from this ffmpeg SVN? Is there some guide available for how to build these updated libs against the new ffmpeg SVN? As they are distributed as binaries in the XBMC SVN there may be more to it than just inserting a customly built lib.

2. I currently installed ubuntu 8.04 for 32-bit CPUs. Will I gain some performance decodingwise moving to 64-bit kernel / userland? I have from old times sake tried to avoid the 64-bit distributions on desktops because as soon as you move out from the repository you start hitting problems with compilation failures etc etc. Simply put; usally more work than it gives back.

3. Do you have any other tips to gain my few missing FPS's on my CPU? Smile The Socket 939 single cores does not stretch that far. I would prefer not buying a whole new X2 CPU especially since the splicing decode is in even bigger testing stage than other code.

My goal would for my part being to play back 30fps h264 in 1080p. Guess that's an admirable goal for most here Wink

Just for fun off topic; after I got the nvidia binary blob working with GLX and restarted GDM I got this GDM greeter for no apparent reason: http://nexticom.net/DSC_0032_lzn.jpg :-) I swear it had the original Ubuntu greeter before GLX kicked in!

Regards,

Mikael
Reply
#2
our ffmpeg is not the newest svn, although it's patched with the CABAC patch. So I suspect ours should not differ to much from theirs. (But I may be wrong)
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#3
Unfortunately your CPU is just too slow for 1080p h.264 at this time. The minimum is a 2.0Ghz C2D or around a 2.4Ghz A64-X2. As I understand it, the CABAC patch only really helps multicore CPUs.

You could recode it as a 1080p xvid or mpeg2, that would probably work.

Stick with 32bit, it's what the developers develop on.
Reply
#4
rodalpho Wrote:Unfortunately your CPU is just too slow for 1080p h.264 at this time. The minimum is a 2.0Ghz C2D or around a 2.4Ghz A64-X2. As I understand it, the CABAC patch only really helps multicore CPUs.

You could recode it as a 1080p xvid or mpeg2, that would probably work.

I'll just sit down and wait like the other kids Wink Recoding packed / organized movies would take an awful lot of time. Not to mension diskspace.

For the cabac; yupp, as suspected. The XBMC project is actually a secondary thing which in time is supposed to replace my popcorn hour. Buying an X2 CPU for the sole intension to run XBMC vs paying $179 for the popcorn would be a loss cause.

rodalpho Wrote:Stick with 32bit, it's what the developers develop on.

Great. Suspecting that the 64-bit architecture will not help on decoding perfomance anyhow.

Mikael
Reply
#5
Topfs2 Wrote:our ffmpeg is not the newest svn, although it's patched with the CABAC patch. So I suspect ours should not differ to much from theirs. (But I may be wrong)

Thanks for clearing that out :-) Appreciated.
Reply
#6
Oooops. I just accidently pressed "Order" on a C2D E6850 (2x 3.0GHz) and a M-ATX mobo :-)

So much for restraining yourself.

Thanks for your input.
Reply

Logout Mark Read Team Forum Stats Members Help
What about the cabac patch under Linux?0