• 1
  • 2(current)
  • 3
  • 4
  • 5
  • 7
[GSoC] GPU hardware assisted H.264 decoding via OpenGL GLSL shaders - developers only
#16
Any more progress for us?
I haveto nag every couple of weeks becus it is a intrestring project =)
Reply
#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.
Reply
#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.
Reply
#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.
Reply
#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
Reply
#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
Reply
#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

Reconstructed luma-image:
Image

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
Reply
#23
Excellent progress Rudd!! I'm amazed to see how much progress was made.... keep it up!

-Yuval
Reply
#24
good shitSmile
Reply
#25
nice shiny
Reply
#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.
Reply
#27
MIT should be proud. I look forward to keeping up with this project.
Reply
#28
Hey time for another nag post =)
But have you made any more progress since last?
Reply
#29
Yeah.. /me is very interested also!! If you pull this of you're making history Smile
Reply
#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
Reply
  • 1
  • 2(current)
  • 3
  • 4
  • 5
  • 7

Logout Mark Read Team Forum Stats Members Help
[GSoC] GPU hardware assisted H.264 decoding via OpenGL GLSL shaders - developers only3