[GSoC] GPU hardware assisted H.264 decoding via OpenGL GLSL shaders - developers only

  Thread Rating:
  • 3 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
dizzey Offline
Member
Posts: 73
Joined: Jul 2007
Reputation: 0
Post: #16
Any more progress for us?
I haveto nag every couple of weeks becus it is a intrestring project =)
find quote
sandos Offline
Senior Member
Posts: 100
Joined: May 2008
Reputation: 0
Post: #17
It is extremely interesting. I will be following very closely Smile

I would be willing to pool funds for continued work after GSOC finished, but lets see where it lands first.
find quote
Freddo Offline
Skilled Skinner
Posts: 489
Joined: Apr 2004
Reputation: 13
Post: #18
Same here, this new development is very exciting and to my knowledge is unique in the HTPC space, it should allow people to build boxes capable of 1080p without needing high end processors like the e8400, hopeful saving power and noise in the process too.
find quote
malloc Offline
Team-XBMC Developer
Posts: 1,062
Joined: May 2004
Reputation: 0
Post: #19
sandos Wrote:I would be willing to pool funds for continued work after GSOC finished, but lets see where it lands first.

Team-XBMC is always accepting donations (http://xbmc.org/support/donate/). While it cannot be guaranteed that your donation will go toward this specific project because we have other expenses as well (monthly hosting costs for one), I'm sure the project managers would be happy to take your requests into consideration when they decide how excess funds will be spent.

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.
find quote
Rudd Offline
Junior Member
Posts: 14
Joined: Mar 2008
Reputation: 0
Post: #20
I'm very sorry for not keeping updates. Rest assured I am working very hard on it. I've also promised Gamester that I will do weekly updates(at least) from here on out! I'll even try and post some pictures of the decoder in it's current state.

As for my current status, I've run into some problems. I've done almost all the motion compensation shaders as I've listed before, however I've realized That there is probably no efficient way to handle Intrablocks in B/P slices without implementing full on intra-prediction on the GPU. This, unfortunately, will take me a good amount of time Sad I'll post more on this as I think the problem through.

And in regards to donating to keep the GPU project going, I am flattered but that is completely unnecessary. I will definitely continue work after the period is over(Hopefully in a more maintenance role as opposed to a 'finishing it' role, but time will tell). Please, however, consider donating to XBMC. I am sure they would appreciate it Smile

Google Summer of Code Student Developer for XBMC
GSoC Project 2008: GPU Assisted Video Decoding

[Image: Gsoc2008logo.png]
(This post was last modified: 2008-07-28 05:11 by Rudd.)
find quote
sandos Offline
Senior Member
Posts: 100
Joined: May 2008
Reputation: 0
Post: #21
Rudd Wrote:And in regards to donating to keep the GPU project going, I am flattered but that is completely unnecessary. I will definitely continue work after the period is over(Hopefully in a more maintenance role as opposed to a 'finishing it' role, but time will tell). Please, however, consider donating to XBMC. I am sure they would appreciate it Smile

That is very good to know! I will donate to XBMC then Smile
find quote
Rudd Offline
Junior Member
Posts: 14
Joined: Mar 2008
Reputation: 0
Post: #22
Well, after a fun weekend of tracking down various numerical errors in my luminance shaders(Doing integer math in floats is fun!) I've got my motion compensation output matching FFMPEG's for the most part. Here's a couple pics from the current source i'm working with. I haven't yet fully debugged the chroma shaders

Motion-compensated luma-image:
[Image: mocompge7.th.jpg]

Reconstructed luma-image:
[Image: reconsan4.th.jpg]

However all is not well in the land of GPU assisted H.264 Sad. The h.264 spec allows Intra blocks to predict off of P/B macroblocks(I constructed the video above to not use I-blocks in P/B frames. This isn't a common option however). Unfortunately, if Motion compensation is done on the GPU, that means the P/B macroblocks are in GPU memory. For the CPU to do Intra prediction off of these blocks, it would require a readback from GPU memory - something that'll destroy performance. This means I'll have to implement intra-prediction on the GPU. This isn't an impractical solution . The Xbox 360 paper linked in the first post, for example, makes use of it. It even outlines the method they used for 4x4 I blocks, while I'm sure I can extrapolate to the other block sizes.

As a small aside, Intra prediction doesn't map very well to GPU. This is due to the sheer number of modes(9 4x4 modes, 9 8x8modes, 4 16x16 modes) as well as the high interdependency of the blocks. However, I am optimistic that it can be done in a reasonable manner. I'll update once I get some more work into these shaders.

Oh, and the deblocking filter will be more fun Big Grin

Google Summer of Code Student Developer for XBMC
GSoC Project 2008: GPU Assisted Video Decoding

[Image: Gsoc2008logo.png]
(This post was last modified: 2008-08-04 21:32 by Rudd.)
find quote
yuvalt Offline
Retired Team-Kodi Member
Posts: 420
Joined: May 2004
Reputation: 0
Location: Israel
Post: #23
Excellent progress Rudd!! I'm amazed to see how much progress was made.... keep it up!

-Yuval
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #24
good shitSmile
find quote
dizzey Offline
Member
Posts: 73
Joined: Jul 2007
Reputation: 0
Post: #25
nice shiny
find quote
WiSo Offline
Team-Kodi Developer
Posts: 2,744
Joined: Oct 2003
Reputation: 0
Location: Germany
Post: #26
excellent Nod

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.
find quote
Knocks Offline
Senior Member
Posts: 114
Joined: Sep 2004
Reputation: 0
Post: #27
MIT should be proud. I look forward to keeping up with this project.
find quote
dizzey Offline
Member
Posts: 73
Joined: Jul 2007
Reputation: 0
Post: #28
Hey time for another nag post =)
But have you made any more progress since last?
find quote
us1111 Offline
Member
Posts: 68
Joined: Apr 2005
Reputation: 0
Post: #29
Yeah.. /me is very interested also!! If you pull this of you're making history Smile
find quote
darkbyte Offline
Junior Member
Posts: 1
Joined: Aug 2008
Reputation: 0
Post: #30
Hi! I've just registered to say it's an amazing project so keep up the good work! Smile
I hope this decoder can be ported to Windows; it will be cool. Maybe my antic Radeon 9600 can decode an 1080p H.264 this way. Smile
find quote
Post Reply